Курсовая работа: Лисп-реализация математических операций над комплексными числами
Вычитание комплексных чисел определяется как действие, обратное сложению: разностью двух комплексных чисел a + bi и с + di называется комплексное число х + уi, которое в сумме с вычитаемым дает уменьшаемое. Отсюда, исходя из определения сложения и равенства комплексных чисел получим два уравнения, из которых найдем, что х = а-с, у = b-d. Значит,
(а+bi) - (c+di) = (a-c) + (b-d)i.
2.2.3 Произведение комплексных чисел
Произведение комплексных чисел z1 =a+bi и z2 =c+di называется комплексное число
z =(ac-bd) + (ad + bc)i, z1 z2 = (a + bi)(c + di) = (ac - bd) + (ad + bc)i.
Легко проверить, что умножение комплексных чисел можно выполнять как умножение многочленов с заменой i2 на –1. Для умножения комплексных чисел также справедливы переместительный и сочетательный законы, а также распределительный закон умножения по отношению к сложению.
Из определения умножения получим, что произведение сопряженных комплексных чисел равно действительному числу:
(a + bi)(a - bi) = a2 + b2
2.2.4 Деление комплексных чисел
Деление комплексных чисел, кроме деления на нуль, определяется как действие, обратное умножению. Конкретное правило деления получим, записав частное в виде дроби и умножив числитель и знаменатель этой дроби на число, сопряженное со знаменателем:
.
3. Функциональные модели и блок-схемы решения задачи
Функциональные модели и блок-схемы решения задачи представлены на рисунках 1 – 4.
Используемые обозначения:
- N1 – первое комплексное число;
- N2 – второе комплексное число;
- A – действительная часть первого комплексного числа;
- C – мнимая часть первого комплексного числа;
- B – действительная часть второго комплексного числа;
- D – мнимая часть второго комплексного числа.
Рисунок 1 – Функциональная модель решения задачи для функции SUM_COMPLEX
Рисунок 2 – Функциональная модель решения задачи для функции SUBTR_COMPLEX
Рисунок 3 – Функциональная модель решения задачи для функции MULT_COMPLEX
Рисунок 4 – Функциональная модель решения задачи для функции DIV_COMPLEX
4. Программная реализация решения задачи
ЗАВОДИМ ПЕРЕМЕННЫЕ ДЛЯ КОМПЛЕКСНЫХ ЧИСЕЛ
(SETQ NUM1 0)
(SETQ NUM2 0)
(SETQ INPUT_STREAM (OPEN " D:\\COMLEX_NUMBERS.TXT" :DIRECTION :INPUT)); ЧИСЛА ХРАНЯТЬСЯ В ФАЙЛЕ В ВИДЕ СПИСКА (A B); ГДЕ A - ДЕЙСВИТЕЛЬНАЯ ЧАСТЬ , B - МНИМАЯ ; СЧИТЫВАЕМ ЧИСЛА ИЗ ФАЙЛА