Здравствуйте, помогите пожалуйста с переводом.
Код:
program Ochered;
uses Crt, Graph;
Const N = 10000;
W1 = 10; W2 = 5;
type T = array [1..N] of real; U = ^T;
var A, B, C, D, E, F, Aa, Bb, Cc, Dd, Ee, Ff, Dg, Dh, M : real;
S1, S2 : Double; I, K, J, I1, I2 : integer;
L1, L2, V: array [1..11] of real; G, H: U; Ch: Char;
begin
if MaxAvail >= SizeOf(G) then New(G);
if MaxAvail >= SizeOf(H) then New(H);
Randomize;
Aa := 0; Bb := W2*Random; Cc := 0; Ee := Bb; Ff := Bb;
G^[1] := 0; H^[1] := 0; for K := 1 to 11 do
begin
L1[K] := 0; L2[K] := 0;
end;
for I := 2 to N do
begin
A := W1*Random; B := W2*Random;
C := Cc + A; if C > Ee then D := C else D := Ee;
E := D + B; F := E - C; G^[i] := F - B; H^[i] := D - Ee;
Cc := C; Ee := E;
If G^[i] <= 1 then L1[1] := L1[1] + 1;
If H^[i] <= 0 then L2[1] := L2[1] + 1;
for K := 2 to 10 do
begin
if (G^[i] > K - 1) And (G^[i] <= K)
then L1[K] := L1[K] + 1;
if (H^[i] > K - 1) And (H^[i] <= K)
then L2[K] := L2[K] + 1;
end;
begin
if G^[i] > 10 then L1[11] := L1[11] + 1;
if H^[i] > 10 then L2[11] := L2[11] + 1;
S1 := S1 + G[i]; S2 := S2 + H^[i];
end;
for I := 1 to 11 do
begin
L1[i] := L1[i]/N; L2[i] := L2[i]/N;
end;
S1 := S1/N; S2 := S2/N; Dg := 0; Dh := 0;
for I := 1 to N do
begin
Dg := Dg + Sqr(G^[i] - S1); Dh := Dh + Sqr(H^[i] - S2);
end;
Dg := Dg/N; Dh := Dh/N;
Writeln ('rozpredilenya veluchunu g rozpredilenya veluchun h');
Writeln;
for K := 1 to 11 do
Writeln ('11[', K, ']=', L1[K] : 6 : 4, '' : 20, '12[', K, ']=', L2[K] : 6 : 4);
writeln;
writeln ('vubrani seredni veluchunu g=', S1 : 6 : 3, 'vubrani duspersii vuluchun
g=', Dg : 6 : 3);
writeln ('vubrani seredni veluchunu h=', S2 : 6 : 3, 'vubrani duspersii vuluchun
h=', Dh : 6 : 3);
Dispose(G); Dispose(H); writeln;
writeln ('dlya prodovgennya nagmu lubu klavishu');
repeat Until KeyPressed; Ch := ReadKey;
DetectGraph(I, K); InitGraph(I, K, '');
I := GetMaxX; K := GetMaxY; J := I Div 2; M := L1[1];
For I1 := 2 to 11 do if L1[I1] > M then M := L1[I1];
For I1 := 1 to 11 do V[I1] := L1[I1]/M;
line(10, K - 10, J - 20, K - 10);
line(10, K - 10, 10, 5);
OutTextXY(20, 100, 'rozpodil veluchunu g');
for I1 := 1 to 11 do
begin
I2 := Round((K - 20)*(1 - V[I1])) + 10;
Line(I1*20 - 10, I2, I1*20 + 10, I2);
Line(I1*20 - 10, I2, I1*20 - 10, K - 10);
Line(I1*20 + 10, I2, I1*20 + 10, K - 10);
end;
Line(J + 20, K - 10, I - 10, K - 10);
Line(J + 20, K - 10, J + 20, 5);
OutTextXY(J + 30, 100, 'rozpodil veluchunu h');
M := L2[1];
For I1 := 2 to 11 do if L2[I1] > M then M := L2[I1];
For I1 := 1 to 11 do V[I1] := L2[I1] / M;
For I1 := 1 to 11 do
begin
I2 := Round((K - 20)*(1 - V[I1])) + 10;
Line(J + I1*20, I2, J + I1*20 + 20, I2);
Line(J + I1*20, I2, J + I1*20, K - 10);
Line(J + I1*20 + 20, I2, J + I1*20 + 20, K - 10);
end;
OutTextXY(200, GetMaxY - 10, 'dlya vuxodu nagmu bud yaku klavishu');
repeat Until KeyPressed; CloseGraph
end.