Crie um algoritmo que:
a) Leia e escreva o nome e a altura das moças inscritas em um concurso de beleza, até que seja digitada o nome ‘MARIA’, que marca o final da lista, mas é para ser computada no concurso.
b) Calcule e escreva as duas maiores alturas e quantas moças as possuem.

Passo 1

O problema pede um algoritmo que leia repetidamente o nome e a altura de moças inscritas num concurso de beleza até que seja digitado o nome “MARIA” (esse nome também deve entrar na contagem) e, ao final, apresente as duas maiores alturas encontradas e quantas moças têm cada uma delas. O conteúdo envolve leitura de dados, laço de repetição e manutenção de variáveis para máximos e contadores.

Passo 2

Inicialize quatro variáveis para rastrear as duas maiores alturas e suas quantidades:
max1=0, max2=0, cnt1=0, cnt2=0.

Passo 3

Construa um loop que, a cada iteração, leia e e atualize as variáveis conforme:
  • Se , então
    ,
    ,
    ,
    .
  • Senão, se , faça .
  • Senão, se , então
    ,
    .
  • Senão, se , faça .
    No final de cada iteração, verifique se ; se sim, interrompa o loop.

Passo 4

Quando o loop terminar, max1 e max2 guardam as duas maiores alturas e cnt1, cnt2 contam quantas moças têm cada uma. Basta escrever esses valores.

Resposta

max(1) 0
max(2) 0
cnt(1) 0
cnt(2) 0
repita
leia nome, altura
se altura > \max(1) então
\max(2) \leftarrow \max(1)
\mathrm{cnt}(2) \leftarrow \mathrm{cnt}(1)
\max(1) \leftarrow altura
\mathrm{cnt}(1) \leftarrow 1
senão se altura = \max(1) então
\mathrm{cnt}(1) \leftarrow \mathrm{cnt}(1 + 1)
senão se altura > \max(2) então
\max(2) \leftarrow altura
\mathrm{cnt}(2) \leftarrow 1
senão se altura = \max(2) então
\mathrm{cnt}(2) \leftarrow \mathrm{cnt}(2 + 1)
fim se
até que nome = "MARIA"
escreva "Maior altura:", \max(1), "Quantidade:", \mathrm{cnt}(1)
escreva "Segunda maior altura:", \max(2), "Quantidade:", \mathrm{cnt}(2)

Exercícios relacionados