1 PRINT " ESTE PROGRAMA INDICA EL DIA DE  LA SEMANA A PATIR DE UNA FECHA"
2 PRINT "  INTRODUCIR UNA FECHA BAJO LA       FORMA : 01 ENERO 2000"
3 PRINT "ES IMPORTANTE QUE EL DIA CONSTE   DE 2 DIGITOS POR ESO SE DEBE"
4 PRINT "ANADIR UN CERO SI EL NUMERO DEL       DIA ES INFERIOR A 10"
10 RESTORE
15 CLS
20 INPUT "FECHA ",FECHA$
24 REM --- LINEA 25 : LA VARIABLE DIA CONTIENE EL DIA ENTRADO EN CIFRAS ---
25 DIA=VAL(FECHA$)
29 REM --- LINEAS 30 Y 31 : VERIFICAN QUE LA RESPUESTA ENTRADA NO ES INCORRECTA ---
30 IF FECHA$=""THEN 1
40 IF DIA<1 OR DIA>31 THEN 1
44 REM --- LINEA 45 : LA VARIABLE CARACTERESRESPUESTA DA EL NUMERO DE CARACTERES DE LA RESPUESTA ENTRADA ---
45 CARACTERESRESPUESTA=LEN(FECHA$)
49 REM --- LINEA 50 : LA VARIABLE MES$ CONTIENE EL MES ENTRADO EN LETRAS ---
50 MES$=MID$(FECHA$,4,CARACTERESRESPUESTA-8)
54 REM --- LINEAS 55 Y 60 : LAS VARIABLES ANNO$ Y ANNO CONTIENEN EL ANNO ---
55 ANNO$=RIGHT$(FECHA$,4)
60 ANNO=VAL(ANNO$)
65 RESTORE 145
69 REM --- LINEA 70 : LA VARIABLE CONTROL VA A PERMITIR DETERMINAR SI EL MES ENTRADO ESTA EN LA LISTA DE DATA ---
70 CONTROL=0
75 FOR I=1 TO 12
79 REM --- LINEAS 80 Y 85 : LA VARIABLE MES LEERA EN LOS DATA EL MES EN CIFRAS MIENTRAS QUE MESENLETRAS$ LEERA EL MES EN LETRAS ---
80 READ MES
85 READ MESENLETRAS$
90 IF MESENLETRAS$=MES$ THEN 105 ELSE CONTROL=CONTROL+1
94 REM --- LINEA 95 : SI CONTROL=12 ES QUE SE HA TECLEADO UN MES INCORRECTO (CON UN ERROR ORTOGRAFICO POR EJEMPLO) ---
95 IF CONTROL=12 THEN 10
100 NEXT I
104 REM --- LINEA 105 : ESTA LINEA VERIFICA QUE SE HA INTRODUCIDO UN ANNO ---
105 IF ANNO$="" THEN 10
109 REM --- LOS ALGORITMOS ---
110 IF MES<3 THEN X=1
115 IF MES>=3 THEN X=0
120 Q=INT(365.25*(ANNO-X)+INT(30.6*(MES+1+X*12)))
125 P=DIA-INT((INT((ANNO-X)/100)-7*0.75)
130 Y=Q+P
135 Y=Y-7*INT(Y/7)
140 E=Y*2+200
141 REM --- MI PEQUENA CORRECCION PERSONAL YA QUE ESTA PROGRAMA DABA RESPUESTAS FALSAS A PARTIR DEL 29 DE FEBRERO DE 2000 ---
142 IF ANNO=2000 AND MES>2 THEN E=E+2
143 IF ANNO>2000 THEN E=E+2
144 IF E=214 THEN E=200
145 DATA 1,ENERO,2,FEBRERO,3,MARZO,4,ABRIL,5,MAYO,6,JUNIO,7,JULIO,8,AGOSTO,9,SEPTIEMBRE,10,OCTUBRE,11,NOVIEMBRE,12,DICIEMBRE
150 CLS
155 BEEP1
160 PRINT DIA MES$ ANNO ": ";
163 REM --- SI E=200 EL DIA QUE SE BUSCA ES UN JUEVES ---
164 REM --- ENTONCES EN VEZ DE PONER : (IF E =200 THEN NUMERO DE LINEA) HE PREFERIDO : (GOTO E) ---
165 GOTO E
200 PRINT "JUEVES",:GOTO 10
202 PRINT "VIERNES",:GOTO 10
204 PRINT "SABADO",:GOTO 10
206 PRINT "DOMINGO",:GOTO 10
208 PRINT "LUNES",:GOTO 10
210 PRINT "MARTES",:GOTO 10
212 PRINT "MIERCOLES",:GOTO 10

