РАЗРАБОТКА ПРОГРАММЫ РАСЧЕТА СОБСТВЕННЫХ КОЛЕБАНИЙ КУЗОВА НА РЕССОРНОМ ПОДВЕШИВАНИИ
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; просмотров: 463; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!

Tmax
)