Объединить несколько готовых и работающих программ в одну - 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.
Объяснение кода листинга программы
- Объявление переменных:
- z, a, b, c, max, min, x, y, ko:real;
- k, m, r, n:integer;
- operation: Char;
- Answer: Real;
- f:text;
- Основная программа:
- 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.
- while k<>4 do begin
- Подпрограммы:
- 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;
- procedure Maxmin;
- Переменные и их значения:
- 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;