Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-ii:e2:java-grundlagen:l8-funktionen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
info:sek-ii:e2:java-grundlagen:l8-funktionen [2020-05-10 11:29] – [Aufgabe 2: Zählen mit While-Schleifen] christian.weberinfo:sek-ii:e2:java-grundlagen:l8-funktionen [2021-05-06 13:43] (aktuell) – [Aufgabe 3: Übungsaufgaben] christian.weber
Zeile 5: Zeile 5:
 ===== Aufgabe 1: Funktionen ===== ===== Aufgabe 1: Funktionen =====
  
-Die oben schon angesprochenen boolschen Funktionen sind ein Spezialfall eines allgemeineren Konzepts, nämlich dem der Funktion. Lest euch die [[info:sek-ii:e2:java-grundlagen:fk-funktion-return-void|Fachkonzepte Funktion, Return Void]] durch und beantwortet die folgenden Fragen:+Die oben schon angesprochenen boolschen Funktionen sind ein Spezialfall eines allgemeineren Konzepts, nämlich dem der Funktion. Lest euch die [[info:sek-ii:e2:java-grundlagen:fk-funktion-return-void-parameter|Fachkonzepte Funktion, ReturnVoid & Parameter]] durch und beantwortet die folgenden Fragen:
  
   * Was ist eine Funktion?   * Was ist eine Funktion?
   * Dürfen Funktionen Seiteneffekte erzeugen? Wenn ja, wie macht man das am besten kenntlich?   * Dürfen Funktionen Seiteneffekte erzeugen? Wenn ja, wie macht man das am besten kenntlich?
   * Was bedeutet das Schlüsselwort **''void''**?   * Was bedeutet das Schlüsselwort **''void''**?
 +  * Was ist ein Funktionsparameter?
  
 ===== Aufgabe 2: Zählen mit While-Schleifen ===== ===== Aufgabe 2: Zählen mit While-Schleifen =====
  
-Der Hamster soll im folgenden Territorium genau so viele Schritte vor gehen, wie Körner auf dem Feld vor ihm liegen. Die Anzahl der Körner ist variabel.+<tabbox Aufgaben> 
 +**Aufgabe 2.1:** Der Hamster soll im folgenden Territorium genau so viele Schritte vor gehen, wie Körner auf dem Feld vor ihm liegen. Die Anzahl der Körner ist variabel.
  
 {{:info:sek-ii:e2:java-grundlagen:l8-a2.png?nolink|}} {{:info:sek-ii:e2:java-grundlagen:l8-a2.png?nolink|}}
-===== Aufgabe X: Übungsaufgaben ===== 
  
-  - Bearbeitet die Beispielprogramme ab [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=295|S. 283]]: +**Aufgabe 2.2:** Der Hamster soll durch das Labyrinth laufen. An einer Kreuzung kann er die folgenden Situationen finden: 
-  - Bearbeitet anschließend **mindestens eine** der Übungsaufgaben ab [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=303|S. 291]]:+  - 1 Korn: Rechts abbiegen und weiter! 
 +  - 2 Körner: Links abbiegen und weiter! 
 +  - 3 Körner: Stehen bleiben! 
 + 
 +{{:info:sek-ii:e2:java-grundlagen:l8-a2.2.png?nolink|}} 
 + 
 +**Aufgabe 2.3:** Der Hamster soll durch das Labyrinth laufen. Benutze **nur** Methoden mit Parametern! 
 + 
 +{{:info:sek-ii:e2:java-grundlagen:l8-a2.3.png?nolink|}} 
 + 
 +<tabbox Lösung 2.1> 
 +<code java> 
 +void main() { 
 +  vor(); 
 +   
 +  int koerner = nimmUndZaehle(); 
 +   
 +  while (koerner > 0 && vornFrei()) { 
 +    vor(); 
 +    koerner = koerner - 1; 
 +  }     
 +
 + 
 +int nimmUndZaehle() { 
 +  int koerner = 0; 
 +   
 +  while (kornDa()) { 
 +    nimm(); 
 +    koerner = koerner + 1; 
 +  } 
 +   
 +  return koerner; 
 +
 +</code> 
 +<tabbox Lösung 2.2> 
 +<code java> 
 +void main() { 
 +  int anzahl = dreiVorUndNimm(); 
 +   
 +  while (anzahl != 3) { 
 +    if (anzahl == 2) { 
 +      linksUm(); 
 +    } else if (anzahl == 1) { 
 +      rechtsUm(); 
 +    } 
 +     
 +    anzahl = dreiVorUndNimm(); 
 +  }     
 +
 + 
 +void rechtsUm() { 
 +  linksUm(); 
 +  linksUm(); 
 +  linksUm(); 
 +
 + 
 +int dreiVorUndNimm() { 
 +  vor(); 
 +  vor(); 
 +  vor(); 
 +   
 +  int anzahl = 0; 
 +   
 +  while (kornDa()) { 
 +    nimm(); 
 +    anzahl = anzahl + 1; 
 +  } 
 +  
 +  return anzahl; 
 +
 +</code> 
 +<tabbox Lösung 2.3> 
 +<code java> 
 +void main() { 
 +  vor(11); 
 +  linksUm(3); 
 +  vor(7); 
 +  linksUm(3); 
 +  vor(2); 
 +  linksUm(3); 
 +  vor(3); 
 +  linksUm(1); 
 +  vor(2); 
 +  linksUm(1); 
 +  vor(3); 
 +  linksUm(3); 
 +  vor(7); 
 +  linksUm(3); 
 +  vor(3); 
 +  nimm(); 
 +
 + 
 +void vor(int anzahl) { 
 +  while (anzahl > 0) { 
 +    vor(); 
 +    anzahl = anzahl - 1; 
 +  } 
 +
 + 
 +void linksUm(int anzahl) { 
 +  while (anzahl > 0) { 
 +    linksUm(); 
 +    anzahl = anzahl - 1; 
 +  } 
 +
 +</code> 
 +</tabbox> 
 +===== Aufgabe 3: Übungsaufgaben ===== 
 + 
 +Diese Konzepte findet ihr auch im Hamster-eBook in [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=287|Kapitel 15 auf S. 276]] und [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=309|Kapitel 16 auf S. 297]] 
 + 
 +  - Bearbeitet das Beispielprogramm 3 ab [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=300|S. 288]] 
 +  - Bearbeitet das Beispielprogramm 3 auf [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=327|S. 315]] 
 +  - Bearbeitet mindestens **eine** der Übungsaufgaben ab [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=330|S. 318]] 
 +  - Bearbeitet mindestens **eine** der Übungsaufgaben ab [[https://www.java-hamster-modell.de/eBooks/hamster1.pdf#page=303|S. 291]]
  
 Speichert die Programme und die Territorien sowie eure Notizen auf eurem Stick nach dem Schema __Lektion8_Beispiel2__ bzw. __Lektion8_Uebung5__ ab! Speichert die Programme und die Territorien sowie eure Notizen auf eurem Stick nach dem Schema __Lektion8_Beispiel2__ bzw. __Lektion8_Uebung5__ ab!
  
info/sek-ii/e2/java-grundlagen/l8-funktionen.1589102945.txt.gz · Zuletzt geändert: 2020-05-10 11:29 von christian.weber