home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 05 / gewicht.mod < prev    next >
Encoding:
Text File  |  1987-04-15  |  3.6 KB  |  140 lines

  1. (*
  2. Title   : Gewicht (Uebungsprogram fuer PASCAL-Magazin)
  3. LastEdit: 1.12.86.
  4. Author  : Joerg BEYER, Tuebingen
  5. System  : LOGITECH MODULA-2/86
  6. *)
  7.  
  8. MODULE Gewicht;
  9.  
  10. FROM InOut   IMPORT WriteString,
  11.                     WriteLn;
  12. FROM Einfach IMPORT Eingabe,
  13.                     Ausgabe,
  14.                     FrageJaNein,
  15.                     ClrScr;
  16.  
  17. TYPE
  18.      STRING     = ARRAY [0 .. 79] OF CHAR;
  19.  
  20. VAR
  21.     KG,
  22.     CM,
  23.     Bereich     : CARDINAL;
  24.     Nachricht   : ARRAY [0 .. 10] OF STRING;
  25.     AusgabeText : STRING;
  26.  
  27.   PROCEDURE NachrichtInitialisieren;
  28.  
  29.   BEGIN
  30.     Nachricht[0] :=
  31.       "Also - Sowas kleines sprengt jeden Computer - Tut uns leid";
  32.     Nachricht[1] :=
  33.       "Wie war das mit der Geschichte vom Suppenkasper nochmal ???";
  34.     Nachricht[2] :=
  35.       "Schlank ist ja gewiss schoen, aber Bohnenstangen werden aus
  36.        Holz gemacht!";
  37.     Nachricht[3] :=
  38.       "Gibt es Sie ueberhaupt ? Sie sind ein idealer Mensch mit
  39.        Idealgewicht !";
  40.     Nachricht[4] :=
  41.       "Ideal oder normal ... das ist hier die Frage";
  42.     Nachricht[5] :=
  43.       "Na sowas ... Ein ganz normaler Mensch mit Normalgewicht !";
  44.     Nachricht[6] :=
  45.       "Also ein bischen weniger waere garnicht schlecht !!!";
  46.     Nachricht[7] :=
  47.       "Schlank sind sie irgendwie schon noch, aber hoechstens
  48.        vollschlank";
  49.     Nachricht[8] :=
  50.       "Zuvieeeeeeeeeeeeeeeeeeeel !!!!!!!";
  51.     Nachricht[9] :=
  52.       "Das Benutzen von Computern ist fuer Elefanten verboten !!!";
  53.     Nachricht[10] :=
  54.       "Was soll diese schwachsinnige Eingabe ????????????????????";
  55.   END NachrichtInitialisieren;
  56.  
  57.   PROCEDURE Titel;
  58.  
  59.   BEGIN
  60.     ClrScr;
  61.     WriteString("Pruefen Sie Ihr Gewicht ...");
  62.     WriteLn;
  63.     WriteLn;
  64.     WriteLn;
  65.     WriteString("Ein gesundes Uebungsprogamm fuer MODULA 2 ");
  66.     WriteLn;
  67.     WriteLn;
  68.     WriteString("Von Joerg BEYER, Tuebingen ");
  69.     WriteLn;
  70.     WriteLn;
  71.     WriteLn
  72.   END Titel;
  73.  
  74.   PROCEDURE Berechnung(Gewicht, Groesse: CARDINAL): CARDINAL;
  75.  
  76.   VAR
  77.      Kategorie,
  78.      KennZahl   : CARDINAL;
  79.  
  80.   BEGIN
  81.     IF Groesse < 150 THEN
  82.       Kategorie := 0
  83.     ELSIF ((Groesse > 250) OR (Gewicht < 30) OR (Gewicht > 400)) THEN
  84.       Kategorie := 10
  85.     ELSE
  86.       KennZahl := (Gewicht * 100) DIV (Groesse - 100);
  87.       IF KennZahl < 65 THEN
  88.         Kategorie := 1
  89.       ELSIF KennZahl < 85 THEN
  90.         Kategorie := 2
  91.       ELSIF KennZahl < 90 THEN
  92.         Kategorie := 3
  93.       ELSIF KennZahl < 100 THEN
  94.         Kategorie := 4
  95.       ELSIF KennZahl < 105 THEN
  96.         Kategorie := 5
  97.       ELSIF KennZahl < 115 THEN
  98.         Kategorie := 6
  99.       ELSIF KennZahl < 135 THEN
  100.         Kategorie := 7
  101.       ELSIF KennZahl < 160 THEN
  102.         Kategorie := 8
  103.       ELSE
  104.         Kategorie := 9
  105.       END; (* IF *)
  106.     END; (* IF *)
  107.     RETURN Kategorie
  108.   END Berechnung;
  109.  
  110.  
  111.   PROCEDURE IdealGewichtDrucken;
  112.  
  113.   VAR
  114.       Ideal : CARDINAL;
  115.  
  116.   BEGIN
  117.     WriteLn;
  118.     Ideal := ((CM - 100) * 90) DIV 100;
  119.     Ausgabe ("Ihr Idealgewicht bertraegt : ",Ideal);
  120.     WriteLn
  121.   END IdealGewichtDrucken;
  122.  
  123.  
  124. BEGIN  (* ***** Hier beginnt das Hauptprogramm ***** *)
  125.   Titel;
  126.   NachrichtInitialisieren;
  127.   REPEAT
  128.     KG := Eingabe("Verraten Sie mir bitte Ihr Gewicht >>> (In KG)");
  129.     CM := Eingabe("Wie gross sind Sie denn (in CM) >>>>>>>>>>>>>>");
  130.     Bereich := Berechnung(KG,CM);
  131.     IF (Bereich > 0) AND (Bereich < 10) THEN
  132.       IdealGewichtDrucken
  133.     END; (* IF *)
  134.     AusgabeText := Nachricht[Bereich];
  135.     WriteLn;
  136.     WriteString(AusgabeText);
  137.     WriteLn;
  138.   UNTIL NOT FrageJaNein
  139.        ("Soll eine weitere Person diesen Berechnungen zum Opfer fallen? ");
  140. END Gewicht.