Schneider / Amstrad CPC Forum
Amstrad / Schneider CPC => Programmierung => Topic started by: Devilmarkus on 19. April 2019, 14:07:29
Da wir ja Karfreitag haben:
So könnt ihr den Ostersonntag berechnen:
10 MODE 2:INPUT"Jahr:",X
20 K=INT(X/100)
30 M=15+INT((3*K+3)/4)-INT((8*K+13)/25)
40 S=2-INT((3*K+3)/4)
50 A=X MOD 19
60 D=(19*A+M) MOD 30
70 R=INT(D/29)+(INT(D/28)-INT(D/29))*INT(A/11)
80 OG=21+D-R
90 SZ=7-(X+INT(X/4)+S) MOD 7
100 OE=7-(OG-SZ) MOD 7
110 OS=OG+OE:M$="March":IF OS>31 THEN OS=OS-31:M$="April"
120 PRINT "Ostersonntag ist im Jahr";X;"am ";MID$(STR$(OS),2);". ";M$
Euch allen frohe Ostern!
Frohe Ostern Euch allen, hier die Eier...
So ein Programm wäre auch für den Pfingst-Sonntag sinnvoll! Will das jemand umsetzen?
Rechne einfach das Ergebnis plus 49, und teil es dann auf die Monate, dann hast du es...
So z.B.:
10 MODE 2:INPUT"Jahr:",X
30 K=INT(X/100)
40 M=15+INT((3*K+3)/4)-INT((8*K+13)/25)
50 S=2-INT((3*K+3)/4)
60 A=X MOD 19
70 D=(19*A+M) MOD 30
80 R=INT(D/29)+(INT(D/28)-INT(D/29))*INT(A/11)
90 OG=21+D-R
100 SZ=7-(X+INT(X/4)+S) MOD 7
110 OE=7-(OG-SZ) MOD 7
120 OS=OG+OE:M$="March":IF OS>31 THEN OS=OS-31:M$="April"
130 PRINT "Ostersonntag ist im Jahr";X;"am ";MID$(STR$(OS),2);". ";M$
140 PS=OS+49
150 IF PS>30 THEN PS=PS-30:M$="Mai"
160 IF PS>31 AND M$="Mai" THEN PS=PS-31:M$="Juni"
190 PRINT "Pfingstsonntag ist im Jahr";X;"am ";MID$(STR$(PS),2);". ";M$
Cool! Funktioniert! :smiley027: