aula 138

Dúvida | Como ler data de nascimento e calcular quantos dias o usuário viveu em Portugol?

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

Deixe um comentário

um × 2 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.