Чари Еліз


Історія

Як майбутня фокусниця, Еліз має потренувати деякі базові прийоми. У неї є стос карт, з якими вона хоче працювати.

Щоб трохи спростити собі завдання, вона використовує лише карти від 1 до 10.

Ми обмежуємо значення карт від 1 до 10, щоб мати справу лише з числами, тож вправи, які використовують цю історію, мають покладатися тільки на числа.

Завдання

Ось приклади завдань, що пасують до історії про Еліз-початківицю:

  • Дістати карту зі стосу
  • Обміняти карту в стосі
  • Вставити карту на верх стосу
  • Вилучити карту зі стосу
  • Вилучити верхню карту зі стосу
  • Вставити карту вниз стосу
  • Вилучити карту знизу стосу
  • Перевірити розмір стосу

Цю історію можна продовжити, щоб також навчати аналізу масивів:

  • Знайти позицію карти
  • Визначити, чи присутня карта
  • Визначити, чи кожна карта парна
  • Перевірити, чи містить стос карту з непарним значенням
  • Отримати першу непарну карту зі стосу
  • Визначити позицію першої парної карти

Цю історію можна продовжити, щоб також навчати перетворень масивів:

  • Подвоїти кожну карту
  • Створити кілька копій кожної трійки, знайденої в колоді
  • Знайти дві карти з точної середини колоди
  • Дві крайні карти знову зʼявляться в середині колоди
  • Кожна карта, що не є 2, зникає
  • Перетворити перемішану колоду на ідеально впорядковану
  • Замінити кожну карту на загальну кількість карт

Цю історію можна продовжити, щоб також навчати деструктуризації масивів:

  • Отримати першу карту (без звичних засобів, наприклад індексатора чи методів)
  • Отримати другу карту (без звичних засобів, наприклад індексатора чи методів)
  • Поміняти перші дві карти місцями (без звичних засобів, наприклад індексатора чи методів)
  • Відкинути верхню карту (без звичних засобів, наприклад індексатора чи методів)
  • Вставити фігурні карти (без звичних засобів, наприклад індексатора чи методів)

Термінологія

Це рекомендації, а не правила, щодо повторюваної термінології в інструкціях (зокрема в коментарях до заготовок)

  • Головна героїня - Еліз, а її займенники - вона/її. Якщо потрібно вказати персонажа, використайте імʼя або звертайтеся до неї займенником (займенниками).
  • Замість array (або відповідного типу даних) використовуйте слово стос або стос карт
  • Замість element використовуйте слово карта
  • Замість length використовуйте розмір стосу
  • Верхня карта - це перший елемент
  • Нижня карта - це останній елемент

Реалізації

Альтернативна версія

Альтернативна версія історії використовує ви (учня) як дійову особу й зосереджується лише на переставлянні колоди.

Історія

Ми фокусники, і ми маємо справу з колодою карт. Щоб правильно виконати фокус, нам потрібно вміти переміщати карту з однієї позиції в іншу. Тобто нам потрібно вміти переставляти колоду. Звісно, ми хочемо вміти переміщати карти в обидва боки й могли сказати «з верху колоди» або «з низу колоди».

Завдання

Ось приклади завдань, що пасують до історії, у якій ми хочемо переставити карти:

  • Реалізуйте функцію arrange, яка переміщає карту в стосі з однієї заданої позиції в іншу й повертає новий стос
  • Реалізуйте функцію rearrange, яка робить те саме, але змінює початковий стос

Реалізації

Джерела