|
||||||||||||||||||||||||||||||||||||||||||||
Часть I Процедурное программирование в С++ Глава 1 Глава 2 Глава 3 Глава 4 Глава 5 Глава 6 Часть II Объективно- ориентированное программирование в С++ Глава 7 Глава 8 Глава 9 Глава 10 Глава 11 Глава 12 |
|
Примечания * Математическое выражение
вида (х)1/2 - "х
в степени одна вторая" эквивалентно выражению "квадратный корень из х",
здесь применяется запись такого вида поскольку в Html нет символа
выражающего корень энной степени в привычном школьном выражении.
|
||||||||||||||||||||||||||||||||||||||||||
Примеры решения задач к Главе 1 Координаты брошенного под углом тела Средняя скорость движения мотоциклиста Высота орбиты спутника Колебания маятника
Умножение на два в степени Решение простого уравнения Атака подводной лодки Комплексные
числа
Наппомним, что любое комплексное число может быть представлено в виде z = x + iy, где x - действительная часть комплексного числа, y - мнимая часть комплексного числа, i - мнимая единица (i2 = -1). Такое представление комплексного числа называется алгебраическим. Существует тригонометрическое представление z = | z | exp(iφ), где модуль комплексного числа | z | = (x2 + y2)1/2, а аргумент φ такой, что | z | cos(φ) = x и | z | sin(φ) = y Напишем программу, которой вычисляется целочисленная степень комплексного числа, т.е. значение выражения zn. При этом воспользуемся соотношением zn = | z |n exp(inφ) = | z |n cos(nφ) + i | z |n sin(nφ) Таким образом, действительной частью числа zn является | z |n cos(nφ), а комплексной - | z |n sin(nφ). Программный код, в котором реализовано вычисление степени комплексного числа , приведен в листинге 1.14 ==========>Листинг 1.14 Комплексные числа #include<iostream> #include <cmath> using namespace std; int main(){ //Действительная и мнимая часть: double x,y,X,Y; //Модуль и аргумент: double r,phi,R,Phi; //Показатель степени: int n; //Ввод параметров: cout<<"Действительная часть комплексного числа x = "; cin>>x; cout<<"Мнимая часть комплексного числа y = "; cin>>y; cout<<"Степень n = "; cin>>n; //Вычисление результата: phi=atan2(y,x); r=sqrt(x*x+y*y); R=pow(r,n); Phi=n*phi; X=R*cos(Phi); Y=R*sin(Phi); cout<<"Результат равен:\n"; cout<<"Действительная часть "<<X<<"\n"; cout<<"Мнимая часть "<<Y<<"\n"; system ("pause"); // ожидаем нажатия кнопки return 0; } ==========>Конец Листинга 1.14 Компилированный исполняемый файл листинга 1.14(120Кб, rar) В результате выполнения программы получаем, например, следующее(жирным выделены вводимые пользователем значения) Действительная часть комплексного числа x = 1 Мнимая часть комплексного числа y = -2 Степень n = 3 Результат равен: Действительная часть -11 Мнимая часть 2 В программе вводятся действительная и мнимая части комплексного числа, а также целочисленная степень, в которую нужно это число возвести. От алгебраического представления переходим к тригонометрическому, для чего вычисляется модуль числа и аргумент. Аргумент вычисляется с помощью встроенной функции atan2(), аргументами которой передаются комплексная и действительная части комплексного числа, а результатом является аргумент (угол на соответствующую точку на плоскости). Корень квадратный при вычислении модуля вычисляется с помощью встроенной функции sqrt(). Далее вычисляется модуль и аргумент комплексного числа, которое получается возведением в указанную степень исходного комплексного числа. По модулю и аргументу вычисляется действительная и мнимая части, которые и выводятся на экран. |
||||||||||||||||||||||||||||||||||||||||||||
В основу сайта положена информация из книги "Самоучитель C++ с примерами и задачами. Книга + CD", СПб, Наука и Техника, 2010. - 480с.: ил.(+CD) 2010 - 2011 Все авторские права сохранены |