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") } }