Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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.
|