С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Эля13
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 2
1

Модуль по работе с комплексными числами

29.11.2013, 14:13. Просмотров 460. Ответов 3
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста с программой.
Даны 2 комплексных числа.написать модуль реализующий процедуру и ф-ции записи этих чисел в тригонометрических и показ. формах.
в модуле выполнить сложение,умножение в показательной форме,возведение в степень в тригонометрической форме.
Есть пример, но он почему-то не работает.
Основная программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program complex;
uses co;
var
A,B,S,R,D,U,Z:complex;M,re,gg:real;
begin
Write('A.a=');readln (A.a);
Write('A.b=');readln (A.b);
Write('B.a=');readln (B.a);
Write('B.b=');readln (B.b);
AddC (A,B,S);
writeln ('M=',S.a:3:1,' + ',S.b:3:1);
readln(M);
FindingModulus(A,M);
writeln('Z=',M:5:2,'^',M:5:2);
readln(M);
writeln('Z=r(cosU+isinU)');
writeln('Z=','(cos(',gg,')+(isin(',gg,'))');
readln;
end.
Модуль:
Pascal
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
Unit co;
Interface
Type
complex=record
a,b :real;
end;
procedure AddC(x1,x2:complex;var x3:complex);
procedure umnozhenie(x1,x2:complex;var x3:complex);
 Procedure FindingModulus(x1 :complex;var z: real);
 implementation
 Procedure AddC;
 begin
 
     AddC(x1,x2,x3);
     x3.a:=x1.a+x2.a;
     x3.b:=x1.b+x2.b;
     end;
 Procedure umnozhenie(x1,x2:complex;var x3:complex);
     begin
     x3.a:=(x1.a* x2.a)-(x1.b*x2.b);
      x3.b:=(x1.a* x2.a)+(x1.b*x2.b);
 End;
     Procedure FindingModulus (x1: complex; var z: real);
     begin
     z:=sqrT(sqr(x1.a)+sqr(x1.b));
     end;
     function Arcsin(x:real):real;
     begin
     Arcsin:=Arctan(x/sqrt(1-sqr(x)));
     end;end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 14:13
Ответы с готовыми решениями:

Создайте свой собственный модуль для работы с комплексными числами.
Создайте свой собственный модуль для работы с комплексными числами. (сложение, вычитание,...

Составить модуль, в котором реализуются простые операции с комплексными числами
Почему не работает?( Составить модуль в котором реализуются простые операции с комплексными...

Арифметические действия с комплексными числами
Напишите программу, которая находит сумму разность , произведение, частное и модули двух заданных...

Модуль для работы с комплексными чисами
не могу решить нуждаюсь в помощи Вариант №2. Реализовать в виде модуля набор подпрограмм для...

Составить требуемую подпрограмму для работы с комплексными числами
Составить требуемые подпрограммы работы с комплексными числами (сложение, вычитание, умножение и...

3
APALoff
1640 / 1069 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
29.11.2013, 14:25 2
Поторопился с сообщением.


Я сейчас проверил - программа и модуль компилируются, в математику работы не вникал.
Что именно не работает?
0
Эля13
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 2
29.11.2013, 14:27  [ТС] 3
сможете мне помочь?отправьте мне ваш вариант пожалуйста!

Добавлено через 1 минуту
ошибка переполнения,походу нужно что то обнулить что вывел результат, но не могу вникнуть
0
APALoff
1640 / 1069 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
29.11.2013, 14:44 4
Цитата Сообщение от Эля13 Посмотреть сообщение
сможете мне помочь?отправьте мне ваш вариант пожалуйста!
Какой вариант? Я Ваши тексты откомпилировал - компиляция прошла. А дальше уж не знаю...

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

Добавлено через 15 минут
Вроде бы нашел ошибку в модуле:

Pascal
1
2
3
 Procedure AddC;
 begin
     AddC(x1,x2,x3);
Тут бесконечная рекурсия, которая и выдает ошибку.

Наверное надо заменить на:
Pascal
1
2
Procedure AddC(x1,x2:complex;var x3:complex);
 begin
Добавлено через 1 минуту
да, после поправки программа начинает что-то считать и выводить результаты.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 14:44

Процедуры для работы с комплексными числами, представленными в тригонаметрическом виде
для работы с комплексными числами, представленные в тригонаметрическом виде: 1. Разработать...

Определить процедуры выполнения арифметических операций над комплексными числами
даны действительные числа U1,U2,V1,V2,W1,W2.получить 2U+(3UW/2+W-U)-7, где U,V,W - комплексные...

Определить процедуры выполнения арифметических операций над комплексными числами
Даны действительные числа u1, u2, v1, v2, w1, w2. Получить для <СМОТРИМ КАРТИНКУ> - комплексные...


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

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

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