Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCT0260_AV_xxxxxxxxxx » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: xxxxxxxxxxxxxxxx Professor: JANE TAVARES ALVAREZ DA SILVA Turma: xxxxxx Nota da Prova: 6,0 Nota de Partic.: 2 Data: 17/11/2014 16:21:47 1a Questão (Ref.: 201401579149) Pontos: 0,5 / 0,5 Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. Então considere o seguinte código: #include< iostream > using namespace std; int main( ) { float a=10.0; float b=4.0; cout < < media(a,b); return 0; } float media(float x, float y) { return (x+y)/2;} Marque a alternativa CORRETA: O código compila normalmente, pois como a descrição da função float media(float x, float y)está posicionada após a função int main ( ), não há necessidade do uso de protótipos. O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da função float media(float x, float y)antes da função principal. O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o resultado. O código compila normalmente e apresenta como resultado o valor 7.0 O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém a chamada se deu com identificadores "a" e "b". 2a Questão (Ref.: 201401916009) Pontos: 0,5 / 0,5 Analise as afirmativas sobre uma pilha estática e assinale a opção correta. I Ordenar é uma operação que não se faz com pilha. II Inserir dados é uma operação que se faz com a pilha. III Remover dados em qualquer posição é uma operação que se faz com a pilha. IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela. V Inicializar uma pilha significa zerar todas as variáveis do vetor. I e II estão corretas. I, II e V estão corretas. II e III estão corretas. I, II e IV estão corretas. I e IV estão corretas. 3a Questão (Ref.: 201401581583) 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 fila árvore lista pilha 4a Questão (Ref.: 201401376388) Pontos: 0,5 / 0,5 O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação? void ordenar(float v[], int n) // n é o no. de elementos em v { int i , // índice aux, // auxiliar para troca trocou = true, fim = n - 1; while (trocou) { trocou = false; // sinaliza que é falso que trocou for (i = 0; i < fim; i++) { if (v[i] > v[i+1]) { aux = v[i]; v[i] = v[i+1]; v[i+1] = aux; // sinaliza que é verdadeiro que trocou trocou = true; } // fim if } // fim for fim--; // decrementa o fim } // fim while } // fim da função Mergesort Quicksort Shellsort Bublesort Heapsort 5a Questão (Ref.: 201401376551) Pontos: 0,5 / 0,5 Marque a afirmativa correta para a "inserção incremental". Os pivôs são escolhidos aleatoriamente. É um tipo de sequenciação por intercalação. A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. É um tipo de ordenação por intercalação Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 6a Questão (Ref.: 201401579159) Pontos: 0,0 / 0,5 As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório aos dados e alocação destes de forma contínua na memória. Lista Encadeada Fila Sequencial Pilha Encadeada Lista Sequencial Pilha Sequencial 7a Questão (Ref.: 201401614763) Pontos: 0,0 / 1,0 Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que especifica o tipo de lista e o tipo de alocação de memória mais adequados para este problema. lista sequencial e alocação dinâmica de memória pilha dinâmica e alocação dinâmica de memória fila dinâmica e alocação dinâmica de memória fila encadeada e alocação dinâmica de memória lista encadeada e alocação dinâmica de memória 8a Questão (Ref.: 201401376910) Pontos: 1,0 / 1,0 Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama: Matriz Ponteiro Endereço Variável Vetor 9a Questão (Ref.: 201401407335) Pontos: 1,5 / 1,5 Como é a lógica do FIFO? Resposta: o primeiro que entra é o primeiro que sai. Gabarito: O primeiro que entra na fila é o primeiro que sai. 10a Questão (Ref.: 201401583322) Pontos: 1,0 / 1,5 Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó criado. Considere struct nodupla { int dado; struct *dlink, *elink; }; e o seguinte protótipo : nodupla *cria(); Resposta: nodupla *cria() { nodupla *novo; novo->dado = 100; novo->elink = cria.dlink = NULL; return novo; } Gabarito: nodupla *cria() { nodupla *novo; novo = new nodupla; novo->dado = 100; novo->elink = novo->dlink = NULL; return novo; } Fundamentação do(a) Professor(a): Gabarito: nodupla *cria(){ nodupla *novo; novo = new nodupla; novo- >dado = 100; novo->elink = novo->dlink = NULL; return novo; } Período de não visualização da prova: desde 06/11/2014 até 25/11/2014.
Compartilhar