Buscar

Avaliação Parcial Estrutura de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Avaliação Parcial: CCT0753_SM_2018
	Aluno(a): 
	Matrícula: 201801
	Acertos: 10,0 de 10,0
	Data: 0(Finalizada)
	
	
	1a Questão (Ref.:201804191429)
	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 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.
	
	Após a impressão dos valores pela ordem teremos uma fila e um grafo.
	
	
	
	2a Questão (Ref.:201804675966)
	Acerto: 1,0  / 1,0
	É um exemplo de TAD Não Linear:
		
	 
	Grafos
	
	Filas
	
	Listas
	
	Pilhas
	
	Filas de Prioridade
	
	
	
	3a Questão (Ref.:201803716722)
	Acerto: 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, 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 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.
	
	O código compila normalmente e apresenta como resultado o valor 7.0
	 
	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.
	
	
	Gabarito Coment.
	
	
	
	
	4a Questão (Ref.:201803514492)
	Acerto: 1,0  / 1,0
	A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo assim, qual das situações abaixo representa melhor o conceito das variáveis globais.
		
	
	Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
	 
	Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em qualquer outra função do programa.
	
	Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar chamar esta variável em outra função é mencionado um warning.
	
	Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o mesmo valor.
	
	Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função "mostra".
	
	
	Gabarito Coment.
	
	
	
	
	5a Questão (Ref.:201804128017)
	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.
		
	
	aluno.vet[10].nota=5.7;
	
	vet[10].aluno.nota=5.7 ;
	 
	vet[10].nota=5.7;
	
	vet[10]=aluno.5.7;
	
	aluno.vet[10]=5.7;
	
	
	
	6a Questão (Ref.:201804238900)
	Acerto: 1,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.:201803514379)
	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:
		
	
	Quicksort
	
	Heapsort
	
	Bolha
	
	Inserção
	 
	Seleção
	
	
	Gabarito Coment.
	
	
	
	
	8a Questão (Ref.:201804102755)
	Acerto: 1,0  / 1,0
	Seja a seguinte função de ordenação:
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;
   }
}
Pode-se dizer que é uma função de ordenação:
		
	
	Que utiliza o método inserção e realiza uma ordenação decrescente nos elementos do vetor v.
	 
	Que utiliza o método inserção e realiza uma ordenação crescente nos elementos do vetor v.
	
	Que utiliza o método seleção e realiza uma ordenação decrescente nos elementos do vetor v.
	
	Que utiliza o método bolha e realiza uma ordenação crescente nos elementos do vetor v.
	
	Que utiliza o método seleção e realiza uma ordenação crescente nos elementos do vetor v.
	
	
	
	9a Questão (Ref.:201803581594)
	Acerto: 1,0  / 1,0
	São métodos ou algoritmos conhecidos de ordenação de dados por troca:
		
	
	ordenação shell e hashing.
	
	quicksort e hashing.
	
	busca por ordenação e ordenação shell.
	 
	bubble sort e quicksort.
	
	hashing e bubble sort.
	
	
	
	10a Questão (Ref.:201803719216)
	Acerto: 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[i] << endl;
	
	for (int i = 0; i < n; i++)
   cout << L.matricula << "  "  << L.nome << 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].matricula<< "  "  << L[i].nome[30] << endl;
	
	
	Gabarito Coment.

Outros materiais