Історія
Як майбутня фокусниця, Еліз має потренувати деякі базові прийоми. У неї є стос карт, з якими вона хоче працювати.
Щоб трохи спростити собі завдання, вона використовує лише карти від 1 до 10.
Ми обмежуємо значення карт від 1 до 10, щоб мати справу лише з числами,
тож вправи, які використовують цю історію, мають покладатися тільки на числа.
Завдання
Ось приклади завдань, що пасують до історії про Еліз-початківицю:
- Дістати карту зі стосу
- Обміняти карту в стосі
- Вставити карту на верх стосу
- Вилучити карту зі стосу
- Вилучити верхню карту зі стосу
- Вставити карту вниз стосу
- Вилучити карту знизу стосу
- Перевірити розмір стосу
Цю історію можна продовжити, щоб також навчати аналізу масивів:
- Знайти позицію карти
- Визначити, чи присутня карта
- Визначити, чи кожна карта парна
- Перевірити, чи містить стос карту з непарним значенням
- Отримати першу непарну карту зі стосу
- Визначити позицію першої парної карти
Цю історію можна продовжити, щоб також навчати перетворень масивів:
- Подвоїти кожну карту
- Створити кілька копій кожної трійки, знайденої в колоді
- Знайти дві карти з точної середини колоди
- Дві крайні карти знову зʼявляться в середині колоди
- Кожна карта, що не є 2, зникає
- Перетворити перемішану колоду на ідеально впорядковану
- Замінити кожну карту на загальну кількість карт
Цю історію можна продовжити, щоб також навчати деструктуризації масивів:
- Отримати першу карту (без звичних засобів, наприклад індексатора чи методів)
- Отримати другу карту (без звичних засобів, наприклад індексатора чи методів)
- Поміняти перші дві карти місцями (без звичних засобів, наприклад індексатора чи методів)
- Відкинути верхню карту (без звичних засобів, наприклад індексатора чи методів)
- Вставити фігурні карти (без звичних засобів, наприклад індексатора чи методів)
Термінологія
Це рекомендації, а не правила, щодо повторюваної термінології в інструкціях (зокрема в коментарях до заготовок)
- Головна героїня - Еліз, а її займенники - вона/її. Якщо потрібно вказати персонажа, використайте імʼя або звертайтеся до неї займенником (займенниками).
- Замість
array (або відповідного типу даних) використовуйте слово стос або стос карт
- Замість
element використовуйте слово карта
- Замість
length використовуйте розмір стосу
-
Верхня карта - це перший елемент
-
Нижня карта - це останній елемент
Реалізації
Альтернативна версія
Альтернативна версія історії використовує ви (учня) як дійову особу й зосереджується лише на переставлянні колоди.
Історія
Ми фокусники, і ми маємо справу з колодою карт. Щоб правильно виконати фокус, нам потрібно вміти переміщати карту з однієї позиції в іншу. Тобто нам потрібно вміти переставляти колоду. Звісно, ми хочемо вміти переміщати карти в обидва боки й могли сказати «з верху колоди» або «з низу колоди».
Завдання
Ось приклади завдань, що пасують до історії, у якій ми хочемо переставити карти:
- Реалізуйте функцію arrange, яка переміщає карту в стосі з однієї заданої позиції в іншу й повертає новий стос
- Реалізуйте функцію rearrange, яка робить те саме, але змінює початковий стос
Реалізації
Джерела