Dada uma matriz m×n de inteiros (representando pontos de um mapa), escreva em pseudocódigo um algoritmo…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Dada uma matriz m×n de inteiros (representando pontos de um mapa), escreva em pseudocódigo um algoritmo recursivo que calcule a soma de todos os elementos usando recursão por linhas e colunas. Explique a escolha da estrutura de dados, defina o caso base, descreva o passo recursivo e comente se memoização é necessária.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo: func somaMatriz(A,i,j,m,n): if i==m: return 0 if j==n: return somaMatriz(A,i+1,0,m,n) return A[i][j] + somaMatriz(A,i,j+1,m,n) Chamada: somaMatriz(A,0,0,m,n) Escolha: usar matriz (A[i][j]) permite acesso indexado por linha/coluna. Caso base: i==m (todas as linhas processadas) retorna 0. Passo recursivo: somar A[i][j] e avançar coluna; ao atingir j==n avança para próxima linha. Memoização não é necessária porque cada célula é processada exatamente uma vez sem sobreposição de subproblemas.
Explicação
O pseudocódigo apresentado utiliza uma abordagem recursiva que percorre a matriz de forma eficiente, somando os elementos linha por linha e coluna por coluna. O caso base é bem definido, garantindo que a recursão pare quando todas as linhas forem processadas, enquanto o passo recursivo assegura que cada elemento é considerado uma única vez. A ausência de necessidade de memoização se deve ao fato de que não há sobreposição de subproblemas, já que cada célula é visitada apenas uma vez.
Raio-X da questão
algoritmo recursivo
avaliacao
estrutura de dados · recursão
Revisar conceitos de recursão e estruturas de dados.
O aluno pode confundir a lógica de recursão com iteração, resultando em um algoritmo que não utiliza a abordagem recursiva corretamente.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Descreva em pseudocódigo um algoritmo que, dada uma matriz m×n de inteiros, calcule a soma de cada coluna usando…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M de inteiros com m linhas e n colunas, construa e retorne uma…
- Descreva como um algoritmo com repetição aninhada pode ser utilizado para somar todos os elementos de uma matriz e…
- Projete um algoritmo recursivo em pseudocódigo que, dada uma matriz m×n com valores 0 e 1, retorne o tamanho da maior…
- Projete um algoritmo em pseudocódigo que, dada uma variável inteira positiva n, construa uma matriz M n×n com M[i][j] =…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M com m linhas e n colunas de inteiros, determine quantos…
Todas as questões de Estratégias de solução de problemas - Generalizaçã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
