Разработка программ с ветвлениями (Лабораторная работа № 2), страница 5

6. Литература

1.  Березин Б.И., Березин С.Б. Начальный курс С и С++. М.: «Диалог-МИФИ», 1997 – 2005.

2.  Подбельский В.В. Фомин С.С. Программирование на языке Си. М.: Финансы и статистика. 1999 - 2005.

3.  Подбельский В.В. Язык C++.  М.: Финансы и статистика. 1999 - 2005.

4.  Климова Л.М.. Основы практического программирования на языке Си. М.: Издательство ПРИОР, 1999, 464 с.

Приложение 1

Алгоритм решения кубического уравнения

1). Вычислить

                                          

2). Если  p = 0, то вычислить  и перейти к п. 5.

3) Если , то нужно вычислить           (знак r совпадает со знаком q);

                                                                      

4). Если , то нужно вычислить D     

Дальнейшие действия зависят от знаков p и D:

Ветвь 2

Ветвь 3

Ветвь 4

Все корни вещественные

Один корень вещественный, а два - комплексные

p<0

;

5). Вычислить корни

            - если все корни вещественные, то                                      i = 1, 2, 3.

            - если корни комплексные, то                  

                                                                                  

                                                                                                    где .

Примечание:

            Обратные функции можно вычислить по формулам

                                           

Приложение 2

Приложение 3

Входные и выходные данные четырех тестовых примеров

для программы Root3

(решение кубического уравнения ax3 + bx2 + cx + d = 0)

Ветвь 1

Ветвь 2

Ветвь 3

Ветвь 4

a

2.0

1.5

1.0

2.0

b

3.0

-3.0

4.0

-10.0

c

1.5

-7.5

-10.75

18.0

d

-15.75

9.0

7.5

-10.0

k

0

0

1

1

x1

1.5

-2.0

-6.0

1.0

x2

1.5

3.0

1.0

2.0

x3

1.5

1.0

0.5

1.0

Значения промежуточных переменных для четырех тестовых примеров Root3

(решение кубического уравнения ax3 + bx2 + cx + d = 0)

Ветвь 1

Ветвь 2

Ветвь 3

Ветвь 4

p

0.00000

-2.11111

-5.36111

0.22222

q

-4.00000

1.03704

13.28704

0.37037

w

0.50000

-0.66667

1.33333

-1.66667

D

-

-8.33333

22.45891

0.14815

r

-

1.45297

2,31541

0.47140

z

-

0.33809

1.07040

3.53553

f (j)

-

1.22591

0.37307

1.97544

y1

2.00000

-2.66667

-4.66667

-0.66667

u

-

-

2.33333

0.33333

v

-

-

0.50000

1.00000

y2

2.00000

2.33333

-

-

y3

2.00000

0.33334

-

-