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

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

Легка

Вказівки

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

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

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

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

Підказки

Щоб тест пройшов, нам доведеться створити кілька типів, із якими працюватиме наш код: потрібен обʼєкт для School, який зберігатиме послідовність типу Student, а це буде кортеж із string та int, щоб зберігати імʼя та оцінку студентів.

Ось код із типами, який може стати в пригоді на початку

type
  Student* = tuple[name: string, grade: int]
  School* = object
    students*: seq[Student]

Джерело

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

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

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