Разработка калькуляторов. Комплексные числа в алгебраической, тригонометрической и экспоненциальной формах
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?тать и с компилятором C++. C++ имеет синтаксис, основанный на синтаксисе C.
3. ОПИСАНИЕ КЛАССОВ
В данной курсовой работе разработан 1 класс:
Класс complex:
В данном классе содержатся данные о комплексном числе: его действительная и мнимая части в алгебраической форме записи, модуль и величина угла в показательной форме записи.
Real - действительная часть
Imagine - мнимая часть
A - модуль
J - угол
сomplex() - конструктор. Выбирается форма комплексного числа и производится ввод.
~ complex() - деструктор. Используется для удаления памяти, выделенной под комплексное число в конструкторе.
Функции:
show_alg- вывод текущего числа в алгебраической форме.
show_ trig - вывод текущего числа в тригонометрической форме.
show_ pok - вывод текущего числа в показательной форме.
stepen, muavr- функции возведения в квадрат и квадратного корня комплексного числа.
void file - служит для записи данных в файл
4.БЛОК-СХЕМЫ
Блок-схема конструктора класса complex.
Блок-схема функции вывода числа в алгебраической форме.
Блок-схема функции вывода числа в тригонометрической форме.
Блок-схема функции вывода числа в показательной форме.
Блок-схема перегрузки оператора =
Блок-схема перегрузки оператора +
Блок-схема перегрузки оператора -
Блок-схема перегрузки оператора *
Блок-схема перегрузки оператора /
2
.Блок-схема функции возведения в степень комплексного числа.
.Блок-схема функции квадратного корня комплексного числа.
Блок-схема основной программы.
5.ОПИСАНИЕ И ТЕСТИРОВАНИЕ РАБОТЫ ПРОГРАММЫ
При запуске программы мы видим следующее (рисунок 1):
программа предлагает пользователю выбрать операцию.
Рисунок 1 - начало работы программы.
При выборе перевода из одной формы в другую программа предлагает нам выбрать исходную форму комплексного числа (рис.2):
Рисунок 2 - выбор формы числа.
После выбора начальной формы числа пользователю необходимо ввести действительную и мнимую части комплексного числа
Рисунок 3 - Ввод данных.
Затем выбирается форма записи, в которой пользователь хочет представить комплексное число (рис 4).
Рисунок 4 - выбор формы записи.
После этого выводятся результаты перевода (рис. 5).
Рисунок 5 - вывод результата.
Затем программа переходит в предыдущее меню (рис.4), позволяющее изменить форму комплексного числа или выйти в главное меню.
Выбрав пункт 4 программа возвращается в главное меню.
Выбрав в главном меню 2, откроется калькулятор комплексных чисел (рис.6).
Рисунок 6 - меню калькулятора.
Первый пункт меню программы это - сложение. После выбора этого пункта.
Второй - разность.
Третий - произведение.
Четвертый - деление.
Пятый - возведение в целую степень.
Шестой - квадратный корень по формуле Муавра.
При выборе пункта 1-6 программа запросит форму двух комплексных чисел и ввод числа в соответствующей форме (рис. 7, 8).
Рисунок 7 - выбор формы комплексного числа
Рисунок 9 - ввод комплексных чисел
Затем программа произведет расчет функции и вывод результата во всех трех формах записи (рис 9).
При выполнении любой бинарной функции пользователю предлагается сохранить данные в файл, имя которого вводится с клавиатуры (рис 10).
Выбрав пункт 7, программа возвращается в предыдущее меню.
Третий пункт меню программы это - выход. После выбора этого пункта с помощью деструктора очищается память и программа завершает свою работу.
ВЫВОДЫ
В данной курсовой работе был осуществлен анализ работы калькулятора. Разработаны классы и методы, необходимые для работы программы, разработан интерфейс пользователя. Программа написана на языке С++, exe-файл имеет объем 5 147 байт.
Данная программа носит учебный характер, в связи с этим есть возможности совершенствования, как интерфейса, так и расширения возможностей программы путём добавления новых видов данных и операций над ними.
Разработка программы дала возможность понять преимущества объектно-ориентированного программирования, которое помогает упростить написание и выполнение задач подобного типа, позволяет повысить скорость работы программы.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1.Павловская Т.А.С/С++. Программирование на языке высокого уровня, СПб.-2007
2.Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум, СПб.-2003
.Прата С. Язык программирования С++ Культин, С++ в задачах и примерах
4.Страуструп Б. Язык программирования Си++ Пер. с англ. - М.: Радио и связь, 1991.-352с.
5.Вирт Н. Алгоритмы + структуры данных = программы . - М. : Мир, 1985. - 406 с.
Приложение А
#include
#include
#include
#include
#include
#include
complex{a,real,imagine,j;:(int k){=k;=k;=k;=k;}
file(char s1[20],char s2[20])
{char q[40];
ofstream f;
strcpy(q,s2);
f.open(q,ios::out);
if(s1[0]!='0')
f<<s1<<endl;
f<<"Algebraicheskaya forma:\n"<<<<"+j("<<imagine<<")"<<endl<<
"\nTrigonometricheskaya forma:\n"<<
a<<"*cos("<<j<<")+j*"<<a<<"*sin("<<j<<")"<<
"\nPokazatelnaya forma:\n"<<<<"*e^j*("<<j<&