Einführung in die imperative Programmierung

WS 2014/15

Minimum von 2 Zahlen

program Minimum (input, output);
   {berechnet aus zwei Eingaben das Minimum und gibt es aus}
   uses crt;
   
   var 
   {Eingabewerte}
   Zahl1, 
   Zahl2: integer;
   {Ergebnis}
   Min : integer;
   
BEGIN
   {Eingabe der Zahlen}
   writeln('Geben Sie zwei Zahlen ein. Das Programm berechnet das Minimum.');
   writeln('erste Zahl eingeben');
   readln(Zahl1);
   writeln('zweite Zahl eingeben');
   readln(Zahl2);
   
   {Minimum berechnen}
   if Zahl1 < Zahl2 then
   Min := Zahl1
   else
   Min := Zahl2; 
   
   {Ausgabe}
   writeln('Minimum: ', Min);
   
END.


Fehler bei falschen Typen

program Typen (input, output);
   {berechnet aus zwei Eingaben das Minimum und gibt es aus}
   uses crt;

   var 
   {Eingabewerte}
   Zahl1, 
   Zahl2: integer;
   {Ergebnis}
   Min : integer;
   
   Zahl3: integer;
   
BEGIN
   {Eingabe der Zahlen}
   writeln('Geben Sie zwei Zahlen ein. Das Programm berechnet das Minimum.');
   writeln('erste Zahl eingeben');
   readln(Zahl1);
   writeln('zweite Zahl eingeben');
   readln(Zahl2);
   
   {Minimum berechnen}
   if Zahl1 < Zahl2 then
   Min := Zahl1
   else
   Min := Zahl2; 
   
   {Ausgabe}
   writeln('Minimum: ', Min);
   
   writeln(Zahl1 div Zahl2);
   Zahl3 := (Zahl1 / Zahl2);
   
   writeln( Zahl3)
   
END.

Strings und Aufzählungstypen

program Worte (input,output);
   uses crt;

   const
   PI = 3.14159;
   GRUSS = 'Hallo';
   
   type
   tGeschlecht = (maennlich, weiblich);
   
   var 
   Wort1,
   Wort2 : string;
   Geschlecht : tGeschlecht;
   
   b: boolean;
   i: integer;
BEGIN
   {readln(Wort1);
   readln(Wort2);
   
   if Wort1 > Wort2 then
   begin
   writeln(Wort1 , ' größer als ', Wort2);
   writeln(Wort2, ' ', Wort1);
   end 
   else 
   if Wort2 > Wort1 then
   writeln(Wort2 , ' größer als ', Wort1)
   else writeln(Wort1, ' gleich ', Wort2);
   
   readln(Geschlecht);
   writeln(Geschlecht);}
   
   i:=7;
   b:= true;
   
   b := (i > 0) or b = false;
   
END.

Minimum von 3 Zahlen

program MinVon3;
   uses crt;

   var 
   Zahl1, 
   Zahl2,
   Zahl3,
   Minimum: real;
BEGIN
   {
   readln(Zahl1);
   readln(Zahl2);
   readln(Zahl3);
   
   Minimum := Zahl1;
   
   if (Zahl2 < Minimum) then
   Minimum := Zahl2;
   
   if (Zahl3 < Minimum) then
   Minimum := Zahl3;
   
   writeln('Minimum: ', Minimum:10:5);
   
   Zahl1 := sqrt(25.0);
   Zahl2:= sqr(sqrt(2)) +3;
   }
   Zahl1 := 1.0;
   Zahl2 := 0.5;
   Zahl1 := Zahl1 - 0.1;	{ = 0.9 }
   Zahl1 := Zahl1 - 0.1;	{ = 0.8 }
   Zahl1 := Zahl1 - 0.1;	{ = 0.7 }
   Zahl1 := Zahl1 - 0.1;	{ = 0.6 }
   Zahl1 := Zahl1 - 0.1;	{ = 0.5 }
   
   if abs(Zahl1-Zahl2) < 0.00001 then
   writeln('gleich')
   else 
   writeln('ungleich z1=', Zahl1:5:2, '  z2=', Zahl2:5:2);
   
END.

Betrag in Münzen herausgeben

program Wechseln;
   {$R+}
   uses crt;
   type
   tCent = 1..99;
   tAnzahl = 0..2;
   
   var 
   Betrag : tCent;
   Cent1,
   Cent2,
   Cent5,
   Cent10,
   Cent20,
   Cent50: tAnzahl;
 
BEGIN
   readln(Betrag);
   
   Cent50 := Betrag div 50;
   Betrag := Betrag mod 50;
   
   Cent20 := Betrag div 20;
   Betrag := Betrag mod 20;
   
   Cent10 := Betrag div 10;
   Betrag := Betrag mod 10;
   
   Cent5 := Betrag div 5;
   Betrag := Betrag mod 5; 
   
   Cent2 := Betrag div 2;
   Betrag := Betrag mod 2;
   
   Cent1 := Betrag;
   writeln(Cent50, Cent20, Cent10, Cent5, Cent2, Cent1);
   
END.