В помощь технологу...
Так как я обучаюсь на специальность технолог машиностроения, я решил в помощь себе создать калькулятор. Ранее паскаль я изучал в школе на уроках информатики. В помощь созданию я прибегнул к использованию различных гайдов, благодаря которым получилось создать эту программу. У кода есть недостатки. К примеру, нельзя использовать в некоторых переменных десятичные числа (пишет ошибку). Но данный результат, что программа работает, заставляет меня радоваться, хоть она и примитивна. Код писал в PascalABC.net.
Кому интересен код, я прикреплю его ниже.
program КалькуляторДляТехнологаМашиностроения;
uses CRT;
const
pi = 3.1415926535;
var
choice: integer;
procedure CalcSpindle;
var
V, D, n: real;
begin
writeln('РАСЧЕТ ЧАСТОТЫ ВРАЩЕНИЯ ШПИНДЕЛЯ');
write('Введите скорость резания V (м/мин): ');
readln(V);
write('Введите диаметр детали D (мм): ');
readln(D);
n := (1000 * V) / (pi * D);
writeln('Частота вращения шпинделя n = ', n:0:2, ' об/мин');
readln;
end;
procedure CalcFeed;
var
S, n, Sm: real;
begin
writeln('РАСЧЕТ МИНУТНОЙ ПОДАЧИ');
write('Введите подачу на оборот S (мм/об): ');
readln(S);
write('Введите обороты шпинделя n (об/мин): ');
readln(n);
Sm := S * n;
writeln('Минутная подача Sm = ', Sm:0:2, ' мм/мин');
readln;
end;
procedure CalcMachineTime;
var
L, Sm, Tm: real;
begin
writeln('РАСЧЕТ МАШИННОГО ВРЕМЕНИ');
write('Введите длину рабочего хода L (мм): ');
readln(L);
write('Введите минутную подачу Sm (мм/мин): ');
readln(Sm);
Tm := L / Sm;
writeln('Машинное время Tm = ', Tm:0:3, ' мин');
readln;
end;
procedure CalcCuttingMode;
var
D, V, S, L, n, Sm, Tm: real;
begin
writeln('РАСЧЕТ РЕЖИМОВ РЕЗАНИЯ');
write('Введите диаметр детали D (мм): ');
readln(D);
write('Введите скорость резания V (м/мин): ');
readln(V);
write('Введите подачу на оборот S (мм/об): ');
readln(S);
write('Введите длину рабочего хода L (мм): ');
readln(L);
n := (1000 * V) / (pi * D);
Sm := S * n;
Tm := L / Sm;
writeln;
writeln('РЕЗУЛЬТАТЫ:');
writeln('Обороты шпинделя n = ', n:0:2, ' об/мин');
writeln('Минутная подача Sm = ', Sm:0:2, ' мм/мин');
writeln('Машинное время Tm = ', Tm:0:3, ' мин');
readln;
end;
procedure CalcMass;
var
D, L, density, volume, mass: real;
begin
writeln('РАСЧЕТ МАССЫ ЦИЛИНДРИЧЕСКОЙ ДЕТАЛИ');
write('Введите диаметр D (мм): ');
readln(D);
write('Введите длину L (мм): ');
readln(L);
write('Введите плотность материала (кг/м3): ');
readln(density);
D := D / 1000;
L := L / 1000;
volume := pi * sqr(D) / 4 * L;
mass := density * volume;
writeln('Масса детали = ', mass:0:3, ' кг');
readln;
end;
procedure CalcAllowance;
var
D1, D2, allowance: real;
begin
writeln('РАСЧЕТ ПРИПУСКА');
write('Введите диаметр заготовки (мм): ');
readln(D1);
write('Введите диаметр после обработки (мм): ');
readln(D2);
allowance := (D1 - D2) / 2;
writeln('Припуск на сторону = ', allowance:0:3, ' мм');
readln;
end;
begin
repeat
ClrScr;
writeln('=================================');
writeln('ПРОГРАММА ТЕХНОЛОГА МАШИНОСТРОЕНИЯ');
writeln('=================================');
writeln('1 - Режимы резания');
writeln('2 - Частота вращения шпинделя');
writeln('3 - Минутная подача');
writeln('4 - Машинное время');
writeln('5 - Масса детали');
writeln('6 - Припуск на обработку');
writeln('0 - Выход');
writeln;
write('Выберите пункт: ');
readln(choice);
ClrScr;
case choice of
1: CalcCuttingMode;
2: CalcSpindle;
3: CalcFeed;
4: CalcMachineTime;
5: CalcMass;
6: CalcAllowance;
end;
until choice = 0;
end.















