Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCT0260_AV_201408212579 » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: Nota da Prova: 5,9 Nota de Partic.: 1 Data: 23/06/2015 21:05:36 (F) 1a Questão (Ref.: 641678) Pontos: 0,5 / 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. Pilha Encadeada Lista Sequencial Pilha Sequencial Lista Encadeada Fila Sequencial 2a Questão (Ref.: 28116) Pontos: 1,0 / 1,0 As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover os elementos a sua frente, é chamada de: Matriz Pilha Struct Bolha Fila 3a Questão (Ref.: 27591) Pontos: 0,5 / 0,5 O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? ordenação overflow underflow inclusão remoção 4a Questão (Ref.: 28120) 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. Hash Binária Seleção Inserção Bolha 5a Questão (Ref.: 613242) Pontos: 0,5 / 0,5 Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples? Selection Sort, Insert Sort e Bubble Sort Insert Sort, Bubble Sort e Shell Sort Shell Sort, Quick Sort e Heap Sort Selection Sort, Shell Sort e Bubble Sort Insert Sort, Bubble Sort e Quick Sort 6a Questão (Ref.: 28095) Pontos: 0,5 / 0,5 Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de posição. Qual das alternativas abaixo está correta? Após a operação de remoção incrementa a variável indicadora de inicio. Após a operação de remoção incrementa a variável indicadora de posição. Antes da operação de remoção incrementa a variável indicadora de posição. Antes a operação de remoção decrementa a variável indicadora de posição. Após a operação de remoção decrementa a variável indicadora de posição. 7a Questão (Ref.: 265981) Pontos: 0,5 / 0,5 Tei Ping, estudante de computação, precisou implementar parte de um jogo que trabalhava com cartas especiais. Cada carta possui um número e uma letra. Alguns jogadores teriam que jogar as cartas na mesa, enquanto outros deveriam devolver as cartas na sequência inversa à jogada. Tei Ping estudou o mecanismo do jogo e decidiu usar a melhor estrutura de dados na sua implementação. Qual a estrutura escolhida ? grafo lista pilha fila árvore 8a Questão (Ref.: 49194) Pontos: 0,5 / 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: void insere(TipoListaint *lista, int elemt, int controlaTamanho) { if(controlaTamanho < TAMMAX) cout << "Lista cheia!; lista.elemt[controlaTamanho] = elemt; controlaTamanho++; cout << "Dado inserido com sucesso!"; } Gabarito: 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."; } } 9a Questão (Ref.: 49057) Pontos: 1,4 / 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 ClienteBanco{ string nome; int, cpf, rg, numeroConta; string dataAbertura; float saldo; }; ClienteBanco cliente; cin >> cliente.nome; cin >> cliente.cpf; cin >> cliente.rg; cin >> cliente.numeroConta; cin >> cliente.dataAbertura; cin >> cliente.saldo; 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; 10a Questão (Ref.: 230409) 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 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 esquerda para direita. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda.
Compartilhar