Kurs 20026 Programmierungs-Konzepte

Einsendeaufgaben zu Lerneinheit 2

 

Aufgabe 1 (8 Punkte)

Geben Sie bitte zum Frühstück-Beispiel mindestens je 1 sequenziellen und 1 nichtsequenziellen Prozess an, der jeweils alle Aktionen der vier Aktivitäten berücksichtigt und deckungsgleich mit der u. a. Abbildung ist.

Aufgabe 2 (12 Punkte)

Entwickeln Sie bitte ein Java-Programm bestehend aus den beiden nebenläufigen Aktivitäten 'leseBuchstabe' und 'buchstabenFolgenAusgeben' mit folgende Funktionalität:

  • Die Aktivität leseBuchstabe wartet auf die Eingabe eines Buchstaben über die Tastatur
  • Die Aktivität buchstabenFolgenAusgeben gibt alle Buchstaben des Alphabets bis hin zum letzten, von der Aktivität 'leseBuchstaben' eingelesenen Buchstabe aus.
  • Die Aktivität 'leseBuchstabe' wartet solange, bis alle Buchstaben ausgegeben wurden und fragt unmittelbar nach der Ausgabe des letzten Buchstabens nach einen neuen Endbuchstaben.
  • Die Aktivität 'buchstabenFolgenAusgeben' wartet zwischen der Ausgabe jedes Buchstabens eine Sekunde, bevor der nächste Buchstabe ausgegeben wird.
  • Nach fünfmaliger Tastatureingabe endet das Programm.

 

Aufgabe 3 (4 Punkte)

a) Benennen Sie je zwei Vor- und Nachteile der nichtsequenziellen Programmierung. (2 Punkte)

b) Warum sollten die Methoden Thread.stop(), Thread.suspend() und Thread.resume() nicht aufgerufen werden? Wie kann man die Funktionalität der genannten Methoden erlangen, ohne die o. a. Methoden zu benutzen? (2 Punkte)