МЕТА РОБОТИ: Засвоєння поняття комплексного числа, форм його подання, порядку виконання елементарних операцій з комплексними числами (додавання, віднімання, множення, ділення), набуття навиків програмування дій з комплексними числами, закріплення навиків застосування структурованих змінних.
ЗАВДАННЯ.
Задано два комплексних числа Z 1 та Z 2 в алгебраїчній або показниковій формі. Необхідно у відповідності до таблиці варіантів (табл.5.2) скласти алгоритм та програму розрахунку дійсної, уявної частини, модуля та аргументу заданих чисел Z 1 та Z 2, та результатів виконання заданих операцій над цими числами. Вивід результатів необхідно організувати таким чином, щоб форму представлення результату вибирав користувач програми у відповідь на запит.
Варіант
Форма представлення
Операція
першого
другого
9
алгебраїчна
-
квадратний корінь
1.ПОСТАНОВКА ЗАДАЧІ.
Число потрібно ввести в алгебраїчній формі. Потім число в алгебраїчній формі переводимо в показникову. Добуваємо корінь, та за допомогою оператора «case» даємо можливість користувачу вибрати форму представлення результату числа 3.
2. РОЗРОБКА СТРУКТУРИ ДАНИХ.
№п(п
Позначення
Ім’я
Тип
Призначення, опис
1
a3
a
дійсна
Дійсна частина числа 3
2
b3
b
дійсна
уявна частина числа 3
3
A1
a
дійсна
Дійсна частина першого числа
4
B1
b
дійсна
Уявна частина першого числа
5
Mod3
|M|
дійсна
Модуль третього числа
6
Arg1
f
дійсна
аргумент першого числа
7
Mod1
|M|
дійсна
Модуль першого числа
8
Arg3
f
символьна
Аргумент третого числа
3.РОЗРОБКА АЛГОРИТМУ.
Т
Н
4. РОЗРОБКА ПРОГРАМИ.
program lab5;
var
a, a3, b, b3,arg1,arg3,mod1,mod3:real;
h:integer;
begin
writeln('vvedit dijsny chastuny chusla'); readln(a);
writeln('vvedit yjavny chastuny chusla'); readln(b);
writeln('natusnit 1(2) dlja predstavlennja');
writeln('rezyltaty v pokaznukovij(alhebrajishnij) formi');
readln(h);
mod1:=sqrt(sqr(a)+sqr(b));
if (a>0) and (b<0) then arg1:=2*pi-arctan(b/a);
if (a<0) and (b<0) then arg1:=arctan(b/a3)+pi;
if (a>=0)and (b>=0) then arg1:=arctan(b/a);
if (a<0) and (b>0) then arg1:=-arctan(b/a)+pi;
mod3:=sqrt(mod1);
arg3:=arg1/3;
a3:=mod3*cos(arg3);
b3:=mod3*sin(arg3);
case h of
1: begin
Write('Z1*Z2=',mod3:8:3,'*EXP(');
If arg3<0 then
Write ('-i*', Abs(arg3):8:3 ,')')
else Write ('i*',(arg3):8:3,')')
end;
2: begin
if (b3>0) then writeln('Z1*Z2=',a3:8:3,'+i',b3:8:3)else
if (b3<0) then writeln('Z1*Z2=',a3:8:3,'-i',abs(b3):8:3)
else writeln('Z1*Z2=',a3:8:3); end;
end; readln;
end.
5. ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ.
/
Висновок: я засвоїв поняття комплексного числа( Z = a + jb),форм його подання, порядку виконання елементарних операцій з комплексними числами (додавання, віднімання, множення, ділення), набув навики програмування дій з комплексними числами, закріпив навики застосування структурованих змінних. Ознайомився з оператором «case».Оволодів технікою перемноження двох комплексних чисел.
Міністерство освіти і науки україни
НУ «Львівська Політехніка»
Кафедра теоретичної радіотехніки та радіовимірювань
ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ №5
НА ТЕМУ «ПРОГРАМУВАННЯ ЕЛЕМЕНТАРНИХ ОПЕРАЦІЙ З КОМПЛЕКСНИМИ ЧИСЛАМИ. »
Варіант 15
Підготував студент
групи РТ-11
Прийняв:
Нестор Н. І.
Львів 2010р.