home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 07_08 / tricks / det_bsp1.pas < prev    next >
Pascal/Delphi Source File  |  1991-02-21  |  2KB  |  83 lines

  1. (* ------------------------------------------------------ *)
  2. (*                    DET-BSP1.PAS                        *)
  3. (*          (c) 1991 Jens Burmeister & TOOLBOX            *)
  4. (* ------------------------------------------------------ *)
  5. PROGRAM DetBeispiel1;
  6.  
  7. USES Crt, Dos, DetTool;
  8.  
  9.   FUNCTION TimeStr : STRING;
  10.   VAR
  11.     Hour, Min,
  12.     Second, Sec100 : WORD;
  13.     Temp           : STRING [2];
  14.     S              : STRING;
  15.   BEGIN
  16.     GetTime(Hour, Min, Second, Sec100);
  17.     Str(Hour:2,   Temp);   S := Temp;
  18.     Str(Min:2,    Temp);   S := S + ':' + Temp;
  19.     Str(Second:2, Temp);   S := S + ':' + Temp;
  20.     Str(Sec100:2, Temp);   TimeSTR := S + '.' + Temp;
  21.   END;
  22.  
  23. VAR
  24.    FileName   : PathStr;
  25.    FilVar     : Text;
  26.    i, j, Dim  : WORD;
  27.    Value      : REAL;
  28.    A          : RealMatrixPtr;
  29.  
  30. BEGIN
  31.   ClrScr;
  32.   WriteLn('Berechnung der Determinanten einer reell',
  33.           'wertigen Matrix:');
  34.   WriteLn('----------------------------------------',
  35.           '-----------------');
  36.   WriteLn('Die Dimension der Matrix und die Matrix',
  37.           'elemente werden');
  38.   WriteLn('aus einer Textdatei eingelesen. In der ersten ',
  39.           'Zeile');
  40.   WriteLn('steht die Dimension der Matrix. Danach folgen ',
  41.           'zeilenweise');
  42.   WriteLn('die Matrixelemente.');
  43.   WriteLn('----------------------------------------------',
  44.           '-----------');
  45.   Write  ('Dateiname: '); ReadLn(FileName);
  46.   WriteLn('----------------------------------------------',
  47.           '-----------');
  48.  
  49.   Assign(FilVar, FileName);
  50.   {$I-}
  51.   Reset(FilVar);
  52.   {$I+}
  53.   IF IOResult = 0 THEN BEGIN
  54.     ReadLn(FilVar, Dim);
  55.  
  56.     WriteLn('Verfügbarer   Arbeitsspeicher in Bytes : ',
  57.              MemAvail:8);
  58.     New(A, Init(Dim));
  59.     WriteLn('Platz für Matrix angefordert! Dimension: ',
  60.             A^.GetDimension:8);
  61.     WriteLn('Verbleibender Arbeitsspeicher in Bytes : ',
  62.             MemAvail:8);
  63.  
  64.     FOR j := 1 TO A^.GetDimension DO BEGIN
  65.       FOR i := 1 TO A^.GetDimension DO BEGIN
  66.         Read(FilVar, Value);
  67.         A^.SetValue(i, j, Value);
  68.       END;
  69.       ReadLn(FilVar);
  70.     END;
  71.     Close(FilVar);
  72.  
  73.     WriteLn('Uhrzeit: ', TimeStr, '  Bitte warten.');
  74.     WriteLn('Determinante: ', A^.Determinant);
  75.     WriteLn('Uhrzeit: ',TimeStr);
  76.  
  77.     DISPOSE(A, Done);
  78.   END;
  79. END.
  80. (* ------------------------------------------------------ *)
  81. (*               Ende von DET-BSP1.PAS                    *)
  82.  
  83.