Форум программистов, компьютерный форум CyberForum.ru

QBasic

Войти
Регистрация
Восстановить пароль
 
echs
821 / 1016 / 347
Регистрация: 23.10.2013
Сообщений: 4,761
Записей в блоге: 4
#1

Решение кубического уравнения - QBasic

09.01.2017, 11:49. Просмотров 84. Ответов 0
Метки нет (Все метки)

Решить кубическое уравнение x^3 + px + q = 0
решение
1. Сначала вычисляется дискриминант этого уравнения D по
формуле D = (p/3)^3 + (q/2)^2
2. Если D >= 0 , то уравнение имеет один корень, который
вычисляется по формуле Кардано http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt[3]{-\frac q2+\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}+\sqrt[3]{{-\frac q2-\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}
(комплексные корни нас не интересуют)
3. Если D < 0 , то уравнение имеет три вещественных корня.
Они (все три) вычисляются по формулам, выведенным из
формулы Кардано (смотрите программу)

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
REM
REM  x^3 + px + q = 0
REM
REM  D = (p/3)^3 + (q/2)^2
REM
 
DECLARE FUNCTION ARCCOS! (x!)
DECLARE FUNCTION SQR3! (x!)
 
CLS
CONST pi = 3.141593
CONST p23 = 2 / 3 * pi
CONST n = .3333333333333333#
 
INPUT "P,Q = "; p, q
 
D = (p / 3) ^ 3 + (q / 2) ^ 2
 
IF D < 0 THEN
   A = 2 * SQR(-p / 3)
   u = ARCCOS(-q / 2 * (3 / -p) ^ 1.5)
 
   x1 = A * COS(u / 3)
   x2 = A * COS(u / 3 + p23)
   x3 = A * COS(u / 3 - p23)
 
   PRINT "x1 ="; x1
   PRINT "x2 ="; x2
   PRINT "x3 ="; x3
ELSE
   z1 = -q / 2 + SQR(D)
   z2 = -q / 2 - SQR(D)
   x = SQR3(z1) + SQR3(z2)
   PRINT "x ="; x
END IF
END
 
FUNCTION ARCCOS (x)
   IF ABS(x) < 1 THEN
      ARCCOS = pi / 2 - ATN(x / SQR(1 - x ^ 2))
   ELSE
      ARCCOS = pi / 2 * (1 - SGN(x))
   END IF
END FUNCTION
 
FUNCTION SQR3 (x)
   IF x >= 0 THEN
      SQR3 = x ^ n
   ELSE
      SQR3 = -(-x) ^ n
   END IF
END FUNCTION
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2017, 11:49     Решение кубического уравнения
Посмотрите здесь:

Шаблон с текстом поздравления, решение уравнения и построение прямоугольника QBasic
Решение трансцендентного уравнения методом половинного деления QBasic
QBasic Найти решение уравнения на заданном интервале
QBasic Решение уравнения Пуассона
QBasic Решение уравнения y(x)=x2+5x−10 методом половинного деления (qb 64)
QBasic Решение иррационального уравнения
Решение уравнения в простых числах QBasic
Решение уравнения 2 ^ m - 2 ^ n = 1984 QBasic
QBasic Решение уравнения 21x ^ 3 - 38x ^ 2 - 9x + 2 = 0 в рациональных числах
QBasic Решение уравнения x + y + z = 3xyz
QBasic Решение уравнения в натуральных числах (2)
QBasic Решение уравнения в натуральных числах (3)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru