Рассчитать требуемый диаметр поддерживающего катка, в зависимости от общего количества поддерживающих катков и базы трактора

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

Пояснительная записка.docx

— 1.43 Мб (Скачать документ)

Form1.LabeledEdit7.Text:=FloatToStr(My);

Form1.LabeledEdit8.Text:=FloatToStr(tg);

Form1.LabeledEdit9.Text:=FloatToStr(qg);

Form1.LabeledEdit10.Text:=FloatToStr(m);

Form1.LabeledEdit11.Text:=FloatToStr(f);

end;

procedure TForm1.ShowHint(Sender: TObject);

begin

Form1.StatusBar1.SimpleText:=Application.Hint;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

var Dp,DpZ,DpL:massive2;

    DpVer,DpGor,zMass,LMass:massive1;

    i,j:Integer;

begin

try

  zMin:=StrToFloat(Form1.LabeledEdit1.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено начальное значение количества катков',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit1.SetFocus;

      Exit;

end;

  end;

try

  zMax:=StrToFloat(Form1.LabeledEdit2.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено конечное значение количества катков',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit2.SetFocus;

      Exit;

end;

  end;

try

  v:=StrToInt(Form1.LabeledEdit3.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено количество расчётных точек',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit3.SetFocus;

      Exit;

end;

  end;

try

  LMin:=StrToFloat(Form1.LabeledEdit4.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено начальное значение базы трактора',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit4.SetFocus;

      Exit;

end;

  end;

try

  LMax:=StrToFloat(Form1.LabeledEdit5.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно конечное конечное значение базы трактора',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit5.SetFocus;

      Exit;

end;

  end;

 

try

  u:=StrToInt(Form1.LabeledEdit6.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено количество расчётных точек',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit6.SetFocus;

      Exit;

end;

  end;

try

  My:=StrToFloat(Form1.LabeledEdit7.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено значение момента сопротивления',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit7.SetFocus;

      Exit;

end;

  end;

try

  tg:=StrToFloat(Form1.LabeledEdit8.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено значение шага гусеницы',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit8.SetFocus;

      Exit;

end;

  end;

try

  qg:=StrToFloat(Form1.LabeledEdit9.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено значение веса гусеницы',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit9.SetFocus;

      Exit;

end;

  end;

  try

  m:=StrToFloat(Form1.LabeledEdit10.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Неправильно введено значение коэффициента трения',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit10.SetFocus;

      Exit;

end;

  end;

  try

  f:=StrToFloat(Form1.LabeledEdit11.Text);

  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,My,tg,qg,m,f,v,u,Dp,DpZ,DpL,DpVer,DpGor,zMass,LMass);

Form2.StringGrid1.ColCount:=v+1;

Form2.StringGrid1.RowCount:=u+1;

for i:=1 to v do

begin

  for j:=1 to u do

  begin

Form2.StringGrid1.Cells[i,j]:=FloatToStrF(Dp[i,j],ffFixed,8,4);

  Form2.StringGrid1.Cells[i,0]:=FloatToStrF(DpVer[i],ffFixed,3,2);

Form2.StringGrid1.Cells[0,j]:=FloatToStrF(DpGor[j],ffFixed,3,2)+' м';

  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:=FloatToStr(zMin);

Form1.LabeledEdit2.Text:=FloatToStr(zMax);

Form1.LabeledEdit3.Text:=IntToStr(v);

Form1.LabeledEdit4.Text:=FloatToStr(LMin);

Form1.LabeledEdit5.Text:=FloatToStr(LMax);

Form1.LabeledEdit6.Text:=IntToStr(u);

Form1.LabeledEdit7.Text:=FloatToStr(My);

Form1.LabeledEdit8.Text:=FloatToStr(tg);

Form1.LabeledEdit9.Text:=FloatToStr(qg);

Form1.LabeledEdit10.Text:=FloatToStr(m);

Form1.LabeledEdit11.Text:=FloatToStr(f);

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.LabeledEdit1.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit1.SetFocus;

      Exit;

end;

  end;

try

  zMax:=StrToFloat(Form1.LabeledEdit2.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit2.SetFocus;

      Exit;

end;

  end;

try

  v:=StrToInt(Form1.LabeledEdit3.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit3.SetFocus;

      Exit;

end;

  end;

try

  LMin:=StrToFloat(Form1.LabeledEdit4.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit4.SetFocus;

      Exit;

end;

  end;

try

  LMax:=StrToFloat(Form1.LabeledEdit5.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit5.SetFocus;

      Exit;

end;

  end;

try

  u:=StrToInt(Form1.LabeledEdit6.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit6.SetFocus;

      Exit;

end;

  end;

try

  My:=StrToFloat(Form1.LabeledEdit7.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit7.SetFocus;

      Exit;

end;

  end;

try

  tg:=StrToFloat(Form1.LabeledEdit8.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

      Form1.LabeledEdit8.SetFocus;

      Exit;

end;

  end;

 

try

  qg:=StrToFloat(Form1.LabeledEdit9.Text);

  except

    on EConvertError Do

      begin

      MessageDlg('Некорректно введены данные',

      mtWarning,[mbOK],0);

Информация о работе Рассчитать требуемый диаметр поддерживающего катка, в зависимости от общего количества поддерживающих катков и базы трактора