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

Проект DekanatDemo

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

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

  • ID - идентификационный номер
  • Fio - фамилия и инициалы
  • Group - ссылка на группу (объект Group)
  • Marks - массив оценок
  • Num - количество оценок

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

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

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

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

  • Title - название группы
  • Students - массив из ссылок на студентов
  • Num - количество студентов в группе
  • Head - ссылка на старосту (из членов группы)

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

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

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

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

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

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

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

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

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

Emacs 24.5.1 (Org mode 8.3.3)

Validate