Prévia do material em texto
Fechar Avaliação: CCT0174_AV_201007099178 » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9001/AA Nota da Prova: 4,5 Nota de Partic.: 1 Data: 09/06/2014 19:58:54 1a Questão (Ref.: 201007339507) Pontos: Sem Correç. / 1,5 Escreva em linguagem C++ uma função de nome achaMaior( ), que receba como parâmetros um vetor de inteiros e um outro parâmetro do tipo inteiro que represente o tamanho deste vetor. A função deve também, buscar e retornar o maior elemento do vetor. Resposta: Gabarito: int achaMaior(int v[ ], int t) { int maior=v[0]; for( int i=1; i < t; i++) { if( maior < v[i] ) maior=v[i]; } return maior; } 2a Questão (Ref.: 201007339506) Pontos: Sem Correç. / 1,5 Listas encadeadas são estruturas cujos nodos são alocados dinamicamente, isto é em tempo de execução, na medida em que se necessite de mais espaço. Sendo um nodo representado por: struct elemento{ string nome; int idade; elemento *prox; }; Escreva em linguagem C++ uma função de nome criaNodo( ), que crie um novo nodo para ser inserido no final da lista, e forneça um ponteiro com o endereço do nodo criado. Resposta: Gabarito: elemento * criaNodo ( ) { elemento *p=new elemento; p->prox=null; return p; } 3a Questão (Ref.: 201007341907) Pontos: 0,5 / 0,5 Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no último site visitado e retira o endereço do site da estrutura de dados. Assinale a estrutura de dados mais adequada para este problema. grafo árvore pilha lista fila 4a Questão (Ref.: 201007137075) Pontos: 0,5 / 0,5 Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada busca sequencial, respectivamente, seria de: 1024 e 512 10 e 10 9 e 9 9 e 10 512 e 1024 5a Questão (Ref.: 201007346718) Pontos: 0,5 / 0,5 Observe a função e o vetor abaixo e acompanhe no teste de mesa até que i seja 0 , jseja 5 e a instrução vet[i]=temp; tiver sido executada. Assinale a alternativa onde estão presentes os valores corretos de v[i], aux e temp. 23 , 4, e 6 67, 4 e 23 67, 3 e 15 6 , 4 e 6 18, 2 e 67 6a Questão (Ref.: 201007136868) Pontos: 0,5 / 0,5 Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de cada: (Podem existir mais de uma opção à direita para alguma da esquerda) Indique a alternativa correta: a - c - a - b - c - a b - b - a - c - c - c a - a - a - b - c - b a - b - a - c - c - b c - a - a - b - c - b 7a Questão (Ref.: 201007341989) Pontos: 0,5 / 0,5 Considere uma pilha sequencial P com capacidade para n elementos. Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na inicialização. struct Pilha { int v[n], topo; }; void empilhar(Pilha &P, int valor) { if (P.topo == n - 1) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } void empilhar(Pilha P, int valor) { if (P.topo == n - 1) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } void empilhar(Pilha &P, int valor) { if (P.topo == n - 1) cout << "Pilha cheia."; else P.v[P.topo] = valor; } void empilhar(Pilha &P, int valor) { if (topo == n - 1) cout << "Pilha cheia."; else { topo++; v[topo] = valor; } } void empilhar(Pilha P, int valor) { if (P.topo == n) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } 8a Questão (Ref.: 201007136714) Pontos: 1,0 / 1,0 Em relação as estruturas de dados, aquela que corresponde ao armazenamento em uma lista linear com a posição relativa (não contígua) na memória de dois nós consecutivos da lista é conhecida por alocação: Combinada. Encadeada. Binária. Estática. Seqüencial. 9a Questão (Ref.: 201007137208) Pontos: 0,0 / 0,5 As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração desta forma estamos declarando uma variável do tipo: Inteiro Constante Global Local Real 10a Questão (Ref.: 201007339487) Pontos: 1,0 / 1,0 As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir a fila sequencial por: fila circular pilha circular pilha sequencial lista circular lista sequencial Observação: Eu, MARCOS BRAGA XAVIER, estou ciente de que ainda existe(m) 2 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 09/06/2014 20:51:28