Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação On-Line Avaliação: AV2-2012.1 EAD- ESTRUTURA DE DADOS-CCT0174 Disciplina: CCT0174 - ESTRUTURA DE DADOS Tipo de Avaliação: AV2 Aluno: 201002133882 - JOÃO PAULO FERNANDES BRAGA Nota da Prova: 3.5 Nota do Trabalho: Nota da Participação: 2 Total: 5,5 Prova On-Line Questão: 1 (127840) Considere struct Ponto { float x, y; }; Ponto P; P = criarPonto(); Assinale a opção correta que corresponde à função que cria corretamente um ponto. Pontos da Questão: 1 Ponto inserePonto() { Ponto aux; cin >> Ponto.x >> Ponto.y; return aux; } Ponto inserePonto() { Ponto aux; cin >> aux.x >> aux.y; return Ponto; } Ponto inserePonto() { Ponto aux; cin >> aux.x >> aux.y; return aux; } Ponto inserePonto() { Ponto aux; cin >> x.aux >> y.aux; return aux; } Ponto inserePonto() { Ponto aux; cin >> Ponto.aux.x >> Ponto.aux.y; return aux; } Questão: AV22011CCT01740001 (138205) 2 - Defina Estrutura de dados, de no mínimo um exemplo de sua aplicação e suas operações fundamentais. Pontos da Questão: 1,5 �� HTMLCONTROL Forms.HTML:Hidden.1 �� HTMLCONTROL Forms.HTML:Hidden.1 Resposta do Aluno: estrutura de dados é uma forma de fazermos que o programa se devida em partes para um melhor entendimento para o programador achar erros. exemplo de struct struct atleta { int num; char letra; struct atleta voley; }; suas operações fundamentais são funções, struct, listas, filas, pilhas, lista sequencial, lista encadeadas, lista duplamente encadeadas, ordenação, pesquisa sequencial, pesquisa binaria. Gabarito: Algumas estruturas de dados são definidas apenas pela sua organização em memória outras, além disto, pelo seu algoritmo. O sistema operacional aplica o uso da pilha dinâmica como forma de armazenamento de memória em funções recursivas. As operações são: Inicializar, Inserir, Retirar, Verificar Cheia e Verificar Vazia. Fundamentação do Professor: Pontos do Aluno: Questão: 3 (129448) Na criação de uma função precisamos definir suas partes, sendo algumas obrigatórias e outras alternativas, na linguagem C temos: tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } Das opções apresentadas marque a que apresenta apenas partes obrigatórias de se digitar de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parêntese, etc). Pontos da Questão: 0,5 Tipo, Nome e Parâmetros. Tipo, Parâmetro e corpo da função. Nome, Parâmetro e Corpo da função. Tipo, Nome, Parâmetros e Corpo da Função. Nome, Tipo e Corpo da função. Questão: 4 (127837) Assinale a opção correta. Para acessar cada campo da struct é preciso : Pontos da Questão: 0,5 Escrever a variável struct seguida imediatamente do campo desejado. Escrever a palavra struct seguida da variável, para logo em seguida escrever o operador ponto e depois, o campo da struct. Especificar apenas o campo, pois a variável já foi declarada. Escrever o campo seguido de ponto e depois seguido do nome da struct. Usar o operador . entre o nome da variável struct e o campo desejado. Questão: 5 (131699) Determinado método de ordenação seleciona o menor elemento dentro do conjunto e coloca na primeira posição, depois o segundo menor e coloca na segunda posição e assim por diante até que todo o conjunto esteja ordenado. Qual das opções apresenta este método? Pontos da Questão: 0,5 Insertion sort; Quick sort; Selection sort; Shell sort; Merge sort; Questão: 6 (139130) Considere struct nodupla { int dado; struct *dlink, //aponta para o nó à direita *elink; //aponta para o nó à esquerda }; Assinale a função que corretamente substitui o valor armazenado no último nó de uma lista duplamente encadeada não vazia pelo valor 50. Pontos da Questão: 1 void substituir(nodupla *p) { while (p->dlink != NULL) p = p->dlink; p->dado = 50; } void substituir(nodupla *p) { while (p != NULL) p = p->dlink; p->dado = 50; } void substituir(nodupla *p) { while (p->dlink != NULL) { p = p->dlink; p->dado = 50; } } void substituir(int dado) { while(p->dlink != NULL) p = p->dlink; p->dado = 50; } void substituir(nodupla *p) { while (p.dlink != NULL) p = p.dlink; p.dado = 50; } Questão: 7 (138180) Das opções apresentadas qual representa a estrutura de dados Fila: Pontos da Questão: 0,5 FIFO; PSUE; UEPS; LIFO; FILO; Questão: 8 (139412) Como característica fundamental das pilhas dinâmicas temos a inserção e remoção de nós do topo(uma variável do tipo do nó). Sendo assim podemos afirmar que a cada novo nó inserido constituído de um ponteiro também do tipo do nó e um dado, deverá: Pontos da Questão: 0,5 Ter sempre no ponteiro do ultimo nó o valor NULL; Ter na variável topo o endereço do nó posterior, quando existir o nó posterior; Ter na variável topo o endereço do nó anterior, quando existir o nó anterior; Ter seu ponteiro apontando para o nó anterior, quando existir o nó anterior; Ter seu ponteiro apontando para o nó posterior, quando existir o nó posterior; Questão: 9 (139425) Em uma lista duplamente encadeada, na retirada de um nó cercado por outros dois nós quaisquer, sendo eles considerados nó 1, 2 e 3 onde 2 é o nó a ser retirado, para manter a integridade da lista devemos: Marque a resposta correta. Pontos da Questão: 0,5 Reordenar os nós fazendo com que o nó 2 fique no inicio e em seguida exclui-lo. Deletar o nó 2 e em seguida fazer com que o nó 1 aponte para o 3 e o 3 aponte para o 1. Reordenar os nós fazendo com que o nó 2 fique no fim e em seguida exclui-lo. Fazer com que o nó 1 aponte para o 3 e o 3 aponte para o 1 e em seguida deletar o nó 2. Simplesmente excluir o nó 2, pois os ponteiros se ajustam automaticamente. Questão: AV32011CCT01740214 (169119) 10 - Baseado na teoria das listas duplamente encadeadas, escreva o código da função que permita exibir o número e as letras armazenadas na estrutura apresentada, sabendo-se que a função recebe o endereço do ultimo nó e não deve retornar nenhum valor. struct num_letra { int num; char letra; struct num_letra *ant, *post; }; Pontos da Questão: 1,5 �� HTMLCONTROL Forms.HTML:Hidden.1 �� HTMLCONTROL Forms.HTML:Hidden.1 Resposta do Aluno: exibir(*ant, *post) { num_letra->*ant=num; num_letra->*post=letra; cout<<"EXIBIR NUMERO" <<num_letra->*ant=num; cout<<"EXIBIR LETRA" <<num_letra->*post=letra; } Gabarito: void funcao(num_letra *fim){ num_letra *aux; aux = ini; while(aux){ if (aux->post==NULL){ cout<<aux->letra; cout<<aux->num; aux= NULL; }else{ cout<<aux->letra; cout<<aux->num; aux--; } } } Fundamentação do Professor: Pontos do Aluno: _1401877337.unknown _1401877345.unknown _1401877349.unknown _1401877351.unknown _1401877352.unknown _1401877350.unknown _1401877347.unknown _1401877348.unknown _1401877346.unknown _1401877341.unknown _1401877343.unknown _1401877344.unknown _1401877342.unknown _1401877339.unknown _1401877340.unknown _1401877338.unknown _1401877321.unknown _1401877329.unknown _1401877333.unknown _1401877335.unknown _1401877336.unknown _1401877334.unknown _1401877331.unknown _1401877332.unknown _1401877330.unknown _1401877325.unknown _1401877327.unknown _1401877328.unknown _1401877326.unknown_1401877323.unknown _1401877324.unknown _1401877322.unknown _1401877313.unknown _1401877317.unknown _1401877319.unknown _1401877320.unknown _1401877318.unknown _1401877315.unknown _1401877316.unknown _1401877314.unknown _1401877309.unknown _1401877311.unknown _1401877312.unknown _1401877310.unknown _1401877307.unknown _1401877308.unknown _1401877305.unknown _1401877306.unknown _1401877304.unknown _1401877303.unknown
Compartilhar