Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Algorithmen & Lehrreiches

Algorithmen & Lehrreiches Algorithmen & Lehrreiches...

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag [Windows XP-32 bit] CPU Auslastung ständig 100...
Aufrufe: 246, Antworten: 18
Gehe zum ersten neuen Beitrag [Windows XP-32 bit] Ihr Konto wird gesperrt...
Aufrufe: 25, Antworten: 4
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Serienempfehlung gewünscht :)
Aufrufe: 1935, Antworten: 27
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26436, Antworten: 4179
Gehe zum ersten neuen Beitrag [Verkaufe] HTC Desire "S"
Aufrufe: 21, Antworten: 0
Gehe zum ersten neuen Beitrag Probleme mit Internet...
Aufrufe: 301, Antworten: 11
Gehe zum ersten neuen Beitrag Schnäppchen Thread ... von...
Aufrufe: 7363, Antworten: 36
Gehe zum ersten neuen Beitrag Vier Jahre Haft für...
Aufrufe: 35, Antworten: 0
Gehe zum ersten neuen Beitrag Wie öffnet man mehrere...
Aufrufe: 203, Antworten: 13
Zeige:





Thema geschlossen
 
LinkBack Themen-Optionen Ansicht
Alt 26.12.2010, 16:57   #1 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.078
Standard

WOCHENTAGSBERECHNUNG DIREKT AUS DEM DATUM
=======================================
Manchmal möchte man wissen, auf welchen Wochentag ein bestimmtes Datum fällt. Da Wochentage von der Gregorianischen Kalenderreform 1582 unbeeinflußt blieben,
denke man sich, das sei recht einfach. Jedoch: Andere Schaltjahresregeln sowie eine 10-tägige Anpassungsperiode (auf Donnerstag, den 4. Oktober 1582 folgte gleich Freitag, der 15. Oktober) komplizieren die Berechnung direkt aus einer Datumsangabe. Einen tauglichen Algorithmus verdanken wir Herrn Pfarrer Christian Zeller, Priester und Mathematiker, dessen "ZELLER´s KONGRUENZ" erstmals 1882 veröffentlicht wurde.

Hier eine Quick-n-dirty Umsetzung ohne große Plausibilitätsprüfung in XProfan 11.2a. Einstellige Angaben sind dabei mit vorangestellter 0 zweistellig einzugeben. Trennzeichen nicht vergessen!

UPDATE 1 vom 27.12.2010 mit verbesserten Rückmeldungen und einem mutwillig eingebauten GOTO:
Code:
WindowTitle "Direkte Wochentagsermittlung aus Datum"
' Version 1.02_beta für Paule´s PC Forum, ohne jede Gewähr oder Garantie
declare da$,dy%,mnth%,fyear%,syear%,kal$,i%,j%,h%,greg%
Window 424,300

nochmal:

cls rgb(0,100,255)

print
print " Algorithmus " + chr$(34) + "Zeller´s Kongruenz" + chr$(34) + "                  "
print " Quelle: Pfarrer Dr.math. Christian Zeller A.D.1882 "
print 
print " Datum [dd.mm.yyyy] = ";
locate 5,24 : input da$
case da$="" : end

dy%=val(left$(da$,2))
mnth%=val(mid$(da$,4,2))
fyear%=val(mid$(da$,7,4))
syear%=val(mid$(da$,9,2))

print
print

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
      else
         greg%=-1
      endif
   endif
endif

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

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
else
  h%=99
endif

    if h%=0 : print "Samstag";
elseif h%=1 : print "Sonntag";
elseif h%=2 : print "Montag";
elseif h%=3 : print "Dienstag";
elseif h%=4 : print "Mittwoch";
elseif h%=5 : print "Donnerstag";
elseif h%=6 : print "Freitag";
elseif h%=99: print "        "
              print " nicht existierenden Zeitraum (wegen   "
              print " grego. Kalenderreform ausgelassen)";
else : print " fehlerhaften Eingabewert";
endif
print ".   "
WaitInput
Goto "nochmal"
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist offline  
Werbung

Windows 7 Tipps und Tricks in Bildern

Thema geschlossen

  Paules-PC-Forum.de > Programmierung > XProfan > Algorithmen & Lehrreiches

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nach Benutzerkonto-Anmeldung direkte Abemeldung NoMi Windows XP 5 05.01.2009 13:49
Direkte Kennworteingabe Goebi Homepagegestaltung 5 05.11.2008 09:45
Vorschlag:Direkte Spende Manu458 über das Forum 2 14.06.2008 17:39
direkte Verbindung via Internet mit mehreren PC's Giu Allgemein 2 04.05.2005 15:56
Automatisch neues Datum/Altes Datum bei Wiederöffnung Oli2004 Office-Anwendungen 3 20.08.2004 12:49



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:09 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2