Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prezado(a) Aluno(a), Responda a todas as questões com atenção. Somente clique no botão FINALIZAR PROVA ao ter certeza de que respondeu a todas as questões e que não precisará mais alterá-las. A prova será SEM consulta. O aluno poderá fazer uso, durante a prova, de uma folha em branco, para rascunho. Nesta folha não será permitido qualquer tipo de anotação prévia, cabendo ao aplicador, nestes casos, recolher a folha de rascunho do aluno. Valor da prova: 10 pontos. 1 ponto 1. Considere o código fonte abaixo, escrito em linguagem C, e analise as afirmativas abaixo. #include #include struct entrada_cadastro { char name[50]; int idade; } int main() { struct entrada_cadastro *ptr; ptr = malloc(sizeof(ptr)); if(ptr == NULL) { printf("Falha na alocação de memória!\n"); return(1); } memset(ptr, 0x0, sezeof(*ptr)); strcpy(ptr->name, "Aluno"); ptr->idade=20; return(0); } Marque (V) para verdadeiro ou (F) para falso. ( ) A alocação de memória, presente na função main, efetuada com a função malloc, resulta na mesma quantidade alocada em bytes que ptr = malloc(sizeof(struct entrada_cadastro)). ( ) A função strcpy copia a palavra Aluno para o vetor name da struct entrada_cadastro. ( ) O acesso aos campos da estrutura de dados é realizado através do ponteiro nomeado ptr de tipo struct entrada_cadastro. A sequência correta é: (Ref.: 202005178613) V, F, F. V, V, V. F, F, V. F, V, V. V, V, F. 1 ponto 2. A estrutura abaixo representa a célula de uma árvore em linguagem C: typedef struct _no { int chave; struct no *esq, *dir; } no; Assinale a alternativa correta sobre qual sequência será impressa ao executar um caminhamento na árvore abaixo, conforme o código escrito em linguagem C a seguir. void ordem (no *arvore) { if(arvore!=NULL) { printf("%d", arvore->chave); ordem(arvore->esq); ordem(arvore->dir); } } (Ref.: 202005178617) CBDAXEY AEXYBCD ABDCEYX ABCDEXY YXEABBC 1 ponto 3. Observe o trecho de código abaixo, escrito na linguagem C. void quadrado(float *r, float *t); int main() { float a, b; printf("Entre com um numero complexo (2 numeros inteiros):"); scanf("%f %f", &a, &b); quadrado(&a, &b); printf("O quadrado do numero e %f + i %f\n", a, b); } Com base nesse código, é correto afirmar que as variáveis a e b (Ref.: 202005181001) São utilizadas como passagem de parâmetros por resultado na função printf(). Podem ser modificadas pela função printf(), porque a passagem de parâmetros é por valor. Não podem ser modificadas pela função quadrado(), porque a passagem de parâmetros é por valor. Indicam, quando precedidas pelo caracter &, que os parâmetros podem ser modificados pelas funções scanf() e quadrado(). São parâmetros formais na chamada da função quadrado() dentro da função main(). 1 ponto 4. Assinale a alternativa correta em relação à definição de variáveis globais e locais. (Ref.: 202005181003) Uma variável global não pode ser visível a todas as sub-rotinas hierarquicamente subordinadas à rotina principal. Uma variável global não pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal. As variáveis definidas como globais e locais precisam ser declaradas repetidas vezes dentro de cada sub-rotina. Uma variável local pode ser considerada global quando declarada no cabeçalho de uma sub-rotina, porém só é válida dentro da rotina à qual está declarada. Uma variável global é declarada no início do algoritmo principal de um programa, pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal. 1 ponto 5. Se E (x) é uma função que enfileira "x" pela direita da fila F e D () é uma função que desenfileira, a opção que mostra a sequência correta de operações que transforma a fila F = [ A, R, G, O, M ] em F = [ O, M, A, R ] é: (Ref.: 202005178652) D (), D(), D(), E(R), E(A), E(O). E(A), E(R), D (), D(), D(). D (), D(), D(), E(A), E(R), E(O). D (), D(), D(), D(), E(O), E(A), E(R). D (), D(), D(), D(), E(R), E(A), E(O). 1 ponto 6. Sobre pilhas e filas, avalie as assertivas a seguir: I) Uma forma de se evitar o desperdício de memória numa fila em alocação sequencial é utilizar-se lista circular. II) Em uma pilha em alocação encadeada, a complexidade da remoção é O (n). III) pilhas têm a propriedade de inverter a ordem de cadeias, enquanto as filas mantêm a ordem. A opção que contém todas as assertivas corretas é: (Ref.: 202005178653) I. I e III. I e II. II. II e III. 1 ponto 7. Analisando o quadro comparativo abaixo, marque a opção que indica a melhor escolha de algoritmo de ordenação. (Ref.: 202005178629) Merge sort, Buble sort, insert sort e Selection sort. Selection sort, Merge sort, buble sort e Insert sort. Buble sort, Insert sort, Merge sort e Selection sort Merge sort, selection sort, buble sort e insert sort. Insert Sort, Merge Sort, Selection sort e Buble sort. 1 ponto 8. Em relação aos algoritmos de ordenação externa, é correto afirmar que: 1. Executam em memória principal (RAM) somente. 2. Executam em memória secundária (Disco) somente. 3. Manipulam os dados na memória secundária, porém usam parcela da memória principal. (Ref.: 202005178627) A afirmativa 1 está correta. As afirmativas 2 e 3 estão corretas. As afirmativa 1 e 3 estão corretas. A afirmativa 2 está correta. A afirmativa 3 está correta. 1 ponto 9. Ano: 2020 Órgão: Escola de Formação Complementar do Exército - EsFCEx Prova: CFO - Informática Observe a árvore binária a seguir: O caminhamento central (infixado) sobre essa árvore produz a sequência de visitação: (Ref.: 202005180555) A - B - D - E - H - I - J - K - C - F - G A - B - C - D - E - F - G - H - I - J - K D - B - H - E - J - I - K - A - F - C - G J - K - I - H - E - D - B - F - G - C - A D - H - J - K - I - E - B - F - G - C - A 1 ponto 10. Ano: 2011 Banca: Cesgranrio Órgão: Petrobras Prova: Analista de Sistemas - Processos de Negócio Após a inserção de um nó, é necessário verificar cada um dos nós ancestrais desse nó inserido, relativamente à consistência com as regras estruturais de uma árvore AVL. PORQUE O fator de balanceamento de cada nó, em uma árvore AVL, deve pertencer ao conjunto formado por {−2, −1, 0, +1, +2}. Analisando-se as afirmações acima, conclui-se que: (Ref.: 202005180554) As duas afirmações são verdadeiras, e a segunda justifica a primeira. As duas afirmações são falsas. A primeira afirmação é falsa, e a segunda é verdadeira. As duas afirmações são verdadeiras, e a segunda não justifica a primeira. A primeira afirmação é verdadeira, e a segunda é falsa. VERIFICAR E ENCAMINHAR Legenda: Questão não respondida Questão não gravada Questão gravada 0
Compartilhar