Logo Hardware.com.br
felipe.gualdi
felipe.guald... Novo Membro Registrado
7 Mensagens 0 Curtidas

Como descobrir qtos dias de vida você tem?!?!?!?!

#1 Por felipe.guald... 23/05/2005 - 16:58
Bom Galera to precisando de uma ajudinha...

Faço faculdade de ciencias da computação, e como trabalhado de final de semestre o bendito professor passou um trabalinho para calcular a qtdade de dias de vida que vc tem (considerando o ano bissexto), porém estou numa fria... num tenho tempo... alguém ai tem uma ideia de como faço pra calcular a idade considerando o ano bissexto? Necessito transforma-lo em algum formato de numeros para que seja considerado os ultimos dias sem que o mês atrapalhe...

Aguardo ancioso pela ajuda de vcs...
Grato...
Responder
Hider
Hider Veterano Registrado
1.4K Mensagens 21 Curtidas
#3 Por Hider
23/05/2005 - 18:19
pega como entrada a idade no formato dd/mm/aaaa ai vc vai fazendo dependendo do ano vc vai dividindo por 4 eu acho ( bissexto he 4 em 4 ne?) nem sei ai vc pega o mes x 30 dependendo do num de anos bissexto vc diminui ai o n de dias e vai !!! vai fazendo q vc consegue num he dificil n!! mas vai enche o saco hehe !! tb to fazendo 1º periodo de CC isso he pra fazer no PASCAL??eu ja fiz isso no laboratorio uma vez fiz no pascal

obs: nunca axei nada para confiri se a conta tava certa!! intao se vc fizer algo q chegue em um numero aproximado com certeza vai passa de lizo pelo professor hehe!!!!

falowww!!!!!!!
felipe.gualdi
felipe.guald... Novo Membro Registrado
7 Mensagens 0 Curtidas
#7 Por felipe.guald...
24/05/2005 - 13:36
Então galera ai é complicado... o mais dificil mesmo é fazer com que ele de a idade exata... pq os meses que tem 31 dias interferem, os anos bissextos interferem...
Eu tava vendo uns artigos na net, que mandam dividir o numero por 80640, alguma coisa assim... mais num encontrei um sentido correto para isso...
Felipe Gualdi

\|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/

"Meu coração não bate, capota...
Meu sangue não corre, tira racha"
aylons
aylons Geek Registrado
3.7K Mensagens 6 Curtidas
#8 Por aylons
24/05/2005 - 13:59
Nem sempre o algoritmo do software é matemática pura. Quer uma idéia?

Faça um programa que, a partir da data atual, vá fazendo uma contagem regressiva, indo para trás mês a mês, somando o número de dias de cada mes. Quando chegar em fevereiro, ele verifica se o ano é bissexto ou não e soma um dia se for o caso. Para quando chegar no mês de nascimento do cara e desconta o dia que ele nasceu naquele mes do total de dias.
felipe.gualdi
felipe.guald... Novo Membro Registrado
7 Mensagens 0 Curtidas
#9 Por felipe.guald...
24/05/2005 - 14:32
Poxa cara é uma boa... mais me diz como eu faço uma lógica que conte o mes certinho?? Pq pensa comigo... vamos supor que seja 24 05 1984... vou contar mes a mes, porém devo começar apartir de um ano... e como fazer que conte o mes se ele esta no meio do ano? viajei neste ponto...
Felipe Gualdi

\|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/

"Meu coração não bate, capota...
Meu sangue não corre, tira racha"
felipe.gualdi
felipe.guald... Novo Membro Registrado
7 Mensagens 0 Curtidas
#11 Por felipe.guald...
24/05/2005 - 14:52
Bom Vamos lá, vamos ver se eu consigo...
Contar usando os anos beleza, mais tenho problemas em como começar, pq? Assim vc não ira começar com um ano "completo" mais seim de um mes qualquer no meio do ano... como começar sem que isso interfira no resultado final? pq a ideia q vc me deu foi descontar o dia de nascimento no final, mais e qto aos dias atuais?? :cry:
Felipe Gualdi

\|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/ \|/

"Meu coração não bate, capota...
Meu sangue não corre, tira racha"
aylons
aylons Geek Registrado
3.7K Mensagens 6 Curtidas
#12 Por aylons
24/05/2005 - 15:03
Como eu disse. Comece na data atual e vá tirando mês a mês. Depois você pode ir de ano em ano (ou ainda, de 4 em 4 anos, para ficar mais eficiente):

Por exemplo, Hoje, dia 24/05/2005. Seu algoritmo, para começar, coloca os 24 dias na soma. E começa a contar os meses que resta:

30 dias para abril, 31 para março, para fevereiro, ele soma 28 e verifica se estamos em ano bissexto. Se estivermos, soma 1, depois som a janeiro e pronto. Agora ele vai somando os 365 dias para cada ano e 366 nos anos bissextos.

Ou, melhor ainda, vai somando (4x365 + 1) para cada 4 anos, até a diferença entre o ano que ele estiver e o ano de nascimento for menor que 4.

Aí, você volta a somar os anos. Qndo chegar no ano do aniversario, os meses, e qndo chegar no mes, os dias.

Tem várias otimizações matemáticas e computacionais que dá para fazer, mas esse é um exemplo bem didádito de algoritmo.
ilair
ilair Novo Membro Registrado
1 Mensagem 0 Curtidas
#14 Por ilair
03/04/2006 - 11:01
aylons
Não exatamente, intruso. O ano bisssexto é aquelçe que é divisível por 4, não é por 100, mas aqueles que são d...


Bom dia!

Gostaria de saber por que deve ser divisível por 400 e não pode ser divisível por 100 para que seja ano bissexto?
Este ponto não está muito claro para mim.
Desculpem minha ignorância neste ponto, mas tenho certeza de que isso é muito útil para muitos.
Ilair dos Santos
Analista Programador
Técnico em Contabilidade
Técnico em Informática
Academico de Sistemas de Informação
aylons
aylons Geek Registrado
3.7K Mensagens 6 Curtidas
#15 Por aylons
03/04/2006 - 11:32
É uma forma de ajustar corretamente as casas decimais do ano.

A terra não dá a volta em torno do sol em 365 dias, mas em 365,25 dias. Por isso, a cada quatro anos, soma-se um (4 * 0,25 = 1).

Maaas... A verdade é que esse tempo é melhor aproximado por 365,24. Por isso, a cada 100 anos, a gente cometeu o erro de um dia ao aproximar por 365,25 (0,01 * 100 = 1dia). Por isso os anos divisíveis por cem não são bissextos, para compensar esse dia a mais que foi contado no fim de cem anos.

Porém, isso já é outra aproximação. O número mais correto seria 365,2425. Assim, a cada 400 anos, a gente deixou de contar um dia, novamente (0,0025 * 400 = 1). Por isso a gente coloca um dia a mais nos anos divisíveis por 400.
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal