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