Qual dos seguintes algoritmos pode ser usado para encontrar o maior número em um array de números inteiros?

(A) - 
 Classificar o array em ordem crescente e retornar o último elemento.
(B) - 
 Iterar sobre o array e manter o controle do maior número encontrado até o momento.
(C) - 
 Usar a função max() da linguagem de programação para encontrar o maior número.
(D) - 
 Gerar um número aleatório e compará-lo com cada elemento do array até encontrar um maior.
(E) - 
 Somar todos os elementos do array e dividir o resultado pelo número de elementos.

Explicação

O algoritmo (B) itera sobre o array e mantém o controle do maior número encontrado até o momento. Isso garante que o maior número seja encontrado, independentemente da ordem dos elementos no array.

O algoritmo (A) pode ser usado para encontrar o maior número, mas é menos eficiente do que o algoritmo (B), especialmente para arrays grandes. O algoritmo (C) só pode ser usado se a linguagem de programação tiver uma função max() incorporada. O algoritmo (D) é ineficiente e não garante que o maior número seja encontrado. O algoritmo (E) não encontra o maior número no array.

Análise das alternativas

  • (A): O algoritmo de classificação é menos eficiente do que o algoritmo (B) para encontrar o maior número em um array grande.
  • (B): O algoritmo de iteração é o mais eficiente para encontrar o maior número em um array.
  • (C): O algoritmo da função max() só pode ser usado se a linguagem de programação tiver uma função max() incorporada.
  • (D): O algoritmo de geração de números aleatórios é ineficiente e não garante que o maior número seja encontrado.
  • (E): O algoritmo de soma e divisão não encontra o maior número no array.

Conclusão

O algoritmo mais eficiente para encontrar o maior número em um array de números inteiros é o algoritmo (B), que itera sobre o array e mantém o controle do maior número encontrado até o momento.