Урок 4.. Інтерактивність, умови і змінні.
Мета: навчити створювати змінні і працювати з ними. Створити свій проект зі змінними.
План:
1. Організаційна частина (2 хв)
2. Актуалізація знань (8мин)
3. Повідомлення теми і плану заняття (10 хв)
4. Формування нових знань і практика (50 хв)
• Взаємодія між об'єктами, що належать різним середах.
• Використання умовних операторів "якщо", "якщо ... або", "завжди, якщо"
• Створення і використання змінних.•
5. Підведення підсумків. Рефлексія. (10 хв)
6. Домашнє завдання. (5 хв)
Хід заняття
ІІ. Актуалізація знань
Ми вже з вами стаємо програмістами і сьогодні у нас дуже цікава тема без якої нікуди не можна в програмуванні. (Слайд 2)
На попередніх уроках ми познайомилися з поняттям алгоритму і трьома способами його опису.
Що таке алгоритм?Які алгоритми ми створювали?
ІІІ. Повідомлення теми і плану заняття
Тепер ми знаємо, що описувати алгоритми можна природною мовою, мовою схем і на алгоритмічній мові. Але алгоритм, описаний на алгоритмічній мові - це вже програма. А щоб грамотно писати програми потрібно познайомитися з таким поняттям як змінна. Алгоритмічна мова має схожість з математичним тим, що в ньому також використовується поняття величини. Використовуються в основному, величини двох типів - числові і символьні, хоча не виключені й інші типи. (слайд 3)
Числові величини - це числа: натуральні, цілі, речові; символьні - букви, цифри, слова, пропозиції. В інформатиці також використовується поняття "змінна". Запишемо визначення змінної.
ІV. Формування нових знань і практика
Хто знає, що таке змінна?
(Слайд 4) Змінна - це об'єкт, якому дано ім'я і який може приймати різні значення. Змінні зручно представити у вигляді "поштових скриньок" (осередків пам'яті комп'ютера), на які навішені ярлики з їх іменами. Інформація, що зберігається в змінної, називається її значенням. Ім'ям змінної може бути будь-яка буква латинського алфавіту.
A |
B |
3 |
слон |
Змінні, призначені для запису числа, називаються числовими. Змінні, в які можна записувати слова називаються символьними. При цьому під словом розуміється будь-який набір символів, які можна ввести з клавіатури. Слово, яке поміщається в "ящик", призначений для зберігання символьної змінної, полягає в лапки. Наш "поштову скриньку" має деякі незвичайні властивості. Коли в нього поміщається інше значення, початкова стирається і зникає. Воно вже не може бути відновлено. Задати значення змінної можна за допомогою команди присвоювання, яка позначається знаком ":=".
Наприклад:
A=12
Змінна з ім’ям “А” |
Присвоїти значення |
Дванадцять |
A |
= |
12 |
B= “пальма”
Змінна з ім’ям “B” |
Присвоїти значення |
пальма |
B |
= |
“пальма” |
Для того щоб працювати зі змінними в Scratch є спеціальні блоки
У Scratch ви можете створювати найкрутіші гри. Ми з вами вже робили деякі з них. Я хочу вам показати відео в якому розробляють одну з популярних ігор зараз Агаріо
https://www.youtube.com/watch?v=1PUz1QKCtPM
Як бути, якщо вбудованих репортерів не вистачає?
У Scratch можна створити свої власні репортери для змінних величин, наприклад, для окулярів гравця, рівня складності гри, її тривалості.
Репортери, створені самим програмістом, називають змінними і списками. У них є всього дві відмінності від системних репортерів:
• їх значення можна довільно змінювати;
• їх можна видаляти з проекту.
Змінна (англ. Variable) - це місце в оперативній пам'яті комп'ютера, що містить змінюване значення. Програма (скрипт) як би орендує це місце біля комп'ютера на період своєї роботи, щоб в потрібний момент записувати туди нові значення, а також брати їх копії для різних математичних, строкових і логічних операцій.
У чому різниця між змінними і списками і чому вони знаходяться в одній категорії блоків?
Мінлива містить тільки одну змінну величину (число, букву, слово, пропозицію), а список під одним ім'ям зберігає нумерований набір змінних. (слайд 5)
Для створення змінних і списків призначена помаранчева категорія команд - змінні. Міні-завдання. Відкрийте мишею категорію блоків змінні. Для створення змінної досить клацнути мишкою по кнопці: Створити змінну.
(слайд 6)
Ім'я переменнойтакже, як ім'я спрайту, костюма або фону, може складатися з букв, цифр, знаку підкреслення. Скретч чутливий до регістру: він розрізняє велику і маленьку літери і слова «окуляри» і «Окуляри» - це різні імена для різних змінних і списків:
Приклади імен: бали, ім'я гравці, Тур, гравець1, гравць2, гравець_2. Давайте зрозумілі імена і пам'ятайте, що змінить ім’я змінної після її створення не можна, але змінну і список можна видалити і створити знову з тим же або іншим ім'ям.
Під інтерактивністю будемо розуміти можливість взаємодії між об'єктами, що належать різним середах. Наприклад, якщо в написаній нами програмі задано, що Кіт з Scratch наздоганяє миша з Scratch, а вона реагує на нього і тікає, то це не вважатимемо інтерактивністю. І Кіт і Миша - об'єкти одного середовища. А ось якщо Кіт з Scratch реагує на дії реального людини (наприклад, натискання користувачем певної клавіші), то це вже інтерактивність, тому що об'єкти належать різним "середах проживання". (слайд 7)
Нехай потрібно зробити так, щоб людина могла керувати поведінкою кота на полотні Scratch. Якщо написати такий сценарій Нехай потрібно зробити так, щоб людина могла керувати поведінкою Кота на полотні Scratch. Якщо написати такий сценарій
Команда мишка натиснута? знаходиться в розділі сенсори, де згруповані команди, призначення яких - перевіряти наявність заданих змін в навколишньому середовищі об'єкта. Наприклад, команда мишка по x відстежує, де знаходиться курсор миші по осі x. Керуюча конструкція завжди, якщо ... схожа на цикл завжди, за винятком того, що ця конструкція поєднує в собі цикл з умовою. Такий цикл виконується лише тоді, коли умова істинна. В даному випадку, коли мишка натиснута. Складіть такий сценарій. Бажано в осередку властивостей об'єкта включити кнопку "тільки поворот вліво-вправо". Після чого додайте на сцену ще один об'єкт, продублюйте сценарій першого об'єкта і перенесіть його на другий. У підсумку по полотну слідом за курсором миші повинні "ходити" два об'єкти.
Хто знає гру Мортал Комбат?
Так ось у Scratch можна створити таку ж і навіть ще крутіше. Давайте разом подивимося, адже краще один раз побачити.
https://www.youtube.com/watch?v=WqCpTVbUb74
Змінні і умовний оператор
Ускладнимо програму в такий спосіб. Нехай об'єкти переміщаються не разом, а нарізно: спочатку один бігає за курсором, потім - інший. Перемикання "активності" між об'єктами нехай відбувається за допомогою клавіші пробіл. Як організувати таку програму? Відповісти на це питання буде дуже складно, якщо не знати про дуже важливою складовою будь-якого програмування - про змінних. Змінні є осередки, в яких зберігаються будь-які дані (число, рядок і ін.). Причому вміст комірок може змінюватися в процесі виконання програми. У якийсь момент можна перевірити, що там знаходитися і в залежності від цього виконувати певні команди чи ні. (Слайд 8)
Практичне завдання.
Створимо комірку - змінну під ім'ям йде. Для цього потрібно натиснути на кнопку змінні і, потім, в комірку команд Scratch натиснути «Створити змінну»; в діалоговому вікні ввести її ім'я і натиснути ОК. Після чого у нас з'явиться сама змінна і кілька команд для її зміни.
Нам потрібна ця змінна, щоб в залежності від її значення рухався перший об'єкт або другий. Нехай якщо йде = 0, то рухається перший об'єкт, а якщо змінна дорівнює одиниці, то - другий. Зміна значення змінної буде відбуватися при натисканні клавіші пробіл. Оскільки дана частина програми відноситься до обох об'єктів, то доречно розташувати скрипт в об'єкті Сцена (хоча не обов'язково), переключившись на нього. Ось цей сценарій:
Замість пробілу можна вибрати іншу клавішу в списку першої команди сценарію. Далі йде складна інструкція якщо - або. Вона працює так: якщо умова в частині якщо істинно, то виконуються вкладені команди після якщо, інакше - будуть виконуватися вкладені команди після або. Обидві "гілки" ніколи разом не виконуються, вони взаємно виключають одна одну. Тепер розглянемо умова при інструкції якщо. Зелені команди відносяться до операторів. Оператори - це такі команди, які щось роблять з даними. Наприклад, виконують математичні операції або порівнюють числа між собою. В даному випадку обраний оператор порівняння на рівність. Він перевіряє одно чи вираз зліва від знака "=" висловом справа. Якщо - так, то буде працювати код після якщо, якщо - ні, то код після або. У нашому випадку порівнюються значення змінної йде і 0. Ми нічого не "клали" в змінну, однак за замовчуванням їй і так присвоюється значення 0, тому нам це було робити не обов'язково. До того ж, якщо раптом спочатку у змінній буде не нуль, то нічого страшного: спрацює гілка або. Що ж все-таки робить цей скрипт? Якщо значення змінної дорівнює 0, то воно змінюється на 1. Якщо ж ні, то змінюється на 0. Виходить, що натискання клавіші пробіл поперемінно змінює значення змінної йде. Однак при виконанні програми ми не побачимо ніяких змін. Дійсно, адже об'єкти ще "не знають", до якого значенням змінної прив'язані їх дії. Складіть вищенаведений скрипт і переключіться на перший об'єкт. Потрібно організувати перевірку значення змінної. Для цієї мети прекрасно підійде проста інструкція якщо. Ось такі сценарії виходять для першого і другого об'єктів.
Різниця між ними тільки в тому, з чим порівнюється значення змінної: з нулем або одиницею. А як ми знаємо, її значення змінюється при натисканні пробілу. В результаті, коли програма запущена, ми можемо змінювати "активний" об'єкт. Доробіть програму і подивіться, як вона працює. Можна і далі пограти з інтерактивністю. Нехай об'єкти змінюють свій зовнішній вигляд при натисканні певних клавіш.
Наприклад, так:
Зробимо проект, в якому натисканням на клавішу пробіл ми будемо міняти (слайд 9) значення змінної швидкість для кажана. Логічні датчики натискання стрілок клавіатури використовуємо для зміни напрямку руху миші. А також зберемо простий скрипт анімації, для якого нам знадобляться два костюма миші bat1-a і bat1-b з папки Animals.
1. Створіть новий проект.
2. Виділіть мишею на Об’єкт1 і додайте для нього два костюма bat1-a і bat1-b з папки Animals.
1. Дайте спрайту ім'я Мишка.
4. Створіть локальну змінну швидкість.
5. Зберіть скрипти анімації, керування напрямком руху і швидкістю (слайд 10)
Перевірте роботу скриптів.
Збережіть проект під ім'ям Летюча мишка.
V. Підведення підсумків. Рефлексія.
http://LearningApps.org/watch?v=pnyj6i1j517
VI. Домашнє завдання.
Cтворити проект Агар в Scratch
Додатковий матеріал:
Відео: https://www.youtube.com/watch?v=nkTfs8-3XII
Статті: http://scratch.aelit.net/urok-4-igra-kot-obzhora/
http://scratch.ucoz.net/index/0-16
Проект: https://scratch.mit.edu/projects/73710190/