Решение квадратных уравнений. Проверка иррациональности числа - Pascal

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

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

Приветствую всех, друзья. Недавно занялся тем, что начал изучать паскаль и вот написал свою первую, как я считаю, неплохую программу для решения квадратных уравнений.
program math;
var a, b, c, d, x1, x2, ax1:real;
begin
  writeln('Введите коэффициент а.');
  read(a);
  writeln('Введите коэффициент b.');
  read(b);
  writeln('Введите коэффициент c.');
  read(c);
  d := b*b-4*a*c;
  writeln('Дискриминант D= ', d);
  if d > 0 then
  begin
    x1 := (-b+sqrt(d))/2*a;
    x2 := (-b-sqrt(d))/2*a;
    writeln('Первый корень уравнения x1= ', x1);
    writeln('Второй корень уравнения x2 =', x2);
    end
    else if d = 0 then
    begin
      ax1 := -b/2*a;
      writeln('Корень уравнения x1= ', ax1);
      end
      else if d < 0 then
      begin
        writeln('Уравнение не имеет корней');
        end;
end.
Со своими обязанностями программа справляется на ура, но вот незадача- зачастую в ответе получается число с корнем, который не извлекается, однако паскаль считает этот корень. Например, если нам дано уравнение 2x^2+4x-7=0, то, решив его на бумажке? ну или как это сделал я через Вольфрам Альфа мы получим ответ: x1= (-2+3sqrt(2)/2); x2= (-2-3sqrt(2)/2), но вот моя программа посчитает это как-то так: Первый корень уравнения x1= 4.48528137423857 Второй корень уравнения x2 =-12.4852813742386 Как быть? Прошу помочь знающих. P.s. древние свитки гласят, что это делается при помощи div & mod, но я как-то не понял, как их применять.

Решение задачи: «Решение квадратных уравнений. Проверка иррациональности числа»

textual
Листинг программы
  if q1 = 1 then
  q := true
  else
    q := false;

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

  1. Переменная q1 инициализируется значением 1.
  2. Если значение переменной q1 равно 1, то переменная q инициализируется значением true.
  3. В противном случае, когда значение переменной q1 не равно 1, переменная q инициализируется значением false.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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