Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
schule:klassen:2019:10abc:zustandsdiagramme1 [2020/01/05 21:29] – [Aufgabe 6:] martin | schule:klassen:2019:10abc:zustandsdiagramme1 [2020/01/21 12:22] – [Aufgabe 5:] martin | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
===== Aufgabe 1: ===== | ===== Aufgabe 1: ===== | ||
Wasser kann drei Aggregatszustände annehmen. Zeichne ein Zustandsdiagramm! | Wasser kann drei Aggregatszustände annehmen. Zeichne ein Zustandsdiagramm! | ||
- | {{: | ||
===== Aufgabe 2: ===== | ===== Aufgabe 2: ===== | ||
Eine Lampe besitzt einen Stecker zum Einstecken in die Steckdose sowie einen Taster zum Ein- und Ausschalten. Erstelle ein Zustandsdiagramm! | Eine Lampe besitzt einen Stecker zum Einstecken in die Steckdose sowie einen Taster zum Ein- und Ausschalten. Erstelle ein Zustandsdiagramm! | ||
| | ||
- | {{ : | ||
===== Aufgabe 3: ===== | ===== Aufgabe 3: ===== | ||
Zeile 14: | Zeile 12: | ||
===== Aufgabe 4: ===== | ===== Aufgabe 4: ===== | ||
- | Eine Maschine besitzt zwei Tasten a und b, mit denen man Wörter eingeben kann, sowie eine Lampe, die rot, blau, gelb oder grün leuchtet. Unten siehst Du das Zustandsdiagramm der Maschine.Erkläre, | + | Eine Maschine besitzt zwei Tasten a und b, mit denen man Wörter eingeben kann, sowie eine Lampe, die rot, blau, gelb oder grün leuchtet. Unten siehst Du das Zustandsdiagramm der Maschine. |
{{ : | {{ : | ||
Zeile 20: | Zeile 18: | ||
Zeichne das Zustandsdiagramm einer Maschine wie bei Aufgabe 4, deren Licht genau dann grün leuchtet, wenn das Wort mit einer geraden Anzahl von a‘s endet. | Zeichne das Zustandsdiagramm einer Maschine wie bei Aufgabe 4, deren Licht genau dann grün leuchtet, wenn das Wort mit einer geraden Anzahl von a‘s endet. | ||
\\ | \\ | ||
- | Programmiere eine Klasse mit den Methoden aEingeben() und bEingeben(), | + | {{: |
+ | \\ | ||
+ | Programmiere eine Klasse mit den Methoden aEingeben() und bEingeben(), | ||
+ | <code java> | ||
+ | // Nur zum Testen: | ||
+ | ZweiAErkenner zae = new ZweiAErkenner(); | ||
+ | |||
+ | zae.aEingeben(); | ||
+ | zae.aEingeben(); | ||
+ | zae.bEingeben(); | ||
+ | zae.aEingeben(); | ||
+ | zae.aEingeben(); | ||
+ | zae.aEingeben(); | ||
+ | zae.aEingeben(); | ||
+ | zae.bEingeben(); | ||
+ | |||
+ | // Hier die Klasse: | ||
+ | class ZweiAErkenner { | ||
+ | |||
+ | int zustand = 1; | ||
+ | |||
+ | | ||
+ | if(zustand == 3) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | ausgabe(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | zustand = 1; | ||
+ | ausgabe(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | println(" | ||
+ | if(zustand == 3){ | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
===== Aufgabe 6: ===== | ===== Aufgabe 6: ===== | ||
Zeichne das Zustandsdiagramm einer Maschine mit zwei Tasten 1 und 2, mit Hilfe derer man beliebige Dezimalzahlen eingeben kann, die nur die Ziffern 1 und 2 besitzen. Die Maschine soll einen Zustand „teilbar durch 3“ besitzen, der genau dann erreicht wird, wenn die entstandene Dezimalzahl durch 3 teilbar ist. | Zeichne das Zustandsdiagramm einer Maschine mit zwei Tasten 1 und 2, mit Hilfe derer man beliebige Dezimalzahlen eingeben kann, die nur die Ziffern 1 und 2 besitzen. Die Maschine soll einen Zustand „teilbar durch 3“ besitzen, der genau dann erreicht wird, wenn die entstandene Dezimalzahl durch 3 teilbar ist. | ||
Zeile 27: | Zeile 74: | ||
\\ **Bem.:** Ist noch nichts eingegeben, so ist dies als 0 zu werten und damit auch durch 3 teilbar. | \\ **Bem.:** Ist noch nichts eingegeben, so ist dies als 0 zu werten und damit auch durch 3 teilbar. | ||
+ | {{: | ||
+ | |||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | **Erklärung der Lösung:** \\ | ||
+ | Eine Zahl ist genau dann durch drei teilbar, wenn ihre Quersumme durch 3 teilbar ist. Im Zustand "durch drei teilbar" | ||
+ | </ | ||
+ | |||
+ | |||
+ | Programmiere eine Klasse mit den Methoden einsEingeben() und zweiEingeben(), | ||
+ | |||
+ | <code java> | ||
+ | DreiErkenner de = new DreiErkenner(); | ||
+ | de.einsEingeben(); | ||
+ | de.zweiEingeben(); | ||
+ | de.einsEingeben(); | ||
+ | |||
+ | |||
+ | |||
+ | public class DreiErkenner { | ||
+ | |||
+ | int zustand = 1; | ||
+ | |||
+ | | ||
+ | if(zustand == 3) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | ausgabe(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(zustand == 1) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | ausgabe(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | println(" | ||
+ | if(zustand == 1) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | ===== Aufgabe 7: ===== | ||
+ | Eine Maschine besitzt zwei Tasten a und b. Sie soll sich genau dann im Zustand " | ||
+ | - Zeichne das Zustandsdiagramm! \\ | ||
+ | - Programmiere eine Klasse mit den Methoden aEingeben() und bEingeben(), | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code java> | ||
+ | Aufgabe7 ag7 = new Aufgabe7(); | ||
+ | ag7.aEingeben(); | ||
+ | ag7.aEingeben(); | ||
+ | ag7.bEingeben(); | ||
+ | |||
+ | |||
+ | public class Aufgabe7 { | ||
+ | |||
+ | int zustand = 1; | ||
+ | |||
+ | | ||
+ | | ||
+ | if(zustand != 4) { // Bemerkung: != bedeutet " | ||
+ | | ||
+ | } | ||
+ | |||
+ | ausgabe(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | if(zustand == 2) { | ||
+ | | ||
+ | } else if(zustand == 1) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | ausgabe(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | println(" | ||
+ | if(zustand == 3) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Aufgabe 8: ===== | ||
+ | Ein Getränkeautomat gestattet nur den Einwurf von 50 ct-Münzen und 1 €-Münzen. Er soll sich genau dann im Zustand " | ||
+ | - Zeichne ein Zustandsdiagramm! | ||
+ | - Programmiere eine Klasse '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code java> | ||
+ | Automat a = new Automat(); | ||
+ | a.einEuroEinwerfen(); | ||
+ | a.fünfzigCentEinwerfen(); | ||
+ | a.fünfzigCentEinwerfen(); | ||
+ | a.fünfzigCentEinwerfen(); | ||
+ | |||
+ | public class Automat { | ||
+ | |||
+ | int zustand = 0; | ||
+ | |||
+ | | ||
+ | if(zustand < 4) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | ausgabe(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(zustand < 4) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | ausgabe(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | println(" | ||
+ | if(zustand == 4) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ |