Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Опишем математическую модель. Пусть a, b и c - комплексные числа. Любое комплексное число может быть представлено в виде двух вещественных чисел (обозначим их Re и Im), первое из которых является действительной частью, а второе - мнимой частью комплексного числа. При реализации на Паскале логичнее представить комплексное число как запись, состоящую из двух вещественных полей Re и Im.

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

получения комплексно сопряженного числа (c.Re:=a.Re; c.Im:=-a.Im),

вычисления модуля комплексного числа (|a|:=sqrt(a.Re2+a.Im2)),

и бинарные операции вычисления

- суммы (с:=a+b; c.Re:=a.Re+b.Re; c.Im:=a.Im+b.Im);

- разности (с:=a-b; c.Re:=a.Re-b.Re; c.Im:=a.Im-b.Im);

- произведения (с:=a*b; c.Re:=a.Re*b.Re-a.Im*b.Im; c.Im:=b.Re*a.Im+a.Re*b.Im);

- - частного (с:=a/b; c.Re:=(a.Re*b.Re+a.Im*b.Im)/(b.Re2+b.Im2); c.Im:=(b.Re*a.Im-a.Re*b.Im)/(b.Re2+b.Im2)).

Текст модуля

unit complex; {заголовок модуля}

 

{интерфейсная секция}

interface

type comp=record {тип комплексных данных}

Re, {действительная часть}

Im: real {мнимая часть}

end;

 

{процедура вычисления комплексно сопряженного числа}

procedure csopr(var a, {исходное комплексное число}

c: {результат - комплексно

сопряженное число}

comp);

 

{функция вычисления модуля комплексного числа}

function cmod(var a:comp {исходное комплексное число})

: real;

 

{процедура вычисления суммы двух комплексных чисел}

procedure csum(var a,b, {исходные комплексные числа}

c: {результат - c:=a+b}

comp);

 

{процедура вычисления разности двух комплексных чисел}

procedure craz(var a,b, {исходные комплексные числа}

c: {результат - c:=a-b}

comp);

 

{процедура вычисления произведения двух комплексных чисел}

procedure cumn(var a,b, {исходные комплексные числа}

c: {результат - c:=a*b}

comp);

 

{процедура вычисления частного двух комплексных чисел}

procedure cdel(var a,b, {исходные комплексные числа}

c: {результат - c:=a/b}

comp);

 

{процедура ввода комплексного числа со стандартного устройства ввода - вводимое значение задается парой вещественных констант, разделенных пробелом}

procedure creadln(var c: comp {вводимая переменная});

 

{процедура вывода комплексного числа на стандартное устройство вывода - выводимое значение представляется в виде пары вещественных констант, разделенных символами +i }

procedure cwrite(var c: comp {вводимая переменная});

 

{секция реализации}

implementation

procedure csopr;

begin

c.Re:=a.Re;

c.Im:=-a.Im

end;{procedure csopr}

 

function cmod;

begin

cmod:=sqrt(sqr(a.Re)+sqr(a.Im))

end;{function cmod}

 

procedure csum;

begin

c.Re:=a.Re+b.Re;

c.Im:=a.Im+b.Im

end;{procedure csum}

 

procedure craz;

begin

c.Re:=a.Re-b.Re;

c.Im:=a.Im-b.Im

end;{procedure craz}

 

procedure cumn;

begin

c.Re:=a.Re*b.Re-a.Im*b.Im;

c.Im:=b.Re*a.Im+a.Re*b.Im

end;{procedure cumn}

 

procedure cdel;

begin

c.Re:=(a.Re*b.Re+a.Im*b.Im)/(sqr(b.Re)+sqr(b.Im));

c.Im:=(b.Re*a.Im-a.Re*b.Im)/(sqr(b.Re)+sqr(b.Im))

end;{procedure cdel}

 

procedure creadln;

begin

readln(c.Re,c.Im)

end{procedure cread};

 

procedure cwrite;

begin

write(c.Re,'+i',c.Im)

end;{procedure cwrite}

 

{секция инициализации отсутствует}

 

{конец текста модуля}

end.

Date: 2016-07-05; view: 237; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию