-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy path18_Christian_Holidays.bc2
64 lines (63 loc) · 1.97 KB
/
18_Christian_Holidays.bc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1000 A=100:GOTO20:REM CHRISTIAN HOLIDAYS
1010 DIMM(15),DD(5),AA(5),A$(5),MA$(12)
1020 FORI=0 TO15:READM(I):NEXTI
1030 FORI=0 TO4:READAA(I):NEXTI
1040 FORI=0 TO5:READA$(I):NEXTI
1050 FORI=1 TO12:READMA$(I):NEXTI
1060 GOSUB100
1070 PRINT"THIS PROGRAM CALCULATES CHRISTIAN"
1075 PRINT"HOLIDAYS BETWEEN 1582 AND 2299 A.D.!"
1080 PRINT:PRINT
1090 PRINT"WHICH YEAR SHALL I COMPUTE ";:INPUTJ
1095 IFJ>1582 ANDJ<2300 THEN1120
1100 PRINT"SORRY, ONLY BETWEEN 1582, AND 2299!":GOTO1080
1120 GOSUB100:PRINT"HOLIDAYS"
1130 HO=14:VE=3:GOSUB110
1140 PRINTJ:PRINT
1150 E=M(INT(J/100)-15)
1160 F=M(INT(J/100)-7)
1170 X=J:Y=19:GOSUB1470:G=19*Z+E
1180 X=G:Y=30:GOSUB1470:G=Z
1190 X=J:Y=4:GOSUB1470:H=2*Z
1200 Y=7:GOSUB1470:I=4*Z
1210 H=H+I+6*G+F
1220 X=H:GOSUB1470:H=G+Z
1230 IFH=35 THENH=28
1240 X=J:Y=19:GOSUB1470
1250 IF(H=34) AND(G=28) AND(Z>10) THENH=27
1260 FORI=1 TO4
1270 DD(I)=H-AA(I)
1280 IFDD(I)<1 THENDD(I)=DD(I)+30.9
1290 IFDD(I)<1 THENDD(I)=DD(I)+29.9
1300 NEXTI
1310 DD(5)=25
1320 S=0
1330 IF(INT(J/4)*4)<>J THEN1380
1340 S=1
1350 FORI=1700 TO2200 STEP100
1360 IFJ=I THENIFI<>2000 THENS=0
1370 NEXTI
1380 DD(0)=H-AA(0)
1390 HO=0:VE=7:GOSUB110:IFDD(0)<1 THENDD(0)=DD(0)+27.9+S
1400 HO=15:FORI=0 TO5
1410 D=INT(DD(I)):B=INT((10*DD(I)+0.1)-10*D)
1420 IFI=5 THENB=12
1430 SR=D:CT=2:CN=0:GOSUB310:PRINTA$(I);
1440 GOSUB110:PRINTSR$;" ";MA$(B)
1450 VE=VE+1:NEXTI
1460 END
1470 ZZ=INT(X/Y):Z=X-Y*ZZ:RETURN
25000 DATA22,22,23,23,24,24,24,25,2,2,3,4,5,5,6,0
25010 DATA23.7,8.6,30.4,20.4,9.4
25020 DATA"ASH WEDNESDAY","EASTER","ASCENSION DAY"
25030 DATA"WHITSUN","CORPUS CHRISTI","CHRISTMAS"
25040 DATA"JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE"
25050 DATA"JULY","AUGUST","SEPTEMBER",OCTOBER","NOVEMBER"
25060 DATA "DECEMBER"
30000 REM CHRISTIAN HOLIDAYS
30010 REM PROGRAM FROM THE ACORN ATOM
30020 REM ADAPTED FOR BASICODE BY:
30030 REM A.G.MARCHAL
30040 REM SCHUTTEKLEEF 16
30050 REM 6171 HM STEIN
30060 REM TRANSLATED BY JONATHAN MARKS