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
- Apresente, em pseudocódigo resumido, o algoritmo in-place que rotaciona à direita um vetor A[0..n-1] por k posições…
- Descreva em pseudocódigo um algoritmo que recebe uma matriz de registros 'agenda' (linhas = dias, colunas = horários)…
- Elabore um algoritmo em pseudocódigo que receba uma matriz de registros 'sala' (linhas = salas, colunas = períodos) em…
- Descreva, em pseudocódigo, um algoritmo que utilize uma matriz de registros 'turma' (linhas = fileiras, colunas =…
- Descreva um algoritmo em pseudocódigo que, dada uma matriz quadrada A[n][n] de inteiros e um inteiro k>0, percorra os…
- Projete um algoritmo em pseudocódigo que, dada uma matriz 'produtos' onde cada linha é um registro [codigo, nome…
🔎 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
