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

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

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

Приветствую всех, друзья. Недавно занялся тем, что начал изучать паскаль и вот написал свою первую, как я считаю, неплохую программу для решения квадратных уравнений.
Листинг программы
  1. program math;
  2. var a, b, c, d, x1, x2, ax1:real;
  3. begin
  4. writeln('Введите коэффициент а.');
  5. read(a);
  6. writeln('Введите коэффициент b.');
  7. read(b);
  8. writeln('Введите коэффициент c.');
  9. read(c);
  10. d := b*b-4*a*c;
  11. writeln('Дискриминант D= ', d);
  12. if d > 0 then
  13. begin
  14. x1 := (-b+sqrt(d))/2*a;
  15. x2 := (-b-sqrt(d))/2*a;
  16. writeln('Первый корень уравнения x1= ', x1);
  17. writeln('Второй корень уравнения x2 =', x2);
  18. end
  19. else if d = 0 then
  20. begin
  21. ax1 := -b/2*a;
  22. writeln('Корень уравнения x1= ', ax1);
  23. end
  24. else if d < 0 then
  25. begin
  26. writeln('Уравнение не имеет корней');
  27. end;
  28. 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
Листинг программы
  1.   if q1 = 1 then
  2.   q := true
  3.   else
  4.     q := false;

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

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

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


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

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

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы