Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: ESTRUTURA DE DADOS Aluno(a): GILBERTO DA SILVA BORGES Matrícula: 201502300001 Acertos: 7,0 de 10,0 Início: 17/04/2019 (Finaliz.) 1a Questão (Ref.:201502357761) Acerto: 1,0 / 1,0 Estão entre algumas das possíveis formas de se estruturar dados: Grafos, algoritmos, fila. Grafos, lista ordenada, vetores. Lista encadeada, vetores, algoritmos. Algoritmos, lista ordenada, vetores. Grafos, lista ordenada, algoritmos. Gabarito Coment. 2a Questão (Ref.:201503480354) Acerto: 0,0 / 1,0 Estão entre algumas das possíveis formas de estruturas de dados: Grafos, funções, fila Árvores binárias, pilhas, vetores cout, Funções, vetores Árvores binárias, pilhas, algoritmos Listas, vetores, cin 3a Questão (Ref.:201502971669) Acerto: 1,0 / 1,0 Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica tem como principal elemento: As Filas Os Vetores As Estruturas de Dados As funções Os Grafos 4a Questão (Ref.:201503514212) Acerto: 1,0 / 1,0 Considere o trecho de um programa escrito em C++. int func1 (int n1, int n2) { int aux = n1 % n2; while ( aux != 0) { n1 = n2; n2 = aux; aux = n1 % n2; } return n2; } int main() { cout << func1 (27, 18); } Marque a opção correta que mostra o que é impresso na tela. 9 27 18 3 6 5a Questão (Ref.:201503400690) Acerto: 0,0 / 1,0 Dadas as afirmativas abaixo, identifique as corretas e marque a alternativa verdadeira. I- Vetores e matrizes servem apenas para construir agregados de dados heterogêneos. II- Registros em C++ são tipos de dados compostos formados por mais de um tipo de dados. III- Na Linguagem C++, "struct" é uma palavra reservada que serve para definir registros. IV- Registros são tipos de dados heterogêneos. todas as afirmativas estão corretas. estão corretas apenas as afirmativas II, III e IV. estão corretas apenas as afirmativas I, II e IV. estão corretas apenas as afirmativas I, III e IV. estão corretas apenas as afirmativas I, II e III. 6a Questão (Ref.:201503082557) Acerto: 0,0 / 1,0 o programa de computador necessita preencher uma lista de alunos (nome e nota) até que a lista esteja cheia. Sabe-se que a lista tem capacidade para 25 alunos. Utilizando agregados heterogêneos, qual o trecho de código que exibe a melhor forma de solucionar este problema? for (int i = 0; i < 25; i++) { cin >> lista[i]->nome; cin >> lista[i]->nota; } for (int i = 0; i < 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; } for (int i = 0; i < 25; i++) { cin >> lista->nome; cin >> lista->nota; } int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; } for (int i = 0; i <= 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; } 7a Questão (Ref.:201503313142) Acerto: 1,0 / 1,0 Considere a função misterio e o trecho abaixo. void misterio(int v[ ], int n) { //n é o número de elementos de v int i, j, m, aux; for (j = 0; j < n-1; j++) { m = j; for (i = j+1; i < n; i++) { if (v[i] < v[m]) m = i; } aux = v[j]; v[j] = v[m]; v[m] = aux; } } Trecho na main : int v[4] = {40,30,10,20}; misterio(v, 4); Marque a opção correta. Como ficará o vetor após a execução da função misterio ? 10 30 40 20 10 30 20 40 5 10 20 30 10 20 40 30 10 20 30 40 8a Questão (Ref.:201502357781) Acerto: 1,0 / 1,0 Marque a afirmativa correta para a "inserção incremental". Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. Os pivôs são escolhidos aleatoriamente. É um tipo de ordenação por intercalação A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. É um tipo de sequenciação por intercalação. Gabarito Coment. 9a Questão (Ref.:201502357972) Acerto: 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 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 a afirmação I está correta. Apenas as afirmações I e III estão corretas. Apenas as afirmações I e II estão corretas. Apenas as afirmações II e III estão corretas. Gabarito Coment. 10a Questão (Ref.:201503211514) Acerto: 1,0 / 1,0 Considere uma lista sequencial L com n fichas de professores, sendo que cada ficha de professor é modelada pela struct : struct professor { int matricula; char titulo[30]; }; e a lista L é assim declarada : professor L[n]; Assinale o trecho que corretamente exibe todas as matrículas e titulações de todos os n professores de L . for (int i = 0; i < n; i++) cout << L[i] << endl; for (int i = 0; i < n; i++) cout << L.matricula[i] << " " << L.titulo[i] << endl; for (int i = 0; i < n; i++) cout << L.matricula << " " << L.titulo << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].titulo << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].titulo[30] << endl; Disc.: ESTRUTURA DE DADOS Aluno(a): GILBERTO DA SILVA BORGES Matrícula: 201502300001 Acertos: 8,0 de 10,0 Início: 28/04/2019 (Finaliz.) 1a Questão (Ref.:201503029595) Acerto: 1,0 / 1,0 A que estrutura pertence a definição: " Uma estrutura não linear que é um conjunto de nós e suas conexões entre eles e não há limitação de vértices. Muito utilizada para representação de percursos em mapas." filas encadeadas grafos listas encadeadas structs pilhas encadeadas 2a Questão (Ref.:201503480354) Acerto: 1,0 / 1,0 Estão entre algumas das possíveis formas de estruturas de dados: cout, Funções, vetores Grafos, funções, fila Listas, vetores, cin Árvores binárias, pilhas, vetores Árvores binárias, pilhas, algoritmos 3a Questão (Ref.:201503494915) Acerto: 1,0 / 1,0 Caso uma estrutura homogênea (vetor) seja passada como parâmetro para uma função, então: Haverá um erro de compilação, pois vetores não podem ser parâmetros de funções Todos os valores contidos no vetor são copiados para a função Essa passagem é "por referência" Essa passagem é "por valor" Essa passagem pode ser "por valor" ou "por referência" 4a Questão (Ref.:201505163991) Acerto: 0,0 / 1,0 Diga, para o trecho do programa abaixo, qual a opção que representa a saída em tela. Considere que o programa será compilado sem erros e irá executar também sem problemas . void troca (int x, int y){ int tmp; tmp = y; y = x; x = tmp; } int main( ) { inta = 13, b = 10; troca( a, b ); cout<<"Valores: "<< a<<"\t"<< b<<< endl; system("pause"); } Valores: 31 01 Valores: 10 13 Valores: 13 10 Valores: 13 13 Valores: 10 10 5a Questão (Ref.:201503029713) Acerto: 0,0 / 1,0 Marque a opção correta, considerando struct Livro { int codigo; float preco; } liv; Livro.liv.codigo = 12345; Livro.codigo = 12345; liv->preco = 30.70; Livro->liv.codigo = 12345; liv.preco = 30.70; 6a Questão (Ref.:201502357783) Acerto: 1,0 / 1,0 Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada". Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. 7a Questão (Ref.:201503176353) Acerto: 1,0 / 1,0 "Algoritmo de ordenação por trocas que varre um vetor um certo número de vezes, comparando os elementos vizinhos dois a dois. A cada varredura, se o par de elementos está em ordem crescente, nada é feito, caso contrário os elementos do par são permutados". Esta definição está descrevendo o algoritmo de ordenação conhecido por : QuickSort BubbleSort MergeSort SelectionSort InsertionSort 8a Questão (Ref.:201502358036) Acerto: 1,0 / 1,0 O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, escolheu um método de ordenação que executa os seguintes passos: Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor; Selecione o segundo maior e troque-o com o candidato que está na segunda posição; Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste apenas um candidato. O algoritmo utilizado pelo programador trata-se do método de ordenação denominado: Heapsort Quicksort Inserção Bolha Seleção Gabarito Coment. 9a Questão (Ref.:201502921205) Acerto: 1,0 / 1,0 Estude atentamente o código a segir: int deciframe(int v[ ], int tam, int e){ int i = 0, f = tam -1, m; while ( i <= f ){ m = ( i + f ) / 2; if ( v[m] == e ) { return m; } if ( e < v[m] ) { f = m - 1; } else { i = m + 1; } } return -1; } Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela retornaria? v[10] = {0, 2, 4, 6, 8, 10, 20, 100} tam = 8 e = -6 -1 6 4 0 3 10a Questão (Ref.:201502560389) Acerto: 1,0 / 1,0 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. Lista Encadeada Pilha Encadeada Pilha Sequencial Lista Sequencial Fila Sequencial Disc.: ESTRUTURA DE DADOS Aluno(a): GILBERTO DA SILVA BORGES Matrícula: 201502300001 Acertos: 10,0 de 10,0 Início: 29/04/2019 (Finaliz.) 1a Questão (Ref.:201502946424) Acerto: 1,0 / 1,0 Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na Computação Gráfica, em modelagem de circuitos digitais e etc. E que se caracteriza por apresentar um conjunto de nós e conexões entre eles. Grafos Filas Encadeadas Pilhas Encadeadas Vetores Listas Encadeadas. 2a Questão (Ref.:201503204996) Acerto: 1,0 / 1,0 Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema operacional? Pilha Lista Árvore Fila Grafo 3a Questão (Ref.:201503514240) Acerto: 1,0 / 1,0 Considere o trecho de um programa escrito em C++ : int func1 (long num) { int n, na=1; while (num / 10 != 0){ na += 1; num /= 10; } return na; } main() { cout << func1 (132041); } Marque a opção correta que mostra o que é impresso na tela. 2 1 4 6 3 4a Questão (Ref.:201503355881) Acerto: 1,0 / 1,0 Considere as seguintes afirmativas : I) Os vetores em C++, quando passados como parâmetros de funções, são obrigatoriamente passados "por valor" e não "por referência". II) Variáveis globais são um recurso adequado para troca de informações entre funções distintas. III) Caso uma função necessite retornar mais de um valor ao programa que a chamou, deve fazê-lo usando parâmetros passados "por valor". As afirmativas corretas são: Apenas I e II Nenhuma está correta Apenas II Apenas III Apenas I 5a Questão (Ref.:201503400690) Acerto: 1,0 / 1,0 Dadas as afirmativas abaixo, identifique as corretas e marque a alternativa verdadeira. I- Vetores e matrizes servem apenas para construir agregados de dados heterogêneos. II- Registros em C++ são tipos de dados compostos formados por mais de um tipo de dados. III- Na Linguagem C++, "struct" é uma palavra reservada que serve para definir registros. IV- Registros são tipos de dados heterogêneos. estão corretas apenas as afirmativas I, II e IV. estão corretas apenas as afirmativas I, III e IV. todas as afirmativas estão corretas. estão corretas apenas as afirmativas II, III e IV. estão corretas apenas as afirmativas I, II e III. 6a Questão (Ref.:201502562824) Acerto: 1,0 / 1,0 Com relação à struct, é correto afirmar que : Cada elemento da struct é chamado componente. Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo. A struct é sempre definida dentro da main. Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo. Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não. Gabarito Coment. 7a Questão (Ref.:201503496454) Acerto: 1,0 / 1,0 Considere a seguinte função busca escrita em linguagem C++ : bool busca(int vetor[ ], int n, int tam) { int ini=0, mid; while (ini <= tam) { cout << " x "; mid = (ini + tam)/2; if (vetor[mid] == n) return true; else if(n > vetor[mid]) ini = mid+1; else tam = mid-1; } return false; } Qual a quantidade total de impressões da letra x nas buscas pelos números n = 4, n = 2 e n = 0 no vetor [1,2,3,4,5,6,7,8], sendo tam = 7 ? int vetor[] = {1,2,3,4,5,6,7,8}; busca(vetor, 4, 7); busca(vetor, 2, 7); busca(vetor, 0, 7); 6 8 4 5 9 8a Questão (Ref.:201503199025) Acerto: 1,0 / 1,0 Este vetor foi ordenado pelo método: Quicksort. Ordenação por seleção (selection sort). Ordenação por inserção (insertion sort). Método da bolha (bubble sort). Mergesort. 9a Questão (Ref.:201502921205) Acerto: 1,0 / 1,0 Estude atentamente o código a segir: int deciframe(int v[ ], int tam, int e){ int i = 0, f = tam -1, m; while ( i <= f ){ m = ( i + f ) / 2; if ( v[m] == e ) { return m; } if ( e < v[m] ) { f = m - 1; } else { i = m + 1; } } return -1; } Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela retornaria? v[10] = {0, 2, 4, 6, 8, 10, 20, 100} tam = 8 e = -6 3 0 -1 4 6 10a Questão (Ref.:201503394777) Acerto: 1,0 / 1,0 Em relação às listas sequenciais, considere as seguintes afirmações: I - são estruturas lineares que utilizam vetores para armazenamento dos dados; II - os componentes da lista são os dados que se deseja armazenar e um valor inteiro com a quantidade de dados da lista; III - os dados são sempre inseridos ou removidos no final da lista, tomando-se sempre o cuidado de atualizar a quantidade de dados da lista; IV - listas podem apresentar dados repetidos ou não admitir repetição (listas com e sem repetição). Assinale a opção que contém apenas todas as afirmativas corretas: I, II, III, IV II, III, IV I, II, IV I, II I, II, III
Compartilhar