Автор работы: Пользователь скрыл имя, 01 Декабря 2013 в 21:31, курсовая работа
Задача курсовой работы – создание законченного программного приложения прикладного технического характера, выполненного по индивидуальному заданию.
В данной работе необходимо рассчитать требуемый диаметр поддерживающего катка, в зависимости от общего количества поддерживающих катков и базы трактора. Катки являются элементом ходовой части трактора, которая должна обеспечивать поддержку верхней ветви гусеницы трактора. При этом поддерживающий каток должен иметь достаточные запас прочности, высокую износостойкость и долговечность и малую массу, быть простым и удобным в обслуживании.
ВВЕДЕНИЕ 5
1. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ 6
2. АЛГОРИТМИЗАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ 8
3. ТАБЛИЦА ИДЕНТИФИКАТОРОВ 11
4. РАЗРАБОТКА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ 13
5. СТРУКТУРА ПРОГРАММНОГО ПРИЛОЖЕНИЯ 16
5.1. Падающее и контекстное меню 16
5.2. Статусная строка 16
5.3. Обработка исключительных ситуаций 16
5.4. Построение графических зависимостей 17
5.5. Создание анимации 17
5.6. Вызов внешнего приложения 17
5.7. Динамически подключаемые библиотеки 18
6. РАЗРАБОТКА СПРАВОЧНОЙ СИСТЕМЫ 19
7. РАСЧЁТ КОНТРОЛЬНОГО ПРИМЕРА 21
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ИНФОРМАЦИИ...24
Form1.LabeledEdit7.Text:=
Form1.LabeledEdit8.Text:=
Form1.LabeledEdit9.Text:=
Form1.LabeledEdit10.Text:=
Form1.LabeledEdit11.Text:=
end;
procedure TForm1.ShowHint(Sender: TObject);
begin
Form1.StatusBar1.SimpleText:=
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var Dp,DpZ,DpL:massive2;
DpVer,DpGor,zMass,LMass:
i,j:Integer;
begin
try
zMin:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено начальное значение количества катков',
mtWarning,[mbOK],0);
Form1.LabeledEdit1.SetFocus;
Exit;
end;
end;
try
zMax:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено конечное значение количества катков',
mtWarning,[mbOK],0);
Form1.LabeledEdit2.SetFocus;
Exit;
end;
end;
try
v:=StrToInt(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено количество расчётных точек',
mtWarning,[mbOK],0);
Form1.LabeledEdit3.SetFocus;
Exit;
end;
end;
try
LMin:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено начальное значение базы трактора',
mtWarning,[mbOK],0);
Form1.LabeledEdit4.SetFocus;
Exit;
end;
end;
try
LMax:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно конечное конечное значение базы трактора',
mtWarning,[mbOK],0);
Form1.LabeledEdit5.SetFocus;
Exit;
end;
end;
try
u:=StrToInt(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено количество расчётных точек',
mtWarning,[mbOK],0);
Form1.LabeledEdit6.SetFocus;
Exit;
end;
end;
try
My:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено значение момента сопротивления',
mtWarning,[mbOK],0);
Form1.LabeledEdit7.SetFocus;
Exit;
end;
end;
try
tg:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено значение шага гусеницы',
mtWarning,[mbOK],0);
Form1.LabeledEdit8.SetFocus;
Exit;
end;
end;
try
qg:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено значение веса гусеницы',
mtWarning,[mbOK],0);
Form1.LabeledEdit9.SetFocus;
Exit;
end;
end;
try
m:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено значение коэффициента трения',
mtWarning,[mbOK],0);
Form1.LabeledEdit10.SetFocus;
Exit;
end;
end;
try
f:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Неправильно введено значение коэффициента сопротивления',
mtWarning,[mbOK],0);
Form1.LabeledEdit11.SetFocus;
Exit;
end;
end;
if (zMin<1) or (zMin>9) then
begin
MessageDlg('Неправильно введено начальное значение количества катков',
mtWarning,[mbOK],0);
Form1.LabeledEdit1.SetFocus;
Exit;
end;
if (zMax<2) or (zMax>10) then
begin
MessageDlg('Неправильно введено конечное значение количества катков',
mtWarning,[mbOK],0);
Form1.LabeledEdit2.SetFocus;
Exit;
end;
if (LMin<2) then
begin
MessageDlg('Неправильно введено начальное значение базы трактора',
mtWarning,[mbOK],0);
Form1.LabeledEdit4.SetFocus;
Exit;
end;
if (LMax<2.1) or (LMax>2.5) then
begin
MessageDlg('Неправильно конечное конечное значение базы трактора',
mtWarning,[mbOK],0);
Form1.LabeledEdit5.SetFocus;
Exit;
end;
if (My<1.5) or (My>5.5) then
begin
MessageDlg('Неправильно введено значение момента сопротивления',
mtWarning,[mbOK],0);
Form1.LabeledEdit7.SetFocus;
Exit;
end;
if (tg<0.124) or (tg>0.126) then
begin
MessageDlg('Неправильно введено значение шага гусеницы',
mtWarning,[mbOK],0);
Form1.LabeledEdit8.SetFocus;
Exit;
end;
if (qg<50) or (qg>800) then
begin
MessageDlg('Неправильно введено значение веса гусеницу',
mtWarning,[mbOK],0);
Form1.LabeledEdit9.SetFocus;
Exit;
end;
if (m<0.14) or (m>0.16) then
begin
MessageDlg('Неправильно введено значение коэффициента трения',
mtWarning,[mbOK],0);
Form1.LabeledEdit10.SetFocus;
Exit;
end;
if (f<0.01) or (f>0.03) then
begin
MessageDlg('Неправильно введено значение коэффициента сопротивления',
mtWarning,[mbOK],0);
Form1.LabeledEdit11.SetFocus;
Exit;
end;
if (v<1) or (v>1000000) then
begin
MessageDlg('количество расчётных точек',
mtWarning,[mbOK],0);
Form1.LabeledEdit3.SetFocus;
Exit;
end;
if (u<1) or (u>10000000) then
begin
MessageDlg('количество расчётных точек',
mtWarning,[mbOK],0);
Form1.LabeledEdit6.SetFocus;
Exit;
end;
if m=f then
begin
MessageDlg('Неправильно введены данные',mtWarning,[mbOK],0);
Form1.LabeledEdit10.SetFocus;
Form1.LabeledEdit11.SetFocus;
Exit;
end;
Diametr(zMin,zMax,LMin,LMax,
Form2.StringGrid1.ColCount:=v+
Form2.StringGrid1.RowCount:=u+
for i:=1 to v do
begin
for j:=1 to u do
begin
Form2.StringGrid1.Cells[i,j]:=
Form2.StringGrid1.Cells[i,0]:=
Form2.StringGrid1.Cells[0,j]:=
end;
end;
Form2.ShowModal;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
AssignFile(FrPY, 'По умолчанию.txt');
begin
Reset(FrPY);
ReadLn(FrPY,zMin);
ReadLn(FrPY,zMax);
ReadLn(FrPY,v);
ReadLn(FrPY,LMin);
ReadLn(FrPY,LMax);
ReadLn(FrPY,u);
ReadLn(FrPY,My);
ReadLn(FrPY,tg);
ReadLn(FrPY,qg);
ReadLn(FrPY,m);
ReadLn(FrPY,f);
CloseFile(FrPY);
Form1.LabeledEdit1.Text:=
Form1.LabeledEdit2.Text:=
Form1.LabeledEdit3.Text:=
Form1.LabeledEdit4.Text:=
Form1.LabeledEdit5.Text:=
Form1.LabeledEdit6.Text:=
Form1.LabeledEdit7.Text:=
Form1.LabeledEdit8.Text:=
Form1.LabeledEdit9.Text:=
Form1.LabeledEdit10.Text:=
Form1.LabeledEdit11.Text:=
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
WinExec ('Calc\calc.exe', SW_RESTORE);
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form1.BitBtn2.Click;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
Form1.BitBtn2.Click;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
try
zMin:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit1.SetFocus;
Exit;
end;
end;
try
zMax:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit2.SetFocus;
Exit;
end;
end;
try
v:=StrToInt(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit3.SetFocus;
Exit;
end;
end;
try
LMin:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit4.SetFocus;
Exit;
end;
end;
try
LMax:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit5.SetFocus;
Exit;
end;
end;
try
u:=StrToInt(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit6.SetFocus;
Exit;
end;
end;
try
My:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit7.SetFocus;
Exit;
end;
end;
try
tg:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);
Form1.LabeledEdit8.SetFocus;
Exit;
end;
end;
try
qg:=StrToFloat(Form1.
except
on EConvertError Do
begin
MessageDlg('Некорректно введены данные',
mtWarning,[mbOK],0);