Español
Fuente/ Codesnippets

Wochentag de Datum berechnen: "Zeller´s Kongruenz"

 

p.specht

Manchmal möchte uno wissen, en welchen Wochentag una bestimmtes Datum fällt. Como Wochentage de el Gregorianischen Kalenderreform 1582 unbeeinflußt blieben, denke uno se, el sei bastante simplemente. Jedoch: Andere Schaltjahresregeln sowie una 10-tägige Anpassungsperiode (en Donnerstag, el 4. Oktober 1582 folgte igual Freitag, el 15. Oktober) komplizieren el Berechnung direkt de uno Datumsangabe.

Einen tauglichen Algorithmus verdanken wir Herrn Pfarrer Christian Zeller, Priester y Mathematiker, dessen "ZELLER´s KONGRUENZ" erstmals 1882 veröffentlicht wurde.

Hier una Quick-n-dirty Umsetzung sin große Plausibilitätsprüfung en XProfan 11.2a. Einstellige Angaben son esta con vorangestellter 0 zweistellig einzugeben. Trennzeichen no vergessen!
' Zellers Kongruenz, Versión 1.02, sin jede Gewähr
Título de la ventana "Direkte Wochentagsermittlung de Datum"
declarar como$,dy%,mnth%,fyear%,syear%,kal$,i%,j%,h%,greg%
Ventana 424,300
otra vez:
cls rgb(0,100,255)
imprimir
imprimir " Algorithmus " + chr$(34) + "Zeller´s Kongruenz" + chr$(34) + "                  "
imprimir " Quelle: Pfarrer Dr. Christian Zeller, A.D.1882 "
imprimir
imprimir " Datum [dd.mm.yyyy] = ";
locate 5,24 : input como$
caso como$="" : end
dy%=val(left$(como$,2))
mnth%=val(mid$(como$,4,2))
fyear%=val(mid$(como$,7,4))
syear%=val(mid$(como$,9,2))
imprimir
imprimir

if fyear% > 1582 : greg%=1

elseif fyear% < 1582 : greg%=0

elseif fyear% = 1582

    if mnth%>10 : greg%=1

    elseif mnth%<10 : greg%=0

    elseif mnth%=10

        if dy%>=15 : greg%=1

        elseif dy%<=4 : greg%=0

        más

            greg%=-1

        endif

    endif

endif

kal$=" Julianischer Kalender 45vChr-4.10.1582  "
caso greg%=1 : kal$=" Gregorianischer Kalender              "
caso greg%=-1: kal$=" KEIN KALENDER ZUFREFFEND!             "
Imprimir kal$
Imprimir " Der " + str$(dy%)+"."+str$(mnth%)+"."+str$(fyear%)+" fällt en una ";

if mnth%<3

    mnth%=mnth%+12
    fyear% = fyear%-1
    syear% = syear%-1

endif

h%=-1

if greg%=1

    h%=(dy%+int((mnth%+1)*26/10)+syear%+int(syear%/4)+int( int(fyear%/100) /4) + 5*int(fyear%/100) ) mod 7

elseif greg%=0

    h%=(dy%+int((mnth%+1)*26/10)+syear%+int(syear%/4)+ 5 + 6* int(fyear%/100) ) mod 7

más

    h%=99

endif

if h%=0 : imprimir "Samstag";

elseif h%=1 : imprimir "Sonntag";

elseif h%=2 : imprimir "Montag";

elseif h%=3 : imprimir "Dienstag";

elseif h%=4 : imprimir "Mittwoch";

elseif h%=5 : imprimir "Donnerstag";

elseif h%=6 : imprimir "Freitag";

elseif h%=99: imprimir "        "

    imprimir " no existierenden Zeitraum (wegen   "
    imprimir " grego. Kalenderreform ausgelassen)";
    más : imprimir " fehlerhaften Eingabewert";

endif

imprimir ".   "
WaitInput
Goto "nochmal"
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
11.04.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

815 Views

Untitledvor 0 min.
N.Art23.07.2021
Glubbfan19.06.2021
Uwe ''Pascal'' Niemeier13.06.2021
Walter25.04.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie