:Rem *********************************
' *      Tagefinder V1.00         *
' *    © 1992 by Henry König      *
' * Bornheide 71, 2000 Hamburg 53 *
' *********************************
GOSUB init                      :Rem Variable vorbesetzen
start:
t=0                             :Rem Eingangswert fuer die Schleife
WHILE t<1 OR t>31               :Rem nur Tage zwischen 1 und 31 erlaubt
  INPUT " Tag: ";t
WEND
m=0                             :Rem Eingangswert fuer die Schleife
WHILE m<1 OR m>12               :Rem nur die Monate 1 bis 12 erlauben
  INPUT "Monat: ";m
WEND
j=0                             :Rem Eingangswert fuer die Schleife
WHILE j<1700                    :Rem richtiges Ergebnis nur ab 1700 möglich
  INPUT " Jahr: ";j
WEND
z=j-1                           :Rem Jahr minus 1
c=INT(z/4)-INT(z/100)+INT(z/400)
x=(j+t+c)-1                     :Rem Anzahl der Tage
x=x+VAL(MID$(ausg$,m,1))        :Rem
IF m>2 AND j=4*INT(j/4) AND j<>100*INT(j/100) OR j=400*INT(j/400) THEN
  x=x+1                         :Rem Schaltjahr, dann plus 1 Tag
END  IF
x=x-7*INT(x/7)                  :Rem Tag von 1 bis 7 berechnen
PRINT "Der ";t;".";m;".";j;" war ein ";tag$(x+1)
PRINT
GOTO start
init:                           :Rem Variable vorbesetzen
  DIM tag$(7)                   :Rem Tag in Klartext
  FOR j%=1 TO 7                 :Rem 7 Tage
    READ tag$(j%)               :Rem Tage lesen
  NEXT j%
  ausg$="033614625035"          :Rem Monatskorrekturzahlen
  DATA "Sonntag"
  DATA "Montag"
  DATA "Dienstag"
  DATA "Mittwoch"
  DATA "Donnerstag"
  DATA "Freitag"
  DATA "Samstag"
RETURN
REM
