Informática, perguntado por castronayara101, 9 meses atrás

Escrever um algoritmo que leia um conjunto de 50 informações contendo, cada uma delas,
a altura e o sexo de uma pessoa (código=1, masculino código=2, feminino), calcule e
mostre o seguinte:

a) a maior e a menor altura da turma
b) a média da altura das mulheres
c) a média da altura da turma.
EM PYTHON COM EXPLICAÇÕES

Soluções para a tarefa

Respondido por GeBEfte
5

O programa abaixo (e anexado) não conta com validação de dados ou tratamento de exceções, assim espera-se que o usuário digite os dados de acordo com o solicitado pelo programa.

Mais comentários após o código.

Obs.: Os pontos que precedem algumas linhas de programação não fazem parte do programa, foram colocados para garantir a indentação do código aqui no site.

Python 3.8.2

altura_mulheres = 0

contador_mulheres = 0

acumulador = 0

for i in range(50):

.....print(f'#{i+1}.')

.....sexo = int(input('Sexo (1 para Masc e 2 para Fem): '))

.....altura = int(input('Altura (cm): '))

.....print()

.....if i == 0:

..........menor_altura = altura

..........maior_altura = altura

.....else:

..........if altura < menor_altura:

...............menor_altura = altura

..........elif altura > maior_altura:

...............maior_altura = altura

.....acumulador += altura

.....if sexo == 2:

..........contador_mulheres += 1

..........altura_mulheres += altura

print(f'''

a. A maior altura foi de {maior_altura}cm e a manor, {menor_altura}cm

b. A média da altura das mulheres ficou em {altura_mulheres/contador_mulheres:.2f}cm

c. A média da altura da turma ficou em {acumulador/50:.2f}cm''')

Comentários:

- Utilizamos 5 variáveis "principais" no programa, "altura_mulheres" para guardar a soma da altura das mulheres, "contador_mulheres" para guardar a quantidade de mulheres registradas, "acumulador" para guardar a soma da altura das 50 pessoas registradas e "maior_altura" e "menor altura" para guardar os valores extremos de altura registrados.

- A leitura dos dados é feita com auxílio de um laço for de 50 iterações.

- Em cada iteração do laço, é feita a leitura do sexo da pessoa como um inteiro (int), como previsto no enunciado, e também a altura em centímetros, sendo também um inteiro.

- Na 1ª iteração do for (i = 0), as variáveis "menor_altura" e "maior_altura" recebem o valor da altura da 1ª pessoa registrada. Nas outras iterações, é feita a comparação entre a altura lida e as alturas guardadas naquelas variáveis (menor_altura e maior_altura), havendo a atualização das variáveis caso necessário.

- Ainda dentro do laço, atualizamos o valor do "acumulador" e, caso a pessoas registrada seja do sexo feminino, também os valores de "contador_mulheres" e "altura_mulheres".

- Fora do loop, utilizamos um print formatado para mostrar as informações solicitadas no texto.

\Huge{\begin{array}{c}\Delta \tt{\!\!\!\!\!\!\,\,o}\!\!\!\!\!\!\!\!\:\,\perp\end{array}}Qualquer~d\acute{u}vida,~deixe~ um~coment\acute{a}rio

Anexos:

castronayara101: Muitooooo obrigado <3
Perguntas interessantes