"Вказівка розгалуження та її опис мовою
програмування. Опис умов."
Мета уроку: Дати поняття
про структурні оператори, вказівку розгалуження (повну та скорочену форми) та
поняття про прості та складені умови.
Тип уроку: Лекційний з практичними прикладами.
Лекційний матеріал:
Структурні оператори являють собою угрупування, побудовані з інших операторів
за строго визначеними правилами. Усі структурні оператори підрозділяються на
три групи:
· складені;
· умовні;
· повтору.
Складений оператор являє собою групу з довільного числа
операторів, відділених один від одного крапкою з комою, і обмежену операторними
дужками 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 - хибною.
Задача №81.
Обчислити значення логічних виразів.
1) x < y
При x = -2.5, y = 0.1 ця умова буде істиною (запропонуйте дітям
вибрати такі значення x та y, при яких ця умова буде хибною).
2) a and not (b
= c)
При a = false, b = false, c
= true умова буде хибною (false), тому що при з'єднанні двох умов службовим словом and, якщо одна з умов хибна, то й вся умова хибна (зверніть увагу дітей на те, що це легко запам'ятовується, якщо перевести слово and українською. Дійсно, якщо
хоч одна з умов, поєднаних словом "та", не являється
істиною, то й весь логічний вираз буде хибним.
3) not (a and b) or b = a
При a = true, b = false ця умова буде істиною, тому що (a
and b) - хибна (одна з умов хибна); not (a and b) - істина
(заперечність хибності); not (a and b) or b = a - істина
(бо, якщо з двох, поєднаних службовим словом or, умов хоч одна
істина, то весь вираз істинний).
4) not (a and (x < y)) or (x <
0)
При a = true, x = -0.1, y = 0.7 умова буде істиною, тому
що друга з умов (х < 0) буде істиною, а при з'єднанні двох умов
службовим словом or достатньо одній з них бути істиною, щоб весь
логічний вираз був істинним.
Задача №82.
Записати у вигляді логічних виразів висловлювання, наведені нижче:
1) значення х не належить інтервалу (0;1)
(x <= 0) or (x >= 1)
3) точка M(x, y) лежить в другій чверті координатної
площини
(x < 0) and (y > 0)
4) точка M(x, y)лежить всередині або на межі одиничного
круга з центром у початку координат
(sqr(x) + sqr(y) <= 1)
6) координати дійсного вектора x(x1, x2, x3)
утворюються неспадну послідовність і всі вони невід'ємні
(x1 <= x2) and (x2 <= x3) and (x1
>= 0) and (x2 >= 0) and (x3 >= 0)
8) 3 > B і C > 0,1
(3 > B) and (B >= C) and (C
> 0.1)
Задача №84.
Записати за допомогою умовного оператора виконання дій:
1) дійсне значення х замінити його абсолютною величиною
if x < 0
then x := -x;
2) менше з двох дійсних значень x та y (або будь-яке з них, якщо
вони рівні) замінити нулем
if x < y
then x := 0
else y := 0;
4) присвоїти змінній x значення 0, якщо її початкове значення належало
інтервалу (0,2)
if (0 <= x) and (x <= 2)
then x := 0;
Домашнє завдання:
- прочитати
сторінки 47 - 52 запропонованого підручника;
- вивчити
означення, що прочитані на лекції;
- завдання №80,
№82(2, 5, 7, 9), №84 (3, 5, 6). Для учнів, що вчаться на високий рівень,
бажано запропонувати завдання №83.
|