Prévia do material em texto
1a Questão (Ref.: 202012177678) 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); } } CBDAXEY YXEABBC ABDCEYX AEXYBCD ABCDEXY 2a Questão (Ref.: 202012177674) 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 é: V, V, V. V, V, F. V, F, F. F, V, V. F, F, V. 3a Questão (Ref.: 202012180011) Em programação de computadores uma sub-rotina pode ser uma função ou um procedimento. Sobre funções e procedimentos, pode-se afirmar: Funções sempre retornam valor do mesmo tipo recebido e procedimentos não. Que as funções retornam um único valor e procedimentos não retornam valores. Procedimentos retornam valores do mesmo tipo recebido e função nunca retornam tipo. Que funções não retornam um único valor e procedimentos retornam valores. Nem função nem procedimento retornam valores. 4a Questão (Ref.: 202012180064) Assinale a alternativa correta em relação à definição de variáveis globais e locais. As variáveis definidas como globais e locais precisam ser declaradas repetidas vezes dentro de cada sub-rotina. Uma variável global não pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal. 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. Uma variável global não pode ser visível a todas as sub-rotinas hierarquicamente subordinadas à rotina principal. 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. 5a Questão (Ref.: 202012177710) Considere uma lista circular simplesmente encadeada com "n" elementos. Após "n - 1" remoções realizadas no final da lista podemos afirmar que: O primeiro elemento estará apontando para si mesmo. A lista estará vazia. O primeiro elemento estará apontando para o nulo. A lista restante será duplamente encadeada. A lista restante não será mais uma lista circular. 6a Questão (Ref.: 202012177711) Uma lista ordenada alocada sequencialmente possui como desvantagem: Impossibilidade de acesso direto. Complexidade O(n) para a busca. Tamanho limitado de memória. A reserva de memória em posições contíguas. Impossibilidade de remoção no meio da lista. 7a Questão (Ref.: 202012177688) 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. A afirmativa 3 está correta. As afirmativa 1 e 3 estão corretas. As afirmativas 2 e 3 estão corretas. A afirmativa 2 está correta. A afirmativa 1 está correta. 8a Questão (Ref.: 202012177685) O método de ordenação por seleção tem duas versões, uma estável e outra instável. Em relação ao tempo de execução do algoritmo quando é apresentado em sua entrada uma sequência quase ordenada e sua complexidade computacional, é correto afirmar que: É provável que a versão estável execute em tempo inferior a versão instável, porém a complexidade computacional de ambos é O(n\(^2\)). É provável que a versão estável execute em tempo inferior a versão instável, porém a complexidade computacional de ambos é O(n log n). Tanto a versão estável quanto a instável executarão no mesmo tempo, isto se deve ao fato de que o desempenho para uma instância depende somente da complexidade computacional, que é igual para ambas versões. É provável que a versão estável execute em tempo inferior a versão instável, porém a complexidade computacional de ambos é O(n log n). É provável que a versão instável execute em tempo inferior a versão estável, porém a complexidade computacional de ambos é O(n\(^2\)). 9a Questão (Ref.: 202012179616) 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: D - H - J - K - I - E - B - F - G - C - A J - K - I - H - E - D - B - F - G - C - A A - B - C - D - E - F - G - H - I - J - K D - B - H - E - J - I - K - A - F - C - G A - B - D - E - H - I - J - K - C - F - G 10a Questão (Ref.: 202012179615) 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: As duas afirmações são falsas. As duas afirmações são verdadeiras, e a segunda não justifica a primeira. A primeira afirmação é falsa, e a segunda é verdadeira. A primeira afirmação é verdadeira, e a segunda é falsa. As duas afirmações são verdadeiras, e a segunda justifica a primeira.