Рассчитать таблицы зависимостей силы резания, мощности и усилия подачи по оси центрового сверла при сверлении дуба, березы, сосны, пользуясь следующими зависимостями:
c=(1000*V)/(z*n)
где c - подача на оборот, мм; z - число режущих кромок; V - скорость подачи, м/мин; n - скорость вращения сверла, об/мин;
P=(K*d*c)/2
где P - сила резания при сверлении, кГ; D - диаметр сверла, мм; K - удельная работа резания при сверлении, кГ/мм2.
Величина K вычисляется по выражениям, приведенным в табл. 2.
function K (Diam : integer; T : trees; C : real) : real; begin with table_2[Diam div 5, T] do K := f + s / C; end;
, теперь останется только вызвать функцию K, передав ей диаметр, материал и величину С, получишь соответствующее значение из таблицы. В общем, что именно не получается - говори.
PL8Priest
25.11.2011 16:10
Сделал так
program test; uses crt; var i:integer; k,d,n,v,p,c,Vmax,q,Nk:array [1..3] of real; z:array [1..3] of integer; rez:TEXT; begin; z[1]:=2; write ('Введите число режущих кромок для березы '); readln (z[2]); write ('Введите число режущих кромок для дуба '); readln (z[3]); d[1]:=15; d[2]:=20; d[3]:=25; n[1]:=2900; n[2]:=3000; n[3]:=3500; v[1]:=0.5; v[2]:=0.8; v[3]:=1; for i:=1 to 3 do begin c[i]:=(1000*v[i])/(z[i]*n[i]); end; k[1]:=2+(0.8/c[1]); k[2]:=2.33+(0.95/c[2]); k[3]:=2.4+(0.96/c[3]); assign (rez, 'rezult.txt'); rewrite (rez); for i:=1 to 3 do begin p[i]:=(k[i]*d[i]*c[i])/2; Vmax[i]:=(pi*d[i]*n[i])/(60*10*10*10); Nk[i]:=p[i]*(Vmax[i]/102); q[i]:=(0.25+0.07*d[i])*p[i]; writeln (rez, '| ',p[i]3, ' | ', Nk[i]3,' | ',q[i]1); end; close (rez); writeln ('Результаты сохранены в файл rezylt.txt'); readkey; end.
Вот теперь думаю какбы исходный данные из программы убрать, и чтоб из файла они брались...
var tip:array [1..3] of string; d,z:array [1..3] of integer; n,v,c,p,KK,q,Vmax,NN:array [1..3] of real; i:integer;
function K (Diam:integer;T:trees;C:real):real; begin with table_2[Diam div 5, T] do K:=f+s/C; end; Begin clrscr; tip[1]:='sosna'; tip[2]:='bereza'; tip[3]:='dyb'; for i:=1 to 3 do begin write ('vvedite z dlya ', tip[i]); readln (z[i]); write ('vvedite D dly ', tip[i]); readln (d[i]); write ('vvidite n dlya ', tip[i]); readln (n[i]); write ('vvedite V dlya ', tip[i]); readln (v[i]); c[i]:=(1000*v[i])/(z[i]*n[i]); KK[i]:=K(d[i], tip[i], c[i]); p[i]:=(KK[i]*d[i]*c[i])/2; Vmax[i]:=(pi*d[i]*n[i])/(60*10*10*10); NK[i]:=p[i]*(Vmax[i]/102); q[i]:=(0.25+0.07*d[i])*p[i]; end; for i:=1 to 3 do begin writeln (' |', tip[i], ' | ', p[i]3, ' | ', NK[i]3, ' | ', q[i]1, ' |'); end. readkey; end.
Выдаёт ошибку Error 26: Type mismatch когда пытаюсь функции К передать значение тип дерева
PL8Priest
9.01.2012 18:50
уже сам разобрался, вроде так
Program t2; uses crt; type trees = (sosna, bereza, dyb); { sosna, ber, dyb } pair=record f,s: real end;