Baixe o app para aproveitar ainda mais
Prévia do material em texto
21/05/2018 EPS: Alunos http://simulado.estacio.br/alunos/ 1/3 Ref.: 201704208093 1a Questão Marque a opção correta, considerando struct Livro { int codigo; float preco; } liv; Livro->liv.codigo = 12345; Livro.liv.codigo = 12345; liv->preco = 30.70; Livro.codigo = 12345; liv.preco = 30.70; Ref.: 201704175843 2a 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].nota=5.7; aluno.vet[10]=5.7; vet[10]=aluno.5.7; vet[10].nota=5.7; vet[10].aluno.nota=5.7 ; Ref.: 201704260937 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[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 ++; } for (int i = 0; i <= 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; } 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. 21/05/2018 EPS: Alunos http://simulado.estacio.br/alunos/ 2/3 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.: 201704579068 4a 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 : ∙ (ponto). * (asterisco). & (e comercial ou eitza). , (vírgula). -> (seta). Explicação: Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.). Ref.: 201704106365 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 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. aluno[10]=6.0; aluno[3].media=6.0; vet[3].media=6.0; aluno[3].10=6.0; vet[3].aluno=6.0; Ref.: 201704150054 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; }; 21/05/2018 EPS: Alunos http://simulado.estacio.br/alunos/ 3/3 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.5.7; vet[10].aluno.nota=5.7 ; vet[10].nota=5.7; aluno.vet[10]=5.7; Ref.: 201703741204 7a Questão Com relação à struct, é correto afirmar que : Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo. Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não. Cada elemento da struct é chamado componente. A struct é sempre definida dentro da main. Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo. Ref.: 201704579070 8a 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, III e IV. estão corretas apenas as afirmativas I, II e IV. estão corretas apenas as afirmativas I, II e III. estão corretas apenas as afirmativas II, III e IV. todas as afirmativas estão corretas. 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.
Compartilhar