home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 09 / statis / statis.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-07-07  |  3.0 KB  |  76 lines

  1. (* ----------------------------------------------------------------------- *)
  2. (*                               STATIS.PAS                                *)
  3. (*                           Statistik in Pascal                           *)
  4. PROGRAM statistic (Input, Output);
  5.  
  6. CONST Zeilen  = 30;     { willkuerliche Grenze fuer Vectoren und Matrizen   }
  7.       Spalten = 10;     { willkuerliche Grenze fuer array of Vector         }
  8.       MaxMat  = 30;     { willkuerliche Grenze fuer quadratische (!) Matrix }
  9.       MaxReal = +0.1E38;
  10.       MinReal = -0.1E38;
  11.       escape  = 27;                           (* ASCII-Code fuer ESC-Taste *)
  12.  
  13. TYPE  filename        = STRING[32];
  14.       Parametervector = ARRAY[1..3] OF REAL;
  15.       Verteilungstyp  = (ber,bin,hyp,poi,expo,gch,nor,sta,stu,chi,fis);
  16.       vector          = RECORD
  17.                           value, gew : ARRAY[1..Zeilen] OF REAL;
  18.                           n          : INTEGER;             { Zeilen - Rang }
  19.                         END;
  20.       matrix          = RECORD
  21.                           ele        : ARRAY[1..MaxMat,1..MaxMat] OF REAL;
  22.                           s,z        : INTEGER;     { Spalten/Zeilen - Rang }
  23.                         END;
  24.       DatenMatrix     = RECORD
  25.                           zeile      : ARRAY[1..Spalten] OF vector;
  26.                           s,z        : INTEGER;
  27.                         END;
  28.  
  29. VAR   ch              : CHAR;            { globale Lesevaribale (KBD) }
  30.       ende            : BOOLEAN;         { Variable fuer Endlosschleife }
  31.  
  32. {$I IO.inc }
  33. {$I lage.inc }
  34. {$I util.inc }
  35. {$I dichte.inc }
  36. {$I verteil.inc }
  37. {$I quantile.inc }
  38. {$I test.inc }
  39. {$I correl.inc }
  40.  
  41. BEGIN
  42.   ENDE := FALSE;
  43.   REPEAT
  44.     ClrScr;
  45.     WriteLn('PASCAL-INTERNATIONAL: STATISTIK         ':55);
  46.     WriteLn('===============================         ':55);
  47.     WriteLn;
  48.     WriteLn('< 1 > Deskriptive Statistik              ':55);
  49.     WriteLn('< 2 > Konfidenzintervall fuer Mittelwert ':55);
  50.     WriteLn('< 3 > Konfidenzintervall fuer Varianz    ':55);
  51.     WriteLn('< 4 > Konfidenzintervall fuer Korrelation':55);
  52.     WriteLn('< 5 > Hypothesentest auf Mittelwert      ':55);
  53.     WriteLn('< 6 > Hypothesentest auf Varianz         ':55);
  54.     WriteLn('< 7 > Hypothesentest auf Korrelation     ':55);
  55.     WriteLn('< 8 > partielle Korrelation              ':55);
  56.     WriteLn('< 9 > bipartielle Korrelation            ':55);
  57.     WriteLn('<ESC> Programmende                       ':55);
  58.     Writeln; writeln; writeln; Write('Bitte waehlen Sie...':21);
  59.                         (* Zeichen ohne Bildschirmecho von Tastatur lesen: *)
  60.     repeat Read(Kbd, Ch); until (ch in ['1'..'9']) or (ord(ch) = escape);
  61.     ClrScr;                                         (* Bildschirm loeschen *)
  62.     CASE Ch OF
  63.        '1' :  descript;
  64.        '2' :  mitkonfidenz;
  65.        '3' :  varianzkonfidenz;
  66.        '4' :  corrkonfidenz;
  67.        '5' :  mitteltest;
  68.        '6' :  varianztest;
  69.        '7' :  corrtest;
  70.        '8' :  part_corr;
  71.        '9' :  bicorr;
  72.       Else ende := true;
  73.     END;
  74.   UNTIL ENDE;
  75. END.
  76.