end; goto 2;
1: end; begin
gd:=vga;
gm:=vgamed;
initgraph(gd,gm,'c:\tp\bgi');
title; main_menu; closegraph;
end.
Листинг программы Hard.pas
{Программа расчета жесткой передачи} program Hard;
uses crt; label 1,2; var
key,key1 : char; FD1,FD2,FE,FI12 : real;
GUp,GHp,GN1,GP1,Gh,GT1,GT2 : real;
HR1,HR2,HE1,HE2,HM1,HM2,HF,HB,HSigmaDop,HSigma
,
HRpr,HEpr : real; begin
Textcolor(White);
Textbackground(Blue);
1:Clrscr;
writeln('Расчет механизма жесткой передачи');
writeln(' |
Выберите пункт |
меню:'); |
|
writeln; |
|
writeln('1 |
- расчет кинематики;'); |
writeln('2 |
- силовой расчет;'); |
writeln('3 |
- расчет зацепления на |
прочность'); |
|
writeln('4 |
- выход из программы.'); |
Key:=readkey; case key of
'1':begin writeln('Кинематика:');
write('Введите диаметр первого шкива
D1: ');
readln(FD1);
write('Введите диаметр второго шкива
D2: ');
readln(FD2);
write('Введите коэффициент E: '); readln(FE);
FI12:=FD2*FE/FD1; writeln('Передаточное отношение
I12=',FI12:8:2);
end;
'2':begin writeln('Силовой:');
write('Двигатель с редуктором? (1-
да, 2-нет)'); readln(key1);
if key1='1' then begin write('Введите передаточное число
редуктора Up: '); readln(GUp);
write('Введите КПД редуктора: '); readln(GHp);
end;
write('Введите число оборотов двигателя n1: ');
readln(GN1);
write('Введите мощность двигателя
P1: ');
readln(GP1);
write('Введите КПД передачи: '); readln(GH);
write('Введите передаточное отношение I12: ');
readln(FI12); if key1='1' then
GT1:=((9550*GP1)/(GN1*GUp))*GHp else GT1:=9550*GP1/GN1; GT2:=GT1*FI12*GH;
writeln('Крутящий момент на ведущем валу:',GT1:8:2);
writeln('Крутящий момент на ведомом валу:',GT2:8:2);
end;
'3':begin writeln('Прочность:');
writeln('Введите радиусы кривизны в точках контакта: ');
write(' R1: '); readln(HR1); write(' R2: '); readln(HR2);
writeln('Введите модули упругости
дисков:');
write(' E1: '); readln(HE1); write(' E2: '); readln(HE2);
writeln('Введите коэфф. Пуассона материалов дисков:');
write(' M1: '); readln(HM1); write(' M2: '); readln(HM2);
write('Введите силу притяжения дисков: ');
readln(HF);
write('Введите ширину площадки контакта: ');
readln(HB);
write('Введите допустимое контактное напряжение: ');
readln(HSigmaDop);
HRpr:=HR1*HR2/(HR1+HR2);
HEpr:=2*HE1*HE2/(HE1*(1- HM2*HM2)+HE2*(1-HM1*HM1));
HSigma:=sqrt((1/(2*pi))*(HF/HB)*(HEpr/HRpr)); writeln('Контактное напряжение:
',HSigma:8:2);
If HSigma > HSigmaDop then writeln('Расчет не верен, так как
контактное ', 'напряжение больше допустимого');
end;
'4':begin
write('Действительно желаете закончить работу?');
writeln(' (1-Да; 2-Нет)'); Key:=readkey;
If Key='1' then goto 2 else goto 1; end;
else goto 1;
end;
write('Расчет закончен. Для продолжения ',
'нажмите Enter');readln; goto 1;
2:writeln('Работа программы закончена.'); end.
Листинг программы Fric.pas
{Программа расчета силового механизма фрикционной передачи}
program Fric; uses crt; label 1,2; var
key : char; FD1,FD2,FC,FU,Fa,FLp,Falfa : real; GF0,GF1,GF2,GFb,GF,GFT,GUs : real; HE,HD,HT1,HS,HSigma0,HSigmaM : real;
begin Textcolor(White);
Textbackground(Blue);
1:Clrscr;
writeln('Расчет механизма фрикционной передачи');
writeln(' Выберите пункт меню:');
writeln;
writeln('1 - расчет геометрии;'); writeln('2 - силовой расчет;'); writeln('3 - расчет зацепления на
прочность');
writeln('4 - выход из программы.');
Key:=readkey;