Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Funkuhr Sommerzeit/Winterzeit Kategorie: Programmierung Basic (von Jürgen Christoph - 7.07.2004 20:53)
 Als Antwort auf Re: Funkuhr Sommerzeit/Winterzeit von Achim - 7.07.2004 17:03
> Sehr schön. Magst Du mal erläutern, wie Du die Formel
>
> >   DWH = ((DAY + 10 - DOW) MOD 7) + 25
>
> hergeleitet hast? Und für was steht die Abkürzung "DWH"?

Hallo Achim

Der Name der Variable ist hier ohne Bedeutung. Der Code stammt aus
einem groesseren Projekt, wo die Variable an verschiedenen Stellen
benutzt wurde, hauptsächlich als "data word high". Wie gesagt, hier
ohne Belang, hätte sie auch TEMP nennen können.

Die Formel entstand mit Bleistift und Papier. In einer Tabelle habe
ich mir einfach mal alle Möglichkeiten der Kombinationen "Letzter
Sonntag" und "Wochentag" als Matrix aufgemalt. Sind ja nicht gar so
viele. Auf die Formel kommt man dann leicht. Das Datum des letzten
Sonntag kann ja nur der 25. bis 31. sein; daher also die +25.
Die +10 sorgt dafuer dass der Ausdruck in der Klammer nie negativ
werden kann; DAY ist schliesslich auch mal nur 1 und DOW bis zu 7;
und eine Modulo Operation mit einem negativen Wert wollte ich in
jedem Falle vermeiden. Der Klammer-Ausdruck MOD 7 ergibt dann
einen Wert zwischen 0 und 6, der +25 die gewuenschten 25 bis 31
ergibt. Nichts Geheimnisvolles.


 Antwort schreiben

Bisherige Antworten:

Re: Funkuhr Sommerzeit/Winterzeit (von Achim - 8.07.2004 10:23)