![]() Ласло Краус |
Програмирање - испити Други парцијални 29.1.1998 |
---|
Саставити главни програм на Pascal-у који прочита два низа бројева, израчуна њихов линеарни фактор корелације и испише добијени резултат.
Саставити главни програм на Pascal-у који чита низове целих, проналази и исписује збир свих бројева у низу као и вредности најмањег и највећег од њих све док за дужину низа не прочита недозвољену вредност.
program Korelacija;
type Niz = array [1..100] of Real;
var X, Y: Niz;
I, N: Integer;
function R (X, Y: Niz; N: Integer): Real;
var I: Integer; R, Xs, Ys, XX, YY, XY: Real;
begin
Xs := 0; Ys := 0;
for I := 1 to N do begin
Xs := Xs + X[I];
Ys := Ys + Y[I];
end;
Xs := Ys / N; Ys := Xs / N;
XX := 0; YY := 0; XY := 0;
for I := 1 to N do begin
XX := XX + Sqr (X[I] - Xs);
YY := YY + Sqr (Y[I] - Ys);
XY := XY + (X[I] - Xs) * (Y[I] - Ys);
end;
R := XY / (Sqrt(XX)*Sqrt(YY));
end;
begin {glavni program}
Write ('Duzina nizova? '); ReadLn (N);
Write ('Prvi niz? '); for I := 1 to N do Read (X[I]); ReadLn;
Write ('Drugi niz? '); for I := 1 to N do Read (Y[I]); ReadLn;
WriteLn ('Faktor korelacije: ', R(X,Y,N):4:2);
end.
unit MNizovi;
interface
const KAP = 100
type Niz=array[1..KAP] of Integer;
function Zbir (A:Niz; N:Integer): Integer;
function Min (A:Niz; N:Integer): Integer;
function MaxI (A:Niz; N:Integer): Integer;
implementation
function Zbir (A:Niz; N:Integer): Integer;
var I, S: Integer;
begin
S := 0;
for I := 1 to N do S := S+A[I];
Zbir := S;
end;
function Min (A:Niz; N:Integer): Integer;
var I, M: Integer;
begin
M := A[1];
for I := 2 to N do if A[I] < M then M := A[I];
Min := M
end;
function MaxI (A:Niz; N:Integer): Integer;
var I, M, K: Integer;
begin
M := A[1]; K := 1;
for I := 2 to N do
if A[I] > M then begin M := A[I]; K := I end;
MaxI := K
end;
end.
program Nizovi;
uses MNizovi;
var A: Niz;
I, N: Integer;
Kraj: Boolean;
begin
repeat
Write ('Duzina niza? '); ReadLn (N);
Kraj := (N <= 0) or (N > KAP);
if not Kraj then begin
Write ('Elementi niza? '); for I:=1 to N do Read (A[I]);
ReadLn;
WriteLn ('Zbir: ', Zbir (A, N));
WriteLn ('Najmanji: ', Min (A, N));
WriteLn ('Najveci: ', A[MaxI(A,N)]);
end;
until Kraj;
end;
program Roba;
type Zapis = record
Sifra: string[8];
Naziv: string[32];
Jed: string[3];
Kolicina, Cena: Real
end;
var Dat: file of Zapis;
Art: Zapis;
Vrednost: Real;
Ime: string[12];
begin
Write ('Ime datoteke? '); ReadLn (Ime); Assign (Dat, Ime);
Reset (Dat); Vrednost := 0;
while not Eof (Dat) do begin
Read (Dat, Art);
Vrednost := Vrednost + Art.Kolicina * Art.Cena
end;
WriteLn ('Ukupna vrednost robe: ', Vrednost:4:2);
end.
(садржај)
Copyright © 1998, Laslo Kraus
Последња ревизија: 2.10.1998.