Вопрос может несколько примитивный, но как ввести в программу какое-либо выражение?
Мне нужно, чтобы после ввода с клавиатуры произвольного выражения производился его подсчет и вывод на экран.
Для примера такое
x+x*x
При этом известно значение x
Модератор: Модераторы
program x;
var
x: real;
begin
readln (x);
program chisla;
var
x: integer;
begin
readln (x);
writeln(x,'+',x,'*',x,'=',x+x*x);
readln
end.
alex208210 писал(а):writeln(floattostr(x*x+x))
Leontev писал(а):Сначало вводится какое-то х. После этого вводится с клавиатуры же выражение.
x+2
x*x
x+<неважно_что>
Leontev писал(а):водится одно выражение, состоящее из произвольно вводимых символов. И в нем нужно использовать переменную х.
Leontev писал(а):Сначало вводится функция и интервал.
Little_Roo писал(а):Математику я уже подзабыл, сорри, но....вводить выражение из ПРОИЗВОЛЬНЫХ символов - это вроде %4№;;(7апGfe#%$3__} или я что-то не понял?
Little_Roo писал(а):А почему функцию и интервал не разбить в разные переменные и потом их уже насиловать?
Leontev писал(а): Little_Roo писал(а):А почему функцию и интервал не разбить в разные переменные и потом их уже насиловать?
Честно говоря не очень понял, что вы имеете в виду
uses sysutils;
var
i:integer;
ch,otv:integer;
s,zn:string;
chisla: array[1..100] of integer;
begin
zn:='';
writeln('Vvedite chislo');
readln(ch);
Writeln('vvedite virajenie gde x eto ranee vvodimoe chislo');
Readln(s);
if pos('x',s)<>0 then
begin
for i:=1 to length(s) do
begin
if strtointdef(s[i],-1)<>-1 then chisla[i]:=strtoint(s[i]) else if s[i]='x' then chisla[i]:=ch else chisla[i]:=0;
end;
otv:=chisla[1];
for i:=1 to length(s) do
begin
if chisla[i]<>0 then
begin
if zn='+' then otv:=otv+chisla[i];
if zn='-' then otv:=otv-chisla[i];
if zn='*' then otv:=otv*chisla[i];
if zn='/' then otv:=otv div chisla[i];
end else
begin
if s[i]='+' then zn:='+';
if s[i]='-' then zn:='-';
if s[i]='*' then zn:='*';
if s[i]='/' then zn:='/';
end;
end;
end else writeln('vi ne vveli x');
writeln(otv);
readln;
end.
alex208210 писал(а):бугага.. давно я так не извращался))
Вернуться в Обучение Free Pascal
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8