Projete um algoritmo em pseudocódigo que, dada uma matriz M com m linhas e n colunas de inteiros, determine…
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
Projete um algoritmo em pseudocódigo que, dada uma matriz M com m linhas e n colunas de inteiros, determine quantos elementos são picos locais, isto é, M[i][j] > todos os seus vizinhos imediatos nas direções norte, sul, leste e oeste (quando existirem). Utilize loops aninhados e trate bordas.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Entrada: matriz M[1..m][1..n] contagem := 0 para i de 1 até m faça para j de 1 até n faça atual := M[i][j] maior := verdadeiro // verificar cima se i > 1 e M[i-1][j] >= atual então maior := falso fim se // verificar baixo se i < m e M[i+1][j] >= atual então maior := falso fim se // verificar esquerda se j > 1 e M[i][j-1] >= atual então maior := falso fim se // verificar direita se j < n e M[i][j+1] >= atual então maior := falso fim se se maior então contagem := contagem + 1 fim se fim para fim para retorne contagem Explicação: o algoritmo percorre todos os elementos com loops aninhados e, para cada posição, compara o valor atual com os vizinhos existentes (testes de existência tratam bordas). Se o atual for estritamente maior que cada vizinho imediato presente, incrementa-se a contagem. Complexidade: T(m·n).
Explicação
O algoritmo analisa cada elemento da matriz, garantindo que cada um seja comparado com seus vizinhos imediatos, respeitando as bordas. A lógica de verificação assegura que apenas elementos que são realmente picos locais sejam contados, evitando erros de contagem. A complexidade T(m·n) reflete que cada elemento é examinado uma vez, o que é eficiente para a tarefa proposta.
Raio-X da questão
picos locais em matriz
avaliacao
loops aninhados · matrizes em programação
Revisar conceitos de matriz e vizinhança em algoritmos.
O aluno pode confundir a lógica de comparação, não considerando corretamente os vizinhos imediatos ao verificar se um elemento é um pico local.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Desenhe um algoritmo em pseudocódigo que, dada uma matriz M[N][M] com 0 (livre) e 1 (bloqueado), identifique todas as…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M de inteiros com m linhas e n colunas, construa e retorne uma…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M[m][n] de inteiros e um inteiro t (1 = t = min(m,n))…
- 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] =…
- Descreva em pseudocódigo um algoritmo que, dada uma matriz M de inteiros com m linhas e n colunas, conte quantas linhas…
🔎 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
