begin read(ff,w[i]); i:=i+1; end;close(ff);
i:=0; repeat
i:=i+1;
amod:=w[i];
until w[i]>=trunc(amod2*10)/10;delw; writeln;
zs:=2*aw/amod;
z1:=trunc(zs/(u+1)); z2:=trunc(zs-z1);
signh:=310/(aw*u)*sqrt(t*1.2*(u+1)*sqr(u+1)/b2
);
writeln('siga1[МПа] = ',siga[1]:6:1); writeln('siga2[МПа] = ',siga[2]:6:1); writeln('sigb1[МПа] = ',sigb[1]:6:1); writeln('sigb2[МПа] = ',sigb[2]:6:1); writeln('signfa[МПа] = ',signfa:6:1); writeln('Стандартное значение модуля
amod = ',amod:5:3); writeln('Приблеженное межосевое
расстояние a1 = ',a1:8:4);
writeln('Точное межосевое расстояние a =
',aw:8:4);
writeln('Расчетное контактное напряжение signh = ',signh:6:1);
assign(ff,'mechan1.dat');
reset(ff);
i:=1;
while not eoln(ff) do begin
read(ff,w[i]);
i:=i+1;
end;close(ff);
assign(ff,'mechan2.dat');
reset(ff);
i:=1;
while not eoln(ff) do begin
read(ff,w1[i]);
i:=i+1;
end;close(ff);
i:=0; repeat
i:=i+1;if i<>11 then begin
if z1=w[i] then yf1:=w1[i];
if z2=w[i] then yf2:=w1[i];end;
if (z1>w[i])and(z1<w[i+1])and(i<=10) then yf1:=(w1[i]+w1[i+1])/2;
if (z2>w[i])and(z2<w[i+1])and(i<=10) then yf2:=(w1[i]+w1[i+1])/2;
if z1>100 then yf1:=3.6; if z2>100 then yf2:=3.6;
until i>10; s1:=1.8*kb[1]/1.75/yf1; s2:=1.8*kb[2]/1.75/yf2; sn:=s1;
yf:=yf2;
if s1>s2 then begin sn:=s2;yf:=yf1;end; if z1>z2 then z:=z2 else z:=z1; signfs:=yf*(2*t/(amod*z)/(b2*amod))*1.4; writeln('Прочность зубьев на изгиб
signf2[МПа] = ' ,signfs:6:1);textbackground(black);
repeat until keypressed; initgraph(gm,gd,'c:\tp\bgi'); end;
procedure point_4_1;
var f_n,f_tr,z1,z2,n:real; begin
closegraph;
clrscr;
writeln('Введите нормальную нагрузку в зацеплении зубчатых колес Fn[H]=');
gotoxy(63,1); read(f_n);
writeln('Введите коэффициент трения скольжения в зацеплении fтр=');
gotoxy(56,2); read(f_tr);
writeln('Введите число зубьев первого колеса z1=');
gotoxy(40,3);
readln(z1);
writeln('Введите число зубьев второго колеса z2=');
gotoxy(40,4);
readln(z2);
writeln;
writeln('Дай подумать...'); delay(20);
writeln('Так вот оно что...'); delay(20);
writeln; n:=1-
(f_n+3)*f_tr*3.14*(1/z1+1/z2)/(f_n+0.18); writeln('КПД механизма равен ',n); repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi');
end;
procedure point_4_2; var b,ro,n:real; begin
closegraph;
clrscr;
writeln('Введите угол наклона зубьев ведомого колеса бета2=');
gotoxy(51,1);
read(b);
b:=b*3.14/180;
writeln('Введите приведенный угол трения в зацеплении ro=');
gotoxy(50,2);
read(ro);
ro:=ro*3.14/180;
writeln;
n:=0.95*sin(b)*cos(b+ro)/(cos(b)*sin(b+ro)); writeln('КПД механизма равен ',n);
repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi'); end;
procedure point_4_3;
var z,d,m,ro,tangent,ang,n:real; begin
closegraph;
clrscr;
writeln('Введите число витков червяка z='); gotoxy(32,1);
read(z);
writeln('Введите диаметр червяка d='); gotoxy(28,2);
read(d);
writeln('Введите модуль передачи m=');
gotoxy(28,3);
read(m);
writeln('Введите приведенный угол трения в зацеплении ro=');
gotoxy(49,4);
read(ro);
ro:=ro*3.14/180;
tangent:=z*m/d;
ang:=arctan(tangent);
n:=0.95*tangent*cos(ang+ro)/sin(ang+ro); writeln('КПД механизма равен ',n); repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi');
end;
procedure point_4; label 1;
begin
1:clearviewport;
settextjustify(1,1);
setbkcolor(darkgray);
setcolor(white);
box(163,28,470,75,magenta);
settextstyle(1,0,1); outtextxy(320,50,'Выбор типа передачи'); box(180,140,460,230,cyan); settextjustify(0,1); outtextxy(200,160,'1. Прямозубая'); outtextxy(200,180,'2. Косозубая'); outtextxy(200,200,'3. Червячная'); repeat until keypressed;
key:=readkey; case key of '1':point_4_1; '2':point_4_2;