Calculo del dia de la semana (programa)


DÍA DE LA SEMANA:


Si queremos saber que dia de la semana era el dia de un nacimiento cualquiera, utilizaremos la siguiente formula:


ds=resto de (Dia Juliano + 0.5)/7 + 1

Esto nos da un número entre 1 y 7 con la siguiente correspondencia:


1 ........ LUNES
2 ...... MARTES
3 MIERCOLES
4 ....... JUEVES
5 ...... VIERNES
6 ....... SÁBADO
7 ..... DOMINGO


Tambien podemos calcular esto de forma grafica.Ahora redactaremos un pequeño programa en Basic para el calculo del Dia juliano y el dia de la semana con el ordenador:


cls
DATA 2305447.5 , 2341971.5 , 2378495.5 , 2415019.5 , 2451544.5 , 2488068.5
meses:
DATA Enero,0,Febrero,31,Marzo,59,Abril,90,Mayo,120,Junio,151
DATA Julio,181,Agosto,212,Septiembre,243,Octubre,273,Noviembre,304,Diciembre,334
dias:
DATA Lunes,Martes,Miercoles,Jueves,Viernes,Sabado,Domingo
d1$="\ \ #####.,##"
pi# = 4*atn(1)
ra# = 2*pi#/360
f$ = "14.06.1997"
dia = VAL(LEFT$(f$,2))
mes = VAL(MID$(f$,4,2))
ano = VAL(RIGHT$(f$,4))
FOR n= 16 TO INT(ano/100)
READ djc#
NEXT
RESTORE meses
FOR n=1 TO mes
READ mes$,djm
NEXT
a = VAL(RIGHT$(f$,2))
IF mes<3>
IF ano MOD 4 = 0 THEN bisi = 1
IF mes>2 THEN djm=djm + bisi
dj# = djc# + djf# + djm + dia
a = dj# + 0.5 - 2303000
a = 7*(a / 7 - INT(a / 7))
ds = a +1
RESTORE dias
FOR n=1 TO ds
READ ds$
NEXT
PRINT f$;" = ";dia;" : ";mes;" : ";ano
PRINT "DJc ";djc#;" Dia de la semana ";ds;ds$
djmdia = dj# - 2450449.5 + 1
PRINT djmdia
PRINT djm + dia

Comentarios

  1. ME GUSTARIA UNA EXPLICACION ARITMETICA PARA REALIZAR LA OPERACION SIN AYUDA DE PROGRAMAS.GRACIAS JOSE

    ResponderEliminar

Publicar un comentario

Albadhermes publica todos los comentarios recibidos aunque no se identifique con su contenido.