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

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

Середня

Вказівки

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

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

  • Додати імʼя учня до списку учнів класу:
    • «Додати 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 і реалізувати функції:

  • newSchool
  • add
  • roster
  • grade

У розділі 3 Notes on Programming SML/NJ розповідається про використання сигнатур і структур.


Джерело

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

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

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