<3
Segundo o Hemocentro da Unicamp: "Doação de sangue é o processo pelo qual um doador voluntário tem seu sangue coletado para armazenamento em um banco de sangue ou hemocentro para um uso subsequente em uma transfusão de sangue." Para ser doador, no entanto, é necessário considerar os possíveis riscos para o doador e para os receptores. Entre os requisitos para doar durante a pandemia do COVID-19 destacamos:
Massa corporal mínima: 50 kg
Idade entre 16 e 69 anos
Não ter tido febre ou sintomas gripais nos últimos 14 dias
Não ter viajado ao exterior nos útimos 30 dias
Não ter tido contato com caso suspeito ou confirmado de COVID-19 nos útimos 30 dias
Para o sexo biológico masculino:
Para o sexo biológico feminino:
Nesta tarefa, iremos aplicar os conhecimentos em comandos condicionais para, a partir de alguns dados na entrada, identificar possíveis doadores. Uma triagem completa poderá ser feita por um hemocentro ou outro posto de coleta. Para não haver risco de aglomeração, deve-se agendar um horário!
A entrada será composta por várias linhas, cada uma delas contendo dados como descritos abaixo. Note que alguns dados só serão fornecidos se forem necessários de acordo com o contexto.
Massa corporal: float
representando massa em kg
Idade: int
representando idade em anos
Documento de autorização: string
contendo S
ou N
(dado apresentado
apenas se a idade for igual a 16 ou 17 anos)
Febre ou sintomas gripais nos últimos 14 dias: string contendo S
ou N
Viagem ao exterior nos últimos 30 dias: string contendo S
ou N
Contato com caso suspeito ou confirmado de COVID-19 nos útimos 30 dias: string contendo S
ou N
Primeira doação: string contendo S
ou N
Doações nos últimos 12
meses: int
representando número de
doações feitas nos últimos 12 meses (dado
apresentado apenas se já foi doador)
Meses desde a última doação: int
representando
número de meses (dado apresentado apenas se já foi doador e se o número
de doações nos últimos 12 meses for maior do que 0)
Sexo biológico: string contendo M
ou F
Grávida ou amamentando: string contendo S
ou N
(dado apresentado apenas para pessoas de sexo biológico feminino)
É muito fácil utilizar acentuação em Python, mas as strings foram escritas nesta tarefa estão propositalmente sem acentos para evitar erros com codificações diversas na etapa de comparação dos resultados no SuSy.
A primeira parte da saída irá reproduzir os dados lidos para cada caso precedidos de uma breve descrição, conforme strings a seguir:
Massa corporal:
Idade:
Documento de autorizacao:
Febre ou sintomas gripais:
Viagem recente ao exterior:
Contato com caso de COVID-19:
Primeira doacao:
Doacoes nos ultimos 12 meses:
Meses desde ultima doacao:
Sexo biologico:
Gravida ou amamentando:
Na segunda parte da tarefa, serão reportados os impedimentos encontrados, respeitando o conteúdo e a ordem das strings abaixo.
Impedimento: abaixo da massa corporal minima
Impedimento: menor de 16 anos
Impedimento: menor de 18 anos sem consentimento dos responsaveis
Impedimento: maior de 60 anos e primeira doacao
Impedimento: maior de 69 anos
Impedimento: febre ou sintomas gripais
Impedimento: viagem recente ao exterior
Impedimento: contato com caso de COVID-19
Impedimento: numero maximo de doacoes anuais foi atingido
Impedimento: intervalo minimo entre as doacoes nao foi respeitado
Impedimento: gravida ou amamentando
Caso nenhum impedimento tenha sido identificado, seu programa deve escrever a mensagem:
Agende um horario para triagem completa
No SuSy, para cada tarefa, criamos um conjunto de testes com
arquivos de entrada arq<i>.in
e para cada um deles
temos uma saída esperada arq<i>.res
. Para esta
tarefa, os testes abertos serão os listados na tabela
abaixo. Haverá também dois testes fechados.
Entrada | Saída | ||
---|---|---|---|
arq01.in |
|
| arq01.res |
arq02.in |
|
| arq02.res |
arq03.in |
|
| arq03.res |
arq04.in |
|
| arq04.res |
arq05.in |
|
| arq05.res |
arq06.in |
|
| arq06.res |
arq07.in |
|
| arq07.res |
arq08.in |
|
| arq08.res |
arq09.in |
|
| arq09.res |
arq10.in |
|
| arq10.res |
Releia, se necessário as instruções para fazer os testes em Testes com o SuSy.
Veja aqui a página de submissão da tarefa. O arquivo a ser
submetido deve se chamar lab05.py. No link Arquivos
auxiliares há um arquivo aux05.zip
que contém todos os arquivos de testes abertos e seus respectivos resultados compactados.
Utilize o sistema SuSy com o mesmo login e senha que você utiliza para fazer acesso ao sistema da DAC. Se você não estiver inscrito corretamente, envie email para .
O limite máximo será de 30 submissões. Serão considerados os resultados da última submissão.
O peso desta tarefa é 2.
O prazo final para submissão é 17/05/2020.
A nota desta tarefa é proporcional ao número de testes que executaram corretamente, desde que o código esteja coerente com o enunciado. A submissão de um código que não implementa o algoritmo requisitado, mas que exibe as saídas esperadas dos testes abertos a partir da comparação de trechos da entrada será considerada fraude e acarretará a atribuição de nota zero à média final da disciplina.