Вивчення Turbo Pascal

Вивчення Turbo Pascal у школі - це просто,
якщо користуватися цим сайтом

  

   
  Головна
  Вступ до програмування
  Основи програмування мовою Паскаль
  Алгоритмічні структури
  Підпрограми
  Структуровані типи даних
  Графіка
  Автор сайту
  Карта сайту
   
 
 

Вказівка розгалуження та її опис мовою програмування. Опис умов

 

Лекційний матеріал:
Структурні оператори являють собою угрупування, побудовані з інших операторів за строго визначеними правилами. Усі структурні оператори підрозділяються на три групи:
· складені;
· умовні;
· повтору.
Складений оператор являє собою групу з довільного числа операторів, відділених один від одного крапкою з комою, і обмежену операторними дужками 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;