
- •Лабораторний практикум
- •Лабораторна робота № 2
- •0.1Теоретична частина.
- •0.1.1Введення даних.
- •Виведення даних.
- •Завдання.
- •Методичні вказівки до лабораторної роботи. Постановка задачі.
- •Розробка структури даних.
- •Розробка алгоритму.
- •Розробка програми.
- •Методичні вказівки до роботи.
- •Методи переведення в двійкову систему числення. Метод ділення.
- •Метод віднімання.
- •Метод маскування або логічного множення.
- •Лабораторна робота №4.
- •Теоретичні відомості. Відомості з математики.
- •Відомості з програмування.
- •Завдання.
- •Лабораторна робота №5
- •Перелік питань, які необхідно вивчити:
- •Завдання.
- •Приклад виконання завдання.
- •Постановка задачі.
- •Розробка структури даних.
- •Розробка алгоритму.
- •Запис тексту програми.
- •Результати тестування і налагодження.
Відомості з програмування.
При оперуванні з комплексними числами бажано (але не обов’язково) надавати цьому числу одне ім’я - це більш відповідатиме математичній задачі, в якій комплексне число позначається, наприклад, Z, Z 1. Але для опису комплексного числа необхідно вказати мінімум два значення (Re, Im або Mod, Arg). Можливість об’єднати під одним ім’ям декілька значень надають структуровані (складені) змінні - масиви, в яких компоненти пронумеровані, або записи, в яких компоненти (поля) додатково поіменовані. Опис масиву мовою Pascal здійснюється так (масив Z з трьох значень):
var Z: array[0..2] of real.
Доступ до елементів масиву здійснюється шляхом вказання його імені та у квадратних дужках номеру (індексу): Z[1] - що означає елемент масиву Z номер 1.
Запис мовою Pascal описується так:
var Z: record Re,Im: real; end;
Звертання до окремих полів запису вимагає вказання імені запису та імен полів: Z.Im або Z.Re. Таке звертання більш громіздке, ніж до елементарної змінної, але зменшує ймовірність помилок.
При виведенні комплексних чисел треба звернути увагу на формування рядка результату із використанням символьних констант та змінних. Наприклад, виведення комплексного числа в алгебраїчній формі у вигляді:
Z=j*
(такий або аналогічний опис рядка має бути наведений у постановці задачі) реалізується мовою Pascal так: (текстові константи виділені)
Writeln (‘Z=‘,Z.Re);
If Z.Im>0 then Writeln(‘+j*‘,Z.Im’)
else Writeln(‘-j*‘,Abs(Z.Im)’); .
А виведення числа в показниковій формі (Z=*exp([]j*) реалізується такими операторами: мови Pascal:
Writeln (‘Z=‘,Z.M, ‘*EXP(‘);
If Z.Arg>0 then Writeln(‘+j*‘, Abs(Z.Arg), ‘)‘,)
else Writeln(‘-j*‘, Abs(Z.Arg), ‘)‘,); .
Для реалізації багатоваріантного вибору (в цій лабораторній роботі, наприклад, можна вибрати одну з трьох форм подання результатів) треба користуватися оператором Case:
Case <селектор> of
< значення 1> : <дія 1>;
< значення 2> : < дія 2>;
. . . . . .
< значення n> : < дія n>;
else < альтернативна дія >
end;
<Селектор> при цьому може бути змінною довільного послідовного типу, <значення1>...<значення n> - константи того ж типу. Якщо селектор прийме одне з перелічених значень, виконуватиметься відповідна дія, яка може бути одним оператором або складеним оператором (begin...end). У випадку, якщо селектор має значення, що не співпадає з жодним з перелічених, то виконується альтернативна дія.
Завдання.
Задано два комплексних числа Z 1 та Z 2 в алгебраїчній або показниковій формі. Необхідно у відповідності до таблиці варіантів (Табл. 4.2) скласти алгоритм та програму розрахунку дійсної, уявної частини, модуля та аргументу заданих чисел Z 1 та Z 2, та результатів виконання заданих операцій над цими числами. Вивід результатів необхідно організувати таким чином, щоб форму представлення результату вибирав користувач програми у відповідь на запит.
Табл. 4.2. Варіанти завдань до лабораторної роботи №5.
Варіант |
Форма представлення операндів |
Операція |
|
|
першого |
другого |
|
1 |
алгебраїчна |
алгебраїчна |
множення |
2 |
алгебраїчна |
алгебраїчна |
ділення |
3 |
алгебраїчна |
показникова |
додавання |
4 |
алгебраїчна |
показникова |
віднімання |
5 |
алгебраїчна |
показникова |
множення |
6 |
алгебраїчна |
показникова |
ділення |
7 |
показникова |
алгебраїчна |
додавання |
8 |
показникова |
алгебраїчна |
віднімання |
9 |
показникова |
алгебраїчна |
множення |
10 |
показникова |
алгебраїчна |
ділення |
11 |
показникова |
показникова |
додавання |
12 |
показникова |
показникова |
віднімання |
13 |
алгебраїчна |
- |
піднесення до квадрата |
14 |
алгебраїчна |
- |
піднесення до куба |
15 |
алгебраїчна |
- |
квадратний корінь |
16 |
алгебраїчна |
- |
кубічний корінь |