Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Disciplina: ESTRUTURA DE DADOS Avaliação: CCT0260_AV_201602010501 (AG) Data: 28/11/2016 13:58:36 (A) Critério: AV Aluno: Professor: ANITA LUIZA MACIEL LOPES Turma: Nota da Prova: 5,5 Nota de Partic.: 0 Av. Parcial.: 2 1a Questão (Ref.: 833329) Pontos: 0,0 / 1,0 Considere a struct struct Boneco { int codigo; string nome; float preco; }; e faça uma função em C++, de acordo com o protótipo abaixo, para criar um boneco de código 12345, nome Darth Vader e preço 130,00. Protótipo : Boneco criarBoneco( int cod, string nome, float valorPreco ); Resposta: Gabarito: Boneco criarBoneco(int cod, string nome, float valorPreco) { Boneco b; b.codigo = cod; b.nome = nome; b. preco = valorPreco; return b; } 2a Questão (Ref.: 670580) Pontos: 0,0 / 1,0 Na fila, o primeiro que entra é o primeiro que sai. Estruturas deste tipo são conhecidas como FIFO ("First In, First Out"). Com este conceito, crie uma estrutura (struct) em C++ de fila para valores inteiros. Resposta: Gabarito: #define TAM 100 struct tfila{ int F, R; int vetor [TAM]; }; 02/12/2016 BDQ Prova http://simulado.estacio.br/bdq_prova_resultado_preview.asp 2/5 3a Questão (Ref.: 566196) Pontos: 1,0 / 1,0 Leia com atenção as afirmativas abaixo e assinale a resposta correta. I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. II A estrutura de dados FILA é não linear assim como o Grafo. III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, IV O grau de uma árvore é definido pelo número de subárvores de um nó. V O grafo é uma estrutura de dados que tem limitação para o número de vértices. VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. II, IV e V são afirmativas verdadeiras II, IV, V e VI são afirmativas verdadeiras I, II, III e VI são afirmativas verdadeiras I, III, IV e VI são afirmativas verdadeiras I, II e V são afirmativas verdadeiras 4a Questão (Ref.: 591938) Pontos: 1,0 / 1,0 Na passagem por , o endereço da variável da função chamadora é passado para a função chamada e, dessa forma, o valor poderá ser alterado, ou não. caracter número valor referência void 5a Questão (Ref.: 641673) Pontos: 1,0 / 1,0 Podese 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; vet[10]=aluno.5.7; aluno.vet[10]=5.7; vet[10].aluno.nota=5.7 ; aluno.vet[10].nota=5.7; 6a Questão (Ref.: 27934) Pontos: 1,0 / 1,0 Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades. Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita. Se o item for menor que o item que está na metade do vetor, o item foi encontrado. Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita. Se o item for igual ao item que está na metade do vetor, o item não foi encontrado. Se o item for igual ao item que está na metade do vetor, o item foi encontrado. 7a Questão (Ref.: 675657) Pontos: 0,5 / 0,5 Considere uma lista com n livros, em que cada livro é modelado pela struct : struct Livro { }; string titulo, editora, autor; float preco; A função X abaixo void X (Livro v[ ], int &n, Livro L) { v[n] = L; n++; cout << "Operação realizada com sucesso."; } implementa a operação de : Busca Substituição Inicialização Inserção Ordenação por inserção 8a Questão (Ref.: 267972) Pontos: 0,5 / 0,5 As estruturas de dados devem ser especificadas de modo que estas auxiliem as aplicações em sua principal tarefa ou funcionalidade. Sendo assim, pode se desenvolver uma aplicação capaz de fazer a conversão de números da base 10, para a base binária, octal ou hexadecimal a partir de um algoritmo de divisões sucessivas. Este algoritmo baseia na divisão de um número decimal pela base que se deseja a transformação, armazenando o resto da divisão em uma estrutura de dados, efetuando nova divisão no resultado obtido da divisão prévia, novamente armazenando o resto desta operação na estrutura de dados e assim por diante até que o resultado da divisão seja zero. Neste momento, a estrutura possui exatamente, na ordem reversa, os algarismos correspondentes ao número convertido para a nova base. Analisando esta estratégia poderseia dizer que a estrutura de dados mais propícia para tal tarefa é : Grafo Fila Árvore Pilha Lista 9a Questão (Ref.: 641688) Pontos: 0,0 / 0,5 As structs (estruturas) são utilizadas para modelar os nodos de estruturas dinâmicas como, por exemplo, as listas encadeadas, seja o seguinte exemplo de nodo de uma lista de produtos: struct nodo{ float valor; string produto; nodo * proximo; }; Suponha que um determinado ponteiro pt esteja apontando para um nodo desta lista, e que se queira alterar o conteúdo do campo valor deste nodo, que está sendo apontado por pt, para 5.60. Marque a alternativa que corretamente possibilita esta operação: pt>5.60; pt>valor=5.60; pt.valor>5.60; pt>próximo.valor=5.60; pt>próximo>valor=5.60; 10a Questão (Ref.: 699719) Pontos: 0,5 / 0,5 Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente, indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma lista simplesmente encadeada. Considere o tipo definido abaixo : struct no { int dado; struct no *link; }; Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó e aterrar o link do novo nó. É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó. É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e retornar o ponteiro para este nó. Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do novo nó . Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da divisão número por 2 no campo dado e aterrar o campo link.
Compartilhar