Pascalinischer Sumpf
Einleitung zur Aufgabe: Man weiß, dass nur die Asis manuseln und gleichzeitig einen Knelt haben. Hat jemand keinen Knelt und nopelt, dann ist er gewiss ein Bela. Ein Bewohner mit Knelt, der nicht manuselt, ist ein Cedi, wenn er immer nopelt. Wer keinen Knelt hat und Ioepst, nie nopelt und stets manuselt, ist ebenfalls ein Cedi; würde er nicht manuseln, wäre er aber ein Drudi.
Es ist geradezu typisch für Drudis, dass sie weder manuseln noch nopeln, wenn sie einen ordentlichen Knelt haben. Es gibt auch ganz enthaltsame Bewohner, die keinen Knelt haben, nicht löpsen und nicht nopeln. Sie sind Drudis, wenn sie manuseln, und Cedis, wenn sie nicht manuseln.
Arbeitsauftrag: Erstellen Sie ein Programm, dass die vier Eigenschaften eines Sumpfbewohners erfragt (Antwort J/N) und eine Antwort darauf liefert, um welchen Stammesangehörigen es sich handelt!
Beschreibung: Einführung in die multiple Fallunterscheidung. Dem User werden 4 Eigenschaften fiktiver Lebewesen abgefragt, ob diese für sie zutrifft. bei 4 Abfragen mit je 2 Möglichkeiten (ja, nein) ergeben sich 2 hoch 4 verschiedene Möglichkeiten für eine Antwort.
program Pascalsumpf;
uses Wincrt;
var manusel, knelt, nopeln, loepsen: boolean;
var antwort: integer;
begin
write ('Herzlich Willkommen in den dunklen Sümpfen des Königreiches Pascal');
writeln ('Sie haben den automatischen Artenabfrager aller uns bekannten Arten aufgerufen.');
writeln ('Wir fragen Sie jetzt nach 4 typischen und weltbekannten Attributen der Bewohner.');
(*Abfrage 1 Manusel*)
writeln ('Manuselt das Lebewesen? Ja oder Nein? geben sie bitte 1 für ja und 0 für nein ein.');
read (antwort);
if antwort = 1 then manusel := true;
(*Abfrage 2 Knelt*)
writeln ('Hat das Lebewesen einen Knelt? 1 für ja und 0 für nein.');
read (antwort);
if antwort = 1 then knelt := true;
(*Abfrage 3 nopeln*)
writeln ('Nopelt das von ihnen gesichtete Wesen? 1 für ja und 0 für nein.');
read (antwort);
if antwort = 1 then nopeln := true;
(*Abfrage 4 löspeln*)
writeln ('Nun zur letzten Frage: loepst das Wesen? 1 für ja und 0 für nein.');
read (antwort);
if antwort = 1 then loepsen := true;
(*Abfrage der Attrubute, ob das Wesen letztendlich existiert oder nicht*)
if (manusel = true) and (knelt = true) and (not loepsen) and (not nopeln) then
writeln ('Sie haben ein fabelhaftes Asis entdeckt. Ein recht häufiges Wesen im Sumpf.')
else
if (not knelt) and (not nopeln) and (loepsen = true or false) then
writeln ('Ahhhh, ein Bela. Fabelhafte Tiere. Sie haben Glück, denn diese Wesen sind selten.')
else
if (not manusel) and (knelt = true) and (nopeln = true) and (loepsen = true or false) then
writeln ('Sie haben ein Cedi entdeckt. Achtung, das ist ein gefährliches Wesen. Ein Glück, dass Sie noch leben.')
else
if (manusel = true) and (not knelt) and (not nopeln) and (loepsen = true) then
writeln ('Sie haben ein Cedi entdeckt. Achtung, das ist ein gefährliches Wesen. Ein Glück, dass Sie noch leben.')
else
if (not manusel) and (not knelt) and (not nopeln) and (loepsen = true) then
writeln ('Ein Drudi! Diese Wesen sind heilige Tiere. Sie helfen jedem Lebewesen mit der Kraft der Naturkräuter.')
else
if (not manusel) and (knelt = true) and (not nopeln) and (loepsen = true or false) then
writeln ('Ein Drudi! Diese Wesen sind heilige Tiere. Sie helfen jedem Lebewesen mit der Kraft der Naturkräuter.')
else
if (not manusel) and (not knelt) and (not nopeln) and (not loepsen) then
writeln ('Sie haben ein fabelhaftes Asis entdeckt. Ein recht häufiges Wesen im Sumpf.')
else
writeln ('Entweder haben Sie ein Fehler bei der Abfrage gemacht, oder Sie haben soeben ein neues Wesen entdeckt!');
readkey;
end.
Eigene Homepage, kostenlos erstellt mit Web-Gear
Verantwortlich für den Inhalt dieser Seite ist ausschließlich der Autor dieser Webseite. Verstoß anzeigen