Buscar

Aula 3 ESTRUTURAS HETEROGÊNEAS

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

ESTRUTURA DE DADOS
3a aula
		
	 
	Lupa
	 
	 
	
Vídeo
	
PPT
	
MP3
	 
	
	 
	Exercício: CCT0753_EX_A3_201709084006_V1 
	01/05/2018 10:05:47 (Finalizada)
	Aluno(a): WELLYNGTON ORTIZ
	2018.1 - F
	Disciplina: CCT0753 - ESTRUTURA DE DADOS 
	201709084006
	 
	Ref.: 201710163095
		
	
	 1a Questão
	
	
	
	
	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 III.
	
	estão corretas apenas as afirmativas I, III e IV.
	
	todas as afirmativas estão corretas.
	
	estão corretas apenas as afirmativas I, II e IV.
	 
	estão corretas apenas as afirmativas II, III e IV.
	
Explicação:
Analisando as afirmativas, temos :
Afirmativa I :  Falso.  Vetores e matrizes são agregados homogêneos.
Afirmativas II, III e IV : Estão corretas. Basicamente, structs são agregados heterogêneos.
Logo, a opção correta é estão corretas apenas as afirmativas II, III e IV.
	
	 
	Ref.: 201709844962
		
	
	 2a Questão
	
	
	
	
	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; }
	 
	for (int i = 0; i < 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
	
	int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; }
	
Explicação:
Analisando cada item :
	for (int i = 0; i <= 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
	>> Falso.  Veja que se há 25 itens, os índices começarão de 0 e irao até 24  e não 25.
 
	for (int i = 0; i < 25; i++) { cin >> lista[i]->nome; cin >> lista[i]->nota; }
	 
	>> Falso.  Para acessar o campo de struct é ponto e não seta.  lista[i] é uma struct e não um ponteiro.
 
	for (int i = 0; i < 25; i++) { cin >> lista->nome; cin >> lista->nota; }
	 
	 >> Falso. Para acessar o campo de struct é ponto e não seta.  lista é um vetor e lista[i] é um componente de lista.  Usamos o operador seta quando temos ponteiro para struct.
 
	for (int i = 0; i < 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
	
	>> Verdadeiro.
 
	int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; }
 
>> Falso, porque foi pedido nome e nota e não cargo.
	 
 
 
	
	 
	Ref.: 201709690390
		
	
	 3a Questão
	
	
	
	
	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.
		
	
	vet[3].aluno=6.0;
	 
	aluno[10]=6.0;
	
	aluno[3].media=6.0;
	 
	vet[3].media=6.0;
	
	aluno[3].10=6.0;
	
	 
	Ref.: 201709734079
		
	
	 4a Questão
	
	
	
	
	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].nota=5.7;
	 
	aluno.vet[10]=5.7;
	
	vet[10]=aluno.5.7;
	
	vet[10].aluno.nota=5.7 ;
	
	aluno.vet[10].nota=5.7;
	
	 
	Ref.: 201709325229
		
	
	 5a Questão
	
	
	
	
	Com relação à struct,  é correto afirmar que :
		
	 
	Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não.
	
	A struct é sempre definida dentro da main.
	 
	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.
	
	Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
	
	 
	Ref.: 201709759868
		
	
	 6a Questão
	
	
	
	
	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.nota=5.7 ;
	
	vet[10]=aluno.5.7;
	 
	vet[10].nota=5.7;
	
	aluno.vet[10]=5.7;
	
	aluno.vet[10].nota=5.7;
	
	 
	Ref.: 201709120014
		
	
	 7a Questão
	
	
	
	
	Qual das seguintes estruturas de dados é classificada como heterogênea?
		
	
	Pilha
	
	Vetor
	
	Fila
	
	Loop
	 
	Registro
	
Explicação:
Registro permite agregar dados de tipos diferentes.
Vetor permite agregar dados do mesmo tipo.
Pilha e fila implementadas com vetor ou lista encadeada.
Loop : termo genérico para repetições.
	
	 
	Ref.: 201710163093
		
	
	 8a Questão
	
	
	
	
	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).
	
Explicação:
Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.).

Continue navegando