Innovatsion texnologiyalar №4 (28) 2017 y.
69
TA’LIM VA AXBOROT TEXNOLOGIYALARI/ ОБРАЗОВАНИЕ И
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Рис.3.
График изменения во времени
высоты полета камня
Рис.4
. График траектории полета камня в
программном языке
Уравнения затухающего колебательного движения имеют вид,
t
e
y
t
cos
10
и
t
e
y
t
sin
10
. Построим график данного колебания в Scope (осциллограф), моделируем в
среде MATLAB/SIMULINK и нарисуем график программ Borland Delphi 7.
Рис.5.
График затухающего колебания
и схематическая моделирования в
MATLAB/SIMULINK
Создаем новый проект. Выбираем в меню компонентов Standard пиктограмму PaintBox,
щелкнем мышью в том месте формы, где мы хотим ее поставить. Вставим два компонента
Button1 и Button2 в форму. Захватывая их “мышью” отрегулируем размеры окон и их
положение. Обратите внимание на то, что в тексте программы появились две новых
однотипных переменных Button1, Button 2. В каждой из этих переменных с расширением.
Для ввода программный код надо правильно выбирать начальный координат, шаг и
масштаб. В результате нажатием кнопки Button 1 и Button 2 последовательно появится
график функции. Код программы и график приведен ниже.
Innovatsion texnologiyalar №4 (28) 2017 y.
70
TA’LIM VA AXBO ROT TEXNOLOGIYALARI/ ОБРАЗОВАНИЕ И
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Рис.6
. График затухающего колебания в программе Borland Delphi7
Код программы имеет вид:
unitUnit1;
interface uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls, Forms,
Dialogs,
StdCtrls,
ExtCtrls; type
TForm1
=
class(TForm)
Button1: TButton;
PaintBox1: TPaintBox;
Button2: TButton;
procedure
Button1Click(Sender:
TObject);
procedure
Button2Click(Sender:
TObject);
private
{Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Button1Click(Sender:
TObject);
var i:integer;
x0,y0,x,x1,x2,fx,fy:integer;
begin
Canvas.Pen.Color:=clBlack;
PaintBox1.Canvas.MoveTo(30,200);
PaintBox1.Canvas.LineTo(30,0);
PaintBox1.Canvas.MoveTo(600,100);
PaintBox1.Canvas.LineTo(0,100);
PaintBox1.Canvas.MoveTo(600,100);
PaintBox1.Canvas.LineTo(585,105);
PaintBox1.Canvas.MoveTo(600,100);
PaintBox1.Canvas.LineTo(585,95);
PaintBox1.Canvas.MoveTo(35,15);
PaintBox1.Canvas.LineTo(30,0);
PaintBox1.Canvas.MoveTo(25,15);
PaintBox1.Canvas.LineTo(30,0);
Canvas.Pen.Color:=clBlack;
PaintBox1.Canvas.TextOut(590,80,'X')
Canvas.Pen.Color:=clBlack;
PaintBox1.Canvas.TextOut(45,0,'Y');
x0:=30;y0:=100;
begin
x1:=0;x2:=500;
x:=x1;
while xbegin
fx:=x0+round(x);
fy:=y0-round(100*exp(-
0.01*x)*cos(5*x*pi/180));
for i:=0 to 500 do
PaintBox1.Canvas.Pixels[fx,fy]:
= clRed; x:=x+1;
end;
procedure
TForm1.Button2Click(Sender:
TObject);
var i:integer;
x0,y0,ux,uy:integer;
x,x3,x4:real;
begin
x0:=30;y0:=100;
begin
x3:=0.01;x4:=500;
x:=x3;
while xbegin
ux:=x0+round(x);
uy:=y0-round(100*exp(-
0.01*x)*sin(5*x*pi/180));
for i:=0 to 500 do
PaintBox1.Canvas.Pixels[ux,uy]:
=clGreen;
x:=x+1;
end.
Do'stlaringiz bilan baham: |