Open1

カレンダー

mmmmmm

REM 西暦1年1月1日は月曜日
INPUT PROMPT "西暦年を入力してください":y
INPUT PROMPT "月を入力してください":m
INPUT PROMPT "日を入力してください":d
IF y=1 THEN GOTO 10
FOR x=1 TO y-1
IF MOD(x,4)<>0 THEN LET s=s+365
IF MOD(x,4)=0 AND MOD (x,100)<>0 THEN LET s=s+366
IF MOD(x,4)=0 AND MOD (x,100)=0 AND MOD(x,400)<>0 THEN LET s=s+365
IF MOD(x,4)=0 AND MOD (x,100)=0 AND MOD(x,400)=0 THEN LET s=s+366
NEXT X
10
FOR z= 1 TO m-1
IF z<8 AND MOD(z,2)=1 AND z<>2 THEN LET s=s+31
IF z<8 AND MOD(z,2)=0 AND z<>2 THEN LET s=s+30
IF z=2 AND MOD(y,4)<>0 THEN LET s=s+28
IF z=2 AND MOD(y,4)=0 AND MOD(y,100)<>0 THEN LET s=s+29

  IF  z=2  AND  MOD(y,4)=0 AND  MOD(y,100)=0 AND  MOD(y,400)<>0 THEN  LET s=s+28
  IF  z=2  AND  MOD(y,4)=0 AND  MOD(y,100)=0 AND  MOD(y,400)=0 THEN  LET s=s+29
  IF  z>=8  AND   MOD(z,2)=1  THEN  LET s=s+30  
  IF  z>=8  AND   MOD(z,2)=0  THEN  LET s=s+31 

NEXT Z

LET s=s+d
LET t=MOD(s,7)

IF t=1 THEN PRINT "月曜日"
IF t=2 THEN PRINT "火曜日"
IF t=3 THEN PRINT "水曜日"
IF t=4 THEN PRINT "木曜日"
IF t=5 THEN PRINT "金曜日"
IF t=6 THEN PRINT "土曜日"
IF t=0 THEN PRINT "日曜日"

END