Prévia do material em texto
Avaliação: CCT0260_AV_201201201012 » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: 201201201012 - ANTONIO LANDIM PEREIRA JUNIOR Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9005/AB Nota da Prova: 3,0 Nota de Partic.: 1 Data: 22/11/2014 15:13:35 1 a Questão (Ref.: 201201249233) Pontos: 0,5 / 0,5 Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples. Binária Hash Bolha Inserção Seleção 2 a Questão (Ref.: 201201232211) Pontos: 0,5 / 0,5 Marque a opção que representa uma característica CORRETA a respeito da estrutura de dados pilha. O último item inserido é o último item a ser retirado. O último item inserido é o primeiro item a ser retirado. O primeiro item inserido é o primeiro a ser retirado. Não é possível criar uma pilha utilizando vetores. Os acessos aos itens ocorrem de forma aleatória. 3 a Questão (Ref.: 201201487102) Pontos: 0,0 / 0,5 Na pequena mercearia do Sr. Manuel os pedidos são anotados no papel e assim que montam um lote com 10 listas de compras dos fregueses, as entregas começam. As compras de cada freguês são postas em uma caixa. As caixas são organizadas no veículo de entrega respeitando a ordem da entrega, ou seja, a 1a. caixa a ser entregue fica na frente das demais caixas e assim, sucessivamente. Dessa forma, a última caixa a ser entregue ficará no final do veículo, após todas as outras caixas que deverão ser entregues primeiro. Qual a estrutura de dados mais adequada que traduz a organização das pizzas no veículo de entrega ? grafo lista árvore fila Página 1 de 5BDQ Prova 26/11/2014file:///d:/Users/Landim.pc-Família/AppData/Local/Temp/Low/VJGP9C30.htm pilha 4 a Questão (Ref.: 201201316393) Pontos: 0,5 / 0,5 Assinale a opção certa. Quando não se escreve o protótipo de uma função ... A definição da função deverá ser escrita, obrigatoriamente, após o programa principal. É preciso definir a função antes do programa principal. O programa não funcionará de forma alguma. A chamada da função não poderá ser feita em qualquer hipótese. A chamada da função poderá ser feita em qualquer hipótese. 5 a Questão (Ref.: 201201248893) Pontos: 0,5 / 0,5 Marque a afirmativa correta para a "inserção incremental". É um tipo de sequenciação por intercalação. Os pivôs são escolhidos aleatoriamente. É 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. A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. 6 a Questão (Ref.: 201201451522) Pontos: 0,0 / 1,0 Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: As operações removem o nodo apontado pelo ponteiro p. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações possibilitam o percurso do ponteiro p da esquerda para direita. 7 a Questão (Ref.: 201201240773) Pontos: 0,5 / 0,5 Página 2 de 5BDQ Prova 26/11/2014file:///d:/Users/Landim.pc-Família/AppData/Local/Temp/Low/VJGP9C30.htm Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa: É um modo de utilização de dados nos programas de computador. É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente. É um modo de deleção de dados em um computador. São os nomes dados as variáveis na montagem de uma rotina. É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente. 8 a Questão (Ref.: 201201488240) Pontos: 0,0 / 1,0 Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas o nome endereço e o telefone de cada paciente. Como não há limites para o crescimento de sua lista, como se pode implementar a inserção de um novo paciente na lista, sabendo que cada paciente é do tipo Paciente e a lista é do tipo List assim definidos : struct Paciente { long int matricula; string nome, endereco e tel; }; struct List { Paciente p; struct List *link; }; List * inserePac(List *i) { List *novo = new List; Paciente pat; novo->p = pat; novo->link = i; return novo; } List * inserePac(List *i, Paciente pt){ List *novo ; novo->p = pt; novo->link = i; return novo; } List * inserePac(List *i, Paciente pac) Página 3 de 5BDQ Prova 26/11/2014file:///d:/Users/Landim.pc-Família/AppData/Local/Temp/Low/VJGP9C30.htm { List *novo = new List; novo.p = pac; novo.link = i; return novo; } List * inserePac(List *i, Paciente pt) { List *novo = new List; novo->p = pt; novo->link =i; return novo; } List insereCliente(List *i, Paciente pac) { List novo[]; novo[0].p = pac; novo[0].link = i; return novo; } 9 a Questão (Ref.: 201201270307) Pontos: 0,0 / 1,5 const int TAMMAX = 100; struct TipoLista{ int qtde; // descritor que representa a quantidade de elementos na lista int elemt[TAMMAX]; }; Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial. Construa um procedimento para adicionar um dado no final da lista. A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for necessário. Resposta: proximo = new TipoLista(); proximo.qtde += 1; Gabarito: Página 4 de 5BDQ Prova 26/11/2014file:///d:/Users/Landim.pc-Família/AppData/Local/Temp/Low/VJGP9C30.htm void addFinalLista ( TipoLista &lista, int dado ){ if(lista.qtde == TAMMAX){cout << "Lista Cheia."; } else{ lista.elemt[lista.qtde] = dado; lista.qtde++; cout << "Dado adicionado com sucesso."; } } 10 a Questão (Ref.: 201201270170) Pontos: 0,5 / 1,5 Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente feita pelo usuário. Resposta: struct Registro { int CPF,RG,N_CONTA; real SALDO; date DATA_ABRE; } struct Registro; for (i=0, iɬ, i==){ read Registro.CPF; read Registro.SALDO; read Registro.RG; read Registro.N_CONTA; read Registro.DATA_ABRE; } Gabarito: struct ClienteBanco{ string nome; string cpf; int rg; int numConta; double saldo; }; ClienteBanco cliente; cin >> cliente.nome; cin>> cliente.cpf; cin >> cliente.rg; cin >> cliente.saldo; Período de não visualização da prova: desde 06/11/2014 até 25/11/2014. Página 5 de 5BDQ Prova 26/11/2014file:///d:/Users/Landim.pc-Família/AppData/Local/Temp/Low/VJGP9C30.htm