Составить программу решения квадратного неравенства. Напечатать исходные данные и результаты. ax2+bx+c меньше или равно 0 (x в квадрате) — Pascal(Паскаль)

Program fail1;

var
  a, b, c: integer;
  x1, x2: real;

function ddd: real; { Func. Diskriminanta }
begin
  ddd := sqr(b) - (4 * a * c)
end;

procedure exchange(var a, b: real); { Proc. Obmena }
var
  c: real;
begin
  if athen exit;
    c := a;
  a := b;
  b := c;
end;

function znaki: string; { Func. opredeleniya Znakov na osi }
var
  z1, z2, z3: real;
  zn1, zn2, zn3: char;
begin
  z1 := a * (sqr(x1 - 1)) + (b * (x1 - 1)) + c;
  z2 := a * (sqr(x2 - 0.155)) + (b * (x2 - 0.155)) + c;
  z3 := a * (sqr(x2 + 1)) + (b * (x2 + 1)) + c;
  if z1 < 0 then
    zn1 := '-'
  else
    zn1 := '+';
  if z2 < 0 then
    zn2 := '-'
  else
    zn2 := '+';
  if z3 < 0 then
    zn3 := '-'
  else
    zn3 := '+';
  znaki := zn1 + zn2 + zn3;
end;

{ **************************************sama proga****************************** }
begin
  writeln('Vvedite znacenie A:');
  readln(a);
  writeln('Vvedite znacenie B:');
  readln(b);
  writeln('Vvedite znacenie C:');
  readln(c);

  if ddd < 0 then
    writeln('Mnozhestvo resheniy ne ogranicheno (resheniyami yavlyayutsya vse chisla)');
  if ddd = 0 then
  begin
    x1 := -(b / (2 * a));
    writeln('Neravenstvo vypolnyaetsya v edinstvennoy tochke - ', x1);
  end;

  if ddd > 0 then
  begin
    x1 := ((-b) + sqrt(ddd)) / (2 * a);
    x2 := ((-b) - sqrt(ddd)) / (2 * a); { naxpdim X1 i X2 }

    exchange(x1, x2); { procedura obmena }

    if znaki = '-+-' then
      writeln('Mn-vo resheniy = (-#,', x1:0:2, ']&[', x2:0:2, ',+#)');
    if znaki = '+-+' then
      writeln('Mn-vo resheniy = [', x1:0:2, ',', x2:0:2, ']');
    if znaki = '-++' then
      writeln('Mn-vo resheniy = (-#,', x1:0:2, ']');
    if znaki = '--+' then
      writeln('Mn-vo resheniy = (-#,', x2:0:2, ']');
    if znaki = '+--' then
      writeln('Mn-vo resheniy = [', x1:0:2, ',+#)');
    if znaki = '++-' then
      writeln('Mn-vo resheniy = [', x2:0:2, ',+#)');
  end;

  readln;

end.

Leave a Comment

+ 79 = 86