Vamos a mais uma aula de dúvidas aqui no Curso de Algoritmos e Lógica de Programação? E na aula de hoje vamos aprender como ler a data de nascimento do usuário e calcular quantos dias ele já viveu. Para isso iremos considerar como data atual o dia 1/06/2021 e que cada mês possui exatamente 30 dias.
Caso queira calcular a quantidade de dias vividos para outra data basta alterar a data final, pedir ao usuário que digite a data atual ou ainda obter a data do sistema por meio da biblioteca Calendário, como apresentado aqui.
Este exercício poderia ser mais complicado se tivéssemos que identificar a quantidade de dias de cada mês e anos bissextos. Da forma como foi proposto ele se torna bastante simples. A ideia é incrementar a data de nascimento dia a dia até que a data de nascimento seja igual a data atual, enquanto isso contamos a quantidade de dias.
Os pontos importantes a serem observados é que durante o incremento do dia, em algum momento o valor irá ultrapassar 30. Quando isso acontecer, precisamos incrementar o mês para o mês seguinte e a variável dia volta para o dia 1 do mês. Da mesma forma, em algum momento o mês poderá ultrapassar 12. Quando isso acontecer precisamos incrementar a variável ano e voltar para o mês 1.
Esta lógica foi desenvolvida no trecho de código a seguir.
/*
Calculando quantos dias o usuário viveu
*/
programa{
funcao inicio(){
cadeia nome
inteiro diaN, mesN, anoN, diaA, mesA, anoA, dias = 0
diaA = 1
mesA = 6
anoA = 2021
escreva("Digite seu nome: ")
leia(nome)
escreva("Digite sua data de nascimento no formato dd mm aaaa: ")
leia(diaN, mesN, anoN)
// enquanto a data de nascimento for menor que a data atual
enquanto(anoN < anoA ou mesN < mesA ou diaN < diaA){
dias++
diaN++
se(diaN > 30){
diaN = 1
mesN++
se(mesN > 12){
mesN = 1
anoN++
}
}
}
escreva("Olá ", nome, ". Você já viveu ", dias, " dias.\n")
}
}
