Решить невырожденное квадратное неравенство - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Решить невырожденное (т.е. а не равно 0) квадратное неравенство ax2+bx+c>0

Решение задачи: «Решить невырожденное квадратное неравенство»

textual
Листинг программы
var a,b,c,d,x1,x2,x:real;
begin
repeat
writeln('Введите коэффициенты a,b,c:');
readln(a,b,c);
if a=0 then writeln('Это не квадратный трехчлен, повторите ввод.');
until a<>0;
d:=b*b-4*a*c;
if d>0 then
 begin
  x1:=(-b+sqrt(d))/(2*a);
  x2:=(-b-sqrt(d))/(2*a);
  if x1>x2 then
   begin
    x:=x1;
    x1:=x2;
    x2:=x;
   end;
 end;
if a>0 then
 begin
  if d>0 then write('x<',x1:0:1,' or x>',x2:0:1)
  else write('x-любое число');
 end
else
 begin
  if d>0 then write('x>',x1:0:1,' and x<',x2:0:1)
  else write('Решений нет');
 end;
end.

Объяснение кода листинга программы

  1. Создаются переменные a, b, c, d, x1, x2, x типа real.
  2. Запускается цикл repeat-until, который продолжается до тех пор, пока значение переменной a не станет равным нулю.
  3. Внутри цикла считываются коэффициенты a, b, c с помощью функции readln.
  4. Проверяется, является ли введенный трехчлен квадратным. Если a равно нулю, выводится сообщение об ошибке и цикл повторяется.
  5. Вычисляется значение переменной d как bb - 4a*c.
  6. Если значение переменной d больше нуля, то вычисляются значения x1, x2 с помощью формулы (-b + sqrt(d)) / (2a) для x1 и (-b - sqrt(d)) / (2a) для x2.
  7. Если x1 больше x2, то значения x1, x2 меняются местами.
  8. Если a положительное и d больше нуля, то выводится условие x < x1 или x > x2.
  9. Если a отрицательное и d больше нуля, то выводится условие x > x1 и x < x2.
  10. Если a равно нулю, то выводится сообщение о том, что решений нет.

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы