Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_Pascal.doc
Скачиваний:
6
Добавлен:
13.11.2019
Размер:
5.18 Mб
Скачать

5.1.2Відомості з програмування.

При оперуванні з комплексними числами бажано (але не обов’язково) надавати цьому числу одне ім’я - це більш відповідатиме математичній задачі, в якій комплексне число позначається, нап­риклад, 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). У випадку, якщо селектор має значення, що не співпадає з жодним з перелічених, то виконується альтернативна дія.

5.2Завдання.

Задано два комплексних числа Z 1 та Z 2 в алгебраїчній або по­казниковій формі. Необхідно у відповідності до таблиці варіантів (Табл. 5 .2) скласти алгоритм та програму розрахунку дійсної, уявної частини, модуля та аргументу заданих чисел Z 1 та Z 2, та результатів виконання заданих операцій над цими числами. Вивід результатів необхідно організувати таким чином, щоб форму представлення результату вибирав користувач програми у відповідь на запит.

Табл. 5.2. Варіанти завдань до лабораторної роботи №5.

Варіант

Форма представлення операндів

Операція

першого

другого

1

алгебраїчна

алгебраїчна

множення

2

алгебраїчна

алгебраїчна

ділення

3

алгебраїчна

показникова

додавання

4

алгебраїчна

показникова

віднімання

5

алгебраїчна

показникова

множення

6

алгебраїчна

показникова

ділення

7

показникова

алгебраїчна

додавання

8

показникова

алгебраїчна

віднімання

9

показникова

алгебраїчна

множення

10

показникова

алгебраїчна

ділення

11

показникова

показникова

додавання

12

показникова

показникова

віднімання

13

алгебраїчна

-

піднесення до квадрата

14

алгебраїчна

-

піднесення до куба

15

алгебраїчна

-

квадратний корінь

16

алгебраїчна

-

кубічний корінь