Разработка калькуляторов. Комплексные числа в алгебраической, тригонометрической и экспоненциальной формах

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?тать и с компилятором 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<&