Мегаобучалка Главная | О нас | Обратная связь


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



2016-09-15 469 Обсуждений (0)
Разработка алгоритма выполнения поставленной задачи 0.00 из 5.00 0 оценок




 

 

1) Формулировка задания

Вариант 5.

Умножение комплексных чисел.

2) Математическая модель

Произведением комплексных чисел a+ bi и c+ di называется комплексное число: ( ac – bd ) + ( ad + bc ) i . Это определение вытекает из двух требований:

- числа a+ bi и c+ di должны перемножаться, как алгебраические двучлены,

- число i обладает основным свойством: i 2 = 1.

П р и м е р . ( a+ bi )( a – bi )= a 2 + b 2. Следовательно, произведение

двух сопряжённых комплексных чисел равно действительному

положительному числу.

.

3) Информационная модель

Статус данного Содержание Имя данного Тип данного Имя типа Диапазон Значение по умолчанию
Входные коэффициенты первого числа a вещественный Real 5.0*10-324 .. 1.7*10308
b
коэффициенты второго числа c
d
Выходные коэффициенты третьего числа X вещественный Real 5.0*10-324 .. 1.7*10308
Y

 


4) Схема алгоритма

                 
   
 
   
 
   
 
   
 
 
 
   

 

 


5) Текст исполняемого модуля

procedure TForm1.Button1Click(Sender: TObject);

Var a,b,c,d,X,Y: Comp;

st: String;

i: Integer;

begin

If (Edit1.Text = '') Or (Edit2.Text = '') Or (Edit3.Text = '') Or (Edit4.Text = '')

Then Begin MessageDlg(Требуется ввести все коэффициенты', mtError, [mbOk],0);

Exit;

End;

st:= Edit1.Text+Edit2.Text+Edit3.Text+Edit4.Text;

For i:= 1 To Length(st)

Do If Not (st[i] In ['0'..'9','-',','])

Then Begin MessageDlg(Введённые коэффициенты должны быть вещественными числами!',mtError,[mbOk],0);

Exit;

End;

a:= StrToFloat(Edit1.Text);

b:= StrToFloat(Edit2.Text);

c:= StrToFloat(Edit3.Text);

d:= StrToFloat(Edit4.Text);

{Случай сопряжённых чисел}

If (a=c)and(b=-d)

Then Begin X:=a*a+b*b;

Edit5.Text:=FloatToStr(X);

End

Else Begin X:=(a*c)-(b*d);

Y:=(a*d)+(b*c);

Edit5.Text:= FloatToStr(X)+'+('+FloatToStr(Y)+'i)';

end;

end;

 

procedure TForm4.Button3Click(Sender: TObject);

Var st,stn,stg,str: String;

X,Y: Real;

A: TMas;

i,j,k: Integer;

Begin If (F1OK = False) Or (F2OK = False)

Then Begin MessageDlg('Требуется задать имена входного и исходного файлов',mtError,[mbOk],0);

Exit;

End;

AssignFile(F1,F1Name); AssignFile(F2,F2Name);

Reset(F1); Rewrite(F2); k:= 0;

While Not(EOF(F1))

Do Begin ReadLn(F1,st); Inc(k);

If st[Length(st)] <> ';'

Then Begin MessageDlg(‘Ошибка в файле: строка '+IntToStr(k)+' не оканчивается на ";"!',mtError,[mbOk],0);

Exit;

End;

i:= 1; j:= 1; stg:= '';

While True

Do Begin stn:= st[i];

If Not (stn[1] In ['0'..'9','-',',',';',' '])

Then Begin MessageDlg('Ошибка в файле: символ "'+stn+'", находящийся в строке '+IntToStr(k)+', позиция '+IntToStr(i)+' некорректен!' ,mtError, [mbOk],0);

Exit;

End;

If stn = ';'

Then Begin A[j]:= StrToFloat(stg);

Break;

End;

If stn <> ' '

Then stg:= stg+stn

Else Begin A[j]:= StrToFloat(stg);

stg:= '';

Inc(j);

End;

Inc(i);

End;

str:= 'Входные данные: '+FloatToStr(A[1])+'+('+FloatToStr(A[2])+')i * '+FloatToStr(A[3])+'+('+FloatToStr(A[4])+')i; Выходные данные: ';

{Случай сопряженных чисел}

If (A[1]=A[3]) and (A[2]=-A[4])

Then Begin X:=A[1]*A[1]+A[2]*A[2];

str:= str+FloatToStr(X);

End

Else Begin X:=(A[1]*A[3])-(A[2]*A[4]);

Y:=(A[1]*A[4])+(A[2]*A[3]);

str:= str+FloatToStr(X)+'+('+FloatToStr(Y)+'i)';

end;

WriteLn(F2,str);

End;

CloseFile(F1); CloseFile(F2);

Form4.Close;

end;


Приложение Д

 

Компоновка форм

1. Окно основной формы интерфейса.

2. Окно информации о программе.

3. Окно пояснения по работе с программой.

 


Приложение Е

 



2016-09-15 469 Обсуждений (0)
Разработка алгоритма выполнения поставленной задачи 0.00 из 5.00 0 оценок









Обсуждение в статье: Разработка алгоритма выполнения поставленной задачи

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (469)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.023 сек.)