lehrkraefte:blc:informatik:ffprg2-2020:esp32-for-and-if

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
lehrkraefte:blc:informatik:ffprg2-2020:esp32-for-and-if [2020/08/13 18:39] Ivo Blöchligerlehrkraefte:blc:informatik:ffprg2-2020:esp32-for-and-if [2020/08/14 07:55] (current) Ivo Blöchliger
Line 1: Line 1:
 +====== Selektion (if) ======
 +<code c++>
 +// Einfaches if
 +if (bedingung) {
 +  // code
 +}
 +
 +// if/else
 +if (bedingung) {
 +  // code
 +} else {
 +  // und sonst
 +}
 +
 +// if else if else
 +if (bedingung) {
 +  // code
 +} else if (andere bedingung) {
 +  // code
 +} else { // optional
 +  // code
 +}
 +</code>
 +
 +
 +====== Logische Operatoren ======
 +  * && und
 +  * <nowiki>||</nowiki> oder
 +  * ! nicht
 +
 +===== Bitweise Operatoren =====
 +  * & Bitweise und
 +  * | Bitweise oder
 +  * ~ Bitweise nicht
 +  * ^ Bitweise XOR
 +
 +====== Schlaufen ======
 +===== for-loop =====
 +Syntax: ''for(init; condition; post-op) {...}''
 +  * init: Wird einmal vor der Schleife ausgeführt. Typischerweise Initialisierung der Laufvariablen.
 +  * condition: Bedingung, die **vor** jeder Durchgang geprüft wird. Typischerweise ob die Laufvariable am Ende angekommen ist.
 +  * post-op: Operation, die **nach** jedem Durchgang ausgeführt wird.
 +
 +<code c++>
 +// Achtung: Die Variable i existiert nur innerhalb der for-Schlaufe!
 +for (int i=0; i<10; i++) {
 +  Serial.println("%d*%d=%d\n", i, i, i*i);
 +}
 +</code>
 +
 +===== while-loop =====
 +Syntax ''while (condition) { ... }''
 +<code c++>
 +int i=0;  // Variable muss vorher deklariert sein.
 +while (i*i<1000) {
 +  Serial.println(i);
 +  i++;
 +}
 +// die Variable i existiert hier immer noch.
 +</code>
 +
 +====== Aufgaben ======
 +===== Onbard LED dimmen =====
 +Eine LED kann gedimmt werden, indem sie ganz schnell ein- und ausgeschaltet wird und dabei die Zeitspanne variiert wird, während der die LED eingeschaltet ist.
 +Versuchen Sie, die Onboard LED (Port 2) langsam aufleuchten zu lassen.
 +===== Primzahlen ausgeben =====
 +Geben Sie aufsteigend die Primzahlen auf dem seriellen Port aus.
 +
 +
 +
 +
 +