Buscar

Estrutura de Dados Aula3

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 4 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

Prévia do material em texto

22/04/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2492403&courseId=13026&classId=1253117&topicId=0&p0=03c7c0ace395d80182db07ae2c3… 1/4
 
 
 
 ESTRUTURA DE DADOS
3a aula
 Lupa 
PPT MP3
 
Exercício: CCT0826_EX_A3_201901058859_V3 10/04/2020
Aluno(a): ALEX JONAS SOARES DOS REIS 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201901058859
 
 1a Questão
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".
É 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 adicionar um valor no vetor, alterando 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.
Respondido em 10/04/2020 15:39:48
 
 
Explicação:
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
Só pode ocorrer, no entanto, se a lista não estiver cheia.
 
 
 2a Questão
Qual das seguintes estruturas de dados é classificada como heterogênea?
Loop
Pilha
Fila
Vetor
 Registro
Respondido em 10/04/2020 15:40:13
 
 
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.
Gabarito
 Coment.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','3','','','');
javascript:abre_frame('3','3','','','');
22/04/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2492403&courseId=13026&classId=1253117&topicId=0&p0=03c7c0ace395d80182db07ae2c3… 2/4
 
 
 3a 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->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 ++; }
 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; }
Respondido em 10/04/2020 15:42:50
 
 
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.
 
 
 
 
 
 4a Questão
Marque a opção correta, considerando 
 
struct Livro { 
int codigo; 
float preco; 
22/04/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2492403&courseId=13026&classId=1253117&topicId=0&p0=03c7c0ace395d80182db07ae2c3… 3/4
} liv; 
 
 liv.preco = 30.70;
Livro->liv.codigo = 12345;
Livro.codigo = 12345;
Livro.liv.codigo = 12345;
liv->preco = 30.70;
Respondido em 10/04/2020 15:43:21
 
 
 5a 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;
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
aluno.vet[10]=5.7;
vet[10]=aluno.5.7;
Respondido em 10/04/2020 15:45:16
 
 
 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.
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
vet[10].aluno.nota=5.7 ;
 vet[10].nota=5.7;
Respondido em 10/04/2020 15:45:49
 
 
 7a Questão
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação posterior de itens de
conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque corretamente a alternativa que apresenta o
código do método de seleção.
 void ordena(int v[], int n){ 
 int i, j, menor, aux; 
 
22/04/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2492403&courseId=13026&classId=1253117&topicId=0&p0=03c7c0ace395d80182db07ae2c3… 4/4
for (j = 0; j < n-1; j++) { 
 for (i = j+1; i < n; i++) { 
 if (v[i] < v[j]) { 
 aux = v[j]; 
 v[j] = v[i]; 
 v[i] = aux; 
 } 
 } 
 } 
 }
int ordena(float v[], float valor, int n){
 for (int i = 0; i < n; i++)
 if (v[i] == valor)
 return i;
 return -1;
 }
int ordena(float v[], float valor, int n) {
 int ini = 0, fim = n-1, meio;
 while (ini >= fim){
 meio = ini/2;
 if (v[meio] == valor)
 return meio; 
 if (valor < v[meio])
 fim = meio -1;
 else
 ini = meio+1;
 }
int ordena(float v[], float valor, int n) { 
 int ini = 0, fim = n -1, meio; 
 while (ini <= fim){ 
 meio = (ini + fim)/2; 
 if (v[meio] == valor) 
 return meio; 
 if (valor < v[meio]) 
 fim = meio -1; 
 else 
 ini = meio+1; 
 } 
 return -1; 
 }
void ordena (int v[], int n){ 
 int i, j, aux; 
 for (j = 1; j < n; j++) 
 for (i=j; i > 0 && v[i-1]> v[i]; i--){ 
 aux = v[i-1]; 
 v[i-1] = v[i]; 
 v[i] = aux; 
 } 
 }
Respondido em 10/04/2020 15:50:20
 
 
Explicação:
Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor
valor do vetor e colocamos ele em vetor.
Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E assim vamos indo até termos todo o vetor
ordenado.
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento no vetor e o
substitue pelo elemento i atual.
É o que está ocorrendo na primeira opção!
Gabarito
Coment.
javascript:abre_colabore('38403','185683568','3702785385');

Outros materiais