📄 unit2.pas
字号:
unit Unit2;
interface
uses
unit1;
procedure MDIAN1(var X:array of real; N:integer;var XMED:real);
Function GASDEV:real;
implementation
Function GASDEV:real;
var
V1,V2,FAC,R:real;
begin
If ISET^= 0 Then
begin
repeat
V1:=2 * Random - 1;
V2:=2 * Random - 1;
R:=Sqr(V1) + Sqr(V2);
until (R < 1);
FAC:=Sqrt(-2 * Ln(R) / R);
GSET^:=V1 * FAC;
GASDEV:=V2 * FAC;
ISET^:=1;
end
Else
begin
GASDEV:=GSET^;
ISET^:=0;
end;
end;
Procedure SORT(N:integer; var RA:array of real);
Label 99;
var
I,J,L,IR:integer; RRA:real;
begin
L:= N div 2 + 1;
IR:=N;
While true do
begin
If L > 1 Then
begin
L:=L - 1;
RRA:=RA[L];
end
Else
begin
RRA:=RA[IR];
RA[IR]:=RA[1];
IR:=IR - 1;
If IR = 1 Then
begin
RA[1]:=RRA;
goto 99;
end;
end;
I:=L;
J:=L + L;
While J <= IR do
begin
If J < IR Then
If RA[J] < RA[J + 1] Then J:=J + 1;
If RRA < RA[J] Then
begin
RA[I]:=RA[J];
I:=J;
J:=J + J;
end
Else
J:=IR + 1;
end;
RA[I]:=RRA;
end;
99: end;
procedure MDIAN1(var X:array of real; N:integer;var XMED:real);
var
N2:integer;
begin
SORT(N, X);
N2:=N div 2;
If 2 * N2 = N Then
XMED:=0.5 * (X[N2] + X[N2 + 1])
Else
XMED:=X[N2 + 1];
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -