i

Übungen

Aufgabe 1

Wenn man einen Ball fallen lässt, dann springt dieser in der Regel mehrere Male wieder vom Boden hoch, bevor er schließlich liegen bleibt. Wir entwickeln nun schrittweise ein Programm, mit dem man einen hüpfenden Ball simulieren kann.

Hüpfender Ball

(a) Betrachte das gezeigte Programm und versuche zu verstehen, was der Ball tut. Gib das Programm ein und führe es aus. Überprüfe Deine Vermutung. Warum verhält sich der Ball unrealistisch?

Programmgerüst

Startprogramm: ball-fallen.sb3

(b) Ändere das Programm so ab, dass die Fallgeschwindigkeit des Balls anfangs 0 ist und der Ball dann beim Fallen (mit jedem Schleifendurchlauf) gleichmäßig schneller wird.

(c) Der Ball soll jetzt wieder vom Boden hochhüpfen. Erweitere dein Programm aus Aufgabe (b) so, dass der Ball nach Berührung des grünen Bodens wieder hochspringt. Ändere dazu das Vorzeichen der Geschwindigkeit, die der Ball beim Aufprall hatte. Ingesamt soll der Ball 10-mal hüpfen, bevor das Programm endet.

(d) Das Hüpfen des Balls wirkt immer noch unnatürlich. Multipliziere die Abprallgeschwindigkeit am Boden mit dem Faktor 0.9. Wie wirkt sich das vermutlich auf die Ballbewegung aus? Experimentiere auch mit mehreren anderen Zahlenwerten als 0.9. Gibt es dabei unerwartete Verhaltensweisen des Balls?

(e) Manchmal klebt der Ball regelrecht am Boden fest, statt wieder in die Luft zu springen. Versuche das Programm aus Aufgabe (d) so zu erweitern, dass der Ball immer wieder schön in die Luft springt.

(f) Der Ball soll nicht nur auf und ab hüpfen, sondern dabei auch gleichmäßig mit konstanter Geschwindigkeit nach rechts wandern. Erweitere das Programm entsprechend.

Aufgabe 2

Champ ist ein bekannter Quizmaster in den USA. Er moderiert dort jeden Abend eine viel beachtete Show mit dem Namen „Guess da namba“ - zu deutsch: „Rate die Zahl“. Der Showmaster denkt sich eine Zahl zwischen 1 und 100 aus und der Kandidat soll mit möglichst wenigen Versuchen die Zahl erraten. Nach jedem Tipp erhält der Kandidat vom Quizmaster die Information, ob die zu erratende Zahl größer oder kleiner als der genannte Vorschlag ist. Am Ende der Spielrunde bekommt der Kandidat noch die Information, wie viele Versuche er gebraucht hat, um die Zahl zu erraten. Überlege Dir zunächst eine gute Strategie, um bei dem Spiel eine gute Gewinnchance zu haben!

Mr. Roundman

(a) Bisher haben wir in Scratch noch keine Eingaben über die Tastatur vom Benutzer ausgewertet. Diese verbergen sich unter "Fühlen" ? "Frage [XYZ] und warte". Daraufhin erscheint dann bei der Ausführung des Programms am unteren Rand der Bühne ein Eingabefeld. Sobald die Eingabe abgeschlossen ist, steht sie in der Variablen "Antwort" zur Verfügung, die Du ebenfalls im Bereich "Fühlen" finden kannst.
Baue die Bühne mit Champ in Scratch nach.
Champ soll nun den Computeranwender begrüßen! Zunächst frag er: „Wie heißt Du?“, woraufhin der Anwender seinen Namen eingibt. Danach soll Champ sagen: „Hallo XY, ich hoffe, es geht Dir gut!“

(b) Das ganze funktioniert natürlich auch mit Zahlen. Der Benutzer soll auf Verlangen zwei Zahlen eingeben und dann die Summe von Champ ausgeben lassen. Hinweis: Der erste Summand muss in einer weiteren Variablen gespeichert werden.

(c) Programmiere nun das Ratespiel, wie es im oben angegebenen Infotext beschrieben ist!

(d) Der Kandidat hat die Möglichkeit maximal 100.000$ zu gewinnen, falls er die Zahl beim ersten Versuch errät. Bei jedem weiteren Rateversuch verringert sich die Gewinnsumme um 5000$. Berechne den erreichten Gewinn des Spielers nach erfolgreicher Raterunde und lass ihn ebenfalls von Champ ansagen! Hinweis: Überlege Dir zunächst, nach welcher Formel der Gewinn berechnet werden muss!

Suche

v
6.2.7.5
dev.inf-schule.de/imperative-programmierung/scratch/wertzuweisungen/uebungen
dev.inf-schule.de/6.2.7.5
dev.inf-schule.de/@/page/KT0veNVqx6GJb0xd

Rückmeldung geben