Тема: створення ігрового проекту мовою Ruby.
Мета: удосконалити знання й уміння складати і виконувати циклічні алгоритми та алгоритми з рогалудженням в інтерактивному режимі роботи інтерпретатора Ruby.
По завершенню навчання учень уміє:
застосовувати отримані знання під час вирішення практичних завдань;
створювати свої методи об'єктно-орієнтованого програмування для вирішення різних задач;
Обладнання: ПК із встановленими ОС, текстовим редактором (бажано з підсвіткою службових слів, наприклад, Sublime Text 3 або Notepad++), інтерпретатором мови програмування Ruby або стійким сполученням з мережею Інтернет для використання інтерпретаторів Ruby в режимі online, (дана) інструкція.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка домашнього завдання.
Мотивація навчання. Протягом цього уроку ми удосконалимо знання та навички у галузі створення застосунків, які використовують алгоритми з повторенням та розгалуженням, а також логічний (булевий) тип даних. І зробимо це, розробивши ігровий проект (без програмування інтерфейсу).
Гра «Так чи Ні» — різновид гри в загадки, придумана Полом Слоуном (британським письменником і фахівцем у царині інновацій та ефективності роботи і творчості). Сенс гри не лише у приємному проведенні часу, але й тренуванні нестандартних навичок мислення, творчості, пошуку рішень для робочих і побутових ситуацій. Про суть гри говорить сама назва: за вгадування можна ставити питання, але відповіддю на них можуть бути лише слова «так» чи «ні»..
2. Актуалізація опорних знань
Описати вигляд структури мови програмування Ruby, назви яких виділено жирним накресленням. Порівняти з поданим нижче.
Вигляд оператора розгалуження if:
if умова then вказівка1 else вказівка2
або (неповна форма):
if умова then вказівка
Метод gets використовують для зчитування з клавіатури рядка — послідовності символів — з символом ознаки кінця рядка, що виникає після натискання клавіші Enter. Для того, щоб позбутися цього символу, застосовують метод chomp. Для того, щоб перевести усі символи у нижній регістр, використовують метод downcase:
answer = gets.chomp.downcase
Метод puts використовують для виведення даних на екран з додаванням символу ознаки кінця рядка. Наприклад,
puts 'Київ — столиця України?'
Метод print використовують для виведення даних на екран без додавання символу ознаки кінця рядка.
Приклад коду з використанням згаданих вище операторів та методів:
puts 'Київ — столиця України?' answer = gets.chomp.downcase if (answer == 'так') || (answer == 'yes') puts 'Відповідь правильна' else if (answer == 'ні') || (answer == 'no') puts 'Відповідь хибна' else puts 'Відповідь відмінна від так, ні, yes, no' end end
Метод (public) each_with_index домішки Enumerable (є опис російською) викликає для кожного елемента переліку блок вказівок з двома аргументами: елементом та його індексом.
Програма:
["A","B","C"].each_with_index {|item, index| puts"#{item} <-> #{index}"}
здійснить таке виведення даних:
A <-> 0 B <-> 1 C <-> 2
Програма:
[{f:"A", s:"aa"}, {f:"B", s:"bb"},{f:"C", s:"cc"}].each_with_index {|h, j| puts "При j=#{j} маємо: h=#{h}, тобто #{h[:f]} <-> #{h[:s]}"}
здійснить таке виведення даних:
При j=0 маємо: h={:f=>"A", :s=>"aa"}, тобто A <-> aa При j=1 маємо: h={:f=>"B", :s=>"bb"}, тобто B <-> bb При j=2 маємо: h={:f=>"C", :s=>"cc"}, тобто C <-> cc
3. Інструктаж з ТБ
4. Вироблення практичних навичок
Завдання. Скласти програму для гри «Так чи Ні», із запитаннями щодо різних навчальних дисциплін з відповіддю «так» або «ні». Передбачити використання методу each_with_index для масиву записів з полями q (запитання) та a (відповідь), підрахунок і виведення кількостей правильних і хибних відповідей, перевірку коректності введення відповіді: лише «yes» або «no». Створену програму записати у файл з назвою Ваше_прізвище.rb у теку, вказану вчителем. Порівняти код створеної програми з демонстраційним розв'язанням.
5. Підбиття підсумків уроку
Виставлення оцінок.
6. Домашнє завдання
У разі потреби доробити завдання класної роботи. Удосконалити програму, запрограмувавши випадковий вибір у випадковому порядку лише частини питань (використати метод rand).
Текст упорядкував Воронін Володимир Вікторович, вчитель спеціалізованої школи № 155 Шевченківсьго району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 13.11.2017 по 17.11.2017.