Berechnung des Minimums einer Zahlenfolge in PASCAL
Ein Beispiel für die Verwendung von eindimensionalen Arrays
(*$B-*)
PROGRAM Minimum;
CONST max = 100;
VAR a : ARRAY[1..max] OF INTEGER;
n,i,k : INTEGER;
BEGIN
(* Eingabe *)
WriteLn('Es wird das Minimum einer Folge ganzer Zahlen bestimmt.');
Write('Gebe die Laenge n (<= ',max,') der Folge ein, n = ');
ReadLn(n);
WriteLn;
WriteLn('Gebe die Elemente der Folge ein,');
WriteLn('fuer i = 1, ..., ',n); WriteLn;
BEGIN
Write('a[i] = ');
FOR i := 1 TO n DO Read(a[i]);
WriteLn
END;
WriteLn;
(* Minimum von a *)
k := 1;
FOR i := 2 TO n DO
(* Schleifeninvariante: a[k] = min{a[1], ..., a[i-1]} *)
IF a[i] < a[k] THEN k := i;
(* Ausgabe *)
WriteLn('Das Minimum ist a[',k,'] = ',a[k]);
END.