(********************************************)
(* Autor: Paul - H. Koop                    *)
(* Stat. auswertung deuan4.pas ergebnisse   *)
(*                                          *)
(********************************************)
PROGRAM korrelation (einx,einy,INPUT,OUTPUT);
(*-------------------------------Konstanten-*)
 CONST
  null       = 0;
  eins       = 1;
(*-------------------------------Variablen--*)
 VAR
  einx,
  einy       :FILE OF longint;
  streinx,
  streiny,
  ergebnis   :string(.80.);
  x,y,
  summe_xy,
  summe_x,
  summe_y,
  summe_xx,
  summe_yy,
  n         :longint;
  r         :real;
(*------------------------------------------*)
(*    Hauptprogramm                         *)
(*------------------------------------------*)
BEGIN
 n        := null;
 summe_x  := null;
 summe_y  := null;
 summe_xy := null;
 summe_xx := null;
 summe_yy := null;
 WRITELN('Typo Test Version 5.1 (c) Paul Koop 1987,1988,1992');
 WRITELN('ergebnis');
 READLN(ergebnis);
 WRITELN('textdaten 1');
 READLN(streinx);
 WRITELN('textdaten 2');
 READLN(streiny);
 ASSIGN(einx,streinx);
 ASSIGN(einy,streiny);
 ASSIGN(OUTPUT,ergebnis);
 RESET(einx); RESET(einy);
 REWRITE(OUTPUT);
(*-------------------------------------------*)
(*    Leseschleife der Rohdaten              *)
(*-------------------------------------------*)
 WHILE NOT EOF(einx)
  DO
  BEGIN
   READ(einx,x);
   READ(einy,y);
   summe_x := summe_x   +       x;
   summe_y := summe_y   +       y;
   summe_xy := summe_xy + x  *  y;
   summe_xx := summe_xx + SQR(x);
   summe_yy := summe_yy + SQR(y);
   n := n + eins;
  END;
(*-------------------------------------------*)
(*    Berechnung des Koeffizienten           *)
(*-------------------------------------------*)
 r := (n*summe_xy-summe_x*summe_y)/
     (SQRT(n*summe_xx-SQR(summe_x))*
          SQRT(n*summe_yy-SQR(summe_y)));
(*-------------------------------------------*)
(*    Ergebnisausgabe                        *)
(*-------------------------------------------*)
 WRITE('Korrelation =',r:10:5); WRITELN;
 IF r = 0.0 THEN WRITE('kein Zusammenhang')
  ELSE
 IF r = 1.0 THEN WRITE('vollstandiger Zusammenhang')
  ELSE
 IF r > 0.7 THEN WRITE('hoher Zusammenhang')
  ELSE
 IF r > 0.4 THEN WRITE('mittlerer Zusammenhang')
  ELSE
 IF r > 0.0 THEN WRITE('niedriger Zusammenhang');
 CLOSE(einx); CLOSE(einy);CLOSE(OUTPUT)
END.


