Escreva um algoritmo em pseudocódigo que receba uma matriz de registros 'inventario' (linhas = prateleiras…
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
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
algoritmo de rotação
fixacao
matrizes e arrays · pseudocódigo
Revisar conceitos de matrizes e algoritmos de rotação.
O aluno pode confundir a rotação das linhas com a rotação das colunas, resultando em uma matriz incorreta.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Em uma usina, cada estado de uma turbina é registrado com um código de dois bits: | Estado | Código | |---|---| | Parada…
- No controle de um satélite, um gráfico de barras descrito pela equipe registra: com o sistema operacional iniciado, o…
- O clube de jogos da escola vai usar um programa simples para registrar cada participante. Em cada cadastro, a pessoa…
- Na horta da escola, uma estação simples registra a temperatura informada por um sensor. O programa deve mostrar essa…
- Pesquisadores acompanham o funcionamento de um robô que cuida de seis placas solares em uma estação de pesquisa. O robô…
- Por que alguns tablets de um centro cultural aparecem como disponíveis, embora estejam guardados para conserto? Para…
🔎 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
