Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:ffprg2017:l2:l2 [2017/08/24 16:34] Ivo Blöchliger |
lehrkraefte:blc:informatik:ffprg2017:l2:l2 [2017/09/01 07:52] (current) Ivo Blöchliger [LEDs] |
||
---|---|---|---|
Line 89: | Line 89: | ||
int i=true; | int i=true; | ||
bool ok=42; | bool ok=42; | ||
+ | Serial.println(ok); | ||
bool nk=0; // nk wird false; | bool nk=0; // nk wird false; | ||
if (42) { | if (42) { | ||
// immer wahr | // immer wahr | ||
} | } | ||
+ | |||
</ | </ | ||
+ | |||
+ | ==== Ternärer Operator ==== | ||
+ | Sehr kompakt, aber schwer zu lesen. Einsatz wie Gewürz. | ||
+ | <code c++> | ||
+ | int a = (bedingung) ? resultatWennWahr : resultatWennFalsch; | ||
+ | </ | ||
+ | |||
+ | ===== Modulo Operator ===== | ||
+ | <code c++> | ||
+ | int a=19, b=5; | ||
+ | int rest = a % b; // liefert 4, Rest der Division 19/5 | ||
+ | a=-19; | ||
+ | rest = a % b; // liefert -4. Erklärung: Integer-Division rundet immer zu Null hin!, D.h. (-19)/5 ergibt -3, Rest -4. | ||
+ | </ | ||
+ | |||
+ | ===== Aufgaben ===== | ||
+ | * Erst obiges Studieren, Codes ausprobieren, | ||
+ | |||
+ | === Primzahlen === | ||
+ | Schreiben Sie einen Sketch, der Primzahlen ausgibt (ohne obere Grenze). | ||
+ | |||
+ | Studieren Sie dazu, falls nötig, die Arduino-Dokumentation zum for-loop, der if-Schleife und dem Modulo-Operator %. | ||
+ | |||
+ | <hidden Lösungsvorschlag> | ||
+ | <code c++> | ||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | Serial.println(2); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | for (long i=1000001; ; i+=2) { | ||
+ | bool prime = true; | ||
+ | for (long t=3; t*t<=i; t+=2) { | ||
+ | if (i % t==0) { | ||
+ | prime = false; | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | if (prime) { | ||
+ | Serial.print(i); | ||
+ | Serial.print("," | ||
+ | } else if (i%29 == 0) { | ||
+ | Serial.println(); | ||
+ | } | ||
+ | } | ||
+ | delay(20000); | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Perfekte Zahlen === | ||
+ | Finden Sie Zahlen, die gleich der Summe ihrer Teiler sind (sich selbst natürlich ausgeschlossen). Beispiel: 6=1+2+3. Gegenbeispiel: | ||
+ | |||
+ |