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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2014, 17:22   #1
panda_tm
Новичок
Джуниор
 
Регистрация: 11.12.2014
Сообщений: 4
Лампочка Задача на Pascal abc: комплексные числа (ввод, произведение, вывод)

Добрый вечер, нуждаюсь в вашей помощи, помогите решить следующую задачу:
Спасибо большое за помощь!
panda_tm вне форума Ответить с цитированием
Старый 11.12.2014, 17:33   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Создайте запись, типа
Код:
type tComplex = record
 Re,Im:Real;
end;
И работайте с ними.
Записи проходили ?
type_Oleg вне форума Ответить с цитированием
Старый 11.12.2014, 17:50   #3
panda_tm
Новичок
Джуниор
 
Регистрация: 11.12.2014
Сообщений: 4
По умолчанию

К сожалению нет
panda_tm вне форума Ответить с цитированием
Старый 11.12.2014, 18:08   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ну, тогда можно без записей. Действительная и мнимая части будут - отдельные переменные.
Создавайте подпрограммы ( процедуры )
Код:
procedure CmplxProiz(aRe,aIm,bRe,bIm:Real;var abRe,abIm:Real);
Или вообще, и слов-то таких поганых не знаете ?

Тогда в раздел Фриланс.
type_Oleg вне форума Ответить с цитированием
Старый 11.12.2014, 19:53   #5
panda_tm
Новичок
Джуниор
 
Регистрация: 11.12.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Ну, тогда можно без записей. Действительная и мнимая части будут - отдельные переменные.
Создавайте подпрограммы ( процедуры )
Код:
procedure CmplxProiz(aRe,aIm,bRe,bIm:Real;var abRe,abIm:Real);
Или вообще, и слов-то таких поганых не знаете ?

Тогда в раздел Фриланс.
А без фриланса никак да?(
panda_tm вне форума Ответить с цитированием
Старый 12.12.2014, 08:43   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А без фриланса никак да?(
можно и без фриланса.

Вы пишите код, что не получается - спрашивайте, тут подскажут.
Вам самой надо разбираться и писать с помощью форумчан.
А то, знаете, если сделать ПОЛНОСТЬЮ всё за Вас, так это совсем и не помощь...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2014, 14:37   #7
panda_tm
Новичок
Джуниор
 
Регистрация: 11.12.2014
Сообщений: 4
По умолчанию

Вот так, как сделать его без конструктора?

Код:
type
  tComplex = record
    X, Y : Real;
    
    constructor (A, B : Real);
    begin
      X := A;
      Y := B;
    end;
  end;
  
procedure Write(C : tComplex);
begin
  case Sign(C.Y) of
    -1 : Write(C.X, ' - i·', Abs(C.Y));
     0 : Write(C.X);
    +1 : Write(C.X, ' + i·', C.Y);
  end;
end;
 
procedure WriteLn(C : tComplex);
begin
  Write(C);
  WriteLn;
end;
 
procedure Read(var C : tComplex);
var
  X, Y : Real;
begin
  WriteLn('Введите комплексное число x + iy :');
  Write('X = '); ReadLn(X);
  Write('Y = '); ReadLn(Y);
  C := New tComplex(X, Y);
end;
 
function Multi(A, B : tComplex) : tComplex;
begin
  Result := New tComplex(A.X*B.X - A.Y*B.Y, A.X*B.Y + A.Y*B.X);
end;
 
var
  A, B : tComplex;
 
begin
  Read(A);
  Read(B);
  WriteLn('Произведение двух комплексных чисел:');
  Write('a = '); Write(A); Write('  и  b = '); WriteLn(B);
  Write('равно  a·b = '); WriteLn(Multi(A, B));
end.
panda_tm вне форума Ответить с цитированием
Старый 12.12.2014, 15:38   #8
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Все делается просто:
Код:
procedure CmplxProiz(aRe,aIm,bRe,bIm:Real;var abRe,abIm:Real);
begin
   abRe:=aRe*bRe-aIm*bIm;
   abIm:=aRe*bIm+aIm*bRe;
end;

var aRe,aIm,bRe,bIm,abRe,abIm:Real;
begin
   Readln(aRe,aIm,bRe,bIm);
   CmplxProiz(aRe,aIm,bRe,bIm,abRe,abIm);
   Write('a*b = ',abRe:5:5,' + ',abIm:5:5,' i');
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Pascal ABC: Два трёхзначных числа a и b. В интервале от a до b все числа, сумма цифр которых кратна 3, выдать зеркально Andrew5674 Помощь студентам 5 16.04.2013 23:00
Ввод числа и вывод таблицы умножения, Pascal. Roman1295 Помощь студентам 3 06.09.2012 19:53
Комплексные числа, задача на создание класса и операций для работы с ним rapman85 Помощь студентам 3 30.05.2012 21:26
комплексные числа в списках на pascal world12_tk Помощь студентам 1 27.03.2009 16:35
Ввод и вывод числа Strogg Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 23.03.2009 17:44