Розробка уроку

Тема: cтворення інформаційних моделей та їх застосування до розв'язання задач мовою Ruby

Мета:

Учень повинен:

мати уявлення про зміст понять:

описувати: вміти:

Обладнання: ПК з встановленими ОС, компілятором мови програмування Ruby, текстовим редактором (бажано з підсвіткою службових слів, наприклад, Sublime Text 2).

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

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

Хід уроку

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

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

  1. Що таке інформаційна модель?
  2. Які види інформаційних моделей викостовують при розв'язанні задач?
  3. Які особливості Ruby як мови програмування?
  4. Що потрібно для роботи в Ruby?.
  5. Яке призначення вказівок puts та gets?
  6. Яка різниця між Integer і Float?.

3. Вивчення нового матеріалу
Побудова моделі — це достатньо складне завдання. Уміння правильно змоделювати задачу корисне не лише під час вивчення інформатики, але й у повсякденному житті. Протягом цього уроку ми розглянемо приклади побудови і опрацювання моделей для конкретних задач, з якими ви вже зустрічались. Будемо діяти за таким планом:

  1. Ознайомитися з умовою задачі або чітко сформулювати її.

  2. Проаналізувати умову задачі, тобто знайти відповіді на такі питання:

    • Що дано?
    • Що потрібно визначити?
    • При яких припущеннях?
    • У якому вигляді потрібно (доречно, найкраще) подати результати?
    • За яких умов можна отримати результати?
    • Які результати вважати правильними?
  3. Передбачити розв'язання задачі з допомогою комп'ютера. Розв'язання задачу необхідно підготувати до втілення його програмою: підібрати формули, встановити порядок виконання дій тощо. Для алгоритмічно складних задач потрібно сформулювати розв'язання у вигляді, зручному для перекладу алгоритмічною мовою.

  4. Визначити метод розв'язання задачі.
  5. Розробити алгоритм на основі обраного методу.
  6. Втілити алгоритм за допомогою програмного забезпечення.
  7. Протестувати й налагодити програму (електронний документ).
  8. Провести розрахунки, проаналізувати результати.

Задача 1. За час t = 5 с колесо велосипеда радіусом r = 50 см, зробило n = 20 обертів. Визначити: період обертання, частота обертання, швидкість точок обода.

  1. Умову задачі чітко сформульовано, отже пункт 1 плану виконано.

  2. З умови задачі маємо:

    • дано:
      r — радіус колеса;
      t — час, обертання;
      n — кількість обертів;

    • потрібно знайти:
      T — період обертання;
      u — частоту обертання;
      v — швидкість точок ободу;

  3. Сценарій розв'язання задачі: cпочатку побудувати інформаційну модель до задачі; знайти період з яким обертається колесо; визначити частоту оберту; після чого визначити швидкість точок ободу.

  4. Розв'яжемо задачу алгебрично, тобто запишемо алгебричні рівності, що описують рівномірний рух колом).

  5. Алгоритм ґрунтується на таких формулах:
    T = t / N;
    u = N / t;
    v = 2πru — див. рівності v = 2πr/T та 1/T = u.

  6. Створюємо програму мовою Ruby:

    • з операторами надання значень параметрам моделі напочатку програми;

    • з останнім оператором gets для того, щоб вікно виконання програми закривалося лише після додаткового натискання на клавішу Enter, а не одразу після виведення даних.

  7. Запускаємо створену програму на виконання, використавши Командний рядок (Термінал) або активувавши файл програми у середовищі менеджера файлів клацанням. В останньому випадку розширення rb має бути пов'язаним з компілятором мови Ruby.

  8. Для вхідних даних з умови задачі розрахунки такі:
    T = 5 / 20 = 0,25 (c) — період повного обертання колеса;
    u = 20 / 5 = 4 (c– 1) — частота обертання колеса;
    v ≈ 2 ∙ 3,14 ∙ 0,5 ∙ 4 = 12,56 (м/c) — швидкість точок ободу колеса.
    Інакше кажучи, маємо отримати виведення таких чисел: 0.25 4.0 12.56 — по одному в рядку.

Примітка. Якщо в операторах надання значень змінним t і n не написати «.0» наприкінці, то змінні t і n матимуть цілий тип, а ділення t/n буде діленням цілих чисел з часткою-результатом 0.

Задача 2. Два об'єкта А і B рухаються в одному напрямку рівномірно по колу із швидкостями V1 i V2 відповідно, V1 > V2. Відомо, що відстань між ними L (у напрямку руху) і довжина кола С. Знайти час і кількість повних кіл, які зроблять об'єкти А і B до зустрічі.

  1. Умова задачі не вимагає уточнення чи переформулювання.

  2. Аналіз умови задачі учні здійснюють самостійно, після чого звіряють з таким:

    • дано:
      L — відстань між А і В;
      V1 — швидкість об'єкта А ;
      V2 — швидкість об'єкта В ;
      C — довжина кола;
    • потрібно знайти:
      t — час зустрічі;
      n1 — кількість повних обертів, які зробив об'єкт А до зустрічі;
      n2 — кількість повних обертів, які зробив об'єкт В до зустрічі.

  3. Сценарій розв'язання задачі: cпочатку побудувати інформаційну модель до задачі; знайти час до зустрічі; визначити періоди обертання об'єктів і кількості повних обертів об'єктів до зустрічі.

  4. Розв'яжемо задачу алгебрично.

  5. Алгоритм ґрунтується на таких формулах:

    t = L / (V1V2);
    T1 = C / V1 — період обертання об'єкта А;
    T2 = C / V2 — період обертання об'єкта B;
    n1 = t / T1 = L V1 / (C (V1V2));
    n2 = t / T2 = L V2 / (C (V1V2)).

  6. Створюємо програму мовою Ruby:

    • з оператором gets.to_f на початку програми — оператором зчитування з клавіатури значення дійсного параметра моделі;

    • з оператором gets наприкінці програми — для того, щоб вікно виконання програми закривалося лише після додаткового натискання на клавішу Enter, а не одразу після виведення даних.

  7. ...
  8. При вхідних даних 18 26 24 120 — значеннях відповідно L, V1, V2 і C — вихідні дані (значення t, n1, n2) мають бути такими 9.0 1.95 1.8.

Примітка. Якщо використовувати запис =gets.to_i замість =gets.to_f, то відповідна змінна набуватиме цілого типу, а її значення буде результатом відкидання у десятковому записі десяткової крапки і всіх символів праворуч (після неї). Така дія не є ні округленням до цілого, ні визначенням цілої частини. Щоб переконатися у цьому, потрібно лише подивитися на результат виведення простої програми мовою Ruby для таких вхідних даних (по одному числу на кожний з чотирьох випадків): 1.1, 1.8, –1.1, –1.8.

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу

(самостійна робота)

Задача 3. Кулька на краю нитки з довжиною 1,2 м здійснює рівномірний рух колом. Кут між ниткою та вертикалю дорівнює 30°. Кулька робить 60 обертів за півхвилини. Знайти частоту обертання, швидкість кульки й доцетрове прискорення.

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

6. Домашнє завдання:
Вивчити матеріал уроку. У разі потреби доробити задачу 3.


Текст упорядкувала Бондарчук Інна Володимирівна, вчитель школи І–ІІІ ступенів № 309 Дарницького району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 12.09.2016 по 16.09.2016.