Лабораторный практикум №3

Проект DeaneryDemo

Разработать класс Student для хранения информации о студенте.

Примерный перечень полей:

  • id - идентификационный номер
  • fio - фамилия и инициалы
  • group - ссылка на группу (объект Group)
  • marks - контейнер оценок (ArrayList).

Обеспечить класс следующими методами:

  • создание студента с указанием ИД и ФИО
  • зачисление в группу
  • добавление оценки
  • вычисление средней оценки

Разработать класс Group для хранения информации об учебной группе

Примерный перечень полей:

  • title - название группы
  • students - массив из ссылок на студентов
  • head - ссылка на старосту (из членов группы)

Обеспечить класс следующими методами:

  • создание группы с указанием названия
  • добавление студента
  • избрание старосты
  • поиск студента по ФИО или ИД
  • вычисление соеднего балла в группе
  • исключение студента из группы

Разработать класс Deanery

Примерный перечень полей:

  • students - массив студентов
  • groups - массив групп

Обеспечить класс следующими методами:

  • создание студентов на основе данных из файла
  • создание групп на основе данных из файла
  • добавление случайных оценок студентам
  • накопление статистики по успеваемости студентов и групп
  • перевод студентов из группы в группу
  • отчисление студентов за неуспеваемость
  • сохранение обновленных данных в файлах
  • инициация выборов старост в группах
  • вывод данных на консоль

Создать один-два файла с данными для групп и студентов (не менее 3 групп и 30 студентов). Использовать эти файлы при формировании данных групп и студентов

Файлы текстовые, но можно использовать форматы xml или json для форматирования хранящихся данных. Также можно использовать генераторы фамилий, имеющиеся в интернете для формирования списков студентов.

Написать демонстрационную версию приложения

Демонстрационная версия программы должна представлять собой сценарий работы деканата, включающий загрузку данных из файлов, избрание старост, начисление оценок и контроль успеваемости. Результаты работы выводятся на консоль, новые списки групп - файлы.

Emacs 26.1 (Org mode 9.1.9)

Validate