Вводится просто строка S в виде ‘ax+b=c’. Программа обрабатывает эту строку и выводит математическое число – результат заданного уравнения — 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.

Leave a Comment

57 + = 61