Мета заняття: дати поняття про структурні оператори, вказівку розгалуження (повну та скорочену форми) і поняття про прості та складені умови, навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.
Теоретичні відомості
Структурні оператори являють собою угрупування, побудовані з інших операторів за чітко визначеними правилами. Всі структурні оператори поділяються на три групи:
- складені;
- умовні;
- повтору.
Складений оператор — це група з довільного числа операторів, відокремлених один від одного крапкою з комою. Ця група обмежена операторними дужками begin і end.
Формат опису:
Begin
<оператор >;
<оператор >;
end;
Складений оператор сприймається як єдине ціле і може знаходитися в будь-якому місці програми.
Умовні оператори - забезпечують виконання або невиконання деякого оператора, групи операторів або блоку залежно від заданих умов. Використовуються умовні оператори в таких алгоритмах, де можливі кілька варіантів розв'язання задачі залежно від початкових умов. У мові Паскаль можливе використання двох умовних операторів: if та case.
|
|
Умовний оператор if
Умовний оператор (команда розгалуження) є одним із найпоширеніших засобів, що змінюють лінійний порядок виконання операторів програми. Він може набувати таких форм:
Перша (або повна) форма:
if < умова >
Then
Begin
<дія 1>;
End
Else
Begin
<дія 2>;
end;
умова |
дія 1 |
так |
ні |
дія 2 |
Рисунок 1 – Схема алгоритму конструкції IF – ELSE.
Друга (або скорочена) форма команди розгалуження:
if < умова >
Then
Begin
<дія >;
end;
умова |
дія |
так |
Рисунок 2 – Схема алгоритму конструкції з одиночним IF.
У повній формі команди умовного переходу виконується <дія 1>, якщо умова істинна, і <дія 2>, якщо вона хибна. В скороченій формі серія виконується тільки у випадку, якщо умова істинна, інакше команда розгалуження закінчується і виконується наступний за нею оператор.
Один оператор if може входити до складу іншого. У цьому випадку говорять про вкладеність операторів. При вкладеності операторів кожне else відповідає then, що йому передує.
Умова — вираз булівського типу, тобто це речення, на яке можна відповісти «так» або «ні». Умова може бути простою або складеною. Складені умови утворюються з простих за допомогою логічних операцій and, or, not, причому очевидно, що службове слово or використовується, якщо необхідне виконання хоча б однієї умови, а службове слово and - якщо необхідне одночасне виконання всіх умов.
Наприклад. Ми отримуємо подарунок від батьків на одне зі свят: день народження, Новий рік або День Святого Валентина. Отже, якщо сьогодні один з перелічених днів (мій день народження або 1 січня або 14 лютого), я отримаю подарунок. При цьому очевидно, що не обов'язково народжуватися на Новий рік або на День Святого Валентина.
|
|
Службове слово not виконує заперечення умови, тобто, якщо вона була істинною, то стає хибною і, навпаки: якщо була хибною — стає істинною. Наприклад, якщо на вулиці не (англійською not ) йде дощ, то я залишу вдома парасольку. В цьому випадку «йде дощ» - умова, яка може бути істинною чи хибною в залежності від погоди на вулиці. А слово не заперечує цю умову, тобто робить її хибною, якщо дощ дійсно йде, і навпаки — істинною, якщо дощу немає.
При написанні програм мовою Паскаль у записі умов можуть використовуватися всі можливі операції відношення (дорівнює, не дорівнює, менше, більше, не більше, не менше тощо). Результат виразу має булівський тип. Наприклад:
(х > 4) and (x < 10)
При х = 5 ця умова буде істинною, а при х = 25 — хибною.