IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Расчет мощности и усилия подачи при сверлении древесины, хз как делать
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


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

c=(1000*V)/(z*n)

где c - подача на оборот, мм;
z - число режущих кромок;
V - скорость подачи, м/мин;
n - скорость вращения сверла, об/мин;

P=(K*d*c)/2

где P - сила резания при сверлении, кГ;
D - диаметр сверла, мм;
K - удельная работа резания при сверлении, кГ/мм2.

Величина K вычисляется по выражениям, приведенным в табл. 2.

Vmax=(PI*D*n)/(60*(10*10*10))

где Vmax - максимальная скорость резания, м/с.

N=P*(Vmax/102)

где N - мощность резания, кВт.

Q=(0.25+0.07*D)*P

где Q - усилие подачи на оси сверла, кГ.

Таблица 2
Прикрепленное изображение

Найти зависимости силы резания, мощности и усилия подачи по оси сверла от независимых величин D, n и V.

Исходные данные
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Что здесь непонятного? Все формулы же есть, осталось просто запрограммировать.

Не знаешь, как сделать таблицу 2? Я бы делал вот так:
type
trees = (t_s, t_b, t_d); { сосна, береза и дуб }
pair = record f, s : real end;

const
table_2 : array[1 .. 5, trees] of pair =
(
((f:15.6; s:6.24), (f:27.00; s:10.5), (f:37.5; s:15.00)), { 5mm }
((f: 4.2; s:1.68), (f: 7.10; s:2.85), (f:10.5; s: 4.00)), { 10mm }
((f: 2.0; s:0.80), (f: 3.40; s:1.28), (f: 4.8; s: 1.72)), { 15mm }
((f: 1.4; s:0.56), (f: 2.33; s:0.95), (f: 3.4; s: 1.30)), { 20mm }
((f: 1.0; s:0.40), (f: 1.70; s:0.68), (f: 2.4; s: 0.96)) { 25mm }
);

function K (Diam : integer; T : trees; C : real) : real;
begin
with table_2[Diam div 5, T] do
K := f + s / C;
end;
, теперь останется только вызвать функцию K, передав ей диаметр, материал и величину С, получишь соответствующее значение из таблицы. В общем, что именно не получается - говори.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Сделал так


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]1.gif3, ' | ', Nk[i]1.gif3,' | ',q[i]3.gif1);
end;
close (rez);
writeln ('Результаты сохранены в файл rezylt.txt');
readkey;
end.


Вот теперь думаю какбы исходный данные из программы убрать, и чтоб из файла они брались...

P.S.
чтото предпоследний writeln неправильно показывается, там writeln (rez, '| ',p[i]: 1 : 3, ' | ', Nk[i]: 1 : 3,' | ',q[i]: 1 : 3);

Сообщение отредактировано: PL8Priest -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость







Program t2;
uses crt;
type
trees = (sosna, bereza, dyb); { sosna, ber, dyb }
pair=record f,s: real end;
const
table_2:array[1..5, trees] of pair =
(
((f:15.6; s:6.24), (f:27.00; s:10.5), (f:37.5; s:15.00)), { 5mm }
((f: 4.2; s:1.68), (f: 7.10; s:2.85), (f:10.5; s: 4.00)), { 10mm }
((f: 2.0; s:0.80), (f: 3.40; s:1.28), (f: 4.8; s: 1.72)), { 15mm }
((f: 1.4; s:0.56), (f: 2.33; s:0.95), (f: 3.4; s: 1.30)), { 20mm }
((f: 1.0; s:0.40), (f: 1.70; s:0.68), (f: 2.4; s: 0.96))); { 25mm }

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]1.gif3, ' | ', NK[i]1.gif3, ' | ', q[i]3.gif1, ' |');
end.
readkey;
end.



Выдаёт ошибку Error 26: Type mismatch когда пытаюсь функции К передать значение тип дерева
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


уже сам разобрался, вроде так
Program t2;
uses crt;
type
trees = (sosna, bereza, dyb); { sosna, ber, dyb }
pair=record f,s: real end;

const
table_2:array[1..5, trees] of pair =
(
((f:15.6; s:6.24), (f:27.00; s:10.5), (f:37.5; s:15.00)), { 5mm }
((f: 4.2; s:1.68), (f: 7.10; s:2.85), (f:10.5; s: 4.00)), { 10mm }
((f: 2.0; s:0.80), (f: 3.40; s:1.28), (f: 4.8; s: 1.72)), { 15mm }
((f: 1.4; s:0.56), (f: 2.33; s:0.95), (f: 3.4; s: 1.30)), { 20mm }
((f: 1.0; s:0.40), (f: 1.70; s:0.68), (f: 2.4; s: 0.96))); { 25mm }

var tip:array [1..3] of string;
d,z:array [1..3] of integer;
n,v,c,p,KK,q,Vmax,NK:array [1..3] of real;
i:integer;
isx,rez:text;

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], trees(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;
writeln ('| Tip der | Sila rezaniya, Kg| Moshnost rezaniya, kBt| Ysilie pod rezaniya, kg ');
writeln ('-------------------------------------------------------------------------------');
for i:=1 to 3 do
begin
writeln ('| ', tip[i],' ':2, ' | ', p[i]1.gif3, ' | ', NK[i]1.gif3, ' | ', q[i]3.gif1, ' |');
end;
writeln ('-------------------------------------------------------------------------------');
readkey;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


как бы сделать чтобы вначале, у пользователя спрашивали использовать текущий файл с исходными данными или создать новый?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


и ещё тут почему то при чтение данных из файла, ошибка

Program t2;
uses crt;
type
trees = (sosna, bereza, dyb); { sosna, ber, dyb }
pair=record f,s: real end;

const
table_2:array[1..5, trees] of pair =
(
((f:15.6; s:6.24), (f:27.00; s:10.5), (f:37.5; s:15.00)), { 5mm }
((f: 4.2; s:1.68), (f: 7.10; s:2.85), (f:10.5; s: 4.00)), { 10mm }
((f: 2.0; s:0.80), (f: 3.40; s:1.28), (f: 4.8; s: 1.72)), { 15mm }
((f: 1.4; s:0.56), (f: 2.33; s:0.95), (f: 3.4; s: 1.30)), { 20mm }
((f: 1.0; s:0.40), (f: 1.70; s:0.68), (f: 2.4; s: 0.96))); { 25mm }

var tip:array [1..3] of string;
d,z:array [1..3] of integer;
n,v,c,p,KK,q,Vmax,NK:array [1..3] of real;
i:integer;
isx,rez:text;

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;

TextBackGround (1);
ClrScr;
Window (20,6,60,16);
TextBackGround (7);
ClrScr;
Window (22,7,58,15);
textBackGround (1);
ClrScr;
TextColor (14);
GoToXY (1,3);
WriteLn (' Kyrsovaya po informatike ');
WriteLn (' Vipolnil 1234561231231 ');
WriteLn (' stydent 1-go kyrsa ');
WriteLn (' Informacionnie sistemi ');
WriteLn (' 2011 god ');
Writeln ('');
Writeln (' Press any key');
ReadKey;
window (1,1,80,25);
ClrScr;
Window (4,2,76,24);
TextBackGround (7);
ClrScr;
Window (6,3,74,23);
textBackGround (1);
ClrScr;
TextColor (14);
GoToXY (1,3);

assign (isx, 'DATA.TXT');
reset (isx);

for i:=1 to 3 do
begin
readln (isx, tip[i], z[i], d[i], n[i], v[i]);
c[i]:=(1000*v[i])/(z[i]*n[i]);
KK[i]:=K(d[i], trees(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;
writeln ('| Tip der | Sila rezaniya, Kg| Moshnost rezaniya, kBt| Ysilie pod rezaniya, kg ');
writeln ('-------------------------------------------------------------------------------');
for i:=1 to 3 do
begin
writeln ('| ', tip[i],' ':2, ' | ', p[i]1.gif3, ' | ', NK[i]1.gif3, ' | ', q[i]3.gif1, ' |');
end;
writeln ('-------------------------------------------------------------------------------');
readkey;
close (isx);
window (1,1,80,25);
TextBackGround (0);
TextColor (7);
end.


Сообщение отредактировано: PL8Priest -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 20:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name