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
- Na cantina da escola, Ana informa o lanche desejado, a quantidade e se vai pagar em dinheiro ou cartão. A atendente…
- Em um jogo criado pela turma, a pontuação de cada equipe é calculada multiplicando a quantidade de desafios concluídos…
- Em uma exposição, um painel registrou as cores dos crachás lidos na entrada. Lista A: azul, verde, azul, amarelo. Lista…
- Em uma cozinha, duas receitas foram preparadas em horários diferentes. Receita 1: uma torta de legumes começou a assar…
- Por que uma cozinha solidária pode ter alimentos guardados e, ainda assim, não conseguir montar todas as cestas…
- Moradores acompanham, pelo celular, um sistema de irrigação instalado em canteiros de uma praça. A cada manhã, dois…
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
