Объединить несколько готовых и работающих программ в одну - Turbo Pascal

Формулировка задачи:

Привет, нужно объединить данные программы в 1 и чтобы можно было выбирать при запуске нужное действие. С паскалем туго, в основном работаю в visual basic, а задачу к курсовой сказали написать именно в паскале. Прошу помочь, заранее спасибо. 1. Программа нахождение максимального числа, минимального числа, а также ввод-вывод данных на экран.
Var
z,a,b,c,max,min:real;
f:text;
procedure minimum(x,y:real;var k:real);
begin
if x<y then k:=x else k:=y;
end;
begin
assign(f,'f1.txt');
rewrite(f);
writeln('Введите А,В,С);
readln(a,b,c);
minimum(b,a-c,min);
z:=(min+maximum(c,a+b))/(maximum(a,b+c));
writeln('z=' ,z:=8:3);
writeln(f,z:8:3);
readln;
close(f);
end.
2) Разложение целого числа на простые множители.
Var x,m: Integer;
BEGIN
Write ('Введите целое число. '); ReadLn (x);
WriteLn ('Разложение числа ', x, ' на простые множители');
m:=2;
While m<=x do
If (x MOD m)=0 Then 
Begin
Write (' * ',m);
x:=x DIV m;
End else m:=m+1;
END.
3)Программа, моделирующая простой калькулятор.
Var operation: Char; { Символ арифметической операции }
n: Real;
Answer: Real; { Результат вычисления }
BEGIN
Answer:=0; { Вначале обнулим результат }
operation:='+'; { Присвоить '-', '*' или '/' нельзя }
WriteLn ('Вводите арифметическое выражение');
WriteLn ('каждый символ - с новой строки ');
Repeat
ReadLn (n);
Case operation Of
'+': Answer:=Answer + n;
'-': Answer:=Answer - n;
'*': Answer:=Answer * n;
'/': Answer:=Answer / n;
End;
ReadLn (operation);
Until operation = '=';
WriteLn (Answer:5:4);
END.

Код к задаче: «Объединить несколько готовых и работающих программ в одну - Turbo Pascal»

textual
uses crt;
Var
z,a,b,c,max,min,x,y,ko:real;
k,m,r,n:integer;
operation: Char; { Символ арифметической операции }
Answer: Real; { Результат вычисления }
f:text;
procedure Maxmin;
begin
writeln ('Максимум Минимум');
begin
if x<y then ko:=x else ko:=y;
end;
begin
assign(f,'f1.txt');
rewrite(f);
writeln('Введите А,В,С');
readln(a,b,c);
min:=a;max:=a;
if b>max then max:=b;if b<min then min:=b;
if c>max then max:=c;if c<min then min:=c;
writeln('Максимальное число : ',max);
writeln('Минимальное число : ',min);
writeln(f,max);
writeln(f,min);
readln;
close(f);
end;
end;
procedure razloj;
begin
writeln('Разложение целого числа на простые множители.');
BEGIN
Write ('Введите целое число. '); ReadLn (r);
WriteLn ('Разложение числа ', r, ' на простые множители');
m:=2;
While m<=r do
If (r MOD m)=0 Then 
Begin
Write (' * ',m);
r:=r DIV m;
End else m:=m+1;
END;
readkey;
end;
procedure kalk;
begin
writeln('Программа, моделирующая простой калькулятор.');
BEGIN
Answer:=0; { Вначале обнулим результат }
operation:='+'; { Присвоить '-', '*' или '/' нельзя }
WriteLn ('Вводите арифметическое выражение');
WriteLn ('каждый символ - с новой строки ');
Repeat
ReadLn (n);
Case operation Of
'+': Answer:=Answer + n;
'-': Answer:=Answer - n;
'*': Answer:=Answer * n;
'/': Answer:=Answer / n;
End;
ReadLn (operation);
Until operation = '=';
WriteLn (Answer:5:4);
END;
readkey;
end;
begin //main program
while k<>4 do begin
clrscr;
Writeln('1 - Максимум Минимум');
Writeln('2 - Разложение целого числа на простые множители.');
Writeln('3 - Программа, моделирующая простой калькулятор.');
Writeln('4 - Выход');
writeln('you choose');
readln(k);
if (k<1) or (k>4) then begin
Writeln ('Diapozon zadn ne verno');
readkey;
end else 
case k of
1:maxmin;
2:razloj;
3:kalk;
end;
end; 
 
readkey;
end.

14   голосов, оценка 3.714 из 5


СОХРАНИТЬ ССЫЛКУ