Prévia do material em texto
ESTRUTURA DE DADOS Simulado: CCT0260_SM_201201350182 V.1 Fechar Aluno(a): JOAO EDUARDO DOS SANTOS ALMEIDA Matrícula: 201201350182 Desempenho: 10,0 de 10,0 Data: 12/10/2015 20:35:32 (Finalizada) 1a Questão (Ref.: 201201413330) Pontos: 1,0 / 1,0 As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado. Também são denominados tipos primitivos, não é possível decompor em partes menores. Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. São tipos de dados indivisíveis. Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa. Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos. Gabarito Comentado. 2a Questão (Ref.: 201201480444) Pontos: 1,0 / 1,0 Sobre estrutura de dados, identifique o que está correto afirmar. I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de parâmetros para as funções. III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente. V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in first out). I, II e III. I, III e V. II, III, IV e V. II, IV e V. I, III, IV e V. Gabarito Comentado. 3a Questão (Ref.: 201201617993) Pontos: 1,0 / 1,0 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_h... 1 de 5 07/12/2015 08:28 Auxiliar = 100 Numero1 = 900 Numero2 = 20 Auxiliar = 100 Numero1 = 1000 Numero2 = 20 Auxiliar = 101 Numero1 = 900 Numero2 = 20 Auxiliar = 100 Numero1 = 900 Numero2 = 80 Auxiliar = 111 Numero1 = 1000 Numero2 = 80 Gabarito Comentado. 4a Questão (Ref.: 201201615578) Pontos: 1,0 / 1,0 Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. Então considere o seguinte código: #include< iostream > using namespace std; int main( ) { float a=10.0; float b=4.0; cout < < media(a,b); return 0; } float media(float x, float y) { return (x+y)/2;} Marque a alternativa CORRETA: O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém a chamada se deu com identificadores "a" e "b". O código compila normalmente e apresenta como resultado o valor 7.0 O código compila normalmente, pois como a descrição da função float media(float x, float y)está posicionada após a função int main ( ), não há necessidade do uso de protótipos. O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da função float media(float x, float y)antes da função principal. BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_h... 2 de 5 07/12/2015 08:28 O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o resultado. Gabarito Comentado. 5a Questão (Ref.: 201201983184) 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. aluno[10]=6.0; aluno[3].media=6.0; vet[3].aluno=6.0; aluno[3].10=6.0; vet[3].media=6.0; 6a Questão (Ref.: 201201412808) Pontos: 1,0 / 1,0 Qual das seguintes estruturas de dados é classificada como heterogênea? Loop Pilha Fila Registro Vetor Gabarito Comentado. 7a Questão (Ref.: 201201413343) Pontos: 1,0 / 1,0 Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento do meio do vetor, é chamado de: Tabela Hash Pesquisa binária Pesquisa de seleção Pesquisa sequêncial Pesquisa ordenada Gabarito Comentado. 8a Questão (Ref.: 201201416384) Pontos: 1,0 / 1,0 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_h... 3 de 5 07/12/2015 08:28 Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga". Bolha QuickSort MergeSort Seleção Inserção Gabarito Comentado. 9a Questão (Ref.: 201201618072) Pontos: 1,0 / 1,0 for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].nome << endl; for (int i = 0; i < n; i++) cout << L.matricula << " " << L.nome << endl; for (int i = 0; i < n; i++) cout << L[i] << 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; Gabarito Comentado. 10a Questão (Ref.: 201201413171) Pontos: 1,0 / 1,0 Com relação as listas lineares sequenciais: I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array. II - Um elemento de uma lista linear sequencial pode ser acessado diretamente BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_h... 4 de 5 07/12/2015 08:28 através de um índice. III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes. Apenas as afirmações I e II estão corretas. Apenas a afirmação I está correta. Apenas as afirmações I e III estão corretas. Apenas as afirmações II está corretas. Apenas as afirmações II e III estão corretas. Gabarito Comentado. BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_h... 5 de 5 07/12/2015 08:28