РАЗРАБОТКА ПРОГРАММЫ РАСЧЕТА СОБСТВЕННЫХ КОЛЕБАНИЙ КУЗОВА НА РЕССОРНОМ ПОДВЕШИВАНИИ



4.1. Блок-схема алгоритма решения задач

Для разработки программы расчета собственных колебаний кузова предварительно составим блок-схему алгоритма поставленной задачи, которая будет решаться с помощью языка программирования Паскаль A,B,C

Начало
Ввод исходных данных
Мкуз, Мгр, С, h, g,Tmax

 

 


Нет
Да
H  Tmax
H, q i+1
H = H + h
 

 

М = Мкуз + Мгр,  
q i+1 = 2qi – q i-1+h2(g - )
Счетчик времени
Нахождение текущего перемещения
Вычисление начальных условий
Блок расчета переменных  
  М=Мкуз qi-1 = q0 qi = q0

 


Блок печати
        

 

Stop
Логический блок Когда H = Tmax прекращаем интегрирование
Рисунок 8 – блок-схема алгоритма решения задачи
Блок пересылки

 


Таким образом, представленная на рисунке 8 блок-схема имеет 8 блоков:

Блок ввода исходных данных, блок вычисления начальных условий, блок расчета переменных, блок присваивания (счетчик времени), блок интегрирования (нахождение текущего перемещения) блок печати, блок пересылки, а также логический блок.

 

4.2. Текст программы расчета исследуемых параметров

По блок-схеме, приведенной на рисунке 8, разрабатываем программу расчета собственных колебаний подпрыгивания кузова вагона рессорном подвешивании.

В таблице 3 приведены обозначения, используемые в программе.

 

Таблица 3 – Таблица идентификаторов

Обозначения в блок-схеме Обозначения в программе Наименование
Мкуз Мk Масса кузова
Мгр Мg Масса кузова
М М Масса
с с Жесткость рессорного подвешивания
qi qi Перемещение при текущем значении времени
qi-1 q1 Перемещение при предыдущем значении времени
qi+1 q2 Перемещение при последующем значении времени
q0 q0 Положение в начальный момент времени
h h Шаг интегрирования
H n Время интегрирования
Tmax Tmax Максимальное время интегрирования

 

Программа написана на языке программирования Object Pascal, в среде программирования Pascal ABC.

Program matmodel

uses crt;                                оператор открытия консоли для вывода результата

Var q0,qi,q1,q2,h,t,Tmax,C,g,m,Mk,Mg:real;        оператор задания переменной

F:text;                                                                                      оператор типа файла F

begin

clrscr;                                                                                оператор очистки экрана

writeln('Bведите жесткость рессорного подвешивания ');                                                                оператор вывода данных

readln(C);                                                                            оператор ввода данных

assign(F,' C:\мат модели\результаты расчета.txt);            оператор привязывания переменной к файлу

rewrite(F);                           оператор открытия файла для записи переменной F

h:=0.018;

Mk:=12900;

Tmax:=2;

g:=9.8;

Mg:=14000;

t:=0;                                                                                                     блок расчетов

M:=Mk+Mg;

q0:=(M*g)/(2*C);

M:=Mk;

q1:=q0;

qi:=q0;

Repeat                                                                                               оператор цикла

q2:= 2*qi - q1 + sqr(h)*(g-(2*C*qi)/M);

Writeln(q2:0:5,t:10:4);                                              оператор вывода переменной

Writeln(F,q2:0:5,t:10:4);                                          оператор вывода переменной

q1:=qi;

qi:=q2;                                                                                                 блок расчетов

t:=t + h;

Until t>=Tmax;                                                                             оператор условия

Readln;                                                                        оператор ввода переменной

End.

 


Дата добавления: 2019-03-09; просмотров: 459; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!