Baixe o app para aproveitar ainda mais
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 (.).
Compartilhar