Изучение последовательности прохождения этапов объектно-ориентированного программирования. Инкапсуляция. Система автоматического документирования Doxygen, страница 7

 Матылицкий Иван Владимирович

В некоторой соте ограничено количество пользователей некоторым числом. При чём таким образом, что при превышении числа пользователей на единицу аппаратура сотовой связи выходит из строя. А в каждый момент времени прибывает и убывает некоторое число пользователей в этой соте.

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

Спроектировать конструктор с одним параметром (устанавливает максимальное число пользователей, а текущее число в 0), а также конструктор с двумя параметрами (макс. число пользователей и текущее число пользователей).

Задать в классе деструктор, выдающий сообщение о состоянии аппаратуры.

Продемонстрировать в программе запись и чтение полей класса, а также работу с одним объектом этого класса.

 Муха Денис Анатольевич

Винтик и Шпунтик проводят испытания своего автомобиля, который, как известно, работает на газированном сиропе. На данном этапе возникла проблема расчёта давления в поршневом цилиндре. Установлено, что за полный цикл давление падает на N кПа в случае, если нажата педаль газа (напоминаем, что давление ниже нуля упасть не может), и увеличивается на M кПа если педаль газа не нажата.

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

Задать конструктор с двумя параметрами, устанавливающий внутреннее давление в 0, а параметры определяют изменение давления в зависимости от того нажата педаль или нет.

Задать в классе деструктор, выдающий сообщение выключении двигателя.

Продемонстрировать в программе запись и чтение полей класса, а также работу с одним объектом этого класса.

 Рабинович Евгений Геннадьевич

Полевая мышь в процессе битвы за урожай каждый год проводит некоторое число дней.

Результат битвы полностью зависит от погоды. Если идёт дождь, то мышь не собирает зерно. Если день пасмурный, то собирается 3 зёрна. Если день солнечный, то число собранных зёрен удваивается.

Спроектировать класс мыши, для которого определить поле текущего запаса зёрен, и три метода прохождения пасмурного дня, дождливого и солнечного.

Задать конструктор без параметров, устанавливающий число запасённых зёрен равным нулю.

Задать в классе деструктор, выдающий сообщение конце битвы за урожай.

Продемонстрировать в программе запись и чтение полей класса, а также работу с двумя объектами этого класса.

 Романченко Андрей Валерьевич

В городе Джерри, согласно записям С.Кинга, изменение числа населения каждый год составляет 1 %. Оно появляется каждые M лет и убивает в год некоторое число жителей.

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

Задать метод прохождения одного года.

Спроектировать конструктор с двумя параметрами, определяющими число убиваемых жителей и периода появления Его.

Включить в класс деструктор, показывающий сообщение победе над Оно.

Продемонстрировать в программе запись и чтение полей класса, а также работу с одним объектом этого класса.

                                                           Лабораторная работа №2

Инкапсуляция. Система автоматического документирования Doxygen.

Цель работы: изучить принципы разделения кода и данных, а также освоить основные функции системы автоматического документирования.

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