Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESTRUTURA DE DADOS Avaliação Parcial: CCT0753_SM_201703163095 V.1 Aluno(a): DAVI FELIX Matrícula: Acertos: 8,0 de 10,0 Data: 17/04/2018 09:51:41 (Finalizada) 1a Questão (Ref.:201704054399) 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? Fila Lista Grafo Pilha Árvore 2a Questão (Ref.:201704369026) Acerto: 1,0 / 1,0 É um exemplo de TAD Não Linear: Filas Pilhas Grafos Filas de Prioridade Listas 3a Questão (Ref.:201704041911) Acerto: 1,0 / 1,0 Considera a FUNÇÃO abaixo: void inverte(int &x, int &y) { int aux = x; x = y; y = aux; } Quais valores serão impressos na tela quando o seguinte programa principal for executado? int main() { int a = 18, b = 28; inverte(a, b); cout << a <<" e "<< b; return 0; } 08 e 18 28 e 08 28 e 18 18 e 18 18 e 28 4a Questão (Ref.:201706015171) 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() { int a = 13, b = 10; troca( a, &b ); cout<<"Valores: "<< a<<"\t"<< b<< endl; system("pause"); } Valores: 31 01 Valores: 10 13 Valores: 13 10 Valores: 10 10 Valores: 13 13 5a Questão (Ref.:201703207012) Acerto: 1,0 / 1,0 Qual das seguintes estruturas de dados é classificada como heterogênea? Registro Loop Fila Pilha Vetor 6a Questão (Ref.:201703846866) Acerto: 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]=aluno.5.7; aluno.vet[10].nota=5.7; aluno.vet[10]=5.7; vet[10].aluno.nota=5.7 ; vet[10].nota=5.7; 7a Questão (Ref.:201703207337) Acerto: 1,0 / 1,0 É correto afirmar sobre o funcionamento da busca sequencial. Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu vetor. 8a Questão (Ref.:201703207189) Acerto: 1,0 / 1,0 Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais". Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 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. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. 9a Questão (Ref.:201703770608) Acerto: 0,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 0 6 4 3 -1 10a Questão (Ref.:201703206995) Acerto: 1,0 / 1,0 O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? underflow ordenação remoção overflow inclusão 1a Questão (Ref.:201703884489) Acerto: 1,0 / 1,0 Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a alternativa que representa a resposta final. cin >> a; cin >> b; cin >> c; cin >> d; cout << a; cout << b; cout << c; cout << d; cout << d; cout << c; cout << b; cout << a; Após a impressão dos valores pela ordem teremos uma fila e um grafo. Após a impressão dos valores pela ordem teremos uma pilha e uma fila. Após a impressão dos valores pela ordem teremos uma fila e uma pilha. Após a impressão dos valores pela ordem teremos duas filas. Após a impressão dos valores pela ordem teremos duas pilhas. 2a Questão (Ref.:201703207164) Acerto: 1,0 / 1,0 Estão entre algumas das possíveis formas de se estruturar dados: Grafos, lista ordenada, algoritmos. Algoritmos, lista ordenada, vetores. Grafos, lista ordenada, vetores. Grafos, algoritmos, fila. Lista encadeada, vetores, algoritmos. 3a Questão (Ref.:201704041896) Acerto: 1,0 / 1,0 Considere a seguinte função: void dobro(int x) { x = 2 * x; } Qual valor será impresso na tela quando o seguinte programa principal for executado? int main() { int n = 3; n = n + 2; dobro(n); cout << n; return 0; } 5 3 10 20 0 4a Questão (Ref.:201704205284) Acerto: 0,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 Nenhuma está correta Apenas III Apenas I e II Apenas II 5a Questão (Ref.:201703207519) Acerto: 1,0 / 1,0 A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de uma estrutura do tipo Struct? Nome da estrutura ponto tipo do campo Nome da estrutura ponto nome do campo Nome da estrutura vírgula tipo do campo Nome da estrutura seta tipo do campo Nome da estrutura seta nome do campo 6a Questão (Ref.:201703207012) Acerto: 1,0 / 1,0 Qual das seguintes estruturas de dados é classificada como heterogênea? Loop Vetor Registro Pilha Fila 7a Questão (Ref.:201703207191) Acerto: 1,0 / 1,0 Marque a afirmativa correta paraa "Busca ou pesquisa binária". É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 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. 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. 8a Questão (Ref.:201703207439) 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: Bolha Heapsort Inserção Quicksort Seleção 9a Questão (Ref.:201704060917) 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.matricula[i] << " " << L.titulo[i] << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].titulo[30] << endl; for (int i = 0; i < n; i++) cout << L[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; 10a Questão (Ref.:201703855061) Acerto: 1,0 / 1,0 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 Inserção Inicialização Ordenação por inserção 1a Questão (Ref.:201703785122) Acerto: 0,0 / 1,0 A forma correta para imprimir o valor do último elemento de um vetor v com n posições é: cout << v[ultimo]; cout << v[n-1]; cin >> v[-1]; cout << v[n+1]; cout << v[n]; 2a Questão (Ref.:201703199064) Acerto: 1,0 / 1,0 Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa: São os nomes dados as variáveis na montagem de uma rotina. É um modo de utilização de dados nos programas de computador. É um modo de deleção de dados em um computador. É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente. É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente. 3a Questão (Ref.:201703207551) Acerto: 0,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: Ponteiros. Envio de inteiro. Registro. Passagem por valor. Envio de valor. 4a Questão (Ref.:201706003577) Acerto: 1,0 / 1,0 #include < iostream > using namespace std; void SOMA(float a, int b) { float result = a+b; cout << "A soma de " << a << " com " << b << " é: " << result; } int main() { int a; float b; a = 10; b = 12.3; SOMA(b,a); } A função SOMA acima possui as seguintes características : Não retorna valor e possui parâmetros. Retorna valor e não possui parâmetros. Retorna valor. Retorna valor e possui parâmetros. Não retorna valor e não possui parâmetros. 5a Questão (Ref.:201703879116) Acerto: 0,0 / 1,0 Marque a opção correta, considerando struct Livro { int codigo; float preco; } liv; Livro.codigo = 12345; liv->preco = 30.70; liv.preco = 30.70; Livro.liv.codigo = 12345; Livro->liv.codigo = 12345; 6a Questão (Ref.:201704250091) Acerto: 1,0 / 1,0 Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos) deste registro se dá pelo operador : & (e comercial ou eitza). ∙ (ponto). , (vírgula). -> (seta). * (asterisco). 7a Questão (Ref.:201703207191) Acerto: 1,0 / 1,0 Marque a afirmativa correta para a "Busca ou pesquisa binária". 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 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 adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 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. 8a Questão (Ref.:201703795817) Acerto: 0,0 / 1,0 Qual papel do for mais interno na função ordena abaixo ? 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; } } Encontrar o maior valor de x que deve ser inserido em v[0..j-1]. Encontrar o ponto onde v[j] deve ser inserido em v[0..j-1]. Encontrar o menor valor v[j] que deve ser inserido em v[0..j-1]. Encontrar o elmento a ser eliminado do vetor Encontrar o valor de v[j] deve em v[0..j-1]. 9a Questão (Ref.:201703412276) Acerto: 0,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[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; for (int i = 0; i < n; i++) cout << L.matricula << " " << L.nome << endl; 10a Questão (Ref.:201703855061) Acerto: 1,0 / 1,0 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 : Inicialização Busca Ordenação por inserção Substituição Inserção
Compartilhar