• Matéria: Informática
  • Autor: alinelemes79
  • Perguntado 7 anos atrás

Desenvolva um programa que leia o nome de 5 pessoas e suas respectivas idades. Para tornar o programa mais robusto contra erros, as idades podem ser negativas, portanto você terá que garantir que seus valores sempre serão convertidos para valores positivos (dica: use a função fabs() do módulo math). Outra restrição é que as idades devem obrigatoriamente ser valores inteiros. Caso o usuário informe um número decimal, ele deverá ser convertido para o tipo int. Em seguida:

a) Imprima os nomes e as idades das 5 pessoas no formato do exemplo a seguir (Atenção: utilize exatamente a mesma saída, com a mesma quantidade de espaços, pontuação, etc):

Pessoa: Nome Completo da Pessoa , 20

Pessoa: Fulano de Tal , 7

Pessoa: Ciclano , 78

Pessoa: Outro Nome Completo , 43

Pessoa: Algum Nome Completo , 35



b) Calcule e exiba em uma única linha na saída do programa a soma das idades.

c) Calcule e exiba em linhas separadas na saída do programa a média aritmética e a média geométrica das idades. Somente para o caso da média geométrica, o valor deverá ser truncado:

Formato de entrada

Leia um nome.

Leia uma idade.

Leia um nome.

Leia uma idade.

Leia um nome.

Leia uma idade.

Leia um nome.

Leia uma idade.

Leia um nome.

Leia uma idade.

Formato de saída

Imprima os 5 nomes e as 5 idades de acordo com o exemplo e formatação da letra a).

Imprima a soma das idades.

Imprima a média aritmética das idades.

Imprima a média geométrica truncada das idades.

Respostas

respondido por: ruancastro15
1

 O algoritmo a seguir foi escrito na linguagem de programação Python3 , qualquer dúvida, estou à disposição :

####

import numpy as np

import math

nomes = []

numeros = []

soma = 0

media_arit = 0  

for i in range(0,5):  

  nomes.append(input("Digite seu nome : \n"))      

  numeros.append(abs(int(input("Digite sua idade\n"))))

for i in range(0,5):

 print("{} , {}\n".format(nomes[i],numeros[i]))

for i in range(len(numeros)):

 soma += numeros[i]

media_arit = soma/len(numeros)

def geo_mean(iterable):

   a = np.array(iterable)

   return a.prod()**(1.0/len(a))  

print("A média aritmética das idades é de : {}\n".format(media_arit))

print("A média geométrica das idades é de : {0:.2f}\n ".format(geo_mean(numeros)))

######

 Um exemplo do funcionamento do programa está mostrado na figura a seguir :

Anexos:
Perguntas similares