Em sala de aula, você precisa descrever como construir um programa que conte a presença de alunos a partir de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em sala de aula, você precisa descrever como construir um programa que conte a presença de alunos a partir de uma lista de nomes e de uma lista de presentes. Qual fluxo de solução é mais direto para implementar esse problema?
- A) Ler a lista de alunos e imprimir cada nome presente, sem realizar contagem.
- B) Percorrer a lista de alunos; para cada nome, verificar se ele está na lista de presentes; se estiver, incrementar um contador; ao final imprimir o contador.
- C) Ordenar a lista de presentes e usar busca binária para testar cada aluno.
- D) Criar um dicionário com cada nome como chave e 1 como valor e imprimir a soma dos valores.
- E) Usar uma pilha para empilhar nomes presentes e depois contar os itens na pilha.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O problema pede contar quantos alunos da lista de nomes estão presentes. O fluxo mais direto é percorrer a lista de alunos e, para cada um, verificar se ele aparece na lista de presentes. Passo 2: Se o nome estiver na lista de presentes, incrementa-se um contador que começa em zero. Passo 3: Ao terminar o percurso, imprime-se o valor do contador, que é a quantidade de presentes. Esse fluxo usa apenas uma passagem pela lista de alunos, uma verificação de pertencimento por aluno e uma variável de contagem, sem estruturas auxiliares. Passo 4: A alternativa A está errada porque imprime os presentes mas não faz a contagem pedida. A alternativa C está errada porque ordenar e aplicar busca binária funciona, mas acrescenta etapas desnecessárias para um problema que pede um fluxo direto. A alternativa D está errada porque o dicionário e a soma só funcionam se ele for montado apenas com os presentes, o que não está descrito e torna o fluxo indireto. A alternativa E está errada porque a pilha conta os nomes empilhados sem verificar se cada um pertence à lista de alunos, e o fluxo exige essa verificação. Passo 5: Portanto, o gabarito B está correto e é o fluxo mais direto para implementar a contagem de presença.
💡 Dica: Pense em como comparar as duas listas.
Alternativa por alternativa
O aluno acredita que basta listar os presentes para resolver o problema, ignorando que a tarefa pede uma contagem.
Essa é a abordagem direta: usa uma variável contador e verifica pertencimento para cada aluno, resultando na contagem de presentes.
O aluno associa solução eficiente a solução sofisticada e supõe que ordenar e usar busca binária seja o caminho mais direto, sem considerar a etapa extra de ordenação.
O aluno acredita que um dicionário de nomes com valor 1 resolve o problema diretamente, sem perceber que a montagem e a soma adicionam etapas e dependem de como o dicionário é construído a partir dos presentes.
Por que engana: Escolher uma abordagem que nao realiza a contagem correta ou que nao verifica a presenca dos alunos adequadamente.
O aluno acredita que contar elementos empilhados equivale a contar presentes, sem perceber que a pilha não verifica se cada nome pertence à lista de alunos.
Raio-X da questão
contagem de presença
fixacao
estruturas de repeticao · condicional if
Revisar estruturas de controle e listas em programação.
Escolher uma abordagem que nao realiza a contagem correta ou que nao verifica a presenca dos alunos adequadamente.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Lia criou um caminho no tabuleiro. O tablet usa “andar 10 passos”, e o robô usa “andar 1 quadrado”. Por que Lia escreveu…
- Algoritmo: "Ler nota. Se nota >= 60 então imprimir 'Aprovado'. Senão imprimir 'Reprovado'." Qual será a saída para nota…
- Na sala, um algoritmo manda ler a temperatura. Se ela for maior que 30 graus, deve ligar o ventilador; caso contrário…
- Descreva em passos um algoritmo que, recebendo a lista de adjacência de um grafo não direcionado, retorne todas as…
- Descreva um algoritmo em pseudocódigo que, dado n variáveis booleanas (dados de entrada), gere todas as 2^n combinações…
- Projete um algoritmo em pseudocódigo que receba uma lista de nomes (strings) como dado de entrada e devolva uma lista de…
🔎 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
