Матеріал для опрацювання.

Алгоритм за яким ми будемо працювати на цьому уроці:

Cередовище  Scratch.

На минулому уроці ми розглядали те які дії відбуваються з людиною протягом життя.  Та спробували поділити ці дії на базові конструкції:

1.Лінійні  алгоритми .

2. Циклічні алгоритми.

3. Умовні алгоритми .

Маємо зауважити, що в ЕОМ (комп’ютері, ноутбуці і т.д.) створюють моделі реально існуючих об’єктів, та процесів.

То, яким чином, і які властивості моделей необхідно описати, вирішує людина –  творець моделі.  У середовище  Scratch розробники створили цілу колекцію моделей.

Надали притаманні для цього середовища, властивості об’єктам. Це і колір і розмір і  т.д. Scratch дозволяє створювати команди для об’єктів. Ці команди мають базові алгоритмічні структури:

  1. Лінійні
  2. Умовні
  3. Циклічні

Лінійний ( послідовний).

Алгоритм – це дії для вирішення  певної задачі, які відбуваються в певній послідовності. Щоб  дії були виконані необхідний виконавець. За замовченням, у середовище scratch  виконавець кіт.

Приклад:

У середовище scratch  виконавця можна навчити: говорити, грати музику, малювати і т.д. Ми в наших прикладах будемо вчити малювати.

1.Крок (обираємо інструмент для виконавця).

2.Крок (обираємо малювання).

Обравши малювання, наш виконавець(спрайт)   може виконувати нові дії. Ці дії можуть бути різні, їх різниця залежить від інструменту.

 Щоб краще було зрозуміти, наведемо такий приклад з життя! Будівельник використовує майстерок, що дає можливість класти цеглу. Рибак використовує вудочку, що дає можливість ловити рибу і т.д.

Наш кіт взяв олівець, це дало можливість малювати.

З олівцем кіт може:

Створимо приклад лінійного алгоритму, де наш кіт малює:

(Лінійний алгоритм)

(Результат виконання)

Ось ми і навчили нашу кішку виконувати команди, результатом яких став намальований квадрат.

  1. Початок роботи алгоритму( Коли натиснуто прапорець на панелі інструментів середовища)
  2. Очистити все (На сцені, де кіт малює, все видаляє). Без цієї команди при повторенні алгоритму буде з’являтись новий квадрат, а старий не зникати.
  3. Опустити олівець.( При переміщенні кота, буде залишатись лінія)
  4. Переміщення ( Кіт переміщається на задану кількість одиниць)
  5. Поворот на( Кіт повертається на задану кількість одиниць)
  6. Команда 4 -5 дублюється ще 3 рази.

Команди виконуються одна за іншою, як нумерація в лінійці.   Тому цей алгоритм і називають лінійним.

Цикли(повторення).

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

Ці 2 команди повторюється 4 рази, оскільки квадрат має 4 сторони.  Кіт має пройти ці чотири сторони з олівцем, щоб його намалювати.

Щоб не повторювати однотипні команди, необхідно вказати:

  1. Команди, які необхідно повторити
  2. Скільки разів їх повторювати, або до якої події.

В scratch існують такі оператори повторення (цикли).

  1. Задає кількість повторень.
  2. Задає вічний цикл,(мається на увазі цикл, який працює до закінчення алгоритму програми).

В нашому алгоритму доцільно використовувати цикл, який задає кількість разів. Оскільки квадрат має не вічну кількість сторін, а лише 4.

Алгоритм виглядає так:

Цикли є корисними, коли виконавцеві необхідно повторити велику кількість однакових команд. Цикли спрощують програмістом роботу з алгоритмом, та його обсяг.

Умовні (розгалуження).

Буває  необхідність, щоб команди в алгоритмі починали виконуватись при певній події. Умовні розгалуження для цього і призначені. Наприклад, нам необхідно, щоб кіт виконував малювання при натисненні лівої клавіші миші.

Уважно подивившись можна помітити, 2 цикли.

  1. Повторює переміщення і поворот 4 рази.
  2. Другий задає вічний цикл.

Бачимо умову, коли малювання квадрата відбувається, якщо клавіша миші натиснемо. Вічний цикл – потрібен для події, натиснення клавіші. При натисненні на прапорець – алгоритм виконавця опрацював його за долі секунди. Користувач не встигне натиснути клавішу миші. Використання циклу, дає можливість зберігання умови на протязі виконання всього алгоритму (поки програма працює).

Розгалуження буває повне та неповне.

Приклад:

Повне  працює за таким принципом. Якщо умова дотримується, виконують одні команди, інакше виконують інші команди.

Неповне  працює за таким принципом. Якщо умова дотримується, виконують одні команди, інакше припиняється умова.

В scratch існують такі умовні оператори: