Scala реализация задач
Ниже отражены задачи, которые необходимо решить, подскажите может кто сделать это? Преподаватель который дает подобные задания отвратительно объясняет материал, а где искать не понятно, подскажите к кому можно обратиться чтоб сделать это?
Написать замыкание возвращающее очередное число месяца и название месяца для заданного года.
Реализовать в виде двух классов хранение информации о городах и областях. Для городов хранить информацию о количестве населения и площади. Для областей хранить информацию о губернаторе, общем населении и площади. Население и площадь области получать при помощи метода из класса «города». Реализовать функции добавления города, области, просмотра городов области.
Опишите класс «банковский счет». Создайте поле «баланс. Опишите методы «пополнить», «снять» и «перевести на другой счет».
Опишите класс «студент». Создайте поля: «ФИО», «группа», «балл». Опишите методы: «перевести в другую группу», «изменить имя».
Опишите класс «группа», хранящий список студентов. При необходимости модифицируйте описанный ранее класс «студент», Опишите методы: «поиск студента», «средний балл по группе», «сравнение среднее балла между двумя группами», «перевод группы на следующий курс». Переопределите оператор «+» для двух групп, результатом которого должна быть новая группа, состоящая из студентов обеих групп. Написать замыкание возвращающее следующего по успеваемости студента.
Используя классы «студент» и «группа», опишите класс «факультет». Реализуйте методы: «поиск факультета с лучшим средним балом», «вывод процента отличников по группам», «отчисление студента».
Комментарий:
Реализовать сокрытия полей, не предназначенных для прямого доступа, реализовать доступ к некоторым полям или методам только определенным классам.