Thanks Ken for the update. In looking at this I was at first a little
concerned about the arithmetic precedence on lines 70 to 85, as there were
not a lot of parentheses to force desired action, but it works !!

Good to have in the 'ole toolbox.

Regards,

Peter

On 8/29/21 09:30 PM, Ken Pettit wrote:
> Hey Guys,
>
> Well, the email I sent *wasn't* really a BASIC program but rather a math
> formula.  The M100 BASIC doesn't have a function called "Floor" ... it
> is called "INT".  But also I noticed the reference on Wikipedia that I
> was looking at was for Eastern Orthodox Easter date, not modern day
> Gregorian.
>
> The formula for modern day Gregorian is actually much more compilicated
> involving 11 intermediate variables.  While writing this equation out
> long-hand using only the year variable (Y) would look super impressive,
> it would be quite long and not very efficient in terms of computations.
>
> So for completeness (being the programmer that I am), I coded and tested
> it in M100 BASIC:
>
> 10 DIMM$[12]
> 15 DATA
> "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"
> 20 FORX=1TO12:READM$[X]:NEXT
> 25 INPUT"Year (0 to quit)";Y
> 30 IFY=0THENEND
> 35 A=YMOD19
> 40 B=INT(Y/100):C=YMOD100
> 45 D=INT(B/4)  :E=BMOD4
> 50 G=INT((8*B+13)/25)
> 55 H=(19*A+B-D-G+15)MOD30
> 60 I=INT(C/4)  :K=CMOD4
> 70 L=(32+2*E+2*I-H-K)MOD7
> 75 M=INT((A+11*H+19*L)/433)
> 80 N=INT((H+L-7*M+90)/25)
> 85 P=(H+L-7*M+33*N+19)MOD32
> 90 PRINT "Easter day: ";M$[N];P
> 95 GOTO25
>
> Ken
>
>

Reply via email to