Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
yura`
11 / 8 / 0
Регистрация: 09.02.2010
Сообщений: 107
1

Комплексные числа

27.06.2011, 00:46. Просмотров 4076. Ответов 2
Метки нет (Все метки)

Добрый вечер Ув. программисты.
У меня такая проблема: есть программа калькулятора комплексных чисел с использованием простых арифметических операций: +, -, *, /. Надо добавить еще 1-2 функции над ними: сравнение, или перевод в тригонометрическую форму с алгебраической и т.д.
Очень нужна помощь!!! Заранее благодарен!
0
Вложения
Тип файла: rar Компл. числа.rar (238.1 Кб, 189 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2011, 00:46
Ответы с готовыми решениями:

Комплексные числа
Доброго времени суток! Вообщем есть класс для работы с комплексными числами:...

Комплексные числа
Здравствуйте. При решении следующего выражения получается комплексное число...

Комплексные числа
Создать описание класса для представления комплексных чисел, который...

Комплексные числа
Не понимаю как написать модуль комплексной арифметики, содержащий 2 функции:...

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

2
deathNC
1892 / 1005 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
27.06.2011, 09:48 2
Лучший ответ Сообщение было отмечено yura` как решение

Решение

Три формы записи комплексных чисел:
z = r * (Cos(a) + i * Sin(a)) = x + i * y = r * e ^ (i * a);
Так вроде...
i - мнимая единица...
r - радиус на комплексной плоскости, (или модуль числа). Значит:
Delphi
1
r := sqrt(sqr(x) + sqr(y));
a - угол на комплексной плоскости (или аргумент комплексного числа). Это, вроде, так будет:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const  // для перевода из радианов в градусы:
  rad: Extended = 57.295779513082320876798154814105;
 ...
 
function ncTangens(Angle: Extended): Extended; // тангенс
begin
  Angle := Angle / rad;
  If Sin(Angle) <> 0 then
    Result := Cos(Angle) / Sin(Angle)
  Else
    Result := 0;
end;
 
function ncGetAngle2f(x1, y1, x2, y2: Extended): Extended; // определение угла по координатам
var
  dx, dy: Extended;
begin
  Result := 0.0;
  dx := x2 - x1;
  dy := y2 - y1;
  If (dy = 0) then
    begin
      If dx >= 0 then
        Result := 0
      Else
        Result := 180;
    end
  Else if dx = 0 then
    begin
      If dy >= 0 then
        Result := 90
      Else
        Result := 270;
    end
  Else
    begin
      If (dx > 0) and (dy > 0) then
        Result := 90.0 - ArcTan(dx / dy) * rad
      Else if (dx < 0) and (dy > 0) then
        Result := 90.0 + Abs(ArcTan(dx / dy) * rad)
      Else if (dx < 0) and (dy < 0) then
        Result := 270.0 - ArcTan(dx / dy) * rad
      Else if (dx > 0) and (dy < 0) then
        Result := 270.0 + Abs(ArcTan(dx / dy) * rad);
    end;
end;
Ну и вот пример, как получить аргумент (угол):
Delphi
1
a := ncGetAngle2f(0.0, 0.0, x, y);
Функция получения угла - большая, не спорю. Но она такой сделана, чтобы учесть все тонкости арктангенса. Точка может распологаться в любой четверти, а угол хотелось бы в привычном виде получить - чтобы от нуля до 360 градусов всё правильно определялось (0, 2*pi)...
1
xtreed
0 / 0 / 0
Регистрация: 23.06.2011
Сообщений: 1
27.06.2011, 10:06 3
Спасибо очень помог
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2011, 10:06

''Комплексные числа'' создать метод
12. Комплексное число Методы: вывод на экран (текстовый и графический),...

Задача ООП комплексные числа
Посмотрите, пожалуйста, где ошибка. Создадим класс комплексных чисел ,в...

Комплексные числа, и функции, выполняющие операции над ними
Дали на Д/З создать тип комплексных чисел и функцию для операций над этими...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru