Em uma linguagem que usa ponto para acessar campos e em que índices começam em 0, seja o registro aluno =…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio da reutilização de partes de soluções existentes.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em uma linguagem que usa ponto para acessar campos e em que índices começam em 0, seja o registro aluno = {nome: 'Ana', notas: [7.5, 8.0, 9.0]}. Qual expressão acessa a segunda nota?
- A) aluno.notas[-1]
- B) aluno.notas[1]
- C) aluno.notas[0]
- D) aluno.notas[2]
- E) aluno.notas[3]
✅ Resposta correta: alternativa B
Resolução passo a passo
- A questao descreve um registro aluno com campo nome e campo notas, que e uma lista com tres valores: 7.5 (posicao 0), 8.0 (posicao 1) e 9.0 (posicao 2), pois os indices comecam em 0.
- A segunda nota e o valor 8.0, que ocupa o indice 1 da lista.
- Para acessar o campo notas usa-se o ponto (aluno.notas) e para acessar a posicao usa-se colchetes com o indice, resultando em aluno.notas[1].
- A alternativa A esta errada porque o indice -1 nao existe como posicao direta nessa linguagem e, mesmo em linguagens que aceitam indice negativo, ele acessaria a ultima nota (9.0), nao a segunda.
- A alternativa C esta errada porque o indice 0 acessa a primeira nota (7.5).
- A alternativa D esta errada porque o indice 2 acessa a terceira nota (9.0).
- A alternativa E esta errada porque o indice 3 esta fora dos limites da lista, que tem apenas tres elementos.
- Portanto, o gabarito B esta correto e coincide com a resolucao feita sem depender dele.
💡 Dica: Como a contagem começa em 0, a segunda nota está no índice 1.
Alternativa por alternativa
O aluno pensa que o indice negativo -1 corresponde a segunda posicao, confundindo a contagem a partir do fim com a contagem a partir do inicio.
Índices iniciam em 0; o índice 1 refere-se ao segundo elemento do vetor 'notas' dentro do registro 'aluno'.
O aluno esquece que a contagem comeca em 0 e pensa que a primeira posicao corresponde a segunda nota, ou seja, usa o indice 0 para a segunda nota.
O aluno confunde a posicao do indice com a ordem ordinal da nota, e como a nota 9.0 aparece em terceiro lugar na lista ele usa o indice 2.
Por que engana: Confundir a posição ordinal da nota com seu índice: como a contagem começa em zero, a segunda nota fica no índice 1, não no índice 2.
O aluno conta os valores a partir de 1 e acaba usando o proximo numero apos o ultimo indice, sem verificar que a lista tem apenas tres elementos.
Raio-X da questão
Indexação de listas em zero
fixacao
Acesso a elementos de listas · Acesso a campos de registros
Revise índices iniciados em zero e o acesso a campos de registros e elementos de listas.
Confundir a posição ordinal da nota com seu índice: como a contagem começa em zero, a segunda nota fica no índice 1, não no índice 2.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Dado o registro (em pseudocódigo) aluno = { nome: "Ana", idade: 9, altura: 1.40 }, como acessamos o campo 'altura'?
- Considere uma matriz 'alunos' em pseudocódigo, onde cada elemento é um registro com campos nome, idade, nota. Se os…
- Dada uma matriz que armazena notas de alunos, como você acessa a nota do terceiro aluno?
- Projete um registro para representar um aluno com os campos: nome, idade e nota. Em seguida, crie uma matriz que…
- Em uma aula, Ana digita três notas: 7, 8 e 9. O algoritmo recebe essas notas, soma seus valores, divide o resultado por…
- Ao modelar dados de alunos em pseudocódigo (cada aluno tem nome, matrícula e nota), qual estrutura é mais apropriada…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
