Informática, perguntado por rogeralexsander188, 3 meses atrás

Desenvolva uma Algoritmo que receba como entrada pelo usuário a idade e o estado civil (c - casado, s - solteiro, v - viúvo e d – desquitado ou separado) de 20 pessoas. O seu código ao final deve ser capaz de calcular e imprimir as seguintes informações:


a) a quantidade de pessoas casadas;


b) a quantidade de pessoas solteiras;


c) a média das idades das pessoas viúvas;


d) a porcentagem de pessoas desquitadas ou separadas dentre todas as pessoas analisadas.


(Na linguagem do visualg)

Soluções para a tarefa

Respondido por lucilenent10
1

Resposta:  

O programa abaixo (também anexado) conta com uma validação simples dos dados para evitar a maioria das possíveis ocorrências de exceções/erros que poderiam vir a prejudicar o funcionamento.

Perceba que isso evita problemas como a digitação de dados não inteiros para a idade, sendo que, caso seja digitado um valor negativo (ex: -3), o programa considerará o valor absoluto. Ainda, para o estado civil, é utilizada uma listagem numerada das possibilidades para evitar erros de digitação.

Caso seja dada uma entrada errada de idade ou opção do estado civil, o programa solicitada novamente até que seja passado um dado válido.

Perceba, no entanto que a validação não impede, por exemplo, idades absurdas (ex: 99999 anos).

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

solteiros=casados=separados=viuvos = 0

while True:

.....while True:

..........try:

...............idade = int(input('Idade: '))

...............if idade<0:

....................idade = abs(idade)

..........except:

...............print('Por favor, digite uma idade válida!')

...............continue

..........else:

...............break

.....if idade == 0:

..........break

.....while True:

..........print('''

Estado civil

[1] Solteiro(a)

[2] Casado(a)

[3] Separado(a)

[4] Viúvo(a)''')

..........est_civil = str(input('Digite a opção correspondente: ')).strip()

..........if est_civil not in ('1', '2', '3', '4'):

...............print('Opção inválida!')

...............continue

..........print(f'Registrado!\n')

..........if est_civil == '1':

...............solteiros += 1

..........elif est_civil == '2':

...............casados += 1

..........elif est_civil == '3':

...............separados += 1

..........else:

...............viuvos += 1

..........break

print('Fim do registro')

print(f'''

Foram cadastrados {solteiros} solteiros, {casados} casados, {separados} separados e {viuvos} viúvos''')

Explicação:

Anexos:

lucilenent10: bons estudos
rogeralexsander188: essa linguagem nao funciona no visualg, precisa ser em linguagem C se eu n me engano
Respondido por warofages230
0

Para resolver este problema, pode-se criar uma função que receba como entrada duas listas: uma contendo as idades das pessoas e outra contendo o estado civil de cada uma delas. A função deve calcular e imprimir as informações solicitadas.

A seguir, segue um exemplo de código em Python que implementa a solução proposta:

def calcula_estatisticas(idades, estados_civis):

# Inicializa as variáveis que serão utilizadas para armazenar os resultados

 casados = 0

 solteiros = 0

 viuvas = []

 separados = 0

 total = len(idades)

 # Percorre as duas listas e calcula as estatísticas for i in range(total):

   if estados_civis[i] == 'c':

     casados += 1

   elif estados_civis[i] == 's':

     solteiros += 1

   elif estados_civis[i] == 'v':

     viuvas.append(idades[i])

   elif estados_civis[i] == 'd':

     separados += 1

 # Calcula a média das idades das pessoas viuvas

 if len(viuvas) > 0:

   media_viuvas = sum(viuvas) / len(viuvas)

 else:

   media_viuvas = 0

 # Calcula a porcentagem de pessoas separadas

 porcentagem_separados = separados / total * 100

 # Imprime os resultados

 print(f'Quantidade de pessoas casadas: {casados}')

 print(f'Quantidade de pessoas solteiras: {solteiros}')

 print(f'Média das idades das pessoas viuvas: {media_viuvas:.2f}')

 print(f'Porcentagem de pessoas desquitadas ou separadas: {porcentagem_separados:.2f}%')

# Exemplo de uso da função

idades = [25, 32, 40, 22, 37, 28, 41, 30, 35, 29, 31, 36, 26, 27, 33, 34, 38, 39, 24, 23]

estados_civis = ['s', 'c', 'v', 'd', 's', 's', 'c', 's', 'c', 's', 'c', 'c', 's', 'd', 'c', 's', 'c', 'c', 's', 's']

calcula_estatisticas(idades, estados_civis)

O que é um Algoritmo?

Um algoritmo é um conjunto de regras ou instruções que visam a resolver um problema ou realizar uma tarefa. Em outras palavras, um algoritmo é uma sequência de passos lógicos que devem ser seguidos para atingir um determinado objetivo.

Aprenda mais sobre Algoritmo aqui: https://brainly.com.br/tarefa/52456442

#SPJ2

Anexos:
Perguntas interessantes