Другие языки программирования и технологии
Паскаль!Программа Калькулятор
Нужна программа калькулятор на паскале.но с использованием процелуры и функций.заранее спасибло.
хах)) ) интересно что вы хотели получить в ответ?
готовое решение?
если проблема в написании процедур и функций прикрепите исходник без них)) )
если легко без процедур, напишите)) ) а уж процедуры и функции мы вам напишем
http://pascal.sources.ru/parsing/calc_s.zip
вот есть.. .врядли только преподу вы объясните что это вы сами писали
эммм.. .если это калькулятор....ну судь не в этом
в начале программы вы описываете функции
напр сложение
function sum(a, b: integer): integer;
var
s: integer;
begin
s := a + b;
sum := s;
end;
var
a, b: integer;
begin
readln(a, b);
writeln(sum(a, b));
end.
если процедура, то
procedure sum(a, b: integer);
var
s: integer;
begin
s := a + b;
writeln(s);
end;
var
a, b: integer;
begin
readln(a, b);
sum(a, b);
end.
как видите ничего сложно.. .сначала описываете все функции и процедуры, а потом в тексте программы просто вызываете их
готовое решение?
если проблема в написании процедур и функций прикрепите исходник без них)) )
если легко без процедур, напишите)) ) а уж процедуры и функции мы вам напишем
http://pascal.sources.ru/parsing/calc_s.zip
вот есть.. .врядли только преподу вы объясните что это вы сами писали
эммм.. .если это калькулятор....ну судь не в этом
в начале программы вы описываете функции
напр сложение
function sum(a, b: integer): integer;
var
s: integer;
begin
s := a + b;
sum := s;
end;
var
a, b: integer;
begin
readln(a, b);
writeln(sum(a, b));
end.
если процедура, то
procedure sum(a, b: integer);
var
s: integer;
begin
s := a + b;
writeln(s);
end;
var
a, b: integer;
begin
readln(a, b);
sum(a, b);
end.
как видите ничего сложно.. .сначала описываете все функции и процедуры, а потом в тексте программы просто вызываете их
А с ними не сложнее. Приведи текст программы без процедур и функций, народ в две минуты переведет его внутрь процедур и функций.
program calc;
function add(a,b:real):real; begin add:=a+b end;
function sub(a,b:real):real; begin sub:=a-b end;
function mul(a,b:real):real; begin mul:=a*b end;
function div(a,b:real):real; begin div:=a/b end;
var operation:byte; a,b:real;
begin
writeln('a'); read(a);
writeln('b'); read(b);
writeln('1 - сложить');
writeln('2 - вычесть');
writeln('3 - разделить');
writeln('4 - умножить');
read(operation);
case operation of
1: writeln(sum(a,b));
2: writeln(sub(a,b));
3: writeln(mul(a,b));
4: writeln(div(a,b));
end;
end.
program calc;
function add(a,b:real):real; begin add:=a+b end;
function sub(a,b:real):real; begin sub:=a-b end;
function mul(a,b:real):real; begin mul:=a*b end;
function div(a,b:real):real; begin div:=a/b end;
var operation:byte; a,b:real;
begin
writeln('a'); read(a);
writeln('b'); read(b);
writeln('1 - сложить');
writeln('2 - вычесть');
writeln('3 - разделить');
writeln('4 - умножить');
read(operation);
case operation of
1: writeln(sum(a,b));
2: writeln(sub(a,b));
3: writeln(mul(a,b));
4: writeln(div(a,b));
end;
end.
program calc;
var
operation:byte;
a,b:integer;
function summa(x,y:integer):integer;
begin
summa:=a+b
end;
остальные функции аналогично
begin
writeln('a');
read(a);
writeln('b');
read(b);
writeln('1 - сложить');
writeln('2 - вычесть');
writeln('3 - разделить');
writeln('4 - умножить');
read(operation);
case operation of
1: writeln(summa(a,b));
2: writeln(raznost(a,b));
3: writeln(delenie(a,b));
4: writeln(proizved(a,b));
end;
end.
var
operation:byte;
a,b:integer;
function summa(x,y:integer):integer;
begin
summa:=a+b
end;
остальные функции аналогично
begin
writeln('a');
read(a);
writeln('b');
read(b);
writeln('1 - сложить');
writeln('2 - вычесть');
writeln('3 - разделить');
writeln('4 - умножить');
read(operation);
case operation of
1: writeln(summa(a,b));
2: writeln(raznost(a,b));
3: writeln(delenie(a,b));
4: writeln(proizved(a,b));
end;
end.
а подробнее:
1) что она должна уметь?
2) способ ввода (выражение со скобками и функциями, графический тупой, графический (инженерный)) ?
3) в чем там процедуры и функции?
1) что она должна уметь?
2) способ ввода (выражение со скобками и функциями, графический тупой, графический (инженерный)) ?
3) в чем там процедуры и функции?
program n;
var x, y, z: real;
var s:string;
begin
writeln('Введите число');
readln(x);
writeln('Введите второе число');
readln(y);
writeln('Ведите знак операции');
readln(s);
begin
if s='+' then
z:=x+y;
end;
begin
if s='-' then
z:=x-y;;
end;
begin
if s='*' then
z:=x*y;;
end;
begin
if s='/' then
z:=x/y;
end;
writeln(z);
end.
var x, y, z: real;
var s:string;
begin
writeln('Введите число');
readln(x);
writeln('Введите второе число');
readln(y);
writeln('Ведите знак операции');
readln(s);
begin
if s='+' then
z:=x+y;
end;
begin
if s='-' then
z:=x-y;;
end;
begin
if s='*' then
z:=x*y;;
end;
begin
if s='/' then
z:=x/y;
end;
writeln(z);
end.
var
a:string;
function primer(s:string):integer;
var
i:integer;
col1,col2,znak:string;
otvet:integer;
begin
for i:=1 to Length(s) do
begin
case s[i] of
'+','-','*','/':
begin
znak:=s[i];
col1:=Copy(s,1,i-1);
col2:=Copy(s,i+1,Length(s)-(Length(col1)+1));
end;
end;
end;
if(znak='+')then
otvet:=StrToInt(col1)+StrToInt(col2);
if(znak='-')then
otvet:=StrToInt(col1)-StrToInt(col2);
if(znak='*')then
otvet:=StrToInt(col1)*StrToInt(col2);
if(znak='/')then
otvet:=Trunc(StrToInt(col1)/StrToInt(col2));
primer:=otvet;
end;
begin
readln(a);
writeln(primer(a));
end.
a:string;
function primer(s:string):integer;
var
i:integer;
col1,col2,znak:string;
otvet:integer;
begin
for i:=1 to Length(s) do
begin
case s[i] of
'+','-','*','/':
begin
znak:=s[i];
col1:=Copy(s,1,i-1);
col2:=Copy(s,i+1,Length(s)-(Length(col1)+1));
end;
end;
end;
if(znak='+')then
otvet:=StrToInt(col1)+StrToInt(col2);
if(znak='-')then
otvet:=StrToInt(col1)-StrToInt(col2);
if(znak='*')then
otvet:=StrToInt(col1)*StrToInt(col2);
if(znak='/')then
otvet:=Trunc(StrToInt(col1)/StrToInt(col2));
primer:=otvet;
end;
begin
readln(a);
writeln(primer(a));
end.
Program Calculator;
var
a,c: real;
b: char;
begin
write('Введите первое число : ');
readln(a);
write('Введите действия с числами : ');
readln(b);
write('Введите второе число : ');
readln(c);
case b of
'+':a:=a+c;
'-':a:=a-c;
'/':a:=a/c;
'*':a:=a*c;
else
write('Вы вели не правельное действие!!!')
end;
write('Результат : ',a:6:2 )
end.
var
a,c: real;
b: char;
begin
write('Введите первое число : ');
readln(a);
write('Введите действия с числами : ');
readln(b);
write('Введите второе число : ');
readln(c);
case b of
'+':a:=a+c;
'-':a:=a-c;
'/':a:=a/c;
'*':a:=a*c;
else
write('Вы вели не правельное действие!!!')
end;
write('Результат : ',a:6:2 )
end.
uses
crt;
var
a,b,res: real;
op: char;
begin
textbackground(0);
clrscr;
textcolor(9);
writeln('> Введите действие: "+", "-", "*", "/"');
textcolor(yellow);
readln(op);
textcolor(9);
writeln('> Введите число от 0....~');
textcolor(yellow);
readln(a);
textcolor(9);
writeln('> Введите число от 0....~');
textcolor(yellow);
readln(b);
case op of
'+': res:=a+b;
'-': res:=a-b;
'*': res:=a*b;
'/': res:=a/b;
else begin
textcolor(12);
writeln('****Eror****');
writeln('****Eror****');
writeln('****Eror****');
writeln('****Eror****');
writeln('****Eror****');
exit;
end;
end;
writeln('Ответ: ', res:6:0);
end.
crt;
var
a,b,res: real;
op: char;
begin
textbackground(0);
clrscr;
textcolor(9);
writeln('> Введите действие: "+", "-", "*", "/"');
textcolor(yellow);
readln(op);
textcolor(9);
writeln('> Введите число от 0....~');
textcolor(yellow);
readln(a);
textcolor(9);
writeln('> Введите число от 0....~');
textcolor(yellow);
readln(b);
case op of
'+': res:=a+b;
'-': res:=a-b;
'*': res:=a*b;
'/': res:=a/b;
else begin
textcolor(12);
writeln('****Eror****');
writeln('****Eror****');
writeln('****Eror****');
writeln('****Eror****');
writeln('****Eror****');
exit;
end;
end;
writeln('Ответ: ', res:6:0);
end.
никак
program calc;
var
operation:byte;
a,b:integer;
begin
read(a);
read(operation);
read(b);
case operation of
1: writeln(a,' + ',b,' = ',a+b);
2: writeln(a,' - ',b,' = ',a-b);
3: writeln(a,' / ',b,' = ',a/b);
4: writeln(a,' * ',b,' = ',a*b);
end;
end.
var
operation:byte;
a,b:integer;
begin
read(a);
read(operation);
read(b);
case operation of
1: writeln(a,' + ',b,' = ',a+b);
2: writeln(a,' - ',b,' = ',a-b);
3: writeln(a,' / ',b,' = ',a/b);
4: writeln(a,' * ',b,' = ',a*b);
end;
end.
Для школы:
Program Poschitau
var
a, b: integer;
var
c, x, y: real;
begin
write('Введите a=');
readln(a);
write('Введите b=');
readln(b);
c := (a / b);
x := (a);
y := (b);
writeln(a, '+', b, '='-14148335, a + b);
writeln(a, '-', b, '=', a - b);
writeln(a, '*', b, '=', a * b);
writeln(a, ':', b, '=', c);
end.
Program Poschitau
var
a, b: integer;
var
c, x, y: real;
begin
write('Введите a=');
readln(a);
write('Введите b=');
readln(b);
c := (a / b);
x := (a);
y := (b);
writeln(a, '+', b, '='-14148335, a + b);
writeln(a, '-', b, '=', a - b);
writeln(a, '*', b, '=', a * b);
writeln(a, ':', b, '=', c);
end.
Еще не закрыли?
Похожие вопросы
- Паскаль! Программа Калькулятор самая простая программа, 9 кл
- Паскаль программа програмирование паскаль
- нужно создать на паскале программу которая будет находить повторяющиеся слова в массиве
- помощь в простенькой паскаль-программе)
- Как составить в Паскале программу, выводящую на экран график?
- паскаль программа
- помогите написать паскаль программу
- Паскаль, программа на определение возраста . Почему он показывает неправильно ((( ...
- Помогите написать в Паскале программу
- Написать на языке Паскаля программу, которая находит сумму и произведение первых 5 элементов массива.