Um cinema que possui capacidade de 20 lugares está sempre lotado. Certo dia cada espectador respondeu a um questionário, onde constava:
- sua idade;
- sua opinião em relação ao filme, que podia ser: ótimo, bom, regular, ruim ou péssimo.
Elabore um programa que, recebendo estes dados calcule e mostre:
a diferença de idade entre a maior idade que respondeu ótimo e a maior idade que respondeu ruim.
Elabore um programa que, recebendo estes dados calcule e mostre:
a diferença de idade entre a maior idade que respondeu ótimo e a maior idade que respondeu ruim.
Passo 1
Beleza, vamos lá! O enunciado diz que temos 20 espectadores (sempre lotado), cada um informa duas coisas:
- a idade
- a opinião sobre o filme (ótimo, bom, regular, ruim ou péssimo)
O que vamos precisar para resolver?
- Laço de repetição (para ler 20 vezes os dados)
- Variáveis para guardar a maior idade que respondeu “ótimo” e a maior que respondeu “ruim”
- Estruturas de decisão (if) para checar cada opinião e atualizar o máximo
Conteúdo: controle de fluxo (loop e if) e técnica de “max tracking” (acompanhar o maior valor).
Passo 2
Inicialização das variáveis de controle de máximo:
maxOtimo ← 0 // aqui vamos guardar a maior idade do “ótimo”
maxRuim ← 0 // aqui a maior idade do “ruim”
Por que zero? Supondo que as idades sejam números positivos, começar em 0 garante que qualquer idade lida seja maior.
Passo 3
Agora o laço para processar cada espectador (i de 1 até 20):
para i de 1 até 20 faça
leia(idade, opiniao)
se opiniao = "ótimo" então
se idade > maxOtimo então
maxOtimo ← idade
fim se
senão se opiniao = "ruim" então
se idade > maxRuim então
maxRuim ← idade
fim se
fim se
fim para
Explicando: a cada volta a gente lê duas infos. Se for “ótimo”, compara a idade com o atual maxOtimo e, se for maior, atualiza. Mesma ideia para o “ruim”.
Passo 4
Depois de ler todo mundo, calculamos a diferença entre essas duas idades máximas:
diferença ← maxOtimo − maxRuim
Em LaTeX:
Resposta
A diferença entre a maior idade que respondeu “ótimo” e a maior que respondeu “ruim” é