1 of 21

Алгоритми з розгалуженнями для опрацювання величин

Урок 57

8

2 of 21

Повторення

Розділ 8 § 35

Алгоритм — це організована послідовність вказівок виконання дій, спрямована на розв'язання певної задачі.

З курсу математики вам добре відомі алгоритми:

виконання арифметичних операцій над багатоцифровими числами;

знаходження коренів лінійного і квадратного рівнянь;

поділу відрізка на рівні частини,

побудови трикутника за заданими сторонами тощо.

В курсі інформатики ви складали алгоритми не тільки обчислювальних, а й ігрових задач.

8

© Вивчаємо інформатику teach-inf.at.ua

3 of 21

Повторення

Розділ 8 § 35

Ви вже знаєте, що побудова алгоритму будь-якої складності здійснюється з використанням трьох базових алгоритмічних структур:

Слідування

Розгалуження

Повторення

Для графічного зображення алгоритмів використовують блок-схеми.

8

© Вивчаємо інформатику teach-inf.at.ua

4 of 21

Повторення

Розділ 8 § 35

У лінійних алгоритмах використовується тільки структура «слідування». Алгоритми, в основі яких лежить структура «розгалуження», називають алгоритмами з розгалуженнями. Алгоритми, в основі яких лежить структура «повторення», називають циклічними.

8

© Вивчаємо інформатику teach-inf.at.ua

5 of 21

Алгоритми з розгалуженнями

Розділ 8 § 35

Розгалуження — це така форма організації дій, при якій залежно від виконання або невиконання деякої умови здійснюється або та, або інша послідовність дій.

Для перевірки істинності умов і організації розгалужень у програмах у мові Lazarus призначені умовні оператори:

IfThen

If..Then...Else

8

© Вивчаємо інформатику teach-inf.at.ua

6 of 21

Умовний оператор If...Then

Розділ 8 § 35

Оператор If...Then призначено для виконання деякої послідовності дій у тому випадку, якщо є істинною умова, яку він перевіряє. Умовний оператор відповідає алгоритмічній конструкції «неповне розгалуження».

Синтаксис оператора:

If <умова> Then <оператор>;

8

© Вивчаємо інформатику teach-inf.at.ua

7 of 21

Умовний оператор If...Then

Розділ 8 § 35

Оператор If перевіряє істинність зазначеної умови. Як умова використовується або логічний вираз, або логічна змінна (тип Boolean). Умова:

Істинна

Хибна

Якщо логічна змінна або вираз набувають значення True

Якщо логічна змінна або вираз набувають значення False

8

© Вивчаємо інформатику teach-inf.at.ua

8 of 21

Умовний оператор If...Then

Розділ 8 § 35

Якщо умова:

Істинна (True)

Хибна (False)

програма виконає дію, зазначену в частині оператор.

то керування одразу передається оператору, що міститься після оператора If.

8

© Вивчаємо інформатику teach-inf.at.ua

9 of 21

Умовний оператор If...Then

Розділ 8 § 35

Збільшити значення змінної А на одиницю, якщо її поточне значення менше за 5. Оператор розгалуження має вигляд:

If А < 5 Then А := А + 1;

Оператор А := А + 1 виконується тільки в тому випадку, коли є істинною умова А < 5:

Початкове значення А

Значення умови

Оператор

А:= А + 1

Значення А після виконання оператора IF

1

True

Виконується

2

5

False

Не виконується

5

10

False

Не виконується

10

8

© Вивчаємо інформатику teach-inf.at.ua

10 of 21

Умовний оператор If...Then

Розділ 8 § 35

Якщо у випадку істинності умови потрібно виконати послідовність дій, оператори, що реалізують ці дії, беруться в операторні дужки begin...end. Таку конструкцію називають складеним оператором.

8

© Вивчаємо інформатику teach-inf.at.ua

11 of 21

Умовний оператор If...Then

Розділ 8 § 35

Упорядкувати значення змінних а і b за зростанням (а < Ь).

var a, b, x: Integer;

begin

а := StrToInt(InputBox('Bведіть a', 'a=‘,0'));

Ь := StrToInt(InputBox('Bведіть b', b=‘,0'));

If a > b Then begin

x := a; // для обміну значеннями між змінними а і b

а := Ь; // використовується додаткова змінна х

b := х

end;

Edit1.Text := IntToStr(a);

Edit2.Text := IntToStr(b);

end;

Якщо умова хибна, керування передається оператору

Edit1.Text := IntToStr(a).

8

© Вивчаємо інформатику teach-inf.at.ua

12 of 21

Умовний оператор lf...Then...Else

Розділ 8 § 35

Алгоритмічній конструкції «повне розгалуження» відповідає умовний оператор IfThenElse.

Синтаксис оператора:

If <умова> Then <оператор 1>

Else <оператор 2>

8

© Вивчаємо інформатику teach-inf.at.ua

13 of 21

Умовний оператор lf...Then...Else

Розділ 8 § 35

True

False

Виконується блок дій <оператор 1>, який міститься після службового слова Then.

Виконується блок дій <оператор 2>, який міститься після службового слова Else.

Якщо результатом перевірки умови є значення:

Перед службовим словом Else крапка з комою не ставиться.

8

© Вивчаємо інформатику teach-inf.at.ua

14 of 21

Умовний оператор lf...Then...Else

Розділ 8 § 35

Збільшити змінну А на 1, якщо А < 5, і зменшити на 1 у протилежному випадку.

If А < 5 Then А := А + 1

Else А := А - 1;

8

© Вивчаємо інформатику teach-inf.at.ua

15 of 21

Умовний оператор lf...Then...Else

Розділ 8 § 35

Перевірити існування трикутника зі сторонами а, Ь, с

Умова існування трикутника з певними довжинами сторін: сума двох будь-яких сторін повинна бути більшою за третю.

var а, Ь, с : Integer;

begin

а := StrToInt(InputBox(‘Введіть a', 'a=‘,0'));

Ь := StrToInt(InputBox('Введіть b', ‘b=‘,0'));

с := StrToInt(InputBox('Введіть с', 'с=‘,0'));

If (a < b + с) and (b < a + c) and (c < a + b) Then

Edit1.Text := 'трикутник існує'

Else Edit1.Text := 'трикутника не існує';

end;

8

© Вивчаємо інформатику teach-inf.at.ua

16 of 21

Розгадайте ребус

Розгалуження

«Ребуси українською» © rebus1.com

Розділ 8 § 35

8

© Вивчаємо інформатику teach-inf.at.ua

17 of 21

Питання для самоперевірки

  1. Дайте означення розгалуження як алгоритмічної конструкції.
  1. Які вирази використовують як умову в умовному операторі?
  1. Поясніть, як виконується умовний оператор в неповній формі.
  1. Як записується і виконується умовний оператор в повній формі?

Розділ 8 § 35

8

© Вивчаємо інформатику teach-inf.at.ua

18 of 21

Питання для самоперевірки

  1. Початкові значення змінних А = -3; В = 5. Знайдіть значення А і В після виконання таких операторів:

а) If А > В Then А := А - В Else В := В - А;

б) If А <> В Then A := В;

в) If А < В Then А := 2*А Else В := В*А;

  1. Запишіть умовні оператори, які позначають такі дії:

а) перевірити, чи є число а парним;

б) від більшого із заданих чисел а і b відняти менше;

в) перевірити, чи є серед чисел а, Ь, с рівні.

Розділ 8 § 35

8

© Вивчаємо інформатику teach-inf.at.ua

19 of 21

Домашнє завдання

Проаналізувати

§ 35, ст. 175-178

Розділ 8 § 35

8

© Вивчаємо інформатику teach-inf.at.ua

20 of 21

Працюємо за комп’ютером

Сторінка

177-178

Розділ 8 § 35

8

© Вивчаємо інформатику teach-inf.at.ua

21 of 21

Дякую за увагу!

8