[0:00]Всім привіт! Радий вітати всіх на каналі Інформатика - це просто. Сьогодні ми продовжуємо з вами програмувати у середовищі Scratch і розглянемо таку команду, як команда розголодження. Саме вона дозволяє нашому спрайту зробити якийсь певний вибір. Цікаво? Поїхали, подивимось, що воно собою являє. Але для початку давайте згадаємо, що взагалі алгоритм або програма у Scratch - це скінченна послідовність команд, виконання яких приводить до поставленої мети та отримання результату. Ми розглядали з вами деякі види алгоритмів. Перший був слідуванням - найпростіший алгоритм, в якому всі команди виконуються чітко одна за одною. Команда повторення. Даний алгоритм дозволяв повторювати набір команд задану кількість разів, або повторювати їх до тих пір, доки не виконається якась поставлена умова. Ну і нарешті, команда розголодження. Говоримо про неї і подивимось більш детально. Команда розголодження - це така алгоритмічна структура, що дає змогу виконавцеві алгоритму вибрати сценарій подальших дій залежно від істинності певної умови. Простіше можна сказати: якщо виконується якась умова, то виконуємо якісь дії. Інакше виконуємо інші дії. Даний вибір перед нами стоїть постійно в житті: якщо ми зголодніли, ми їмо, якщо ж ні - йдемо гуляти. Якщо хочемо спати - ми спимо, якщо ж ні - займаємось своїми справами. Ми обираємо постійно. Давайте і нашому спрайту дамо деяку свободу. Якщо подивитися на мови програмування, то можна помітити, що існує дві різні форми представлення даної команди. Перша форма і найпопулярніша - це неповна форма, або коротка. Дана форма виконує команди, якщо умова є істинною та ігнорує їх виконання при хибній умові. Давайте розглянемо це на прикладі алгоритму телефон. Подивись на рівень заряду. Якщо рівень низький, то постав телефон на зарядку. Дочекаємось, доки він зарядиться і тоді вже використовуємо телефон. Але якщо дана умова не виконується і рівень заряду нормальний, то й ставити його на зарядку не обов'язково, тобто ми дану команду ігноруємо, і можемо зразу використовувати телефон. Зручно, правда? В іншому варіанті, в повній формі алгоритмічна структура виконує один набір команд, коли умова істинна і інший блок, якщо умова хибна. Ну і для зразка алгоритм світлофор. Подивились на колір світлофору і якщо горить зелений, переходимо дорогу. Якщо ж умова не виконується, тобто горить або жовтий, або червоний, ми чекаємо, тобто ми обов'язково оберемо одну з двох запропонованих дій. З теорією все. Переходимо до практики і подивимось на обидва варіанти виконання даної програми. Для початку відкриваємо наш кабінет Scratch і створимо новий алгоритм. Розглянемо саме той варіант, коли наш котик буде питатися: чи можна йому перейти дорогу, чи ні? Питатися? Так, в нас є в датчиках елемент запитати. І навіть є наша відповідь. Тож складемо наш алгоритм. В подіях оберемо, коли натиснуто на прапорець. Далі наш котик має запитати: який колір світлофора ввімкнено? Ну і отримає нашу відповідь. Ну, а тепер ми перейдемо до, власне, наших команд розголоження. Ми можемо або перейти дорогу, або ні. Ось даний блок. Знаходиться він в розділі керування. Якщо колір зелений, тобто наша відповідь дорівнює слово зелений, то ми маємо перейти дорогу. Давайте сюди поставимо команди: "Дякую, я можу перейти дорогу". Що ж, зачекаємо. Ну і тепер виникає резонне запитання: а як же ж скласти умову? Для того, щоб скласти власне умову, нам потрібні так звані оператори. Це окремий розділ Scratch, ось він, і тут є різні-різні блоки, де ми можемо порівнювати значення між собою, складати логічні вирази. З ними з усіма ми попрацюємо трошечки пізніше. На даний момент нам достатньо тільки ось цього. Ми будемо порівнювати нашу відповідь зі словом зелений і ставимо її сюди. Запускаємо наш проект і котик нас запитає: який колір світлофора ввімкнено? Напишемо йому "Зелений". "Дякую, можна перейти дорогу". Запустимо його ще раз і напишемо "Червоний". "Чекаємо на зелений". Як бачите, наш спрайт обирає одну з двох запропонованих дій. Такий варіант у справжніх програмах і у повсякденному житті зустрічається дуже рідко. Найчастіше ми використовуємо все ж таки скорочену форму команди розголоження. Давайте зробимо алгоритм, який за номером місяця буде визначати, а яка ж зараз пора року. Яким чином це зробити, дивимось: "Скажи номер місяця". Ну і тут, відповідно, в операторах вибираємо порівняння, ставимо нашу відповідь, ставимо "1". І знаємо, що номер "1" має місяць січень, а відповідно, наш котик має сказати: "Пора року: ЗИМА". Чудово, запускаємо, вказуємо номер місяця, "1". І він нам видає відповідь. Але і номер "2" також - це місяць лютий, і він також відноситься до зими. Тобто ми можемо зробити дублювання, поставити сюди команду, дописати номер "2" і номер "12" для грудня, так, також сюди вписати. І якщо ми вкажемо будь-яку з цих цифр, то комп'ютер нам видасть правильну відповідь. Але подивіться, дані блоки - вони однакові. І як би ми могли сформувати наше речення? Якщо номер місяця один, або номер місяця два, або номер місяця 12, то це точно зима, правда? Речення ми з вами склали. Так само ми можемо скласти і умову за допомогою операторів. В нас є команда "або". Це такий логічний зв'язочок, який каже про те, що якщо хоча б одна з цих умов буде виконуватись, то і взагалі умова буде виконуватись. Ну, а складаються оператори, як ви вже помітили, як у звичайному "Лего". Ми просто беремо і вкладаємо клітинки в відповідні вирази. Ось така здоровенська штука в нас вийшла, і поставимо її сюди. Викидаємо ці блоки. Як бачимо, наша програмка скоротилася, а чи перестала вона працювати? Ну, давайте перевіримо: "12-й" - "Зима". "Перший місяць" - "Знов зима". "П'ятий місяць" і він замовк, тому що він не знає, що нам сказати. Давайте сюди додамо і інші варіанти, просто здублюємо їх. Дублювати, дублювати, дублювати. Так, весна - чудово. Є в нас тут літо. Ну і нарешті є осінь. Лишилося розставити тільки номери місяців. Якщо в нас весна, то це третій місяць, четвертий і п'ятий. Влітку в нас шостий, сьомий і восьмий. Ну і нарешті, осінь - дев'ятий, десятий і 11-й місяці. Запустимо наш проект і перевіримо. "Скажи номер місяця: "12-й" - "Зима". "Скажи номер місяця: "8" - "Літо". Чудово, все працює, але якось трішечки нуднувато. Давайте ми зробимо так, щоб коли котик говорив, що це зима, у нас і фон ставав зимовим, тобто показував картинку зими, літо, то, значить, картинка літа і так далі. Для того, щоб це організувати, нам знадобляться SMS-повідомлення. Пам'ятаєте, ми використовували їх в подіях, є відповідні команди, ось такі повідомлення. В нас чотири пори року, відповідно нам знадобиться чотири даних повідомлення. Ставимо їх перед тим, як котик скаже, що це відповідна пора року. Тоді фон буде вмикатись одночасно з котиком. Ну і напишемо відповідні повідомлення: якщо це в нас "Зима", то і повідомлення має бути "Зима". Так само і у всіх інших. Чудово. До кожної пори року ми прикрутили відповідне повідомлення, відповідно SMS-ку. Ну, а тепер переходимо до фону програми, і для нього напишемо наступний текст: коли натиснули на прапорець, наш фон має включити фон білого листочка.
[9:50]Просто "ТЛО-1" вони називаються, а коли отримає відповідні есемески, тобто "Весна", має включити фон з "Весною" і на всі пори роки відповідні. "Зима" - значить "Зима", "Літо" - "Літо", ну і "Осінь" - відповідно "Осінь". Готово. Запустимо, подивимось, що в нас вийшло. "Скажи номер місяця". Наприклад, "5". "Пора року: ВЕСНА". І ми бачимо відповідну картинку. Такий варіант програми вже дивиться набагато цікавіше. На сьогоднішньому уроці ми з вами повторили, як працювати зі Scratch, згадали, як будувати алгоритми, розібралися з командами розголоження. Нагадаю, що їх дві команди: є неповне розголоження, яка виконує команди тільки тоді, коли виконується умова, і є повна форма розголоження, яка виконує перший набір команд, коли умова виконується і другий набір команд, коли умова не виконується. Всі означення до сьогоднішнього уроку будуть внизу під відео. Ну, а на закріплення пропоную вам створити власні проекти з використанням і повної, і неповної форми. Сподіваюсь, вони будуть виглядати і працювати краще, ніж мої. Ну, а від себе хочу побажати вам чистого неба над головою і тепленького сонечка за вікном. Дякую всім за увагу і до нових зустрічей. До побачення!



