Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT0753_EX_A5_201703294742_V8 ESTRUTURA DE DADOS 5a aula Lupa Vídeo PPT MP3 Exercício: CCT0753_EX_A5_201703294742_V8 24/06/2018 17:31:56 (Finalizada) Aluno(a): RICARDO ALEXANDRE KEMMERICH 2018.1 EAD Disciplina: CCT0753 - ESTRUTURA DE DADOS 201703294742 Ref.: 201703916054 1a Questão __________________________ é 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 Não Sequencial Lista Linear de Alocação de Memória Lista Linear Sequencial Lista Linear Não Alocada Lista Não Linear Ref.: 201703999873 2a Questão Considere uma lista com n livros, em que cada livro é modelado pela struct : struct Livro { string �tulo, 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 Ordenação por inserção InserçãoFile failed to load: http://simulado.estacio.br/ckeditor/MathJax/a11y/accessibility-menu.js Subs�tuição Inicialização Ref.: 201703554604 3a Questão 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. Fila Sequencial Lista Encadeada Pilha Encadeada Pilha Sequencial Lista Sequencial Ref.: 201704407514 4a Questão Analise a função abaixo, considerando o tipo Livro e marque a opção correta. int R2D2 (Livro v[ ], int c, int n) { for (int i = 0; i < n; i++) if (v[i].codigo == c) return i; return -1; } onde struct Livro { int codigo; char autor[30]; }; Ocorre erro na função R2D2 se o valor de c não estiver sido encontrado em v. Retorna -1 se o valor de n foi encontrado. Retorna o valor de c se o valor n foi encontrado. Retorna -1 se o valor de c estiver em v. Retorna a posição do valor c em v , se o valor c for encontrado em v. Explicação: Questão objetiva. A função realiza uma busca sequencial. A cada rodada do loop é verificado se o código de v[i] é igual ao valor de c, passado como parâmetro. Se o código estiver em v[i], então a posição i é retornada. Se o teste do if nunca tiver sucesso, então, sairemos do for sem sucesso e ao final, será retornado -1, que não pode ser índice ou posição de qualquer valor no vetor. File failed to load: http://simulado.estacio.br/ckeditor/MathJax/a11y/accessibility-menu.js Ref.: 201703352187 5a Questão 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 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 II está corretas. Apenas as afirmações II e III estão corretas. 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. Ref.: 201703557088 6a Questão 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].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].matricula << " " << L[i].nome[30] << endl; for (int i = 0; i < n; i++) cout << L[i] << endl; Ref.: 201703419466 7a Questão São métodos ou algoritmos conhecidos de ordenação de dados por troca: bubble sort e quicksort. hashing e bubble sort. busca por ordenação e ordenação shell. quicksort e hashing. ordenação shell e hashing. File failed to load: http://simulado.estacio.br/ckeditor/MathJax/a11y/accessibility-menu.js Explicação: Bubble sort é o algoritmo mais simples, mas o menos eficientes. Neste algoritmo cada elemento da posição i será comparado com o elemento da posição i + 1, ou seja, um elemento da posição 2 será comparado com o elemento da posição 3. Caso o elemento da posição 2 for maior que o da posição 3, eles trocam de lugar e assim sucessivamente. Por causa dessa forma de execução, o vetor terá que ser percorrido quantas vezes que for necessária, tornando o algoritmo ineficiente para listas muito grandes. O Quicksort é o algoritmo mais eficiente na ordenação por comparação. Nele se escolhe um elemento chamado de pivô, a partir disto é organizada a lista para que todos os números anteriores a ele sejam menores que ele, e todos os números posteriores a ele sejam maiores que ele. Ao final desse processo o número pivô já está em sua posição final. Os dois grupos desordenados recursivamente sofreram o mesmo processo até que a lista esteja ordenada. Ref.: 201704474580 8a Questão Considere as seguintes afirmações: I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100] [100]. II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta: Estão corretas apenas as afirmativas I e III. Nenhuma afirmação está correta. Está correta apenas a afirmativa I. Estão corretas apenas as afirmativas I e II. Está correta apenas a afirmativa II. Explicação: Analisando cada afirmativa : I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. Falso. Podemos ter matrizes unidimensionais, tridimensionais, etc... II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. Falso. Em C++ o índice inicial é zero. Logo, A[2] é o elemento de índice 2, ou seja, o 3o. elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta: Falso. B pode armazenar no máximo 29 caracteres que sejam dados, pois existe uma área para o caracter nulo. Logo, todas as opções são falsas. File failed to load: http://simulado.estacio.br/ckeditor/MathJax/a11y/accessibility-menu.js
Compartilhar