Descreva um algoritmo em pseudocódigo que, dada uma matriz M de inteiros com dimensões m x n, encontre o maior…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva um algoritmo em pseudocódigo que, dada uma matriz M de inteiros com dimensões m x n, encontre o maior valor presente na matriz e retorne também suas coordenadas (linha, coluna). Explique a ideia e apresente a complexidade do algoritmo.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo: 1) Ideia geral: Percorrer cada elemento da matriz, mantendo variáveis que guardam o maior valor encontrado até o momento e as coordenadas onde ele foi encontrado. Ao final do percurso, essas variáveis contêm o resultado. 2) Pseudocódigo: Entrada: M[0..m-1][0..n-1] maior <- M[0][0] linhaMaior <- 0 colunaMaior <- 0 PARA i DE 0 ATÉ m-1 FAÇA PARA j DE 0 ATÉ n-1 FAÇA SE M[i][j] > maior ENTÃO maior <- M[i][j] linhaMaior <- i colunaMaior <- j FIMSE FIMPARA FIMPARA RETORNAR (maior, linhaMaior, colunaMaior) 3) Observações: - Inicializar maior com M[0][0] evita problemas quando todos os valores são negativos. - Alternativamente, pode-se usar um valor muito pequeno (como -infinito) para inicializar maior. 4) Complexidade: - Tempo: O(m·n), pois visitamos cada elemento uma vez. - Espaço: O(1) adicional, já que usamos apenas algumas variáveis extras além da matriz de entrada.
Explicação
O algoritmo percorre todos os elementos da matriz, garantindo que cada um seja comparado para encontrar o maior valor, o que é essencial para garantir a precisão do resultado. A utilização de variáveis para armazenar o maior valor e suas coordenadas permite que o algoritmo retorne as informações desejadas de forma eficiente. A análise de complexidade mostra que o algoritmo é linear em relação ao número de elementos da matriz, o que é o melhor que se pode alcançar para esse tipo de problema.
Raio-X da questão
algoritmo em pseudocódigo
avaliacao
algoritmo em pseudocódigo · estruturas de dados matriz
Revisar como encontrar o maior valor em uma matriz.
Não percorrer toda a matriz corretamente, esquecendo linhas ou colunas, ou não atualizar as coordenadas do maior valor.
pensamento_critico
cientifico
Questões parecidas com resolução
- Descreva em pseudocódigo um algoritmo que receba uma matriz M de m×n inteiros (linhas = bairros, colunas = dias) e…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M com m linhas e n colunas de inteiros, determine quantos…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M de inteiros com m linhas e n colunas, construa e retorne uma…
- Escreva em pseudocódigo um algoritmo que, dada uma matriz M com m linhas e n colunas e um inteiro x, conte quantas vezes…
- 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[m][n] de inteiros e um inteiro t (1 = t = min(m,n))…
🔎 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
