segunda-feira, 11 de março de 2013

Como Descobrir o Dia da Semana em que Você Nasceu






Parece mágica, mas o que o personagem da tirinha fez é possível e tem uma explicação matemática.
Primeiramente dê uma olhada no calendário de 1986:
Realmente o personagem acertou! Mas como isso é possível?
De fato, existe uma regra  para determinarmos o dia da semana de qualquer data entre 01 de Janeiro de 1900 até 2399. Basta seguir os seguintes passos:

Passo 1: Calcule quantos anos se passaram desde 1900 até o ano em que você nasceu. Chamaremos esse valor de A.

Passo 2: Calcule quantos 29 de Fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor de A, sem considerar o resto da divisão. Chamaremos esse valor de B. Caso seja ano bissexto e a data for anterior  ou igual  a 29 de Fevereiro, considere então  B-1.

Passo 3: Considerando o mês do nascimento, obtenha o número associado a ele (que chamaremos de C), que está presente na seguinte tabela:

Passo 4: Considere o dia do nascimento x. Calcule x-1, chamaremos essa quantidade de D.

Passo 5: Some os quatro valores anotados A,B (ou B-1), C e D então divida o resultado por 7 e tome o resto dessa divisão, após isso confira o dia da semana associado à esse resto:
Como um exemplo, vamos reproduzir os cálculos do personagem da tirinha.

Vejamos, a data de nascimento é 17 de Julho de 1986, temos:

A = 86 (1986-1900)
B = 21 ( 86 dividido por 4 é igual à 21 e possui resto 2, e 1986 não foi bissexto)
C = 6 (Julho)
D = 16 (17-1)

A+B+C+D = 129

129:7 = 18 e resto 3

Conferindo na tabela da semana vemos que 3 está associado à Quinta-Feira!



Até mais !

84 comentários:

  1. Interessante, Diego. Mas acho que dá menos trabalho consultar um calendário permanente que fazer essas contas todas de cabeça, hehehe.
    Vou pensar sobre a matemática por traz disso tudo. Espero chegar a resposta antes da sua próxima postagem.

    ResponderExcluir
    Respostas
    1. De fato, é preciso ter um raciocínio no estilo Von Newmann para realizar contas em fração de segundos!
      O intuito da postagem na realidade é estimular a curiosidade do leitor de saber porque o método funciona, desse modo BINGO! Temos um Leitor interessado! Aguardarei sua resposta antes da postagem.
      Tenho que confessar que não conhecia o Calendário Permanente, farei uma postagem apresentando o Calendário Permanente.
      Até mais !

      Excluir
    2. No caso do ultimo resultado, deverá haver aproximação dos decimais? Exemplo: 15,28 deverá sofrer aproximação decimal para 2,3? data calculada foi 24 de outubro de 1968

      Excluir
    3. Devemos considerar o resto da divisão, assim não há possibilidades de números decimais e se faz desnecessário aproximações.

      Excluir
    4. O dia da semana do meu nascimento só da certo, segundo essa maneira, se arredondar o resto.

      Excluir
    5. O PROGRAMA TEM UM DEFEITO.
      EU NASCI NUMA QUINTA E O PROGRAMA RESPONDE SEXTA
      VOU FAZER SEXTA QUANTO DIVER 100 ANOS

      Excluir
  2. Por trás deste algoritmo está a Aritmética Modular. Muito interessante este post e parabéns pela iniciativa de compartilhar conosco.

    ResponderExcluir
    Respostas
    1. Exatamente Prof. Paulo Sérgio, a aritmética modular é a "chave" para esse método.

      Até mais !

      Excluir
    2. Para facilitar o cálculo de todos adianto aqui que o calendário perpétuo consta apenas de 28 calendários diferentes . Assim sendo o calendário do ano de 1970 (por exemplo) vem a ser o mesmo de 1998 , 2026...etc...

      Excluir
  3. Olá Diego,
    Você diz:
    "De fato, existe uma regra para determinarmos o dia da semana de qualquer data entre 01 (1º) de Janeiro de 1900 até 2399. Basta seguir os seguintes passos:

    Passo 2: Calcule quantos 29 de Fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor de A, sem considerar o resto da divisão. Chamaremos esse valor de B. Caso seja ano bissexto e a data for anterior ou igual a 29 de Fevereiro, considere então B-1."

    Para os anos de 2100 e 2300 o passo 2 falha, haja vista que 4 divide 2100 e 2300, mas 2100 e 2300 não são bissexto.
    Abraços
    Sebá

    ResponderExcluir
    Respostas
    1. Na verdade para calculo com anos que terminam em '00' é diferente, peguei este site como referencia:
      http://ciencia.hsw.uol.com.br/ano-bissexto1.htm
      Quando o ano terminar em '00', você deve dividi-lo por 400, se der resto 0 é bissexto, caso contrario não é.
      Ou você pode contar os '00' e fazer direto 21 dividido por 4 (no caso do ano 2100) e você verá que 21 não é divisível por 4, portanto não é bissexto.
      Não existe erro, apenas uma falta de informação quanto ao calculo do ano bissexto.

      Excluir
    2. Fabio Arruda todo ano terminado em 00 é bissexto a cada 100 anos temos 25 anos bissextos então 2000 é bissexto, 2100, 2200, 2300, 2400, 2500, 2600,2700, e assim por diante, para saber se um ano é bissxto basta dividir os 2 ultimos numeros por 4 se der resto 0 é bissexto.

      Excluir
    3. Fabio Arruda está certo.

      Excluir
    4. está errado, nem sempre essa teoria se aplica
      veja isso: http://pt.wikihow.com/Descobrir-se-um-Ano-%C3%A9-Bissexto

      Excluir
    5. Nosso calenário veja a cada 400 anos. Tudo o ano divisivel por 4 é bissexto. Exceto os os anos com vinais 00 que não sejam divisiveis por 400.
      Ex. Ano de 1.700, 1800, 1900 não foram bissextos. O ano 2.000 já foi bissexto. Logico dizer que 2.100, 2.200, 2300 não vai ser e 2.400 vai.
      Quem criou o calenadario previu 97 bizzextos em 400 anos. Com isso o tempo e o espaço se veja com o calendario solar. É logico que o assunto tem mais historias ... abraços...

      Excluir
    6. Formúla para calcular qualquer ano. desde 5 agosto 1.583 ate o Fim do mundo.

      ((DIA+(MES*2,6-0,02)INT+(XX+XX/4)INT+YY)/7)INT)*7

      VAI ENCONTRAR OS NUMEROS DE 0 A 6 OU PROXIMOS

      ONDE 0=DOMINGO 1=SEGUNDA 2=TERÇA 3=QUARTA 4=QUINTA 5=SEXTA = 6=SABADO

      NÃO SE ESQUEÇA QUE DO MES 3 A 12 DIA 10 PARA MES

      JANEIRO E FEVEREIRO MAIS 10 .

      PORQUE O ANO COMEÇA DIA 1 MARÇO E VAI ATE 28 OU 20 FEVEREIRO DO ANO SEGUINTE.
      POIS FAÇO O CALCULO PENSANDO SOLAR.

      Excluir
    7. Eu entendi tudo e sei de cor, - ate mesmo os números de cada mês. Agora o que vcs não sabe é que a cada 28 anos o calendário é o mesmo ou seja, vc pode substituir por 28 ou múlt dele ( 56, 84, 112,140...) pra ficar + fácil, e tem outra coisa ao chegar no 4 pede pra tirar 1, e se por 1: veja ao inves de tirar 1 (dia-1) vc aumentar 1 ( dia + 1) você estará aumentando 2, assim > no final resto 0 é (=sab.)/ resto 1= dom./ 2= seg. e assim vai até 6 q. é sexta.
      Isto com o que foi publicado. por exemplo: 25/12/2012 pega 2012 -1900= 112 (ano)+ 28 é (ano/4) + (mês) 5 + 26 (dia+1) > = 112+28+5+26 = 171 ou ignore o 112 e o 28 pois são múltiplos de 28 e de 171 cai pra 31 e pode cair pra 3 , logo TER . Uma outro coisa, pra mim não tem essa de ano bissexto - ele errou nisso -.. Eu aproveito e falo pro meu amigo Alfredo eu gostaria de entender a história dele com algum exemplo dado, assim ficaria melhor.

      Excluir
  4. Olá Diego, tenho uma dúvida...
    Se ao final dos passos a divisão por 7 for exata, o que posso fazer? Existe algum outro passo?

    ResponderExcluir
    Respostas
    1. Caro leitor,
      Quando a divisão por 7 for exata então o resto é ZERO, logo pela tabela temos SEGUNDA-FEIRA.

      Excluir
    2. eu to calculando aqui, nasci dia 07/06/1993 e valor da 0 só que pelo calendário e domingo e nao segunda como a explicação esta falando.

      Excluir
    3. Oi.Existe o método valpiniano.para qualquer dsta.
      Baseado em chaves
      07/06/1993
      Dia 7 + 5(chave de junho)+0(Cv século)+4(Cv ano)= 16-14(múltiplos de 7)=2 que é segundo dis da semana ou segunda feira. Valpinio Fabio.abraços

      Excluir
    4. No Google a resposta do rapaz que disse que nasceu dia 07/06/1993 e que foi num domingo, é segunda-feira sim.

      Excluir
  5. Logica do ano bissexto:
    Todos os anos que sejam múltiplos de 4 mas que não sejam múltiplos de 100, com exceção daqueles que são múltiplos de 400, são bissextos

    ResponderExcluir
  6. Onde eu encontro o código para esse gadget?

    ResponderExcluir
  7. Diego, vc deve ter apreciado o filme "numb3rs",então!
    Grande abraço!
    Wilson C. Raauvendaal

    ResponderExcluir
  8. Se considerarmos o texto, quando diz para dividir por 4 e "se for ano bissexto".... Não vejo como se tivesse dito que a divisão por 4 já daria se o ano é ou não bissexto, mas que" se for bissexto.. " proceda como se segue..... Hehehe! Como foi mostrado, para determinar se o ano é ou não bissexto, tem cálculo/procedimento próprio!

    ResponderExcluir
  9. Uma outra dica sobre ano bissexto. Todo ano bissexto é ano de jogos olímpicos.

    ATT
    Walter

    ResponderExcluir
  10. Como o valor da tabela mês é calculado?

    ResponderExcluir
    Respostas
    1. A tabela mês pode ser obtida pela seguinte fórmula:

      Nº mês = [[ 2.m + {3.(m+1)/5} + 2]]/7 ( o valor é o resto da divisão)

      Traduzindo literalmente seria. Número a ser atribuído ao mês é igual a 2 vezes o número do mês (como expressamos em datas), somado a 3 vezes o numero do mês mais 1 dividido por 5, somados a 2, o resultado dividido por 7. O valor será o resto da divisão.

      Mas atenção, esta formula não se aplica aos meses de janeiro e fevereiro.

      Excluir
  11. Achei o blog procurando pela minha data de nascimento. Você também nasceu em 17/07/1986, Diego?

    ResponderExcluir
  12. ola , um desafio diegoo...
    se hoje dia 4 de abril de 2014 cai numa sexta feira , 2014 dias depois caira em uma... seg ter quarta quinta sex sab ou dom

    ResponderExcluir
    Respostas
    1. Olá Anônimo, esse desafio é relativamente simples, observe inicialmente que daqui a 7 dias será sexta novamente, daqui a 14 sexta de novo, assim, para saber em que dia da semana será 2014 dias depois basta dividir esse número por 2014 e considerar o resto, assim se sobrar 2 saberemos que basta contar mais dois dias para frente, assim será domingo.
      Mas vejamos, 2014 dividido por 7 dá 287 e resto 5, ou seja, se passaram 287 sextas e mais 5 dias, então basta contar que dia da semana será daqui a 5 dias, nesse caso será quarta.
      Assim a resposta para o seu desafio é Quarta.
      Até mais!

      Excluir
  13. Muito Jóia cara. ótimo para utilizar como modelo para fazer um programa java no Net Bens para quem está iniciando.

    ResponderExcluir
  14. Considerando que a cada 4 anos temos anos bissextos, sendo estes os anos múltiplos de 4 ou 400 , com excessão dos anos de fim de século ,esses sendo bissextos apenas a cada 400 anos...(2000,2400,2800...) , podemos usar outra regra pra anos do mesmo século ou anos de séculos diferentes com encerramento em ano bissexto pro primeiro século , o tipo de ano que estamos , por exemplo , 02 de maio de 2014 caiu em uma sexta feira , como 2014 foi ano de copa(copa do mundo apenas é referencia , na verdade seria um ano comum par não secular , mas considerando q todas as copas do mundo acontecem nesse tipo de ano , vamos chamar esses anos de ano de copa...),então 02 de maio só cairá novamente na sexta em 2025 , ano de copa das conf.(novamente , apenas referencia...),depois 02 de maio será na sexta em 2031 , ano de copa américa(novamente apenas referencia) , depois será em 2036,ano olimpico(apenas referencia...),depois em 2042 ano de copa...,pra datas de 01/01 até 28/02 , a regra é depois de ano de copa américa,11 anos,depois de copa do mundo,6 anos,depois de ano olimpico,5 anos,depois de copa das conf 6 anos

    ResponderExcluir
  15. Ainda não consegui entender por que acha chave do ano 1984 dá 0. Vc pode fazer o calculo passo a passo para que eu possa entender com clareza. Ficarei muito grato por isso.

    ResponderExcluir
    Respostas
    1. porque a chave do ano 84 dá 0. É assim meio sem lógica. Ou eu devo está enganado. Responde aí pra mim Diego Sousa. Desde já agradeço pela sua intenção.

      Excluir
    2. Eu - hoje mesmo anunciei q. A cada 28 anos o calendário é o mesmo , sabia disso, não , então fique sabendo . Isto com o 1900 como referência. Agora vamos a 1 ex: se nasci em 19/11/1984 84 já é múltiplo de 28, então vc pode ate ignorar pois ( 1900 = 1928= 1956 = 1984..+28) poderia ser um outro ponto de referência para este caso , logo é só vê o mês + o dia , assim, Nov. = 3 (= fev. e Mar.) + dia +1 ( assim seg é 2 , ter. É 3, quar. È 4 ate 6 =sex. / 0 sáb. E Dom. = 1) ,então dia+1= 20 é o meu jeito > somando 3+20=23 /7 = resto 2, resp. segunda. se for dia -1 segue o q. fala acima no link. Ex: se de 0=segunda- feira. sabe pq. é pq dia +1 tem 2 a mais veja, (19+1=20) pois dia-1 (19-1= 18). Vê e aprende agora. Eu sou Cássio / BH- MG.

      Excluir
  16. não tem problema isso quer dizer que o resto é zero, logo basta somar zero

    ResponderExcluir
  17. http://www.lisbrasil.com/pagina/calend%C3%A1rio-permanente aqui esta o calendário permanente vai ensinando como calcular.

    ResponderExcluir
  18. http://www.lisbrasil.com/pagina/calend%C3%A1rio-permanente

    ResponderExcluir
  19. De onde você tirou esses números das tabelas ?

    ResponderExcluir
  20. O algoritmo funciona, mas a calculadora disponível on-line está fornecendo o dia errado. Está dando como resposta o dia posterior ao correto. Faça uns testes. ;)

    ResponderExcluir
  21. Nasci na quarta-feira, no dia 30 de maio de 2001!

    ResponderExcluir
  22. Eu tenho um método melhor que eu mesmo fiz, é mais rápido.

    ResponderExcluir
    Respostas
    1. Que ótimo! Você mesmo criou o método? Gostaria de aprender esse novo método, o blog está a disposição para atendê-lo!
      Até mais !

      Excluir
  23. Rapaz, eu conheci um fela da puta que fazia isso... descobria a idade de todo mundo! Eu achava q era macumba... mas o cara é um gênio.

    ResponderExcluir
  24. Parabéns pelo post, Diego.
    Como sugestão, para datas no século XXI, use como referência o dia 01 de janeiro de 2001... Assim a conta fica mais fácil de fazer!

    ResponderExcluir
  25. gente afinal, 2096 é bissexto porque 2100 também não é? Se os bissextos acontecem a cada 4 anos? Alguem pode matematicamente provar que 2100 não é bissexto?

    ResponderExcluir
    Respostas
    1. A definição de ano bissexto é:

      "Os anos bissextos são múltiplos de 4, não múltiplos de 100 (1900 não é bissexto) e múltiplos de 400 (2000 é bissexto)."

      Como 2100 é múltiplo de 100 e não é múltiplo de 400, então 2100 não é bissexto (mesmo sendo múltiplo de 4), pois a definição é essa.

      Até mais !

      Excluir
  26. A unica logica do caminho mais curto e a ultima tabela, comecando segunda feira pelo zero, e dando continuidade sem precisar fazer essas contas todas, domingo termina em seis, quem nasceu por exemplo no dia 10 e so dar continuidade na referida tabela no caso quinta-feira, respectivamente

    ResponderExcluir
  27. Passo 2: Calcule quantos 29 de Fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor de A, sem considerar o resto da divisão. Chamaremos esse valor de B. Caso seja ano bissexto e a data for anterior ou igual a 29 de Fevereiro, considere então B-1.

    Boa tarde!
    Quando disse assim...
    Caso seja ano bissexto e a data for "anterior" ou igual a 29 de fevereiro.. considere então B-1.

    Esse "Anterior" eu não consigo intender. Montei a fórmula aqui mas o valor não da certo.

    Alguém por uma grande gentileza poderia me ajudar.


    ResponderExcluir
  28. 19 de fevereiro de 1972 foi um Sábado e o algoritmo automático devolve Domingo

    ResponderExcluir
  29. alguém pode me ajudar por favor, obrigada
    como faco para descobrir o mês do ano que nasci pois fui registrada com data errada e existe um empasse se nasci em 24 de junho ou 24 de julho de 1969 e meu registro e datado de 10 de setembro. meu e-mail iliane_analista@hotmail.com

    ResponderExcluir
  30. não consegui assimilar essa formula que me foi sugerida se foi em resposta a minha pergunta.....me desculpe....

    ResponderExcluir
  31. acho que essa fórmula tem que ser reavaliada, se você testar em um mês de 31 dias de um ano bixesto, o resultado erra o dia. Mostra sempre dia seguinte.

    ResponderExcluir
  32. Por que só funciona para as datas entre 1900 e 2399? Conhece como calcular para outras datas fora desse intervalo?

    ResponderExcluir
  33. Diego... 129/7 = 18,4..... E não 18,3
    Deu errado, tentei passar as fórmulas para o computador..e com este erro, logicamente ferra tudo :/

    ResponderExcluir
  34. esquece... Eu peguei o 'resto' que seria o decimal.. mas é o resto da divisão comum.. foi mal

    ResponderExcluir
  35. Este comentário foi removido pelo autor.

    ResponderExcluir
  36. Boa tarde! Gostei da postagem. Quero saber se tem uma explicação para a tabela dos meses, por que apresenta esses números?

    ResponderExcluir
  37. Bom dia!
    Estou tendo dificuldade para fazer uma questão , será que você poderia me ajudar a fazer e calcular?
    O problema me dá a data de 07/10/2013, afirmando que era uma segunda feira; ele está me perguntando qual o dia que caiu a primeira segunda feira de janeiro? Me orienta como farei para achar está data ?

    ResponderExcluir
    Respostas
    1. Conte quantos dias já passaram a partir de 1º de Janeiro, depois basta dividir a quantidade de dias por 7 e tomar o resto (por exemplo, se o resto for 3 isso quer dizer 07/10 é exatamente 3 dias depois do dia da semana de 1º de janeiro, assim, como 07/10 é segunda, 01/01 seria sexta e portanto a primeira segunda do ano seria no dia 04/10).

      Agora, basta fazer as contas e dizer o que você encontrou.

      Espero ter ajudado.

      Excluir
    2. Realmente caiu numa sexta feira da uma revisada no seu cálculo

      Excluir
  38. Não deu certo para a data 18/05/2001

    O resultado mostra que é num sábado mas na verdade caiu numa sexta feira

    Fiz algo errado?

    ResponderExcluir
  39. 12 de Abril de 2002. Sempre pela fórmula dá sábado. Mas no calendário consta como sexta-feira.

    Alguém pode me ajudar?

    ResponderExcluir
    Respostas
    1. Dá uma revisada no seu cálculo pois realmente caiu numa sexta feira

      Excluir
    2. Da uma revisada no seu cálculo pois cai numa sexta feira

      Excluir
  40. Como calcular o dia da semana a partir do ano de 1800 por esse método acima

    ResponderExcluir
  41. Usando a tabela de vocês, só é permitido o cálculo de 1900 até 2299 e não até 2399 , qual é o correto

    ResponderExcluir

Você pode inserir suas fórmulas e equações no formato $\LaTeX$ nos comentários, basta escrevê-lo entre os símbolos $ \$ \ldots \$ $. Por exemplo, se você deseja escrever a seguinte fórmula:

$\lim_{x\to\infty}f(x)=0$

basta digitar a seguinte fórmula:

$ \$ $ \lim_{x\to\infty}f(x)=0 $ \$ $
(Um exemplo mais simples: $x^2=a$ é escrito como \$ x^2=a \$).

Agora é com você, comente à vontade, seu comentário é uma ferramenta fundamental para o crescimento do Giga Matemática!!!