states:zut_to_java:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
states:zut_to_java:start [2021/01/17 17:12] – [Aufgabe 3: Mikrowellenherd] Martin Pabst | states:zut_to_java:start [2021/01/30 22:16] – [Aufgabe 4: Stoppuhr mit Zehntelsekundenanzeige und Zwischenzeitmessung] Martin Pabst | ||
---|---|---|---|
Zeile 270: | Zeile 270: | ||
</ | </ | ||
\\ \\ | \\ \\ | ||
- | [[.stoppuhr_java: | + | [[.stoppuhr_java: |
- | + | ||
- | <WRAP center round tip 60%> | + | |
- | Wie man die Uhr zum Laufen bringt, zeige ich Euch auch noch. Versprochen! | + | |
- | </ | + | |
===== Aufgabe 3: Mikrowellenherd ===== | ===== Aufgabe 3: Mikrowellenherd ===== | ||
Ein Mikrowellenherd besitzt eine Tür zum Öffnen und Schließen sowie einen Schalter zum Ein- und Ausschalten. Der Mikrowellenherd lässt sich bei geöffneter Türe nicht einschalten, | Ein Mikrowellenherd besitzt eine Tür zum Öffnen und Schließen sowie einen Schalter zum Ein- und Ausschalten. Der Mikrowellenherd lässt sich bei geöffneter Türe nicht einschalten, | ||
- | {{ : | ||
**Tipps:** | **Tipps:** | ||
* Jeder Zustand des Mikrowellenherds umfasst sowohl den Zustand der Tür als auch die Information darüber, ob die Mikrowelle ein- oder ausgeschaltet ist. Der erste Zustand ist z.B. " | * Jeder Zustand des Mikrowellenherds umfasst sowohl den Zustand der Tür als auch die Information darüber, ob die Mikrowelle ein- oder ausgeschaltet ist. Der erste Zustand ist z.B. " | ||
- | * Auf die Pfeile des Zustandsübergangsdiagramms kann man hinter die auslösende Aktion auch noch eine Bedingung (die Voraussetzung für den Übergang ist) sowie eine ausgelöste Aktion schreiben. Letzteres ist bei dieser Aufgabe an einer Stelle sinnvoll. \\ //(Am Beispiel des Buches einer Bibliothek könnte das etwa so aussehen wie im Bild rechts.)// | + | * Auf die Pfeile des Zustandsübergangsdiagramms kann man hinter die auslösende Aktion auch noch eine **Bedingung** (die Voraussetzung für den Übergang ist) sowie eine **ausgelöste Aktion** schreiben. Letzteres ist bei dieser Aufgabe an einer Stelle sinnvoll. \\ //(Am Beispiel des Buches einer Bibliothek könnte das etwa so aussehen wie im nachfolgenden |
+ | {{ : | ||
+ | |||
+ | [[.mikrowelle: | ||
+ | |||
+ | ===== Stoppuhr mit Zeitanzeige und Tastatursteuerung! ===== | ||
+ | |||
+ | {{ youtube> | ||
+ | |||
+ | < | ||
+ | <div class=" | ||
+ | <script type=" | ||
+ | Stoppuhr s = new Stoppuhr(); | ||
+ | |||
+ | class Stoppuhr extends Actor { | ||
+ | |||
+ | int zustand; | ||
+ | |||
+ | int zähler = 0; | ||
+ | int sekunden = 0; | ||
+ | |||
+ | Text ausgabe; | ||
+ | |||
+ | | ||
+ | |||
+ | super(); | ||
+ | |||
+ | println(" | ||
+ | |||
+ | zustand = 1; | ||
+ | ausgabe = new Text(400, 300, 64, "" | ||
+ | ausgabe.setAlignment(Alignment.center); | ||
+ | |||
+ | zeitausgeben(); | ||
+ | |||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(key == " | ||
+ | | ||
+ | } | ||
+ | if(key == " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(zustand == 2) { | ||
+ | | ||
+ | | ||
+ | zähler = 0; | ||
+ | sekunden++; | ||
+ | zeitausgeben(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void zeitausgeben() { | ||
+ | ausgabe.setText(sekunden); | ||
+ | |||
+ | } | ||
+ | |||
+ | void tasteSDrücken() { | ||
+ | if(zustand < 3) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | void tasteRDrücken() { | ||
+ | zustand = 1; | ||
+ | sekunden = 0; | ||
+ | zeitausgeben(); | ||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | void schreibeZustand() { | ||
+ | if(zustand == 1) { | ||
+ | | ||
+ | } else if(zustand == 2) { | ||
+ | | ||
+ | } else if(zustand == 3) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Aufgabe 4: Stoppuhr mit Zehntelsekundenanzeige und Zwischenzeitmessung ===== | ||
+ | Jetzt bist Du dran! Erweitere das Stoppuhr-Programm folgendermaßen: | ||
+ | * Die Stoppuhr soll die verstrichene Zeit in Sekunden und Zehntelsekunden anzeigen. Die Anzeige 16:8 bedeutet also z.B. 16 s und 8 Zehntelsekunden. | ||
+ | * Die Stoppuhr soll über eine Funktion zur Zwischenzeitanzeige verfügen, die mit der Taste z bedient wird. Details dazu kannst Du [[: | ||
+ | |||
+ | Damit Du möglichst gut zurechtkommst, | ||
+ | |||
+ | - Benenne das Attribut '' | ||
+ | - Ändere die Methode '' | ||
+ | - Ändere die Methode '' | ||
+ | - Teste Dein Programm! | ||
+ | - Schau' Dir das [[: | ||
+ | - Schreibe die Methode '' | ||
+ | - Obwohl auf den blauen Pfeilen auch vom Drücken der Tasten s und r die Rede ist, müssen die Methoden '' | ||
+ | - Teste Dein Programm abermals! | ||
+ | - Erweitere die Methode '' | ||
+ | - Erweitere die Methode '' | ||
+ | - Teste Dein Programm! | ||
+ | - Mach einen Rechtsklick auf den Dateinamen Deines Programms und wähle im Kontextmenü "Als Hausaufgabe markieren" | ||
+ | - Fertig! | ||
- | [[.mikrowelle:loesung: | + | [[.zehntelsekundenloesung:start|Hier geht's zur Lösung |
states/zut_to_java/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1