Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка программного обеспечения для реализации арифметических операций над комплексными числами

Тип Реферат
Предмет Информатика
Просмотров
874
Размер файла
203 б
Поделиться

Ознакомительный фрагмент работы:

Разработка программного обеспечения для реализации арифметических операций над комплексными числами

СОДЕРЖАНИЕ

Введение

1. Постановка задачи

2. Математические и алгоритмические основы решения задачи

2.1 Понятие о комплексных числах

2.2 Действия с комплексными числами

2.2.1 Сложение комплексных чисел

2.2.2 Вычитание комплексных чисел

2.2.3 Произведение комплексных чисел

2.2.4 Деление комплексных чисел

3. Программная реализация решения задачи

4. Пример выполнения программы

Заключение

Список использованных источников и литературы


ВВЕДЕНИЕ

Решение многих задач физики и техники приводит к квадратным уравнениям с отрицательным дискриминантом. Эти уравнения не имеют решения в области действительных чисел. Но решение многих таких задач имеет вполне определенный физический смысл. Значение величин, получающихся в результате решения указанных уравнений, назвали комплексными числами.

Комплексные числа широко использовал отец русской авиации Н.Е. Жуковский (1847 – 1921) при разработке теории крыла, автором которой он является.

Комплексные числа и функции от комплексного переменного находят применение во многих вопросах науки и техники.

Цель настоящей курсовой работы: разработка программного обеспечения для реализации арифметических операций над комплексными числами.


1. Постановка задачи

Требуется разработать программу, реализующую арифметические операции над комплексными числами, опираясь на следующие правила выполнения операций:

1) Сложение: .

2) Вычитание: .

3) Умножение: .

4) Деление: .

Пример 1.

Выполнить сложение двух комплексных чисел: и .

.

Ответ: .

Пример 2.

Выполнить вычитания двух комплексных чисел: и .

.

Ответ: .

Пример 3.

Выполнить умножение двух комплексных чисел: и .

.

Ответ: .

Пример 4.

Выполнить деление двух комплексных чисел: и .

.

Ответ: i.


2. Математические и алгоритмические основы решения задачи

2.1 Понятие о комплексных числах

Для решения алгебраических уравнений недостаточно действительных чисел. Поэтому естественно стремление сделать эти уравнения разрешимыми, что в свою очередь приводит к расширению понятия числа. Например, для того чтобы любое уравнение x+a=b имело корни, положительных чисел недостаточно и поэтому возникает потребность ввести отрицательные числа и нуль.

Древнегреческие математики считали, что a=c и b=а только натуральные числа, но в практических расчетах за два тысячелетия до нашей эры в Древнем Египте и Древнем Вавилоне уже применялись дроби. Следующим важным этапом в развитии понятия о числе было введение отрицательных чисел – это было сделано китайскими математиками за 2 века до нашей эры. Отрицательные числа применял в 3 веке нашей эры древнегреческий математик Диофант, знавший уже правила действий над ними, а в 7 веке нашей эры эти числа подробно изучили индийские ученые, которые сравнивали такие числа с долгом. С помощью отрицательных чисел можно было единым образом описывать изменение величин. Уже в 8 веке нашей эры было установлено, что квадратный корень из положительного числа имеет два значение - положительное и отрицательное, а из отрицательных чисел квадратные корни извлечь нельзя: нет такого числа х, чтобы х2 = -9. В 16 веке в связи с изучением кубических уравнений оказалось необходимым извлекать квадратные корни из отрицательных чисел. В формуле для решения кубических уравнений содержатся кубические и квадратные корни. Эта формула безотказно действует в случае, когда уравнение имеет один действительный корень (например, для уравнения х3+3х-4=0), а если оно имело 3 действительных корня (например, х3-7х+6=0), то под знаком квадратного корня оказывалось отрицательное число. Получалось, что путь к этим 3 корням уравнения ведет через невозможную операцию извлечения квадратного корня из отрицательного числа.

Чтобы объяснить получившийся парадокс, итальянский алгебраист Дж. Кардано в 1545 предложил ввести числа новой природы. Он показал, что система уравнений х+у=10, ху=40 не имеющая решений в множестве действительных чисел, имеет решение всегда , , нужно только условиться действовать над такими выражениями по правилам обычной алгебры и считать, что . Карданоназывалтакие величины«чистоотрицательными» и даже «софистически отрицательными», считая их бесполезными и стремился не применять их. В самом деле, с помощью таких чисел нельзя выразить ни результат измерения какой-нибудь величины, ни изменение этой величины. Но уже в 1572 г. вышла книга итальянского алгебраиста Р. Бомбелли, в котором были установлены первые правила арифметических операций над такими числами, вплоть до извлечения из них кубических корней. Название «мнимые числа» ввел в 1637г. французский математик и философ Р. Декарт, а в 1777г. один из крупнейших математиков VIII века Х. Эйлер предложил использовать первую букву французского числа (мнимой единицы), этот символ вошел во всеобщее употребление благодаря К. Гауссу (1831г).

В течение 17 века продолжалось обсуждение арифметической природы мнимостей, возможности дать им геометрическое истолкование. Постепенно развивалась техника операций над комплексными числами. На рубеже 17-18 веков была построена общая теория корней n-й степени сначала из отрицательных, а впоследствии и из любых комплексных чисел.

В конце 18 века французский математик Ж. Лагранж смог сказать, что математический анализ уже не затрудняют мнимые величины. С помощью комплексных чисел научились выражать решения линейных дифференциальных уравнений с постоянным коэффициентом. Такие уравнения встречаются, например, в теории колебаний материальной точки в сопротивляющейся среде.

Я. Бернулли применил комплексные числа для вычисления интегралов. Хотя в течении 18 века с помощью комплексных чисел были решены многие вопросы, в том числе и прикладные задачи, связанные с картографией, гидродинамикой и т. д., однако еще не было строго логического обоснования теории этих чисел. Поэтому французский ученый П. Лаплас считал, что результаты, получаемые с помощью мнимых чисел, - только наведение, приобретающие характер настоящих истин лишь после подтверждения прямыми доказательствами. В конце 18- начале 19 веков было получено геометрическое истолкование комплексных чисел. Датчанин Г. Вессель, француз Ж. Арган и немец К. Гаусс независимо друг от друга предложили изображать комплексное число точкой М(а,b) на координатной плоскости. Позднее оказалось, что еще удобнее изображать число не самой точкой М, а вектором ОМ, идущим в эту точку из начала координат. При таком истолковании сложению и вычитанию комплексных чисел соответствуют эти же операции над векторами.

Геометрические истолкования комплексных чисел позволили определить многие понятия, связанные с функциями комплексного переменного, расширило область их применения. Стало ясно, что комплексные числа полезны во многих вопросах, где имеют дело с величинами, которые изображаются векторами на плоскости: при изучении течения жидкости, задач теории упругости, в теоретической электротехнике.

2.2 Действия с комплексными числами

Рассмотрим решение квадратного уравнения х2 +1 = 0. Отсюда х2 = -1. Число х, квадрат которого равен –1, называется мнимой единицей и обозначается i. Таким образом , i2 = -1, откуда . Решение квадратного уравнения, например, х2 – 8х + 25 = 0, можно записать следующим образом:

.

Числа вида 4+3i и 4-3i называют комплексными числами. В общем виде комплексное число записывается а + bi, где a и b- действительные числа, а i – мнимая единица. Число а называется действительной частью комплексного числа, bi-мнимой частью этого числа, b- коэффициентом мнимой части комплексного числа.

2.2.1 Сложение комплексных чисел

Суммой двух комплексных чисел z1 = a + bi и z2 = c + di называется комплексное число

z = (a+c) + (b+d)i

Числа a + bi и a-bi называются сопряженными. Их сумма равна действительному числу 2а,

(а+bi) + (а-bi) = 2а.

Числа а+bi и -a-bi называются противоположными. Их сумма равна нулю. Комплексные числа равны, если равны их действительные части и коэффициенты мнимых частей: а+bi = c+di, если a = c, b = d. Комплексное число равно нулю тогда, когда его действительная часть и коэффициент мнимой части равны нулю, т.е. z=a + bi = 0, если a=0, b=0.

Действительные числа являются частным случаем комплексных чисел. Если b=0, то a+bi=a - действительное число. Если а = 0, , то a + bi = bi – чисто мнимое число. Для комплексных чисел справедливы переместительный и сочетательный законы сложения. Их справедливость следует из того, что сложение комплексных чисел по существу сводится к сложению действительных частей и коэффициентов мнимых частей, а они являются действительными числами, для которых справедливы указанные законы.

2.2.2 Вычитание комплексных чисел

Вычитание комплексных чисел определяется как действие, обратное сложению: разностью двух комплексных чисел 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, z1z2 = (a + bi)(c + di) = (ac - bd) + (ad + bc)i.

Легко проверить, что умножение комплексных чисел можно выполнять как умножение многочленов с заменой i2 на –1. Для умножения комплексных чисел также справедливы переместительный и сочетательный законы, а также распределительный закон умножения по отношению к сложению.

Из определения умножения получим, что произведение сопряженных комплексных чисел равно действительному числу: (a + bi)(a - bi) = a2 + b2

2.2.4 Деление комплексных чисел

Деление комплексных чисел, кроме деления на нуль, определяется как действие, обратное умножению. Конкретное правило деления получим, записав частное в виде дроби и умножив числитель и знаменатель этой дроби на число, сопряженное со знаменателем:


.


3. Программная реализация решения задачи

Файл UComplex.h

//---------------------------------------------------------------------------

#ifndefUComplexH

#defineUComplexH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include "HandTuning.h"

#include <ExtCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TfrmComplex : public TForm

{

__published:// IDE-managed Components

TButton *btnCalc;

THandTuning *Real1;

THandTuning *Img1;

TLabel *Label1;

TLabel *Label2;

THandTuning *Real2;

THandTuning *Img2;

TLabel *Label3;

TRadioGroup *rgrOperation;

TLabel *Label4;

THandTuning *resReal;

THandTuning *resImg;

TLabel *Label5;

TLabel *Label6;

TLabel *Label7;

TButton *btnExit;

TButton *btnClear;

TLabel *Label8;

TLabel *Label9;

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TMenuItem *N6;

TMenuItem *N7;

void __fastcall btnCalcClick(TObject *Sender);

void __fastcall btnExitClick(TObject *Sender);

void __fastcall btnClearClick(TObject *Sender);

void __fastcall NClick(TObject *Sender);

private:// User declarations

void __fastcall Sum(double r1, double img1, double r2, double img2, double &r, double &img);

void __fastcall Subtr(double r1, double img1, double r2, double img2, double &r, double &img);

void __fastcall Mult(double r1, double img1, double r2, double img2, double &r, double &img);

void __fastcall Div(double r1, double img1, double r2, double img2, double &r, double &img);

public:// User declarations

__fastcall TfrmComplex(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TfrmComplex *frmComplex;

//---------------------------------------------------------------------------

#endif

Файл UComplex.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UComplex.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "HandTuning"

#pragma resource "*.dfm"

TfrmComplex *frmComplex;

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::Sum(double r1, double img1, double r2, double img2, double &r, double &img)

{

r = r1 + r2;

img = img1 + img2;

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::Subtr(double r1, double img1, double r2, double img2, double &r, double &img)

{

r = r1 - r2;

img = img1 - img2;

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::Mult(double r1, double img1, double r2, double img2, double &r, double &img)

{

r = r1 * r2 - img1 * img2;

img = r1 * img2 + img1 * r2;

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::Div(double r1, double img1, double r2, double img2, double &r, double &img)

{

if((r2 * r2 + img2 * img2) == 0)

{

Application->MessageBoxA(L"При выполнении операции деления nвозникла ошибка: деление на ноль. nПроверьте числа.",

L"Ошибка", MB_OK + MB_ICONERROR);

return;

}

r = (r1 * r2 + img1 * img2) / (r2 * r2 + img2 * img2);

img = (r2 * img1 - r1 * img2) / (r2 * r2 + img2 * img2);

}

//---------------------------------------------------------------------------

__fastcall TfrmComplex::TfrmComplex(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::btnCalcClick(TObject *Sender)

{

double r1 = Real1->Value;

double img1 = Img1->Value;

double r2 = Real2->Value;

double img2 = Img2->Value;

double real = 0;

double img = 0;

switch(rgrOperation->ItemIndex)

{

case 0:

Sum(r1, img1, r2, img2, real, img);

break;

case 1:

Subtr(r1, img1, r2, img2, real, img);

break;

case 2:

Mult(r1, img1, r2, img2, real, img);

break;

case 3:

Div(r1, img1, r2, img2, real, img);

break;

}

resReal->Value = real;

resImg->Value = img;

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::btnExitClick(TObject *Sender)

{

this->Close();

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::btnClearClick(TObject *Sender)

{

Real1->Value = 0;

Img1->Value = 0;

Real2->Value = 0;

Img2->Value = 0;

resReal->Value = 0;

resImg->Value = 0;

}

//---------------------------------------------------------------------------

void __fastcall TfrmComplex::NClick(TObject *Sender)

{

rgrOperation->ItemIndex = ((TMenuItem*)Sender)->Tag;

btnCalc->Click();

}

//---------------------------------------------------------------------------

4. Пример выполнения программы

Пример 1

Рисунок 1 – Входные данные


Пример 2

Рисунок 2 – Выходные данные

Пример 3

Рисунок 3 – Входные данные

Пример 4

Рисунок 4 – Входные данные


Пример 5

Рисунок 5 – Входные данные

Пример 6

Рисунок 6 – Входные данные

Пример 7

Рисунок 7 – Входные данные


Пример 8

Рисунок 8 – Входные данные

ЗАКЛЮЧЕНИЕ

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

Итогом работы можно считать созданную программу для реализации арифметических операций над комплексными числами. Созданный алгоритм и его программная реализация могут служить органической частью решения более сложных задач.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ и литературы

1. Архангельский А.Я. Программирование в С++ Builder 6. [Текст] / А.Я.Архангельский. – М.: Бином, 2003. С. 1154.

2. Ахо А.. Построение и анализ вычислительных алгоритмов [Электронный ресурс] / А. Ахо, Дж. Хопкрофт, Дж. Ульман. – М.: Мир. 1999. С. 143.

3. Выгодский М.Я. Справочник по элементарной математике. [Текст] / М.Я. Выгодский – М.: АСТ: Астрель, 2006. С. 509.

4. Дадаян А.А. Алгебра и геометрия. [Текст] / А.А Дадаян, В.А. Дударенко. – М.: Минск, 1999. С. 342.

5. Камалян Р.З. Высшая математика. [Текст] / Р.З. Камалян. – М.: ИМСИТ, 2004. С.310.

6. Комплексное число [Электронный ресурс] – Режим доступа: http://ru.wikipedia.org/wiki/Комплексное_число.

7. Мейерс С. Наиболее эффективное использование С++. [Электронный ресурс] / С. Мейерс. – М.: ДМК Пресс, 2000. С. 304.

8. Эккель Б. Введение в стандартный С++. [Электронный ресурс] / Б. Эккель. – М.:Питер, 2004. С. 572.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно