
"Verschachtelte ""If else""-Anweisungen"

Upgrade für mehr Inhalte
True or false? When there is more than one condition to be tested, you can use nested statements.
Lina hat ihrem Roboter beigebracht, Maria oder Leon Pralinen zu geben. Der Roboter nimmt eine Praline. Sie ist aus Vollmilch und die Bedingung "Vollmilchschokolade" ist erfüllt. Der Roboter gibt Maria die Praline. Aber Maria möchte sie nicht, obwohl es Vollmilchschokolade ist.
Ich bin auf Nüsse allergisch. Wenn also Nüsse in der Praline sind, kann ich diese nicht essen. Lina muss also dem Roboter neue Anweisungen geben: wenn es Vollmilchschokolade ist und wenn sie Nüsse enthält, dann soll der Roboter die Praline Maria nicht geben. Was machen wir jetzt mit der Praline? Leon mag nur dunkle Schokolade.
Lege sie einfach zurück in die Schachtel. Wenn der Roboter eine Praline nimmt, schaut er, ob sie aus Vollmilch ist. Aber das reicht nicht mehr, weil Maria auf Nüsse allergisch ist. Wenn es Vollmilchschokolade ist, soll der Roboter schauen, ob auch Nüsse drin sind. Es entsteht eine Wenn-Anweisung innerhalb einer Wenn-Anweisung.
Wenn die Bedingung "Es sind Nüsse drin" auch erfüllt ist, legt der Roboter die Praline zurück in die Schachtel. Ansonsten gibt der Roboter Maria die Praline. Aber wenn die Bedingung "Vollmilchschokolade" nicht erfüllt ist, muss es dunkle Schokolade sein, die Leon mag. Die Anweisung an den Roboter muss also "Gib Leon die Praline" lauten. Testen wir den Pseudocode.
Der Roboter nimmt eine Praline und sie ist aus Vollmilch. Die erste Bedingung lautet "Vollmilchschokolade" und ist erfüllt. Die nächste Bedingung, die geprüft wird, lautet "Nüsse". Ist die Bedingung erfüllt oder nicht? Der Roboter schaut sehr genau hin und sieht, dass in dieser Praline Nüsse sind.
Die Bedingung ist erfüllt. Deshalb befolgt der Roboter die Anweisung und legt die Praline zurück. Die restlichen Anweisungen werden nur ausgeführt, wenn die Bedingung "Vollmilchschokolade" nicht erfüllt ist oder wenn "Vollmilchschokolade" erfüllt ist und "Nüsse" nicht. Das Programm ist beendet, wenn der Roboter die Praline zurücklegt. Starten wir das Programm noch mal, um es mit einer neuen Praline auszuprobieren.
Diesmal ist es wieder "Vollmilchschokolade". Die erste Bedingung ist also erfüllt. Das nächste, was der Roboter überprüft, ist, ob "Nüsse" drin sind. Es sind keine Nüsse drin, die zweite Bedingung ist nicht erfüllt. Das führt zu der Anweisung "Ansonsten" "Gib die Maria Praline".
Und das Programm ist zu Ende. Lina hat eine Wenn-Anweisung innerhalb einer anderen Wenn-Anweisung geschrieben. Das nennt man eine verschachtelte Wenn-Anweisung. Mit verschachtelten Wenn-Anweisungen kann der Roboter entscheiden, ob es Vollmilch- oder dunkle Schokolade ist und ob die Vollmilchschokolade Nüsse enthält. Jetzt kann Maria ihre Praline genießen, ohne sich Sorgen zu machen, dass Nüsse drin sein könnten.