Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
schule:klassen:2019:10abc:zustandsdiagramme1 [2020/01/16 20:40] – [Aufgabe 7:] martinschule:klassen:2019:10abc:zustandsdiagramme1 [2020/01/16 20:57] – [Aufgabe 8:] martin
Zeile 177: Zeile 177:
 </code> </code>
  
 +
 +===== 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 "bezahlt" befinden, wenn insgesamt **genau** 2 € eingeworfen wurden.
 +  - Zeichne ein Zustandsdiagramm!
 +  - Programmiere eine Klasse ''Automat'' mit den Methoden ''fünzigCentEinwerfen'' und ''einEuroEinwerfen'', die den Automaten abbildet und nach jedem Methodenaufruf ausgibt, in welchem Zustand sie sich befindet und ob insgesamt genau 2 € eingeworfen wurden.
 +
 +{{:schule:klassen:2019:10abc:pasted:20200116-205349.png}}
 +
 +<code java>
 +Automat a = new Automat();
 +a.einEuroEinwerfen();
 +a.fünfzigCentEinwerfen();
 +a.fünfzigCentEinwerfen();
 +a.fünfzigCentEinwerfen();
 +
 +public class Automat {
 +   
 +   int zustand = 0;
 +
 +   public void fünfzigCentEinwerfen() {
 +      if(zustand < 4) {
 +         zustand++;
 +      } else {
 +         zustand = 5;
 +      }
 +      ausgabe();
 +   }
 +
 +   public void einEuroEinwerfen() {
 +      if(zustand < 4) {
 +         zustand = zustand + 2;
 +      } else {
 +         zustand = 5;
 +      }
 +      ausgabe();
 +   }
 +
 +   public void ausgabe() {
 +      println("Zustand: " + zustand);
 +      if(zustand == 4) {
 +         println("Exakt bezahlt!");
 +      }
 +   }
 +}
 +</code>
Drucken/exportieren
QR-Code
QR-Code schule:klassen:2019:10abc:zustandsdiagramme1 (erstellt für aktuelle Seite)