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

Descreva um algoritmo em pseudocódigo que, dada uma matriz quadrada A[n][n] de inteiros e um inteiro k>0…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO04

Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva um algoritmo em pseudocódigo que, dada uma matriz quadrada A[n][n] de inteiros e um inteiro k>0, percorra os elementos em faixas concêntricas (camadas) a partir da borda até o centro usando loops aninhados, calcule a soma de cada faixa e retorne a lista S com cada soma reduzida modulo k. Explique a estratégia adotada.

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

Resposta esperada

Resposta modelo (pseudocódigo e explicação): pseudocodigo: S := lista vazia para camada de 0 até floor((n-1)/2) faça soma := 0 inicio := camada fim := n - 1 - camada // percorre linha superior da faixa para j de inicio até fim faça soma := soma + A[inicio][j] fim para // percorre coluna direita (exclui canto superior já contado) para i de inicio+1 até fim faça soma := soma + A[i][fim] fim para // percorre linha inferior (se diferente da superior) se fim > inicio então para j de fim-1 decrescente até inicio faça soma := soma + A[fim][j] fim para fim se // percorre coluna esquerda (se diferente da direita) se fim > inicio então para i de fim-1 decrescente até inicio+1 faça soma := soma + A[i][inicio] fim para fim se anexar (soma mod k) a S fim para retornar S Explicação: o algoritmo percorre cada camada usando quatro segmentos (topo, direita, base, esquerda) com loops aninhados que visitam cada elemento da faixa exatamente uma vez, evitando duplicar cantos. Para n ímpar, a camada central (inicio=fim) é tratada pela primeira soma (apenas um elemento). Complexidade temporal: O(n^2) porque cada célula da matriz é visitada no máximo uma vez. Espaço adicional: O(m) onde m=ceil(n/2) para armazenar S. Variáveis usadas: camada, inicio, fim, i, j, soma, S.

Explicação

O algoritmo utiliza uma abordagem sistemática para percorrer a matriz em camadas, garantindo que todos os elementos de cada faixa sejam somados sem repetições. A divisão da matriz em segmentos facilita a implementação dos loops aninhados, permitindo um cálculo eficiente da soma. A complexidade temporal e o uso de espaço adicional são adequados para o problema, assegurando que a solução seja escalável para matrizes maiores.

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 em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

loops aninhados · matrizes quadradas

📚 Reveja

Revisar conceitos de matrizes e loops aninhados.

⚠️ Erro mais comum

O aluno pode confundir a ordem de iteração nas camadas da matriz, somando elementos de forma incorreta.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Decomposiçã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.