Leia valores inteiros para uma matriz M de dimensões L \times C. Depois dessa leitura calcule e apresente os seguintes dados:
O maior dos valores da matriz;

Passo 1

O enunciado pede que você leia valores inteiros para uma matriz M de dimensões L\times C e, depois dessa leitura, calcule e apresente o maior dos valores da matriz.
Informações relevantes fornecidas pelo enunciado:
  • A matriz chama-se M.
  • As dimensões são L linhas e C colunas.
  • Os elementos de M são números inteiros, ou seja cada elemento é M_{ij} com i\in\{1,\dots,L\} e j\in\{1,\dots,C\}.
  • A tarefa é determinar o maior elemento entre todos os M_{ij}.

Passo 2

Ideia básica (explicação simples): percorremos todos os elementos da matriz um por um e mantemos uma variável que guarda, até o momento, o maior valor encontrado. Cada vez que encontramos um elemento maior que o guardado, atualizamos essa variável. No final da varredura essa variável contém o maior valor da matriz.

Passo 3

Por que essa ideia funciona (intuição e justificativa): suponha que, ao começar, a variável m contenha o maior valor entre os elementos já vistos. Quando examinamos um novo elemento M_{ij}, existem só duas possibilidades:
  • se M_{ij}\le m então m continua sendo o maior entre todos os vistos até agora;
  • se M_{ij}>m então M_{ij} é o novo maior entre os vistos, logo devemos fazer m\leftarrow M_{ij}.
    Como ao final percorremos todos os elementos, nenhuma possibilidade fica de fora — portanto m será o maior elemento da matriz. Essa é uma argumentação por inspeção passo a passo (equivalente a uma prova por indução discreta sobre a contagem de elementos já percorridos).

Passo 4

Procedimento prático passo a passo (que você pode aplicar à mão ou implementar rápido em código):
  1. Inicialize m com o primeiro elemento lido da matriz: m\leftarrow M_{1,1}. Explicação: assim você garante que m é um valor real da matriz (evita escolher um “sentinela” que pode estar errado para números negativos).
  2. Para cada linha i de 1 até L:
    para cada coluna j de 1 até C:
    • Se (i,j)=(1,1) já está tratado pela inicialização; caso contrário compare M_{ij} com m.
    • Se M_{ij}>m então faça m\leftarrow M_{ij}.
  3. Ao terminar todas as varreduras m contém o maior valor.
Observação prática: ao ler os valores, se preferir você pode fazer a inicialização no momento em que ler o primeiro número e, a partir da segunda leitura, aplicar as comparações.

Passo 5

Detalhamento das operações elementares (para você entender o que fará na prova sem calculadora):
  • Comparação: verificar se M_{ij}>m é uma única operação de comparação entre inteiros — é rápida e direta.
  • Atribuição: atualizar m\leftarrow M_{ij} é copiar um valor inteiro para a variável m.
  • Quantidade de comparações: se você inicializa com M_{1,1} e compara todos os outros elementos, fará exatamente L\cdot C-1 comparações. Isso é útil para estimar esforço em prova ou em implementação.

Passo 6

Exemplo concreto (mostrado passo a passo) para fixar a ideia. Suponha uma matriz 3\times 3:
M = \begin{pmatrix} \;2 & -1 & 5\;\\[2pt] \;4 & 5 & 0\;\\[2pt] \;-3 & 5 & 1\; \end{pmatrix}
Aplicando o procedimento:
  • Inicializo m\leftarrow M_{1,1}=2.
  • Vergemos M_{1,2}=-1. Como -1\le 2, mantenho m=2.
  • Vergemos M_{1,3}=5. Como 5>2, atualizo m\leftarrow 5.
  • Vergemos M_{2,1}=4. Como 4\le 5, mantenho m=5.
  • Vergemos M_{2,2}=5. Como 5\le 5, mantenho m=5.
  • Vergemos M_{2,3}=0. Mantém m=5.
  • Vergemos M_{3,1}=-3. Mantém m=5.
  • Vergemos M_{3,2}=5. Mantém m=5.
  • Vergemos M_{3,3}=1. Mantém m=5.
    Ao final m=5, que é realmente o maior valor da matriz (há repetição de 5, tudo bem — queremos o maior valor em si).]

Passo 7

Casos especiais e dicas:
  • Se L=1 e C=1 então o maior é simplesmente M_{1,1}.
  • Se todos os elementos forem iguais, o algoritmo continuará correto e retornará esse valor.
  • Se existirem números negativos, a inicialização m\leftarrow M_{1,1} evita problemas — não use m\leftarrow 0 como inicialização se não tiver certeza de que os elementos não são todos negativos.
  • Em prova escreva claramente a inicialização e a regra de atualização para não perder pontos: mostre m\leftarrow M_{1,1} e depois a condição "se M_{ij}>m então m\leftarrow M_{ij}".

Passo 8

Resumo rápido para implementar em poucas linhas (escreva na prova como algoritmo em pseudo‑código):
\text{Leia }L,C
\text{Leia }M_{1,1};\quad m\leftarrow M_{1,1}
\text{Para }i=1\text{ até }L\text{ faça}éç
\quad\text{Para }j=1\text{ até }C\text{ faça}éç
\quad\quad\text{Se }(i,j)\neq(1,1)\text{ e }M_{ij}>m\text{ então }m\leftarrow M_{ij}ã
\text{Ao fim, imprima }m
Essa é a forma que você deve expor em prova: clara, completa e fácil de justificar.

Resposta

\displaystyle \max_{1\le i\le L,\;1\le j\le C} M_{ij}