Descreva um algoritmo em pseudocódigo que, dado um vetor de registros (nome:string, nota:num, presente:bool)…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva um algoritmo em pseudocódigo que, dado um vetor de registros (nome:string, nota:num, presente:bool), calcule a média das notas apenas dos alunos presentes e retorne a lista de nomes cujas notas estão abaixo dessa média. Use variáveis claras e explique os passos.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo: 1. function alunosAbaixoMedia(registros): 2. soma <- 0 3. cont <- 0 4. para cada r em registros: 5. se r.presente == true então 6. soma <- soma + r.nota 7. cont <- cont + 1 8. se cont == 0 então 9. retornar lista vazia // nenhum aluno presente 10. media <- soma / cont 11. listaAbaixo <- [] 12. para cada r em registros: 13. se r.presente == true e r.nota < media então 14. adicionar r.nome em listaAbaixo 15. retornar listaAbaixo Explicação dos passos: - Variáveis: soma (numérica), cont (inteira), media (numérica), listaAbaixo (vetor de strings). - Primeiro loop soma apenas notas de alunos marcados como presentes e conta quantos estão presentes; trata-se o caso sem presentes retornando lista vazia. - Calcula-se a média com as variáveis soma e cont. - Segundo loop verifica cada aluno presente; se sua nota for menor que a média, o nome é adicionado à lista de saída. - Complexidade: percorre-se a lista duas vezes, resultando em O(n). Opcionalmente, pode-se fazer em um único passo mantendo uma estrutura intermediária, mas a versão em dois passos é clara e robusta para entendimento.
Explicação
O algoritmo utiliza uma abordagem clara e estruturada para calcular a média das notas dos alunos presentes, garantindo que todos os casos sejam considerados, como a ausência de alunos. A divisão em dois loops permite uma fácil compreensão do processo de cálculo da média e da verificação das notas em relação a essa média. Além disso, a escolha de variáveis descritivas facilita a leitura e manutenção do código.
Raio-X da questão
algoritmo em pseudocódigo
avaliacao
vetores e registros · média aritmética
Revisar como calcular médias e manipular vetores.
O aluno pode confundir a lógica de cálculo da média, incluindo notas de alunos ausentes ou não filtrando corretamente os nomes.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que receba um vetor de registros 'estudantes' (campos: nome, notas[3]) e retorne um…
- Elabore em pseudocódigo um algoritmo que, dado um array de registros 'alunos' com campos (nome, notas[4]…
- Descreva, em pseudocódigo, um algoritmo que receba uma matriz de registros 'registro' (linhas = alunos, colunas =…
- Descreva em pseudocódigo um algoritmo que, dada uma matriz de dados 'notas' (linhas = alunos, colunas = avaliações)…
- Proponha um algoritmo em pseudocódigo que, dado um conjunto de registros de alunos com campos (nome, notas[3], faltas)…
- Descreva um algoritmo em pseudocódigo que, dado um conjunto de registros de alunos armazenados em uma matriz (cada…
🔎 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
