Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
11.04.2015
Размер:
1.2 Кб
Скачать
procedure grafik;
const
omega_r=50;
omega_h=5*omega_r;
T=1/700;
N=1000;
type
dann= array[0..N] of real;
var
L,R,W,H: integer;
X: dann;
Y: dann;
k:integer;
ymin,ymax:real;
Mx,My:real;
x0,y0: integer;
function signal(j:integer):real;
begin
X[j]:=sin(j*omega_r*T/(2*Pi))+
cos(j*omega_r*T/Pi)+sin(j*omega_h*T/Pi)/5;
signal:=X[j];
end;
procedure min_max(Y:dann; var min, max:real);
var
k: integer;
begin
min:=Y[0];max:=Y[0];
for k := 1 to N do
if Y[k]> max then
max:=Y[k]
else if Y[k]< min then
min:=Y[k];
end;
begin
L:=10;
R:=form1.clientHeight-10;
W:=form1.Width-50;
H:=form1.clientheight-20;
for k:=0 to N do
signal(k);
min_max(X,ymin,ymax);
Mx:=W/N;
My:=H/(ymax-ymin);
x0:=L;
y0:=R-abs(Round(ymin*My));
with form1.Canvas do
begin
for k:=0 to N do
form1.Canvas.Pixels[x0+round(k*Mx),y0-
round(X[k]*My)]:=clRed;
Moveto(L,R);lineto(L,R-H);
moveto(x0,y0);lineto(x0+W,y0);
textout(x0+W,y0,'x');
textout(L+10, R-10, floattostrF (ymin,
ffGeneral, 6, 3));
end;
end;
{=========================================================}
procedure TForm1.FormResize(Sender: TObject);
begin
form1.Canvas.FillRect(rect(0,0,clientwidth,clientheight));
grafik;
end;