Em um algoritmo que registra múltiplos telefones por aluno, qual estrutura de dado (variável) é mais adequada…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que registra múltiplos telefones por aluno, qual estrutura de dado (variável) é mais adequada para armazenar esse conjunto de números e permitir inserções e iterações eficientes?
- A) Registro com campos fixos para cada telefone.
- B) Lista (array dinâmico) de valores (strings) — uma lista de telefones por aluno.
- C) Dicionário (mapa) onde as chaves são os telefones.
- D) Lista estática com tamanho fixo de 10.
- E) Estrutura de conjunto (set) para armazenar números.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado pede a estrutura mais adequada para guardar um conjunto de telefones de cada aluno, com inserções e iterações eficientes. Como a quantidade de telefones varia de aluno para aluno e pode crescer, a estrutura precisa ser dinâmica e ordenada pela ordem de inclusão.
- Uma lista dinâmica (array dinâmico) de strings atende a esses requisitos. Ela cresce conforme necessário, permite adicionar um novo telefone ao final com custo baixo, e percorrê-la do início ao fim é simples e eficiente. Usar string evita perder zeros à esquerda e facilita armazenar formatos como DDD e traços.
- Por que as outras estão erradas:
- A) Um registro com campos fixos exige saber de antemão quantos telefones existem, e não permite iterar de forma natural sobre um número variável de itens.
- C) Um dicionário associa chaves a valores; usar o próprio telefone como chave não modela bem uma coleção simples de números e não é a estrutura pedida para iterar sobre os telefones do aluno.
- D) Uma lista estática de tamanho 10 limita o número de telefones e desperdiça memória quando o aluno tem poucos números.
- E) Um conjunto não garante a ordem dos elementos e não mantém a mesma naturalidade para iterar, além de eliminar duplicatas, o que pode não ser desejado; o enunciado pede uma estrutura de sequência de valores.
- Conclusão: a alternativa correta é a B, que coincide com o gabarito oficial.
💡 Dica: Considere as características das estruturas de dados em programação.
Alternativa por alternativa
O aluno acredita que registros com campos fixos são a melhor forma de guardar dados de um mesmo tipo, esquecendo que o número de telefones varia.
Listas/arrays dinâmicos permitem armazenar quantidade variável de elementos por aluno, suportam inserções e iteração eficiente sobre os telefones e são mais flexíveis que campos fixos em um registro.
O aluno pensa que, por telefones serem identificadores únicos, devem ser usados como chaves de um mapa, sem considerar que a tarefa é apenas armazenar e percorrer uma coleção.
O aluno entende que estruturas estáticas são sempre mais simples e seguras, sem perceber que o tamanho fixo de 10 impõe um limite arbitrário ao número de telefones.
Por que engana: Escolher uma estrutura de dados que não permite inserções dinâmicas, como a lista estática, pensando que o número de telefones é fixo.
O aluno associa conjuntos a qualquer coleção de números e ignora que o conjunto não preserva ordem nem é a estrutura típica para iterar sequencialmente sobre registros.
Raio-X da questão
estruturas de dados
avaliacao
estruturas de dados · algoritmos de armazenamento
Revisar os tipos de estruturas de dados e suas aplicações.
Escolher uma estrutura de dados que não permite inserções dinâmicas, como a lista estática, pensando que o número de telefones é fixo.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Em um algoritmo, qual estrutura de dados é mais adequada para armazenar os nomes dos alunos de uma turma?
- Em um algoritmo, é necessário armazenar os dados de alunos em uma lista. Qual estrutura seria mais adequada?
- Você está desenvolvendo um programa que precisa armazenar informações sobre diferentes estudantes em uma turma. Qual…
- Um aluno precisa armazenar os nomes de 10 alunos. Qual é a estrutura mais eficiente para essa situação?
- Qual estrutura de dados é a mais adequada para armazenar uma lista de alunos em uma sala de aula?
- Identifique a estrutura de dados mais adequada para armazenar os nomes de alunos em uma sala de aula.
Todas as questões de Programação - Programação com listas e recursão
🔎 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
