Alternativa A
A questão aborda a lógica algorítmica para processamento de matrizes (estruturas de dados bidimensionais). O objetivo é identificar os valores extremos (máximo e mínimo) entre todos os elementos armazenados.
Por que a Alternativa A é a correta?
A alternativa A descreve o fluxo lógico completo e correto para resolver este problema, seguindo as boas práticas de programação:
- Inicialização: Declarar e inicializar as variáveis de controle (maior e menor). Geralmente, faz-se isso atribuindo o primeiro valor encontrado ou usando constantes específicas, nunca assumindo um valor fixo como zero.
- Percorrimento: Utilizar laços de repetição aninhados (um para as linhas e outro para as colunas) para garantir que cada elemento da matriz seja verificado.
- Comparação: Dentro do laço, realizar uma verificação condicional (if/else):
- Se o elemento atual for maior que maior, atualize maior.
- Se o elemento atual for menor que menor, atualize menor.
Análise das outras alternativas
- Alternativa B: Incorreta. Sugerir preencher a matriz com valor zero antes de iniciar é perigoso. Se a matriz contiver apenas números negativos, o "zero" seria erroneamente considerado o maior valor.
- Alternativa C e E: Incorretas ou incompletas. Focam em trechos de código específicos ("segundo laço", "primeiro laço") sem descrever o contexto completo de inicialização e preenchimento, além de apresentarem uma sintaxe de pseudocódigo confusa.
- Alternativa D: Incorreta. Criar um novo array para salvar números não resolve o problema de identificação; apenas consome memória extra sem realizar a lógica de comparação necessária.
Em resumo, a estratégia de varredura total (percorrer todos os itens) com comparação condicional descrita na letra A é a única maneira garantida de encontrar os valores extremos corretamente.