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: gerade und ungerade unterscheiden Kategorie: Programmierung Basic (von Achim - 19.07.2004 17:00)
 Als Antwort auf gerade und ungerade unterscheiden von Richard - 19.07.2004 16:45
> ich habe in einem Programm einen Zähler gebaut, der im Sekundentakt um +1 zählt.
>
> Nun ist es für das weitere Programm wichtig, dass ich bei einem geraden bzw. ungeraden Zählerstand bestimmte Schaltzustände auslöse.
>
> Sollte so aussehen:
>
> if zaehler "gerade" then led = 0
> if zaehler "ungerade" then led = 1
>
> Hat jemande eine Idee, wie ich gerade bzw. ungerade definiere.

"Gerade" und "ungerade" ist ja definiert als "ohne", bzw. "mit" Rest durch 2 teilbar. Den "Rest einer
Division" ermittelt die modulo-Funktion. Die heisst im CC-Basic "mod". Da der Rest zufällig eben nur 0 oder 1
sein kann, kann man Deine Statements oben ganz kurz als

led = zaehler mod 2

schreiben.

Wenn ich allerdings richtig vermute, und led eine Bit-Variable (z. B. ein Port) ist, dann ist die Zuweisung
led = 1 unzulässig. Zulässige Zuweisungen an Bit-Variablen sind beim CC-Basic nur 0 und -1 (minus 1)
(oder die entsprechenden Konstanten ON und OFF oder andere Bitvariablen).

Aber das kriegt man auch noch in einer Zeile unter:

led = -(zaehler mod 2)

HTH

Bye
  Achim

 Antwort schreiben

Bisherige Antworten:

Re: gerade und ungerade unterscheiden (von Richard - 19.07.2004 18:34)
    Re: gerade und ungerade unterscheiden (von Carsten - 21.07.2004 8:09)
        Re: gerade und ungerade unterscheiden (von Achim - 21.07.2004 14:11)