Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de dados – Avaliação Parcial 1a Questão (Ref.: 201509361374) Pontos: 1,0 / 1,0 As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças: I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados. III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados. Marque a alternativa CORRETA: As alternativas I e III estão corretas. As alternativas II e IV estão corretas. As alternativas I e II estão corretas As alternativas III e IV estão corretas. Todas as alternativas estão corretas. Gabarito Comentado. 2a Questão (Ref.: 201509368263) Pontos: 1,0 / 1,0 Analise as afirmativas abaixo e selecione a alternativa correta. I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade Relacionamento e Redes de computadores. II Árvore e lista duplamente encadeada são estruturas não lineares. III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final. IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la. V O uso de ponteiros é fundamental para construção de listas encadeadas. III e V são verdadeiras I e V são verdadeiras II E IV são verdadeiras I , II e IV são verdadeiras II e V são verdadeiras Gabarito Comentado. 3a Questão (Ref.: 201509159150) Pontos: 1,0 / 1,0 Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de: Envio de inteiro. Passagem por valor. Registro. Envio de valor. Ponteiros. Gabarito Comentado. 4a Questão (Ref.: 201509747424) Pontos: 1,0 / 1,0 Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal elemento: Os Vetores As Estruturas de Dados As Filas Os Grafos As funções 5a Questão (Ref.: 201509772676) Pontos: 1,0 / 1,0 Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float nota; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [100]; Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor. vet[10].nota=5.7; aluno.vet[10]=5.7; vet[10].aluno.nota=5.7 ; vet[10]=aluno.5.7; aluno.vet[10].nota=5.7; 6a Questão (Ref.: 201509728987) Pontos: 1,0 / 1,0 Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento deste vetor. vet[3].aluno=6.0; aluno[3].media=6.0; vet[3].media=6.0; aluno[10]=6.0; aluno[3].10=6.0; 7a Questão (Ref.: 201509772678) Pontos: 1,0 / 1,0 Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70. 6 e 1 6 e 2 7 e 1 5 e 5 6 e 4 8a Questão (Ref.: 201509747414) Pontos: 1,0 / 1,0 Seja a seguinte função de ordenação: void ordena( int n, int v[]) { int i, j, x; for (j = 1; j < n; ++j) { x = v[j]; for (i = j-1; i >= 0 && v[i] > x; --i) v[i+1] = v[i]; v[i+1] = x; } } Pode-se dizer que é uma função de ordenação: Que utiliza o método seleção e realiza uma ordenação crescente nos elementos do vetor v. Que utiliza o método seleção e realiza uma ordenação decrescente nos elementos do vetor v. Que utiliza o método inserção e realiza uma ordenação crescente nos elementos do vetor v. Que utiliza o método inserção e realiza uma ordenação decrescente nos elementos do vetor v. Que utiliza o método bolha e realiza uma ordenação crescente nos elementos do vetor v. 9a Questão (Ref.: 201509363875) Pontos: 1,0 / 1,0 for (int i = 0; i < n; i++) cout << L.matricula << " " << L.nome << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].nome << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].nome[30] << endl; for (int i = 0; i < n; i++) cout << L.matricula[i] << " " << L.nome[i] << endl; for (int i = 0; i < n; i++) cout << L[i] << endl; Gabarito Comentado. 10a Questão (Ref.: 201509722841) Pontos: 1,0 / 1,0 __________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer. Lista Linear de Alocação de Memória Lista Linear Não Alocada Lista Linear Sequencial Lista Linear Não Sequencial Lista Não Linear
Compartilhar