home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* DET-BSP1.PAS *)
- (* (c) 1991 Jens Burmeister & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM DetBeispiel1;
-
- USES Crt, Dos, DetTool;
-
- FUNCTION TimeStr : STRING;
- VAR
- Hour, Min,
- Second, Sec100 : WORD;
- Temp : STRING [2];
- S : STRING;
- BEGIN
- GetTime(Hour, Min, Second, Sec100);
- Str(Hour:2, Temp); S := Temp;
- Str(Min:2, Temp); S := S + ':' + Temp;
- Str(Second:2, Temp); S := S + ':' + Temp;
- Str(Sec100:2, Temp); TimeSTR := S + '.' + Temp;
- END;
-
- VAR
- FileName : PathStr;
- FilVar : Text;
- i, j, Dim : WORD;
- Value : REAL;
- A : RealMatrixPtr;
-
- BEGIN
- ClrScr;
- WriteLn('Berechnung der Determinanten einer reell',
- 'wertigen Matrix:');
- WriteLn('----------------------------------------',
- '-----------------');
- WriteLn('Die Dimension der Matrix und die Matrix',
- 'elemente werden');
- WriteLn('aus einer Textdatei eingelesen. In der ersten ',
- 'Zeile');
- WriteLn('steht die Dimension der Matrix. Danach folgen ',
- 'zeilenweise');
- WriteLn('die Matrixelemente.');
- WriteLn('----------------------------------------------',
- '-----------');
- Write ('Dateiname: '); ReadLn(FileName);
- WriteLn('----------------------------------------------',
- '-----------');
-
- Assign(FilVar, FileName);
- {$I-}
- Reset(FilVar);
- {$I+}
- IF IOResult = 0 THEN BEGIN
- ReadLn(FilVar, Dim);
-
- WriteLn('Verfügbarer Arbeitsspeicher in Bytes : ',
- MemAvail:8);
- New(A, Init(Dim));
- WriteLn('Platz für Matrix angefordert! Dimension: ',
- A^.GetDimension:8);
- WriteLn('Verbleibender Arbeitsspeicher in Bytes : ',
- MemAvail:8);
-
- FOR j := 1 TO A^.GetDimension DO BEGIN
- FOR i := 1 TO A^.GetDimension DO BEGIN
- Read(FilVar, Value);
- A^.SetValue(i, j, Value);
- END;
- ReadLn(FilVar);
- END;
- Close(FilVar);
-
- WriteLn('Uhrzeit: ', TimeStr, ' Bitte warten.');
- WriteLn('Determinante: ', A^.Determinant);
- WriteLn('Uhrzeit: ',TimeStr);
-
- DISPOSE(A, Done);
- END;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von DET-BSP1.PAS *)
-
-