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

Descreva, em pseudocódigo, um algoritmo que utilize uma matriz de registros 'turma' (linhas = fileiras…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO01

Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva, em pseudocódigo, um algoritmo que utilize uma matriz de registros 'turma' (linhas = fileiras, colunas = lugares) onde cada registro tem campos: idAluno, nome, presencas[20]. Explique como usar variáveis e índices para marcar presença na aula k e calcular a porcentagem de presença por aluno.

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

Resposta esperada

Resposta-modelo (pseudocódigo e explicação): // Estruturas inteiro L = numFileiras inteiro C = numColunas inteiro AULAS = 20 registro turma[L][C] // cada elemento: idAluno, nome, presencas[AULAS] // Inicializar presencas com 0 para i de 0 até L-1: para j de 0 até C-1: para a de 0 até AULAS-1: turma[i][j].presencas[a] = 0 // Marcar presença na aula k (0 = k < AULAS) procedimento marcarPresenca(k): para i de 0 até L-1: para j de 0 até C-1: se alunoPresente(i,j) então turma[i][j].presencas[k] = 1 senao turma[i][j].presencas[k] = 0 // Calcular porcentagem de presença para cada aluno procedimento calcularPorcentagens(): para i de 0 até L-1: para j de 0 até C-1: soma = 0 para a de 0 até AULAS-1: soma = soma + turma[i][j].presencas[a] porcentagem = (soma / AULAS) * 100 imprimir(turma[i][j].idAluno, porcentagem) Explicação dos elementos principais: - Variáveis i,j são índices das dimensões da matriz; a é índice da disciplina de presenças; k representa a aula atual. - O campo presencas é um vetor dentro do registro para armazenar dados binários (1/0) por aula. - Ao marcar presença, atualiza-se apenas presencas[k] do registro correspondente. - A complexidade de marcar uma aula é O(L*C); calcular todas as porcentagens também requer O(L*C*AULAS). - Validar k e inicializar presencas evita leitura fora do vetor; idAluno funciona como identificador único ao imprimir resultados.

Explicação

A solução apresentada utiliza uma estrutura de dados adequada para armazenar informações sobre a presença dos alunos, garantindo que cada aluno tenha um registro individual. O algoritmo implementa de forma clara as operações de marcar presença e calcular porcentagens, utilizando loops aninhados para percorrer a matriz e os registros. A lógica de atualização e cálculo é eficiente e respeita as limitações de índices, assegurando a integridade dos dados.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
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

matriz de registros

📌 Objetivo

avaliacao

🧱 Pré-requisitos

matrizes e registros · pseudocódigo e algoritmos

📚 Reveja

Revisar conceitos de matrizes e algoritmos em pseudocódigo.

⚠️ Erro mais comum

O aluno pode confundir a estrutura de uma matriz com um vetor, não utilizando corretamente os índices para acessar os registros.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Organização e representação da informaçã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

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.