Вводится просто строка S в виде 'ax+b=c'. Программа обрабатывает эту строку и выводит математическое число – результат заданного уравнения

code: #pascal
Program P0001;
var  q:string;
a,b,rez:integer;
    ravno:real;
 
procedure opredel (s:string; VAR a,b,r:integer);
var i,q:integer;  aa:string;
begin
if pos('x',s)=1 then aa:='1'  else begin
q:=0; for i:=1 to pos('x',s) do inc(q);
aa:=copy(s,1,q-1); end;  val(aa,a,i);
if a=0 then a:=-1;
q:=0; for i:=pos('x',s)+1 to pos('=',s)  do inc(q);
aa:=copy(s,pos('x',s)+1,q-1); val(aa,b,i);
q:=0; for i:=pos('=',s) to length(s)  do inc(q);
aa:=copy(s,pos('=',s)+1,q); val(aa,r,i);
end;
 
begin
q:='7x+4=-3';
opredel (q,a,b,rez);
ravno:=(rez+(-b))/a;
writeln(ravno:0:5);
readln;
end.      
Поделиться:

Похожие статьи: