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