lehrkraefte:blc:informatik:ffprg2-2020:esp32-functions

Differences

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

Link to this comparison view

Next revision
Previous revision
lehrkraefte:blc:informatik:ffprg2-2020:esp32-functions [2020/08/14 08:01] – created Ivo Blöchligerlehrkraefte:blc:informatik:ffprg2-2020:esp32-functions [2020/08/21 07:47] (current) – [Aufgaben] Ivo Blöchliger
Line 1: Line 1:
 +====== Funktionen in C++ ======
 +Der Syntax ist wie folgt:
  
 +  typenbezeichnung namederfunktion(typ1 varname1, typ2 varname2, ...) {
 +     // Code
 +     return Wert;
 +   }
 +
 +Soll die Funktion keinen Wert zurückgeben, ist der Typ der Funktion ''void''. Ein solche Funktion kann durch ein einfaches ''return;'' beendet werden.
 +
 +Es kann mehrere Funktionen mit gleichem Namen geben, wenn sich die Art und/oder Reihenfolge der Typen der Argumente unterscheiden. Z.B.
 +<code c++>
 +int quadrat(int x) {
 +  return x*x;
 +}
 +float quadrat(float x) {
 +  return x*x;
 +}
 +
 +int b = quadrat(42);  // Aufruf der ersten Funktion, weil 42 ist ein int.
 +float c = quadrat(42.0);  // Aufruf der zweiten Funktion, weil 42.0 ist ein float.
 +</code>
 +
 +===== Lesen vom Seriellen Port =====
 +Siehe https://www.arduino.cc/reference/en/language/functions/communication/serial/ für eine komplette Dokumentation.
 +<code c++>
 +void loop() {
 +  Serial.println("Bitte eine Zahl eingeben:");
 +  long eingabe = Serial.parseInt();
 +  Serial.printf("Es wurde %l eingelesen.\n", eingabe);
 +
 +  // tu was mit eingabe...
 +
 +}
 +</code>
 +====== Aufgaben ======
 +
 +===== Teiler oder Primfaktorenzerlegung ausgeben =====
 +Lesen Sie eine Zahl vom seriellen Port ein und geben Sie die Teiler dieser Zahl aus, bzw. deren Primfaktorenzerlegung.
 +
 +===== Mandelbrotmenge als ASCII-Art =====
 +Erzeugen Sie ein Bild der Mandelbrotmenge als ASCII-Art. Kann wie folgt berechnet werden:
 +
 +Sei $f: \mathbb{C} \mapsto \mathbb{C}$ mit $f(x) = x^2+c$ wobei $c$ dem Punkte (d.h. komplexer Zahl) entspricht, deren "Farbe" berechnet werden möchte.
 +
 +Sei die Folge $x_1 = c$, $x_{n} = f(x_{n-1})$. Die Farbe ist die Anzahl $n$ an Iterationen, die nötig ist, bis $|x|>2$ (dann ist die Divergenz garantiert). Wenn bis zu einer vorher festgelegten Anzahl $N$ $|x_N|<2$ wird abgebrochen und die Farbe ist N.
 +
 +Der spannende Bereich ist im Rechteck $(-2-1.5i)$ bis (1.5+1.5i).
 +
 +Wir könnten damit später auch ein kleines Display ansteuern und die Mandelbrotmenge dort darstellen.