Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
skript:ifthenelse [2015/04/29 12:24] fbonowski angelegt |
skript:ifthenelse [2018/04/27 20:38] (aktuell) d.golovko [Syntax] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Kontrolle über den Programmablauf: Kontrollstrukturen ====== | + | ====== If/then/else - Bedingtes Ausführen von Programmteilen ====== |
- | Kontrollstrukturen beeinflussen den Weg, den ein Programm durch den darin enthaltenen Code wählt. | + | Sehr oft wollen wir eine Handlung nur dann ausführen, wenn eine bestimmte Bedingung zutrifft. So könnte z.B. unser Roboter solange geradeaus fahren, bis er an ein Hindernis stößt, und alternativ ein Ausweichmanöver starten. |
- | So kann z.B. zwischen zwei Alternativen Programmteilen ausgewählt werden (''if'') oder ein Teil des Codes wiederholt in einer 'Schleife' ausgeführt werden (''for''). | + | Mit der if-Bedingung, die in sehr vielen Programmiersprachen ähnlich funktioniert, haben wir dafür ein geeignetes Werkzeug zur Hand. Sie erlaubt es dem Programm, anhand einer festgelegten //Bedingung// zwischen zwei alternativen Programmteilen auszuwählen, von denen dann einer ausgeführt wird. |
- | ===== If/then/else - Bedingtes Ausführen von Programmteilen ===== | ||
- | Sehr oft wollen wir eine Handlung nur dann ausführen, wenn eine bestimmte Bedingung zutrifft. So könnten wir z.B. das Licht genau dann einschalten, wenn es dunkel ist, und es sonst ausschalten. | ||
==== Syntax ==== | ==== Syntax ==== | ||
- | Mit der if-Bedingung, die in sehr vielen Programmiersprachen ähnlich funktioniert, haben wir dafür ein geeignetes Werkzeug zur Hand. In Arduino/C++ sieht eine if-Bedingung grundsätzlich so aus: | + | In Arduino/C++ sieht eine if-Bedingung grundsätzlich so aus: |
<code c++> | <code c++> | ||
if(diese Bedingung erfüllt ist){ | if(diese Bedingung erfüllt ist){ | ||
Zeile 15: | Zeile 13: | ||
} | } | ||
</code> | </code> | ||
+ | ==== Bedingungen als Boolsche Ausdrücke ==== | ||
Wie können wir die //Bedingung// in den runden Klammern so formulieren, dass der Computer sie versteht? | Wie können wir die //Bedingung// in den runden Klammern so formulieren, dass der Computer sie versteht? | ||
Zeile 25: | Zeile 24: | ||
<code c++> | <code c++> | ||
if(5>2){ | if(5>2){ | ||
- | wird dieser Code ausgeführt | + | //wird dieser Code ausgeführt |
}else{ | }else{ | ||
- | sonst dieser. | + | //sonst dieser. |
} | } | ||
</code> | </code> | ||
Zeile 53: | Zeile 52: | ||
==== Beispielcode Dämmerungsschalter ==== | ==== Beispielcode Dämmerungsschalter ==== | ||
- | Für unser konkretes Beispiel ("Dämmerungsschalter") könnte also z.B. so aussehen: | + | Eine Lampe, die sich in der Nacht von selbst anschaltet ("Dämmerungsschalter") könnte also z.B. so programmiert werden: |
<code c++> | <code c++> | ||
if(analogRead(sensorPin)>dunkelSchwelle){ | if(analogRead(sensorPin)>dunkelSchwelle){ |