Р. ЛАФОРЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть13) онлайн
Проекты
К сожалению, объем книги не позволяет описать упражнения такого типа и мас-
штаба, как примеры, приведенные в этой главе. И все же предлагаем несколько
идей различных проектов, которые вы можете развить самостоятельно.
1. Создайте методы для вычитания и деления чисел класса verylong (см. одно-
именный пример). Это будут перегружаемые операции «-» и «/». Здесь
потребуется некоторое напряжение интеллекта. Будем предполагать при
написании функции вычитания, что числа могут быть как положитель-
ными, так и отрицательными. Это усложнит умножение и сложение, ко-
торым придется выполнять различные действия в зависимости от знака
числа.
Чтобы вникнуть в алгоритм, прежде всего попробуйте выполнить деление
больших чисел вручную, на бумажке, записывая каждый шаг. Затем внед-
рите все эти шаги в новый метод класса verylong. При этом обнаружится,
что приходится выполнять ряд операций сравнения, так что необходимо
будет написать специальную функцию еще и для этого.
2. Перепишите программу ELEV таким образом, чтобы она работала только
с одним лифтом. Это сильно упростит программное решение. Удалите
ненужные части программы. Кроме того, можно представить себе задачу
с одним лифтом и одним пассажиром, что еще больше упростит дело.
3. Модифицируйте программу работы с лифтами, улучшив методы обра-
ботки запросов. Чтобы увидеть огрехи в поведении нынешнего варианта
программы, попробуйте создать запрос «вниз» с двадцатого этажа. Затем
создайте запрос «вниз» с десятого этажа. Лифт-1 тотчас поднимется на
20 этаж. Но лифт-2, который, по идее, должен подниматься на 10 этаж,
будет ждать, пока лифт-1 пройдет 10 этаж, только после этого начнет
движение. Измените функцию decide() таким образом, чтобы исключить
эту ошибку.
4. Создайте библиотеку классов, моделирующую какую-нибудь интересу-
ющую вас предметную область. Создайте main() или клиентскую програм-
му для ее тестирования. Предложите свою библиотеку классов на рынке,
станьте богатым и знаменитым.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Схожі підручники
- Соціальна психологія (частина 1)
- Методичні вказівки до виконання практичного заняття на тему «Дробово-лінійне програмування»
- Філософія Хрестоматія (частина 2)
- РОЗРАХУНКОВІ РОБОТИ З КУРСУ «ЕКОЛОГІЯ»
- Соціальна педагогіка (частина 2)
- Фінансова діяльність суб'єктів підприємництва. Навчальний посібник (частина 2)
