Розробка уроку — практичної роботи

Тема: створення нескладної комп’ютерної гри з використанням змінних величин.

Мета: навчити учнів складати та виконувати прості програми, що містять циклічні та розгалужені алгоритми з використанням інтерпретатора Ruby.

По завершенню навчання учень уміє:

Обладнання: ПК зі встановленою операційною системою, текстовим редактором (бажано з підсвічуванням службових слів, наприклад, Sublime) й інтерпретатором Ruby або стійким сполученням з Інтернетом для використання інтерпретаторів у режимі online.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Хід уроку

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

Мотивація навчання. Протягом цього уроку ми навчимося створювати застосунки, які використовують алгоритми з повторенням та розгалуженням. І зробимо це, розробивши ігровий проект.

Гра «Вгадай число» — логічна гра, призначена для двох гравців, в основі якої закладено вгадування числа, задуманого суперником. З початку розвитку комп'ютерних технологій з'явилися варіації гри поодинці, коли задумане число вгадує або гравець, або комп'ютер. Для гри удвох достатньо мати папір та ручку. На цьому уроці ми запрограмуємо версію гри з комп'ютером.

2. Актуалізація опорних знань

  1. Яке розширення має файл програми мовою Ruby? — rb

  2. Як записати коментар мовою Ruby?
    Коментар до кінця рядка розпочинають знаком #.

  3. Які існують правила запису назв локальних змінних?
    Назву локальної змінної розпочинають з рядкової латинської літери або знаку підкреслення. Наприклад: sum, _max.

  4. Як назвати змінній початкове значення без асоціювання жодного типу даних? Така дія буде вказувати, що це не метод, а змінна.
    …=nil

  5. Які існують правила запису назв сталих?
    Назви сталих розпочинають з великої літери латиниці. Наприклад, Sum, Pi, Max.

  6. Як вводити та виводити текстові та числові дані?

    Метод gets використовують для зчитування з клавіатури рядка — послідовності символі, що завершується ознакою кінця рядка. Для того, щоб позбутися цього символу, застосовують метод chomp.

    Для перетворити рядок у число, використовують такі методи:

    • .to_i — перетворення рядка у ціле число;
    • .to_f — перетворення рядка у дійсне число;
    • .to_s — перетворення числа у рядок.

    Метод puts використовують для виведення даних на екран з додаванням символу ознаки кінця рядка. Інакше, якщо переходити в новий рядок не потрібно то використовують метод print. Для того, щоб вивести значення змінної методами puts або print всередині рядка, використовують таке звернення: #{назва_змінної}

    Приклад коду:

    puts "Введіть значення діленого"
    a=gets.chomp.to_i
    puts "Введіть значення дільника"
    b=gets.chomp.to_i
    puts "Значення частки: #{a/b}"
  7. Опишіть правила запису арифметичних операцій
    Всі арифметичні операції (+, -, * , / , % — відповідно додавання, віднімання, множення, ділення, лишок від ділення) реалізовано у вигляді методів, які мають свої пріоритети виконання такі самі, як у математиці. Важлива відмінність мови Ruby від багатьох інших мов полягає у тому, що немає інкремента і декремента — позначення типу -- i ++ не використовують. Але використовують інший запис: i+=1, еквівалентний такому: і=і+1.

  8. Як отримати (псевдо)випадкове число?
    За допомогою вбудованої функції rand:

    rand()         # дісне з [0; 1]
    rand(200)      #  ціле з [0; 200]
  9. Який вигляд має коротка (неповна) форма вказівки розгалуження?

    if умова [then]
       вказівка
    end
  10. Який вигляд має повна форма вказівки розгалуження?

    if умова [then]
       вказівка
    else 
         вказівка 
    end
  11. Який вигляд має вкладена форма вказівки розгалуження?

    if умова [then]
       вказівка
    elsif умова[then]
          вказівка 
    else 
         вказівка 
    end
  12. Який вигляд має цикл з передумово?

    while умова
          вказівка
    end
    

3. Інструктаж з ТБ
4. Вироблення практичних навичок


На уроці ми створимо комп’ютерну ігру «Вгадай число». Правила такі: один з гравців записує на аркуші паперу задумане число з діапазону від 0 до 100, інший його відгадує, задаючи питання, на які отримає відповідь «так» або «ні». Мета гри: відгадати число, задавши якомога меншу кількість запитань.

Спочатку зіграти у цю гру попарно. Потім учитель проти класу. Проаналізувати кількість висловлених запитань. Пояснити результат.

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

Завдання 1. Створити ігрову програму під назвою «Вгадай число». Суть програми: користувач має відгадати ціле число, яке «загадала» (випадково вибрала) програма у певному діапазоні, наприклад: від 1 до 30 за певну кількість спроб. У кінці гри комп’ютер повідомляє про перемогу або про поразку та вказує кількість заданих запитань.

Всі наступні кроки розв'язання отримати з допомогою конкурсу ідей.

І. Алгоритм

  1. Вибрати (псевдо) випадкове ціле число із заданого проміжку (від 1 до 10).

  2. Надати кількості спроб вгадування початкове значення 1.

  3. Надати індикатору виграшу гравця початкове значення false.

  4. До досягнення верхньої межі спроб робити у циклі таке:

    • зчитати число — варіант відповіді;

    • вивести повідмлення про те, як запропоноване число розташоване на числовій осі відносно вибраного: "МАЛО!", "БАГАТО!". У разі збігу значень індикатору виграшу гравця надати значення true і вийти з циклу.

    • збільшити кількість спроб на 1.

  5. Якщо користувач виграв, вивести повідомлення: "Ви виграли. Кількість спроб: ", інакше вивести повідомлення: "Спiвчуваю, але Вашi спроби вичерпанi. Ви проиграли."

ІІ. Використані змінні

ІІІ. Створення коду програми — бажано у середовищі редактора з підсвіткою тегів і підказками (наприклад, Sublime). Записати програму у файл з назвою Ваше_прізвище.rb у теку, вказану вчителем.

IV. Внутрішнє тестування програми. На етапі тестування (і лише) для перевірки роботи програми (у тому числі й генератора випадкових чисел) додати до тексту програми вказівку виведення на екран вибраного числа. Перевірити коректність виведення усіх кінцевих повідомлень. У разі виявлення помилок виправити текст програми.

V. Зовнішнє тестування програми провести, надавши можливість учням перевіряти роботи своїх однокласників. Перевірити коректність виведення усіх кінцевих повідомлень. Порівняти створену програму з демонстраційним розв'я­занням.

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання (на вибір)
Створити програму для гри «Вгадай число», у якій програма й користувач міняються місцями: програма відгадує число на найменшу кількість спроб число, загадане користувачем.


Текст упорядкувала Обрізан Катерина Миколаївна, учитель Київського військового ліцею імені Івна Богуна, міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 26.10.2017 по 30.10.2017.