Треки
/
Pharo
Pharo
/
Вправи
/
Початкова школа
Початкова школа

Початкова школа

Середня

Вказівки

Маючи імена учнів разом із класом, у якому вони навчаються, створіть список учнів для школи.

Зрештою, ми маємо вміти:

  • Додавати імʼя учня до списку для класу
    • «Додайте Jim до класу 2.»
    • «Гаразд.»
  • Отримувати список усіх учнів, зарахованих до класу
    • «Які учні в класі 2?»
    • «Наразі в нас лише Jim.»
  • Отримувати відсортований список усіх учнів з усіх класів. Класи мають сортуватися як 1, 2, 3 тощо, а учні в межах класу мають бути відсортовані за алфавітом.
    • «Хто зараз навчається в школі?»
    • «Хвилинку, поміркую. У класі 1 у нас Anna, Barb і Charlie, у класі 2 — Alex, Peter і Zoe, а в класі 5 — Jim. Отже, відповідь така: Anna, Barb, Charlie, Alex, Peter, Zoe і Jim»

Зауважте, що всі наші учні мають лише одне імʼя (маленьке містечко, чого ж іще чекати?), і жодного учня не можна додати до класу чи до списку більше ніж один раз. Насправді, коли тест намагається додати того самого учня більше ніж один раз, наша реалізація має вказати, що це неправильно.

Примітка

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

Note

Цю вправу трохи змінено порівняно з problem-specification, бо набагато логічніше розділити додавання учнів і запити до них на окремі методи (а не мати один метод, який робить і те, й інше, що менш природно для Pharo/Smalltalk).


Джерело

Сеанс парного програмування з Філом Баттосом у gSchool
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Pharo Exercism

Час розпочати Початкова школа?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Pharo, а також 50 вправ та справжнє наставництво від людей, і все це безкоштовно.