Bestimmung des Maximums und Minimums einer Zahlenfolge
Programm zur numerischen Berechnung des Maximums und des Minimums einer Folge von n Zahlen.
program MiniMax(input, output);
{Auffinden der Extrema von n Zahlen}
uses
StdFile;
const
MaxArray = 255;
var
x: Array[0..MaxArray] of double;
i, n: integer;
max, min: double;
procedure init;
var
fName: string;
f: text;
begin {init}
writeln('Auffinden der Extrema von n Zahlen');
writeln;
writeln('Welche Datei enthaelt Zahlen? (In MINIMAX.TXT liegt ein Beispiel.)');
readln(fName);
if StdOpen(f, fName) then begin
n := -1;
repeat
n := n + 1;
if n > MaxArray then begin
writeln('Die Datei "', fName, '" enthaelt zu viele Zahlen.');
halt
end {if}
until not StdRead(f, x[n]);
n := n - 1
end else begin {if}
writeln('Kann Datei "', fName, '" nicht oeffnen.');
halt
end; {if}
close(f);
writeln('Insgesamt wurden ', n + 1, ' Zahlen gelesen.');
end; {init}
begin {MiniMax}
init;
max := x[1];
min := x[1];
for i := 2 to n do begin
max := (max + x[i] + abs(max - x[i]))/2.0;
min := (min + x[i] - abs(min - x[i]))/2.0;
end; {for}
writeln('Maximum: ', max:7:2, ', Minimum: ', min:7:2);
end. {MiniMax}