Prazo de entrega recomendado:
Nesta tarefa, vamos exercitar várias estruturas elementares em Python, como operações condicionais, comandos de repetição e diversos usos de variáveis.
Como programador do Hemocentro, você foi incumbido de desenvolver um sistema para filtragem de possíveis doadores de sangue.
a) Ajude o recepcionista
Sua primeira tarefa será fazer uma pré-filtragem dos candidatos à
doação de sangue. Para isso, crie um programa chamado
recepcionista.py
que ajuda o recepcionista do Hemocentro a
encaminhar ou não o doador para a próxima etapa.
O critério para ir para a próxima etapa é ter entre 16 e 69 anos, desde que a primeira doação tenha sido feita até 60 anos. Se a pessoa tiver menos de 18 anos, então ela poderá ser doadora. Nesse caso, o programa solicitará um documento de autorização assinado pelos responsáveis legais.
Se o doador atender o requisito de idade, então seu programa deve
mostrar uma mensagem
Doador apto. Encaminhar para a próxima etapa!
.
Do contrário, o programa deverá mostrar a mensagem
Doador não atende os requisitos de idade.
.
A primeira versão será um programa interativo na linha de comandos. Veja alguns exemplos de execução.
user@host:~/ra123456/tarefa03/$ python3 recepcionista.py
Nome do doador(a): José
Idade: 21
Doador apto. Encaminhar para a próxima etapa!
Pode ser que a candidata já tenha mais idade.
user@host:~/ra123456/tarefa03/$ python3 recepcionista.py
Nome do doador(a): Maria
Idade: 63
Já realizou doação anterior (S/N)? S
Idade da primeira doação: 59
Doador apto. Encaminhar para a próxima etapa!
Pode ser também que ele precise esperar mais um pouco.
user@host:~/ra123456/tarefa03/$ python3 recepcionista.py
Nome do doador(a): João
Idade: 17
Possui documento de autorização (S/N)? N
Doador não atende os requisitos de idade.
b) Ajude a enfermeira
Nesta etapa do processo, a enfermeira do Hemocentro precisa levantar
outras informações para triagem e realizar algumas análises
estatísticas básicas de interesse do Hemocentro. Sua tarefa será criar
um programa chamado enfermeira.py
.
Para seguir adiante com a doação, um doador deve ter no mínimo 50kg. Se mulher, não poderá estar grávida ou amamentando e, além disso, não poderá ter doado mais de 3 vezes nos últimos 12 meses e a última doação deve ter ocorrido, no mínimo, a mais de 90 dias. Se homem, não poderá ter doado mais de 4 vezes nos últimos 12 meses e a última doação deve ter ocorrido, no mínimo, a mais de 60 dias.
A saída do seu programa deverá exibir o número total e o peso médio de todos os doadores aptos (incluindo homens e mulheres).
Entrada
A primeira linha da entrada contém um número n
de doadores
candidatos. Cada uma das n
linhas seguintes contém cinco colunas,
separadas por espaços, contendo as seguintes informações:
- peso em kg com até uma casa decimal
- sexo (M ou F)
- informação se está grávida ou amamentando (S/N)
- número de doações nos últimos 12 meses
- dias decorridos desde a última doação.
3
50.0 M N 3 120
60.0 F N 2 60
61.5 F S 1 90
Saída
A saída deverá exibir o número de doadores aptos, separados por sexo e o peso médio dos aprovados com uma casa decimal.
Número de doadores aptos do sexo M: 1
Número de doadores aptos do sexo F: 0
Peso médio de doadores aptos: 50.0
Dicas
-
Para receber como entrada uma quantidade fixa de variáveis que estão na mesma linha, você pode utilizar
split()
. Veja o exemplo abaixo que lê as coordenadas de um ponto no espaço. Lembre-se que essas variáveis são lidas como string e devem ser convertidas para os tipos adequados.x, y, z = input().split()
-
Para formatar um
float
com exatamente uma casa decimal, faça:print(f"{numero:.1f}")
Correção
Esta tarefa será corrigida automaticamente sempre que você realizar um
git push
. Depois de terminada a tarefa, deve-se utilizar o botão na
interface de notas para solicitar a correção de um monitor.