Скачиваний:
18
Добавлен:
01.05.2014
Размер:
1.88 Кб
Скачать
{ Here we are returning to Borland Pascal v.7.0!! }
{ The concept is to calculate the Holstead metrics for this bullshit.. }

{ The following code really contains some bullshit... Yet, I am not }
{ expected to optimize it anyhow in the first lab... }

program cfit1A;
uses Crt;

const max = 20;
type index = 1..max;
ary = array[index] of real;
var x,y : ary;
n : integer;
seed: real;
{-------------------}
sumx,sumy: real;
sumxy, sumx2: real;
k: integer;
resa,resb: real;


function random: real;
const pi = 3.14159;
var x : real; i : integer;
begin
x:=seed+pi;
x:=exp(5.0*ln(x));
seed:=x-trunc(x);
random:=seed
end;


procedure get_data(var x,y: ary; var n: integer);
const a = 5.0; b = 2.0;
var i,j : integer;
fudge : real;
BEGIN
fudge := 0.5;
n := 10;
for i:=1 to n do begin
j:=n+1-i;
x[i]:=j;
y[i]:=(a*j + b) * (1.0 + (2.0 * random - 1.0) * fudge);
end
END;


procedure write_data;
{ print out the answers }
var i : integer;
BEGIN
writeln;
writeln(' I X Y');
for i:=1 to n do
writeln(i:3,x[i]:8:1,y[i]:9:2);
writeln
END;


BEGIN
{ClrScr;}
seed:=4.0;
get_data(x,y,n);
{write_data;}
{----------------------------------------- Calculative part starts }
{ Accumulating statistics }
sumx := 0; sumy := 0; sumxy := 0; sumx2 := 0;
for k:=1 to n do begin
sumx := sumx + x[k];
sumy := sumy + y[k];
sumxy := sumxy + x[k] * y[k];
sumx2 := sumx2 + x[k] * x[k];
end;
{ Recieving verdict }
resa := (sumxy - sumx*sumy/n) / (sumx2 - sumx*sumx/n);
resb := (sumy - resa * sumx) / n;
writeln(resa,' ',resb);
{------------------------------------------- Calculative part ends }
END.
Соседние файлы в папке PAS Version
  • #
    01.05.20141.94 Кб18MAIN.PAS
  • #
    01.05.20141.88 Кб18MAIN_OPT.PAS
  • #
    01.05.20143.32 Кб18MAIN_PAS_MODULE.LST
  • #
    01.05.20143.26 Кб19MAIN_PAS_OPT_MODULE.LST
  • #
    01.05.20142.55 Кб18MAIN_PAS_OPT_STAT.LST
  • #
    01.05.20143.34 Кб18MAIN_PAS_STAT.LST