faecher:nwt:arduino:lernbaustein2:funktionen2:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:nwt:arduino:lernbaustein2:funktionen2:start [11.02.2025 20:34] – [Was ist, wenn es globale und lokale Variablen mit gleichem Namen gibt?] sbelfaecher:nwt:arduino:lernbaustein2:funktionen2:start [11.02.2025 21:07] (aktuell) sbel
Zeile 231: Zeile 231:
  
 Hier gibt es sowohl eine globale als auch eine lokale Variable mit dem Namen ''start''. Welche wird jetzt in der for-Schleife verwendet? Hier gibt es sowohl eine globale als auch eine lokale Variable mit dem Namen ''start''. Welche wird jetzt in der for-Schleife verwendet?
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A6) === 
 +
 +  * Teste den Sketch. Welche Variable wird in der for-Schleife verwendet?
 +  * Gib den Wert von ''start'' irgendwo im setup mit einem Serial.printl Befehl aus - welcher Wert wird hier ausgegeben?
 +
 +
 +===== Funktionen mit Rückgabewert =====
 +Funktionen können, wenn sie zu der Stelle zurückkehren, an der sie aufgerufen wurden auch noch Ergebnisse zurückgeben. 
 +
 +{{ :faecher:nwt:arduino:lernbaustein2:funktionen2:fkt-signatur3.png |}}
 +
 +{{ :faecher:nwt:arduino:lernbaustein2:funktionen2:fkt-rw.drawio.png |}}
 +
 +<code c>
 +void setup() {
 +  delay(1000);
 +  Serial.begin(9600);
 +  delay(1000);
 +  Serial.println("--- Programmstart -------");
 +  double n = nullstelle(-2,4);
 +  Serial.print("Nullstelle bei x=");
 +  Serial.println(n);
 +  Serial.println("--- Programmende --------");
 +}
 +
 +double nullstelle(double steigung, double yachsabsch) {
 +  double nullst = -1 * yachsabsch / steigung;
 +  return nullst;
 +}
 +
 +void loop() {
 +// Leer - der Loop hat hier keine Funktion
 +}
 +</code>
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A7) === 
 +
 +   * Was berechnet der abgebildete Sketch? Teste mit verschiedenen Parameterwerten.
 +   * Erweitere den Aufruf der Funktion im Setup so, dass alle Nullstellen aller Geraden mit Steigungen zwischen -2.0 und -1.0 mit der Schrittweite 0.1 berechnet werden: {{ :faecher:nwt:arduino:lernbaustein2:funktionen2:bildschirmfoto_20250211_205809.png |}}
 +
 +++++ Hilfestellung 1: For Schleife mit 0.1er Schritten |
 +
 +Die for-Schleife sieht hier z.B. so aus:
 +<code c>
 +for (double i = -2; i <= -0.99; i = i + 0.1) {
 +    // Rechnen und ausgeben
 +  }
 +</code>
 +++++
 +
 +++++ Lösungsvorschlag |
 +<code c>
 + for (double i = -2; i <= -0.99; i = i + 0.1) {
 +    double n = nullstelle(i, 4);
 +    Serial.print("Steigung m=");
 +    Serial.print(i);
 +    Serial.print(" Nullstelle bei x=");
 +    Serial.println(n);
 +  }
 +</code>
 +
 +++++
  • faecher/nwt/arduino/lernbaustein2/funktionen2/start.1739302461.txt.gz
  • Zuletzt geändert: 11.02.2025 20:34
  • von sbel