Benutzer-Werkzeuge

Webseiten-Werkzeuge


ablaufstrukturen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ablaufstrukturen:start [2025/02/19 06:51] – [3. Die bedingte Wiederholung] Martin Pabstablaufstrukturen:start [2025/04/02 06:39] (aktuell) – [Aufgabe 6] Martin Pabst
Zeile 84: Zeile 84:
 {{ :ablaufstrukturen:pasted:20250219-065046.png?200}} {{ :ablaufstrukturen:pasted:20250219-065046.png?200}}
 Vor Karol steht ein Stapel Ziegel. Schreibe ein Programm, das Karol dazu bringt, den Stapel Ziegel abzubauen und das bei jeder möglichen Stapelhöhe funktioniert! Vor Karol steht ein Stapel Ziegel. Schreibe ein Programm, das Karol dazu bringt, den Stapel Ziegel abzubauen und das bei jeder möglichen Stapelhöhe funktioniert!
 +</WRAP>
 +
 +<WRAP center round info 80%>
 +**Lösung:**
 +{{ :ablaufstrukturen:pasted:20250219-065253.png?300 }}
 +Eine Bedingung (anderes Fachwort: eine Aussage) ist ein Term, der nur die Werte **wahr** oder **falsch** haben kann. \\ \\ 
 +**Beispiele:** 
 +  * In Ingolstadt scheint die Sonne. 
 +  * $3\cdot x<10$
 +  * Das Christoph-Scheiner-Gymnasium hat 950 Schüler/-innen.
 +
 +In Robot Karol gibt es folgende Bedingungen:
 +  * **IstWand** hat genau dann den Wert wahr, wenn Karol unmittelbar **vor** einer Wand steht.
 +  * **IstZiegel** hat genau dann den Wert wahr, wenn auf dem Feld unmittelbar **vor** Karol mindestens ein Ziegel liegt.
 +  * **IstMarke** hat genau dann den Wert wahr, wenn Karol auf einer Marke steht.
 +  * **NichtIstWand** hat genau dann den Wert wahr, wenn **IstWand** den Wert falsch hat.
 +  * **NichtIstZiegel** hat genau dann den Wert wahr, wenn **IstZiegel** den Wert falsch hat.
 +  * **NichtIstMarke** hat genau dann den Wert wahr, wenn **IstMarke** den Wert falsch hat.
 +</WRAP>
 +
 +===== Aufgabe 3 =====
 +<WRAP center round todo 80%>
 +Karol soll (unabhängig davon, wo er gerade steht) geradeaus bis zur nächsten Wand laufen und dort einen Turm der Höhe 3 bauen:
 +{{ :ablaufstrukturen:pasted:20250219-070523.png?500 }}
 +</WRAP>
 +[[.aufgab3:loesung|Lösung]]
 +
 +===== Aufgabe 4 =====
 +<WRAP center round todo 60%>
 +Vor Karol steht ein Ziegelstapel **unbekannter Höhe**. Karol soll den Ziegelstapel ein Feld nach rechts versetzen, also:
 +{{ :ablaufstrukturen:pasted:20250219-070906.png?500 }}
 +Erstelle **schriftlich auf Papier** ein geeignetes Programm und zeichne das dazugehörige Struktogramm!
 +</WRAP>
 +[[.aufgabe5:loesung|Lösung]]
 +
 +===== Aufgabe 5 =====
 +<WRAP center round todo 60%>
 +Karol steht zwischen zwei Ziegelstapeln. Er soll beide Stapel nacheinander abbauen. Das Programm soll immer funktionieren, egal wie hoch die Stapel sind und wie weit sie auseinander stehen.
 +Erstelle **schriftlich auf Papier** ein geeignetes Programm und zeichne das dazugehörige Struktogramm!
 +{{ :ablaufstrukturen:pasted:20250226-073800.png?300 }}
 +</WRAP>
 +
 +===== Aufgabe 6 =====
 +<WRAP center round todo 60%>
 +Karol steht etwas entfernt zu einer Wand mit Blick hin zur Wand.
 +Erstelle ein Programm, das bewirkt, dass Karol eine Treppe bis zur Wand baut. Das Programm soll immer funktionieren, egal wie weit Karol ursprünglich von der Wand entfernt war. \\ 
 +Erstelle auch ein Struktogramm!
 +{{ :ablaufstrukturen:pasted:20250402-062059.png }}
 +{{ :ablaufstrukturen:pasted:20250402-062124.png }}
 +</WRAP>
 +[[.treppeloesung:start|Lösung]]
 +
 +====== Die bedingte Anweisung ======
 +<WRAP center round todo 60%>
 +{{ :ablaufstrukturen:pasted:20250402-062634.png?150}}
 +Vor Karol steht eine unterbrochene Reihe mit Ziegeln. Er soll auf jeden Ziegel eine Marke legen.
 +Wir müssen ihm auftragen: \\ 
 +**Wenn** vor Dir ein Ziegel liegt \\ 
 +**dann** gehe einen Schritt vorwärts und lege eine Marke.
 +**ansonsten** gehe einen Schritt vorwärts.
 +</WRAP>
 +
 +===== Lösung: =====
 +<code>
 +wiederhole solange NichtIstWand
 +  wenn IstZiegel dann
 +    schritt
 +    markeSetzen
 +  sonst
 +    schritt
 +  *wenn
 +*wiederhole
 +</code>
 +Das Struktogramm dazu sieht so aus:
 +{{ :ablaufstrukturen:pasted:20250402-062935.png?400 }}
 +<WRAP center round info 60%>
 +Die bedingte Anweisung wird 
 +verwendet, um abhängig von einer 
 +Bedingung zwei verschiedene Sequenzen 
 +auszuführen. Sie hat die Form
 +{{ :ablaufstrukturen:pasted:20250402-063048.png?400 }}
 +</WRAP>
 +===== Aufgabe 5 =====
 +<WRAP center round todo 60%>
 +{{ :ablaufstrukturen:pasted:20250402-063357.png?200}}
 +Karol steht ein Stück von einer Wand entfernt und blickt zur Wand hin. Er soll bis zur Wand eine unterbrochene Reihe mit Ziegeln legen, wie im Bild dargestellt. \\ 
 +Erstelle ein geeignetes Programm und zeichne das Struktogramm. \\ 
 +**Wichtig:** Das Programm darf nicht mit einem Laufzeitfehler enden!
 +</WRAP>
 +[[.unterbrochen:start|Lösung]]
 +
 +===== Aufgabe 6 =====
 +<WRAP center round todo 60%>
 +{{:ablaufstrukturen:pasted:20250402-063806.png?300}}
 +Karol steht in einer Ecke des Raums. Rechts von ihm und hinter ihm ist je eine Wand (siehe Bild). Schreibe ein Programm, das bewirkt, dass Karol den ganzen Raum voller Ziegel legt, egal, wie groß der Raum ist!
 +\\ Zeichne auch ein Struktogramm!
 </WRAP> </WRAP>
  
ablaufstrukturen/start.1739947862.txt.gz · Zuletzt geändert: 2025/02/19 06:51 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki