Escreva um algoritmo que leia 8 números e determine qual é o maior valor digitado.

Passo 1

O que o enunciado pede e o que ele dá:
  • Dá: exatamente \,8\, números (digitados pelo usuário).
  • Pede: determinar qual é o maior valor dentre esses \,8\, números e mostrar esse maior valor.
  • Observações importantes (retirei do enunciado e considero para a solução):
    • Os números podem ser inteiros ou reais (podem ser negativos).
    • Podem haver valores iguais (ex.: dois ou mais números empatar no maior).
    • Deve-se ler todos os \,8\, valores antes de decidir o maior ou pode-se decidir enquanto lê (método preferido: decidir enquanto lê).

Passo 2

Ideia simples e segura (intuição passo a passo):
  • Vamos manter UMA variável que guarda, a todo momento, o maior valor visto até agora. Vou chamar essa variável de maior.
  • Inicialização: leio o primeiro número e atribuo a maior. Por que? Porque assim maior começa com um valor real que veio da entrada — evita problemas com escolher um “sentinela” muito pequeno (por exemplo, -\infty) e funciona mesmo com números negativos.
  • Para cada novo número lido x, comparo x com maior:
    • Se x > maior, atualizo maior \leftarrow x.
    • Caso contrário, mantenho maior como está.
  • Depois de ler os \,8\, números, a variável maior contém o maior valor digitado.
  • Conceitos usados (explicadinho):
    • Comparação >: verifica se um número é estritamente maior que outro.
    • Atribuição \leftarrow: colocar o valor à direita dentro da variável à esquerda.
    • Laço/loop: repetir esse processo para os \,7\, números restantes (após o primeiro).

Passo 3

Pseudocódigo detalhado linha a linha (para você decorar e usar na prova). Aqui cada passo é claro e explico o que faz:
  • Ler o primeiro número e armazenar em x_1.
  • Fazer maior \leftarrow x_1.
  • Para i variando de 2 até 8 (ou seja, ler os próximos 7 números), repita:
    • Ler x_i.
    • Se x_i > maior então maior \leftarrow x_i.
    • Senão, continuar.
  • Ao final, imprimir maior.
Escrevendo isso de forma prática (cada linha é executável mentalmente na prova):
  • Ler x_1
  • maior \leftarrow x_1
  • Ler x_2
  • Se x_2 > maior então maior \leftarrow x_2
  • Ler x_3
  • Se x_3 > maior então maior \leftarrow x_3
  • Ler x_8
  • Se x_8 > maior então maior \leftarrow x_8
  • Imprimir maior
Explicação das variáveis:
  • x_i: o i-ésimo número lido da entrada.
  • maior: guarda o maior número encontrado até o momento.

Passo 4

Exemplo passo a passo com números concretos (para você ver como atualizar maior na prática):
  • Suponha que os \,8\, números lidos sejam, nessa ordem:
    3,\\\ -1,\\\ 7,\\\ 7,\\\ 0,\\\ 10,\\\ 5,\\\ 10.
  • Execução:
    • Ler x_1=3. maior \leftarrow 3.
    • Ler x_2=-1. Comparo: -1 > 3? Não → maior continua 3.
    • Ler x_3=7. Comparo: 7 > 3? Sim → maior \leftarrow 7.
    • Ler x_4=7. Comparo: 7 > 7? Não (é igual) → maior continua 7.
    • Ler x_5=0. Comparo: 0 > 7? Não → maior continua 7.
    • Ler x_6=10. Comparo: 10 > 7? Sim → maior \leftarrow 10.
    • Ler x_7=5. Comparo: 5 > 10? Não → maior continua 10.
    • Ler x_8=10. Comparo: 10 > 10? Não → maior continua 10.
  • Resultado final: maior = 10. Esse é o maior valor digitado.

Passo 5

Implementação prática (Python) — só para você copiar/entender; na prova normalmente pede pseudocódigo ou fluxograma:
# lê 8 números e encontra o maior
maior = float(input("Digite o 1º número: "))
for i in range(2, 9):                  # i = 2,3,...,8
    x = float(input(f"Digite o {i}º número: "))
    if x > maior:
        maior = x
print("O maior valor é:", maior)
Explicação do código:
  • Converte a entrada para float para aceitar reais e negativos.
  • O laço roda exatamente \,7\, vezes depois do primeiro input.
  • Complexidade: são necessárias \,7\, comparações (em geral, para n números precisa-se de n-1 comparações).

Passo 6

Casos especiais e dicas para a prova:
  • Todos iguais: se todos os \,8\, números forem iguais, o algoritmo retorna esse valor (porque nenhuma comparação produz >).
  • Só negativos: funciona normalmente (inicialização com x_1 evita problemas).
  • Se quiser o menor em vez do maior, mude a comparação para x < menor e inicialize menor \leftarrow x_1.
  • Em termos de contagem de operações: para n=\!8 números, faz-se n-1=\!7 comparações; isso é ótimo — é o mínimo possível sem saber todos os números de antemão.
  • Para provas: escreva o pseudocódigo claro, explique a inicialização com o primeiro valor e justifique que o laço compara e atualiza o máximo.

Resposta

Ler x_1
maior \leftarrow x_1
Para i de 2 até 8 faça:
\quad Ler x_i
\quad Se x_i > maior então maior \leftarrow x_i
Imprimir maior

Exercícios relacionados