User manual
RP6 ROBOT SYSTEM - 4. Programmierung des RP6
Es gibt dann noch ein paar nützliche Abkürzungen:
z += 10; // entspricht: z = z + 10; also ist z = 15
z *= 2; // z = z * 2 = 30
z -= 6; // z = z - 6 = 24
z /= 4; // z = z / 4 = 8
z++; // Abkürzung für z = z + 1; Also ist z hier 9
z++; // z = 10 // z++ nennt man auch „z inkrementieren“
z++; // z = 11 ...
z--; // z = 10 // z-- nennt man auch „z dekrementieren“
z--; // z = 9
z--; // z = 8 ...
Oben haben wir noch den Datentyp „char“ verwendet. Wie aber schon gesagt, werden
in allen anderen Programmen des RP6 (fast) nur standardisierte Datentypen verwen-
det.
So z.B. wäre folgendes: int8_t x;
identisch zu: signed char x;
Und: uint8_t x;
identisch zu: unsigned char x; // bzw. bei uns eigentlich auch einfach nur
„char“ da dieser Datentyp standardmäßig „unsigned“ ist.
4.4.5. Bedingungen
Bedingungen mit „if-else“ Konstrukten sind sehr sehr wichtig um den Programmablauf
zu steuern. Man kann mit ihnen überprüfen, ob eine gegebene Bedingung wahr oder
falsch ist und je nachdem bestimmten Programmcode ausführen oder nicht.
Direkt ein kleines Beispiel:
1
2
3
4
5
uint8_t x = 10;
if(x == 10)
{
writeString("x ist gleich 10!\n");
}
Hier wird in Zeile 1 zunächst die 8-Bit Variable x deklariert und ihr der Wert 10 zuge-
wiesen. Jetzt überprüfen wir in der nachfolgenden if-Bedingung in Zeile 2, ob die Va-
riable x den Wert 10 hat. Das ist hier natürlich immer der Fall und somit wird der
Block unter der Bedingung ausgeführt und „x ist gleich 10!“ ausgegeben. Hätten wir x
stattdessen mit 231 initialisiert, wäre an dieser Stelle nichts ausgegeben worden!
Allgemein hat eine if-Bedingung immer folgende Syntax:
if ( <Bedingung X> )
<Anweisungsblock Y>
else
<Anweisungsblock Z>
Ins Deutsche übersetzt heisst das übrigens soviel wie: „wenn X dann Y sonst Z“.
- 69 -