Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab2.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
199.17 Кб
Скачать

Лабораторна робота №2 Тема. Програмування розгалужених алгоритмів

Завдання. Обчислити значення функції

де D - область трикутника з вершинами A(xА, yА), B(xВ, yВ), C(xС, yС).

Розгалуженним називається алгоритм, послідовність виконання дій якого залежить від виконання деякої умови. Умова в Turbo Pascal задається логічним виразом, операндами якого є дані логічного типу.

1. Дані логічного типу

Дані логічного типу можуть приймати лише два значення: логічний 0 та логічна 1. Відповідно до цього в Turbo Pascal є дві логічні константи: true (логічна 1) та false (логічний 0). Ці константи можуть бути поіменовані в розділі const.

Наприклад:

const

t=true; f=false;

Змінні логічного типу описуються в розділі var:

var

список змінних:boolean;

Приклад.

var

a1,a2,b1,b2 :boolean;

Описуються змінні a1,a2,b1,b2 як змінні логічного типу.

Над даними логічного типу можна виконувати логічні операції: логічне множення, логічне додавання, заперечення.

Операція логічного множення (логічне І) позначається стандартним ідентифікатором and, має два операнди і дає в результаті true, якщо обидва операнди дорівнюють true, і false, якщо хоча б один операнд дорівнює false.

Операція логічного додавання (логічне АБО) позначається стандартним ідентифікатором or, має два операнди і визначається співвідношенням

Операція заперечення позначається стандартним ідентифікатором not має один операнд і визначається співвідношенням

Розподіл логічних операцій за пріоритетами такий:

1 . not спадання

2. and пріоритету

3. or

Дані логічного типу можна порівнювати між собою. Значення false менше за значення true.

Можна порівнювати також дані арифметичних типів. Результатом порівнювання є логічне значення true або false.

Знаки операцій порівнювання

> більше

>= більше або дорівнює

< менше

<= менше або дорівнює

= дорівнює

<> або # не дорівнює

Операції порівнювання даних арифметичних типів мають нижчий пріоритет порівняно з логічними операціями and, or, not.

Також можна порівнювати дані типів char і string Ці операції порівнювання ( >,>=,<,<=,=,<> ) мають нижчий пріоритет порівняно з операцією зчеплення. З двох символьних значень більшим є те, в якого код більший.

Приклад.

'A'>'a'= false, код букви A - 67, а букви a - 97;

'A'<'a'=true,

'+'>'K' = false, +має код 43, K має код 75.

Порівнювання текстових значень відбувається зліва направо до першого не співпадаючого символу. Більшим є те текстове значення, в якого перший не співпадаючий символ є більшим. Якщо текстові значення мають різні довжини, але в спільній частині символи співпадають, то коротке текстове значення є меншим. Два текстових значення є рівними, якщо вони одинакові по довжині і мають одинакові відповідні символи. Тому:

'ABC' < 'ABc' = true, ('c' > 'C');

'ABCD' < 'ABCDE' = true,

'a+b' < 'A' = false.

Логічні константи, логічні змінні та логічні функції - це первинні логічні вирази. За допомогою логічних операцій та круглих дужок записуються складні логічні вирази.

Приклад.

l1 and l2 > (x>5) and (y>10) or (sin(x) > 0.3)

Як видно з останнього прикладу, в логічних виразах можуть бути одночасно логічні операції та операції порівнювання.

Операції порівнювання мають нижчий пріоритет порівняно з логічними операціями.

Приклад. В логічному виразі

l1 and l2 > l3 or l4 and (x>5)

послідовність дій така:

1. l1 and l2 = R1;

2. x>5 =R2;

3. l4 and R2 = R3;

4. l3 or R3 = R4;

5. R1>R4 = значення виразу.

В операторах присвоєння змінна та вираз можуть мати логічний тип. В цьому випадку оператор присвоєння називається логічним оператором присвоєння.

Приклади.

r:=1 and l2 or (x<5);

h:=false;

Значення логічних змінних не можна безпосередньо вводити з клавіатури та виводити на екран за допомогою стандартних процедур read, readln, write, writeln.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]