Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 17:53   #1
starlet
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию Pascal.Умножние комплексных чисел.Рекурсия

Используя модульный принцип, оформить рекурсивную процедуру или функцию.

Задание:
n
П (a[i])
i=1
a[i]- это комплексные числа


помогите,пожалуйста с задачей... не понимаю как формируются эти а[i]..
starlet вне форума Ответить с цитированием
Старый 19.04.2009, 17:56   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А как представлено комплексное число? Структурой?
Как-нибудь так:
Код:
complex = record
Re : real;
Im : real;
end;
Ну вот и вводите вещественную и мнимую часть для каждого числа.
В этом случае a будет массивом структур.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 18:02   #3
starlet
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

это у меня есть...а как будет формироваться число,когда программа будет выполнятся..как его инициализировать?
starlet вне форума Ответить с цитированием
Старый 19.04.2009, 18:04   #4
starlet
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

у меня пока что тольковот такая муть получилась:
UNIT Cmpl;



INTERFACE
Type
Complex= RECORD
Re, Im:real;
END;

Procedure InitC (R,I: real; var c:complex);
Procedure MultC (c1,c2:complex; var r:complex);
Procedure PrintC (c:complex);
{Procedure MultAll(i:integer); }



IMPLEMENTATION

{1} Procedure InitC (R,I: real; var c:complex);
Begin
with C do
begin
Re:=R;
Im:=I;
end;
End;

{2} Procedure MultC (c1,c2:complex; var r:complex);
Begin
with R do
begin
Re:=c1.Re*c2.Re-c1.Im*c2.Im;
Im:=c1.Re*c2.Im+c2.Re*c1.Im
end;
End;

{3}Procedure PrintC (c:complex);
Begin
with C do
begin
write(Re);
if Im=0 then exit;
if Im>0 then write('+');
write(Im);
write('i');
end;
End;
starlet вне форума Ответить с цитированием
Старый 19.04.2009, 18:07   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну вот как я сделал:
Код:
uses crt;
type
complex = record
Re, Im : real;
end;
var
a : array[1..100] of complex;
i,n : integer;
rez : complex;

procedure P(var rez : complex; t : integer);
var tmp : complex;
begin
tmp.Re := rez.Re*a[t].Re - rez.Im*a[t].Im;
tmp.Im := rez.Im*a[t].Re + rez.Re*a[t].Im;
rez := tmp;
if t<n then P(rez,t+1);
end;

begin
clrscr;
write('N = ');
readln(n);
for i:=1 to n do
 begin
 write('Enter next complex: ');
 readln(a[i].Re,a[i].Im);
 end;

rez := a[1];
P(rez,2);

writeln('Rez = ',rez.Re:0:0,' ',rez.Im:0:0);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 19.04.2009 в 18:10.
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 18:20   #6
starlet
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

а если без ввода с клавиатуры...меня за это придушат..
starlet вне форума Ответить с цитированием
Старый 19.04.2009, 18:25   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а если без ввода с клавиатуры...меня за это придушат..
Ну так просто уберите ввод )
У вас в условии:
Цитата:
a[i]- это комплексные числа
то есть есть массив комплексных чисел. Предполагается, что он откуда-то берется.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 18:27   #8
starlet
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

а как сделать,чтобы эти числа брались из файла???
starlet вне форума Ответить с цитированием
Старый 19.04.2009, 18:33   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а как сделать,чтобы эти числа брались из файла???
Ну пишите их в файл. Например, как-нибудь так:
Код:
3
1 3
4 -3
2 4
Где первое число - количество чисел. А дальше идут действительные и мнимые части чисел.
Ну и в программе сначала читаете количество чисел:
Код:
readln(file, N);
а потом в цикле читаете сами числа:
Код:
for i:=1 to N do
 readln(file, a[i].Re, a[i].Im);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 18:36   #10
starlet
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

спасибочки)
starlet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия Pascal HoLToFF Помощь студентам 3 31.03.2009 22:25
Pascal: Рекурсия MaGWaY_minsk Помощь студентам 2 19.02.2009 09:46
Pascal. рекурсия. TOSAgrk Помощь студентам 2 04.02.2009 12:05
Delphi, рекурсия, как сделать все возможные N-ки чисел (сколько столбцов такая N-ка,в данном случае 3)? domik Помощь студентам 5 26.09.2007 16:43