Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 4
1

комплексные коэффициенты .

05.10.2011, 21:11. Показов 658. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите плз.
написал программу для нахождения корней кубического уравнения, но проблема в том, что прога считает корни, только если коэффициенты действительные, а надо бы, что бы она и для уравнения с комплексными коэффициентами считала, как это сделать?
вот прога

Pascal
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
program ;
uses crt;
var
a,b,c,d,r,s,t,p,q,ro,fi,x1,x2,x3,u,v,h,g:real;
begin
{Ввод коэффициентов кубического уравнения}
write('a=');readln(a);
write('b=');readln(b);
write('c=');readln(c);
write('d=');readln(d);
{Расчет коэффициентов канонического 
уравнения}
r:=b/a; s:=c/a; t:=d/a;
{Вычисление коэффициентов 
приведенного уравнения}
p:=(3*s-r*r)/3;
q:=2*r*r*r/27-r*s/3+t;
{Вычисление дискриминанта 
кубического уравнения}
d:=(p/3)*sqr(p/3)+sqr(q/2);
{Проверка знака дискриминанта}
if d<0 then
begin
ro:=sqrt(-p*p*p/27);
{Следующие два оператора реализуют 
расчет угла fi, сначала вычисляется 
величина косинуса угла, затем вычисляется
его арккосинус через арктангенс.}
fi:=-q/(2*ro);
fi:=pi/2-arctan(fi/sqrt(1-fi*fi));
{Вычисление действительных 
корней уравнения x1, x2 и x3}
x1:=2*exp(1/3*ln(ro))*cos(fi/3)-r/3;
x2:=2*exp(1/3*ln(ro))*
cos(fi/3+2*pi/3)-r/3;
x3:=2*exp(1/3*ln(ro))*
cos(fi/3+4*pi/3)-r/3;
writeln('x1=',x1:1:3,' x2=',x2:1:3,' x3=',x3:1:3);
end
else
begin
{Вычисление u и v с проверкой знака 
подкоренного выражения. }
if -q/2+sqrt(d)>0 then
u:=exp(1/3*ln(-q/2+sqrt(d)))
else
if -q/2+sqrt(d)<0 then
u:=-exp(1/3*ln(abs(-q/2+sqrt(d))))
else 
u:=0;
if -q/2-sqrt(d)>0 then
v:=exp(1/3*ln(-q/2-sqrt(d)))
else
if -q/2-sqrt(d)<0 then
v:=-exp(1/3*ln(abs(-q/2-sqrt(d))))
else 
v:=0;
{Вычисление действительного 
корня кубического уравнения.}
x1:=u+v-r/3;
{Вычисление действительной и мнимой частей комплексных корней.}
h:=-(u+v)/2-r/3;
g:=(u-v)/2*sqrt(3);
writeln('x1=',x1:1:3,' x2=',h:1:3,'+i*',
g:1:3,' x3=',h:1:3,'-i*',g:1:3);
end;
readln
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2011, 21:11
Ответы с готовыми решениями:

Комплексные числа
Заранее спасибо всем, кто откликнется. Есть библиотека для compl, которая в теории должна помочь...

Коэффициенты уравнения прямой
Определить коэффициенты уравнения прямой, параллельной данной прямой, определяемой уравнением...

Комплексные числа с использованием модуля
здравствуйте) помогите плиз отладить программу: 3адание:Входные данные Каждое из комплексных...

Комплексные числа
Вечер добрый. Помогите пожалуста создать программу для познесения комплексного числа к степеню и...

0
05.10.2011, 21:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2011, 21:11
Помогаю со студенческими работами здесь

Комплексные числа
Составить программу нахождения суммы двух комплексных чисел z1=z1+y1i и z2=x2+y2i с...

комплексные числа
напишите пожалуйста, что делать, если при делении комплексных чисел в знаменателе оказался ноль....

комплексные числа
помогите решить задачу,заранее спасибо Даны действительные числа u,u,v,v,w,w. Получить...

Комплексные числа
Здравствуйте, есть задание: 2в заданном векторе комплексных чисел найти: а) числа, которые...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru