PASCAL ABC. Найти значение любого выражения из двух слагаемых!!! т.е. просто чтоб посчитало, например: 2+2=4, 9/3=3, 7*7=49, 15-5=10
Answers & Comments
Redov
Var s,s1:string; a,b,code,i:integer; z:char; begin writeln('Введите выражение:'); readln(s); s1:=''; i:=1; while not (s[i] in ['+','-','*','/']) do begin s1:=s1+s[i]; i:=i+1; end; val(s1,a,code); z:=s[i]; s1:=''; i:=i+1; while s[i] <> '=' do begin s1:=s1+s[i]; i:=i+1; end; val(s1,b,code); case z of '+' : writeln(s,a+b); '-' : writeln(s,a-b); '*' : writeln(s,a*b); '/' : writeln(s,a/b); end; end.
Пример: Введите выражение: 15-5= 15-5=10
0 votes Thanks 0
vladyandymokk13
мне нужно чтоб был ввод примера и его значение
Var x,y,v:real; b:string; begin writeln('Vvedite znak virajeniya (+, -, *, /)'); readln(b); writeln('Vvedite pervoe chislo'); readln(x); writeln('Vvedite vtoroe chislo'); readln(y); if b = '+' then v:=x+y; if b = '-' then v:=x-y; if b = '*' then v:=x*y; if b = '/' then v:=x/y; writeln(x, ' ', b, ' ', y, ' = ', v); end.
Answers & Comments
begin
writeln('Введите выражение:');
readln(s);
s1:=''; i:=1;
while not (s[i] in ['+','-','*','/']) do
begin
s1:=s1+s[i]; i:=i+1;
end;
val(s1,a,code);
z:=s[i];
s1:=''; i:=i+1;
while s[i] <> '=' do
begin
s1:=s1+s[i]; i:=i+1;
end;
val(s1,b,code);
case z of
'+' : writeln(s,a+b);
'-' : writeln(s,a-b);
'*' : writeln(s,a*b);
'/' : writeln(s,a/b);
end;
end.
Пример:
Введите выражение:
15-5=
15-5=10
Verified answer
Varx,y,v:real;
b:string;
begin
writeln('Vvedite znak virajeniya (+, -, *, /)');
readln(b);
writeln('Vvedite pervoe chislo');
readln(x);
writeln('Vvedite vtoroe chislo');
readln(y);
if b = '+' then v:=x+y;
if b = '-' then v:=x-y;
if b = '*' then v:=x*y;
if b = '/' then v:=x/y;
writeln(x, ' ', b, ' ', y, ' = ', v);
end.