OPTION BASE 0 FUNCTION IsLeapYear(y) !うるう年の判定 LET IsLeapYear=0 IF (MOD(y,4)=0 AND MOD(y,100)<>0) OR MOD(y,400)=0 THEN LET IsLeapYear=1 END IF END FUNCTION FUNCTION Dy(q,w,e) !西暦1年1月1日から、第何日目 DIM Month(12) LET Month(1)=0 LET Month(2)=31 LET Month(3)=28 LET Month(4)=31 LET Month(5)=30 LET Month(6)=31 LET Month(7)=30 LET Month(8)=31 LET Month(9)=31 LET Month(10)=30 LET Month(11)=31 LET Month(12)=30 LET k=0 IF q=1 THEN GOTO 10 FOR i=1 TO q-1 IF IsLeapYear(i)=0 THEN LET k=k+365 ELSE LET k=k+366 END IF NEXT i 10 LET z=0 FOR i=1 TO w LET z=z+Month(i) NEXT i LET h=0 IF IsLeapYear(q)=1 THEN IF w>2 THEN LET h=1 END IF END IF LET Dy=k+z+e+h END FUNCTION PRINT PRINT "何日後かを求めます。" PRINT INPUT PROMPT "基準になる 年,月,日 ? ":y,m,d INPUT PROMPT "求めたい 年,月,日 ? ":a,b,c PRINT LET f=Dy(a,b,c) LET g=Dy(y,m,d) PRINT a;"年";b;"月";c;"日 は" PRINT " ";y;"年";m;"月";d;"日 から" PRINT " ";f-g;"日後です。" PRINT END