home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
sonderh1
/
polynom.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1979-12-31
|
2KB
|
58 lines
(* ------------------------------------------------------------------------ *)
(* Demonstration von MATRIX.INC *)
(* Polynom *)
(* ------------------------------------------------------------------------ *)
PROGRAM Polynom;
CONST MaxIndex = 10;
{$I MATRIX.INC}
VAR P,U : Matrix;
x,y,c: Vector;
z : REAL;
n,i,j: INTEGER;
BEGIN
ClrScr;
Write('Anzahl der Punkte: '); ReadLn(n);
WriteLn;
IF n >= MaxIndex THEN
BEGIN
WriteLn('Fehler: Konstante MaxIndex zu klein!');
Halt;
END;
FOR i := 1 TO n DO (* Einlesen der Wertepaare *)
BEGIN
Write(i, '. Wertepaar (x,y): ');
ReadLn(x[i], y[i]);
END;
WITH P DO (* Besetzen der Koeffizientenmatrix *)
BEGIN
Rows := n;
Columns := n;
FOR i := 1 TO n DO
BEGIN
z := 1;
FOR j := n DOWNTO 1 DO
BEGIN
Coeff[i,j] := z;
z := x[i] * z;
END;
END;
END;
SolveSystem(P, y, c, U);
IF U.Columns <> 0 THEN
BEGIN
WriteLn; WriteLn('Eingabe der Wertepaare war nicht korrekt!');
Halt;
END;
WriteLn; WriteLn; Write('Koeffizienten des Polynoms ');
FOR i := 1 TO n-2 DO
Write(Chr(Ord('a')-1+i), 'x**', n-i, ' + ');
WriteLn(Chr(Ord('a')-2+n), 'x + ', Chr(Ord('a')-1+n), ' :');
FOR i := 1 TO n DO
WriteLn(Chr(Ord('a')-1+i), ' = ', c[i]:10:4);
END.