Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Программирование в Turbo Pascal

Тип: контрольная работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Построение математической модели, описывающей движение тела. Составление алгоритма расчёта и визуализации временных диаграмм скорости, пути и движущей силы. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V, S и F.
Краткое сожержание материала:

Размещено на

Содержание

алгоритм листинг программа график

1. Математическая модель, описывающая движение тела

2. Алгоритм расчёта и визуализации временных диаграмм скорости, пути и движущей силы: V(t), S(t), F(t)

3. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V(t), S(t), F(t)

Список использованной литературы

1. Математическая модель, описывающая движение тела

Тело массой m движется под действием силы F по диаграмме (зависимости скорости от времени), изображённой на рис. 1, проходя путь L и возвращаясь в исходную точку. Ускорение (замедление) тела на участках №1, 3, 5, 7 постоянно и равно a, скорость на участках №2 и №6 равна Vm и -Vm соответственно. Время паузы на участке №4 составляет 1 с.

№ варианта

Параметр

расчётная схема

масса тела

m, кг

путь

L, м

скорость

Vm, м/с

ускорение a, м/с2

угол наклона

б, град.

16

б

250

15

0,5

0,25

10

Определить время движения тела на каждом участке следующим образом. Путь, проходимый телом за время движения на участках №1, 2, 3 равен:

(1).

Время движения на участке №1 и время движения на участке №3 равно

.

T1 = T3 = 0,5/0,25 = 2 (c)

Подставив это выражение в (1), получим:

.

Тогда время движения на участке №2 равно

.

T2 = 15/0,5 - 0,5/0,25 = 28 (c)

Движение назад (участки №5, 6, 7) полностью повторяет движение вперёд, поэтому Т5=Т7=Т1=2, а Т6=Т2=28.

Рассчитаем путь, проходимый телом на участках разгона (торможения), воспользовавшись формулой:

,

S =0*2 + 0,25*4/2 = 0,5

где V0 - значение скорости в начале участка, T - длительность участка, a - ускорение (замедление).

Рассчитаем силу F, вызывающую движение тела по формуле:

,

где м - коэффициент трения, m - масса тела, g - ускорение свободного падения, б - угол наклона поверхности к горизонту.

F = 0,05*250*9,81*0.9848+ 250*9,81*0.1736+250*0,25 =

= 120,7611+425,754+62,5=609,0151

2. Алгоритм расчёта и визуализации временных диаграмм скорости, пути и движущей силы: V(t), S(t), F(t)

Расчет времени движения на различных участках пути:

T1:=Vm/a;

T3:=T1;

T2:=(L/Vm)-(Vm/a);

T5:=T1;

T6:=T2;

T7:=T3;

T4:=1;

Расчет пути, пройденного за различные отрезки времени:

S1:=0*T1+(a*T1*T1/2);

S3:=Vm*T3+(a*T3*T3/2);

S5:=-(0*T5+(a*T5*T5/2));

S7:=-(Vm*T7+(a*T7*T7/2));

S2:=(Vm*Vm/a)+Vm*T2;

S6:=-((Vm*Vm/a)+Vm*T2);

S4:=0;

Ускорение на различных участках:

a1:=a;

a2:=0;

a3:=-a;

a4:=0;

a5:=-a;

a6:=0;

a7:=a;

Расчет скорости движения на различных участках:

V1:=a*T1;

V2:=Vm;

V3:=a*T3;

V4:=0;

V5:=-a*T5;

V6:=-Vm;

V7:=-a*T7;

3. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V(t), S(t), F(t)

uses graphABC,crt;

type

Rasst = array[1..7] of real;

Vrem = array[1..8] of real;

Skor = array[1..8] of real;

Uskor = array[1..7] of real;

var

m,L,Vm,Alfa,a,u,q: real;

x,y,z: integer;

S:rasst;

T:vrem;

V:Skor;

Fa:uskor;

const

g = 9.8;

begin

u:=0.05;

m:=250;

L:=15;

Vm:=0.6;

a:=0.25;

Alfa:=10;

T[1]:=Vm/a;

T[3]:=T[1];

T[2]:=(L/Vm)-(Vm/a);

T[5]:=T[1];

T[6]:=T[2];

T[7]:=T[3];

T[4]:=1;

S[1]:=0*T[1]+(a*T[1]*T[1]/2);

S[3]:=Vm*T[3]-(a*T[3]*T[3]/2);

S[5]:=-((0*T[5]+(a*T[5]*T[5]/2)));

S[7]:=-((Vm*T[7]-(a*T[7]*T[7]/2)));

S[2]:=Vm*T[2];

S[6]:=-Vm*T[2];

S[4]:=0;

Alfa:=10*3.14/180;

x:=1;

V[1]:=a*T[1];

V[2]:=Vm;

V[3]:=a*T[3];

V[4]:=0;

V[5]:=-a*T[5];

V[6]:=-Vm;

V[7]:=-a*T[7];

Fa[1]:=a;

Fa[2]:=0;

Fa[3]:=-a;

Fa[4]:=0;

Fa[5]:=a;

Fa[6]:=0;

Fa[7]:=-a;

//Pervi grafik, S(t)

TextOut(2,20, 'S');

TextOut(350,250, 'T');

Line(20,250,350,250);

Line(20,350,20,20);

Line(20,20,15,37);

Line(20,20,25,37);

Line(350,250,333,245);

Line(350,250,333,255);

Y:=20;

z:=250;

MoveTo(y,z);

q:=0;

for x:=1 to 7 do

begin

q:=q+S[x];

z:=250-(round(q))*10;

Y:=y+40;

lineto(y,z);

end;

TextOut(250,40, 'A?aoee eciaiaiey i?ieaaiiiai iooe ei a?aiaie.');

TextOut(250,60, 'Ia?ieoa "Enter" aey i?iaie?aiey.');

readln;

Clrscr;

//vtoroi grafik, otnowenie skorosti ko vremeni, V(t)

TextOut(2,20, 'V');

TextOut(350,250, 'T');

Line(20,250,350,250);

Line(20,350,20,20);

Line(20,20,15,37);

Line(20,20,25,37);

Line(350,250,333,245);

Line(350,250,333,255);

Y:=20;

z:=250;

MoveTo(y,z);

for x:=1 to 8 do

begin

Y:=y+40;

z:=250-(round((Round(V[x]*150))));

lineto(y,z);

end;

TextOut(250,40, 'A?aoee eciaiaiey neeu ei a?aiaie.');

TextOut(250,60, 'Ia?ieoa "Enter" aey i?iaie?aiey.');

readln;

clrscr;

//treti grafik, otnowenie uskoreniya ko vremeni, a(t)

TextOut(2,20, 'a');

TextOut(350,250, 'T');

Line(20,250,350,250);

Другие файлы:

Основы программирования на языке Turbo Pascal
Предназначено для студентов вуза, начинающих изучать программирование на языке Turbo Pascal и уже знакомых с основными конструкциями языка (развилки,...

Программирование в среде Turbo Pascal 7.0
В данном пособии описана версия 7.0 широко распространенного пакета программирования Turbo Pascal, разработанного фирмой Borland International.Приведе...

Основы работы в системах Turbo Pascal и Visual C++6.0
Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal...

Язык программирования Turbo Pascal 6.0, 7.0
Книга "Язык программирования Turbo Pascal 6.0, 7.0" содержит в себе полное описание входного языка, а также системы программирования Turbo Pascal комп...

Программирование в среде Turbo Pascal
Изучение требований и реализации пользовательского интерфейса в среде Turbo Pascal. Разработка текстового, графического режимов работы дисплеев. Рассм...