Kvad2.Mod 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. MODULE Kvad2;
  2. IMPORT In, Out, Math;
  3. PROCEDURE Do;
  4. VAR a, b, c, D: REAL;
  5. BEGIN
  6. Out.String('Решаем уравнение ax^2 + bx + c = 0'); Out.Ln;
  7. Out.String('Введите a: '); In.Real(a);
  8. Out.String(' Введите b: '); In.Real(b);
  9. Out.String(' Введите c: '); In.Real(c);
  10. IF a # 0.0 THEN
  11. D := b * b - 4.0 * a * c;
  12. IF D < 0.0 THEN
  13. Out.String('Нет решений')
  14. ELSIF D > 0.0 THEN
  15. Out.Real(D, 30); Out.Ln;
  16. D := Math.sqrt(D);
  17. Out.Real(a, 16); Out.Ln;
  18. Out.Real(b, 16); Out.Ln;
  19. Out.Real(c, 16); Out.Ln;
  20. Out.Real(D, 30); Out.Ln;
  21. Out.String('ЧТО ЗА : ');
  22. Out.Real((- 0.0 - D) / (2.0 * 4.0), 30); Out.Ln;
  23. Out.String('ЧТО ЗА : ');
  24. Out.Real((- 0.0 - 8.0) / (2.0 * 4.0), 30); Out.Ln;
  25. Out.String('Два решения: ');
  26. Out.Real((- b - D) / (2.0 * a), 16); Out.Ln;
  27. Out.Int(FLOOR((- b - D) / (2.0 * a)), 0); Out.Ln;
  28. Out.String(' ');
  29. Out.Real((- b + D) / (2.0 * a), 16);
  30. Out.Ln; Out.Int(FLOOR((- b + D) / (2.0 * a)), 0); Out.Ln;
  31. ELSE
  32. Out.String('Единственное решение: ');
  33. Out.Real(-0.5 * b / a, 16)
  34. END
  35. ELSE (* a = 0 *)
  36. IF b # 0.0 THEN
  37. Out.String('Единственное решение: ');
  38. Out.Real(-c / b, 16)
  39. ELSE (* a = b = 0 *)
  40. IF c # 0.0 THEN
  41. Out.String('Нет решений');
  42. ELSE
  43. Out.String('x - любое число')
  44. END
  45. END
  46. END;
  47. Out.Ln
  48. END Do;
  49. BEGIN
  50. Do
  51. END Kvad2.