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

Узнай цену своей работы

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

Привет, нужно объединить данные программы в 1 и чтобы можно было выбирать при запуске нужное действие. С паскалем туго, в основном работаю в visual basic, а задачу к курсовой сказали написать именно в паскале. Прошу помочь, заранее спасибо. 1. Программа нахождение максимального числа, минимального числа, а также ввод-вывод данных на экран.
2) Разложение целого числа на простые множители.
3)Программа, моделирующая простой калькулятор.

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

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.

Объяснение кода листинга программы

  1. Объявление переменных:
    • z, a, b, c, max, min, x, y, ko:real;
    • k, m, r, n:integer;
    • operation: Char;
    • Answer: Real;
    • f:text;
  2. Основная программа:
    • 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.
  3. Подпрограммы:
    • procedure Maxmin;
      • writeln ('Максимум Минимум');
      • begin
      • if x<y then ko:=x else ko:=y;
      • end;
      • writeln('Максимальное число : ',max);
      • writeln('Минимальное число : ',min);
      • writeln(f,max);
      • writeln(f,min);
      • readln;
      • close(f);
    • procedure razloj;
      • 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;
    • procedure kalk;
      • 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;
  4. Переменные и их значения:
    • z, a, b, c, max, min, x, y, ko:real;
    • k, m, r, n:integer;
    • operation: Char;
    • Answer: Real;
    • f:text;
    • x, y, ko: real;
    • k, m, r, n: integer;
    • operation: Char;
    • Answer: Real;
    • f:text;
    • min, max: real;
    • k, m, r, n: integer;
    • operation: Char;
    • Answer: Real;
    • f:text;
    • x, y, ko: real;
    • k, m, r, n: integer;
    • operation: Char;
    • Answer: Real;
    • f:text;

Оцени полезность:

14   голосов , оценка 3.714 из 5
Похожие ответы