Тип данных complex стандартной библиотеки языка C++
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Южно-Сахалинский институт экономики, права и информатики
Кафедра Компьютерные технологии и системы
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
по диiиплине Программирование на языке высокого уровня
на тему: Тип данных complex стандартной библиотеки языка C++
Руководитель работы
ст. преподаватель кафедры КТиC
Соболев П.Ю.
______________________2009 г.
Исполнитель
студент группы ВТ-21
Мустафин А.С.
______________________2009 г.
Южно-Сахалинск
Южно-Сахалинский институт экономики, права и информатики
Кафедра Компьютерные технологии и системы
УТВЕРЖДЕНО
Зав. кафедрой
________________ Мазур И.К.
З А Д А Н И Е
на выполнение курсовой работы студенту Мустафину Александру Сергеевичу
. Тема работы: Тип данных complex стандартной библиотеки языка C++
. Срок сдачи студентом законченного проекта 22 декабря 2009
. Содержание пояснительной записки (перечень подлежащих к разработке вопросов):
Введение
1. Постановка и анализ задачи, изучение теоретических вопросов темы
. Разработка алгоритмов и типов данных
3. Разработка программного обеспечения
Заключение
Задание принял к исполнению 1 октября 2009 года
(дата, подпись)
Руководитель____________________________
(подпись)
ПРИМЕЧАНИЕ: Студент предупрежден о том, что при несвоевременном представлении работы руководителю студент iитается не выполнившим график учебного процесса и не допускается к защите курсовой работы.
Постановка задачи
Задачей курсовой работы является реализация программы для работы с комплексными числами. Для реализации программы требуется использовать интегрированную среду разработки Borland C++ Builder 6.0, а также стандартные типы данных библиотеки VCL.
Цель работы - изучить типы данных complex и продемонстрировать операции над данным типом для указанной операционной системы. В проекте предполагается реализовать программу-калькулятор для комплексных чисел.
Разрабатываемая программа выполняет математические и тригонометрические функции для данного типа.
Для разработки приложения используются следующие программные инструменты:
1.среда разработки Borland C++ Builder,
2.библиотека классов VCL (Visual Component Library),
3.функции интерфейса прикладного программирования операционной системы Windows (Win32 API).
2 Теоретическая часть
В стандартную библиотеку С++ входит шаблонный класс complex<>, предназначенный для работы с комплексными числами. На всякий случай стоит напомнить, что комплексные числа состоят из двух частей: вещественной и мнимой. Особое свойство мнимой части заключается в том, что ее квадрат является отрицательным числом. Иначе говоря, мнимая часть представляет собой произведение числа и квадратного корня из -1, обозначаемого символом i.
2.1 Строение класса complex
Здесь приведены подробные описания всех операций класса complex, то есть тип вещественной и мнимой частей значения complex.
Определения типов
complex::value_type
Тип вещественной и мнимой частей.
Операции создания, копирования и присваивания
complex::complex ()
? Конструктор по умолчанию.
? Создает комплексное значение, в котором вещественная и мнимая части инициализируются вызовом конструкторов по умолчанию (0 для базовых типов данных). Это означает, что для базовых типов данных исходные значения вещественной и мнимой частей равны 0
сотрlex::complex (const Т& re)
? Создает комплексное значение, в котором вещественная часть равна re, а мнимая часть инициализируется вызовом конструктора по умолчанию (0 для базовых типов данных).
? Конструктор также определяет автоматическое преобразование типа Т в complex
complex::complex (const Т& re. const Т& im)
complex программа число комплексный
Создает комплексное значение, в котором вещественная и мнимая части равны соответственно re и im
complex polar (const Т& rho)polar (const T& rho. const T& theta)
? Обе формы создают и возвращают комплексное число, инициализированное в полярных координатах.
? Параметр rho определяет амплитуду.
? Параметр theta определяет фазовый угол в радианах (по умолчанию 0).
complex conj (const complex& cmplx)
Создает и возвращает комплексное число, инициализируемое сопряжением другого комплексного числа (то есть числом с противоположным знаком мнимой части).
complex::complex (const complex& cmplx)
? Копирующий конструктор.
? Создает новое комплексное число как копию cmplx.
? Копирует вещественную и мнимую части.
? Функция определяется в обеих формах: шаблонной и обычной. Таким образом, конструктор обеспечивает автоматическое преобразование к типу элементов.
? В специализированных версиях для типов float, double и long double копирующие конструкторы ограничиваются так, чтобы небезопасные преобразования (double и long double в float, long double в double) выполнялись явно, а другие преобразования к типу элементов были запрещены:
Листинг1-преобразования
namespace std { template
{;complex(const complex)&);
// Другие версии копирующих конструкторов отсутствуют
};
template)&);
// Другие версии копирующих конструкторов отсутствуют
);
template { public;(c