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

Escreva um algoritmo em pseudocódigo que receba uma matriz de registros 'inventario' (linhas = prateleiras…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO02

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

Escreva um algoritmo em pseudocódigo que receba uma matriz de registros 'inventario' (linhas = prateleiras, colunas = posicoes). Cada registro tem campos: codigo (string), quantidade (inteiro) e posicao (inteiro). O algoritmo deve rotacionar circularmente cada linha da matriz k posições para a direita (k é variável de entrada) e atualizar posicao conforme a nova coluna. Descreva os passos e apresente o pseudocódigo.

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

Resposta esperada

Passos: para cada linha i: criar vetor temporário temp de tamanho C; para cada coluna j calcular novaCol = (j + k) mod C; mover inventario[i][j] para temp[novaCol] e ajustar temp[novaCol].posicao = novaCol+1; copiar temp de volta para inventario[i]. Pseudocódigo: FUNCAO rotacionarInventario(inventario, L, C, k) k ? k mod C PARA i ? 0 ATÉ L-1 FAÇA temp ? vetor de registros tamanho C PARA j ? 0 ATÉ C-1 FAÇA novaCol ? (j + k) mod C temp[novaCol] ? inventario[i][j] temp[novaCol].posicao ? novaCol + 1 FIM PARA PARA j ? 0 ATÉ C-1 FAÇA inventario[i][j] ? temp[j] FIM PARA FIM PARA FIM FUNCAO Complexidade: O(L * C).

Explicação

O algoritmo apresentado realiza a rotação circular de cada linha da matriz, garantindo que os elementos sejam movidos para suas novas posições de acordo com o valor de k. A utilização de um vetor temporário permite armazenar os dados antes de sobrescrever a matriz original, preservando as informações necessárias. A complexidade O(L * C) reflete a necessidade de percorrer cada elemento da matriz, o que é eficiente para o problema proposto.

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

algoritmo de rotação

📌 Objetivo

fixacao

🧱 Pré-requisitos

matrizes e arrays · pseudocódigo

📚 Reveja

Revisar conceitos de matrizes e algoritmos de rotação.

⚠️ Erro mais comum

O aluno pode confundir a rotação das linhas com a rotação das colunas, resultando em uma matriz incorreta.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programaçã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.