GeraProva GeraProva Provas com IA para professores do Brasil
Computação4º anoBNCC EF04CO02Difícil⏱ longo

Projete um algoritmo em pseudocódigo que declare variáveis com tipos adequados para registrar os campos de um…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF04CO02

Reconhecer objetos do mundo real e/ou digital que podem ser representados através de registros que estabelecem uma organização na qual cada componente é identificado por um nome, fazendo manipulações sobre estas representações.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que declare variáveis com tipos adequados para registrar os campos de um cadastro escolar: id_aluno (alfa-numérico que pode conter zeros à esquerda), media (com até duas casas decimais), ativo (indicador de inscrição) e turmas (conjunto de códigos); inclua passos de normalização e justificativa das escolhas de tipo.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Pseudocódigo modelo: // Declarações de tipos e variáveis id_aluno: string // preserva zeros à esquerda e caracteres alfanuméricos media: float // armazena frações; normalizar para 2 casas ao exibir ativo: boolean // true = matriculado/ativo, false = inativo turmas: list<string> // lista de códigos de turmas (ex: "M101") // Normalização de entrada function normalizar_id(raw): id := trim(raw) // manter zeros à esquerda; validar formato alfanumérico return id function normalizar_media(raw): n := parseFloat(raw) if n < 0 then n := 0 if n > 10 then n := 10 // opcional: arredondar a duas casas para apresentação return n // Exemplo de uso id_aluno := normalizar_id(entrada_id) media := normalizar_media(entrada_media) ativo := (entrada_status == "sim" ou entrada_status == "true") turmas := split(normalizar(entrada_turmas), ',') Justificativas: - id_aluno como string: preserva zeros à esquerda e permite letras, evitando perda de informação que ocorreria se fosse inteiro. - media como float: permite armazenar frações resultantes de cálculos; arredondamento deve ocorrer apenas na saída para evitar perda durante processamento. - ativo como boolean: modela claramente estado binário e simplifica condições no algoritmo. - turmas como lista de strings: permite múltiplas associações e operações como adicionar/remover; códigos mantêm formato textual. - Normalização (trim, validação de formato, limites numéricos) evita entradas inconsistentes e facilita comparação/armazenamento.

Explicação

A escolha dos tipos de dados é fundamentada na necessidade de preservar informações essenciais, como zeros à esquerda em identificadores e a precisão em médias. A normalização garante que os dados sejam consistentes e válidos, evitando erros em operações futuras. Além disso, a estrutura das variáveis permite uma manipulação eficiente e clara das informações do cadastro escolar.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

tipos de variáveis

📌 Objetivo

avaliacao

🧱 Pré-requisitos

tipos de variáveis · pseudocódigo

📚 Reveja

Revisar os tipos de dados e suas aplicações em algoritmos.

⚠️ Erro mais comum

O aluno pode confundir os tipos de variáveis, escolhendo um tipo inadequado para o campo 'id_aluno', como um número inteiro, que não permite zeros à esquerda.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Matrizes e registros

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.