Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: if...else Kategorie: Programmierung (von ChristianS - 6.04.2010 21:24)
Als Antwort auf Re: if...else von Franz Stefan - 5.04.2010 22:32
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo Franz,
danke für die Antwort. Ich habe es irgendwie hingefummelt. Bin aber noch nicht ganz zufrieden damit,
da es zu kompliziert geworden ist. Im Prinzip habe ich zwei Probleme. Zum Einen, wie funktioniert
die "if/else"-Anweisung.
Was passiert, wenn die erste if-Bedingung erfüllt wird, wird die komplette "if-anweisung dann verlassen? Ich denke
Ich denke schon. Aber was passiert, wenn "if" nicht erfüllt ist, aber die erste und die zweite
"else"-Bedingung erfüllt sind, wird die zweite "else"-Bedingung noch abgearbeitet?
Bsp.
if Feiertag oder Sonntag
 <i>trifft nicht zu</i>
else Tag vor Feiertag oder Freitag
 <i>trifft zu</i>
else Samstag
 <i>trifft zu</i>


Würde in diesem Bsp. die komplette "if/elseBedingung" nach dem  ersten "else" verlassen?,
oder würde auch noch auf "Samstag" geprüft?

Das zweite Problem ist die Logik- Die ist so kompliziert, dass ich sie kaum erklären kann.Deshalb
versuche ich das mal zu beschreiben....

Gesteuert wird eine Gartenbeleuchtung und ein Wasserspiel, wobei das Wasserspiel nur zur
Sommerzeit aktiv ist und die Einschaltzeit der Gartenbeleuchtung zusätzlich vom Sonnenuntergang
abhängig ist. In meinem Bsp. habe ich hier mal eine feste Zeit(19 Uhr) angenommenm.

Vorabend zum Feiertag oder ein Freitag
 Beleuchtung von 19-23 Uhr
 Wasserspiel von 16-23 Uhr
Samstag
 Beleuchtung von 19-23 Uhr
 Wasserspiel von 8-23 Uhr
Sonntag, Feiertag
 Beleuchtung 19-21Uhr
 Wasserspiel 8-21 Uhr
Werktag
 Beleuchtung 19-21 Uhr
 Wasserspiel 16-21 Uhr

folgen mehrere Feiertage aufeinander, müssen alle (n-1)ten Feiertage wie ein Samstag behandelt
werden, der letzte Feiertag dann wieder normal.

(n-1)te Feiertag
 Wasserspiel 08-23 Uhr
 Beleuchtung 19-23 Uhr

So, ich hoffe, die Logik ist klar geworden, ganz platt ausgedrückt, soll die Beleuchtung immer dann
abends länger leuchten, wenn man am nächsten Tag nicht arbeiten muss. Das Wasserspiel läuft
ganztägig wenn man frei hat. Wie könnte eine einfache Logik aussehen??

Danke und GruÃ?,
Christian.


>  Hallo Christian,
>
> das ist fast eine klassische logische Aufgabe.
>
> Zuerst noch eine Frage:   :-)
> - was ist (soll sein) bei aufeinanderfolgenden Feiertagen
>
> Du mu�t zuerst die Prioritäten definieren. Ich vermute das wird in etwa sein:
> - Feiertag oder Sonntag
> - Tag vor Feiertag oder Freitag
> - Samstag
> - Werktag
>
> Und genau in der Reihenfolge mü�te es dann abgefragt werden.
>
> lg, Franz
>
> > Hallo,
> > ich habe mal eine Frage. Ich habe eine Zeitschaltuhr programmiert, die abhängig vom jeweiligen
> > Tag unterschiedliche Schaltzeiten bereit stellt. Ich unterscheide folgende Fälle:
> >
> > 1. Tag vor einem Feiertag
> > 2. Feiertag
> > 3. Freitag
> > 4. Samstag
> > 5. Sonntag
> > 6. Werktag
> >
> > Der Freitag und der Tag vor einem feiertag werden gleich behandelt, Der Feiertag und der
> > Sonntag auch.
> >
> > Das Programm würde ich wie folgt aufbauen....
> >
> > if "Tag vor Feiertag" or "Freitag"
> >  
> > else if "Feiertag" or "Sonntag"
> >  
> > else if " Samstag"
> >  
> > else
> >    //Werktag
> >
> > was passiert, wenn der Feiertag auf einen Freitag fällt? Dann  würden doch sicherlich nicht die
> > Feiertags-Schaltzeiten ausgeführt, sondern die "Tag vor Feiertag" -Zeiten. Und was passiert wenn der
> > Feiertag auf den Samstag fällt. Dann sollten natürlich auch die Feiertags-Zeiten ausgeführt werden. Das
> > gleiche Problem habe ich, wenn der "Tag vor Feiertag" auf einen  Samstag fällt, dann müssen die
> > Samstags-Zeiten vorrang haben.
> >
> > Hat jemand eine Idee, wie man das einfach lösen kann?
> >
> > GruÃ?,
> > Christian.


    Antwort schreiben


Antworten: