- •Овсянник в.Н. Лабораторные работы по курсу «Объектно-ориентированное программирование»
- •1.Интегрированная среда mvs-2010
- •1.1.Методические указания
- •2.Массивушки и подпрограммочки
- •Прочитайте это задание и методические указания до конца, прежде чем терзать клавиатуру, соседа, преподавателя и пр. Сущности
- •Попробуйте сдать работу, предварительно тщательно протестировав ее на предмет отсутствия хомутов
- •2.1.Методические указания
- •3.Поиск экстремумов с ограничениями или «Брачное агенство»
- •Постановка задачи
- •Задание
- •Листинг файла mAgency.Cpp (с главной функцией)
- •Листинг файла Lib.H
- •Листинг файла Lib.Cpp
- •4.Задача «куча камней»
- •4.1.Постановка задачи.
- •4.2.Методические указания.
- •Некоторые примеры разделения камней на две кучи, которые должна решать ваша программа
- •5.Разработка простого класса
- •5.1.Задание
- •5.2.Описание вариантов заданий
- •5.3.Драгоценные методические указания
- •6.Класс вектор
- •6.1.Пример класса tVector
- •6.2.Класс tVector с перегруженными операциями
- •7.Наследование классов
- •7.1.Задание
- •7.2.Методическая помощь
- •7.3.Описание самых легких вариантов заданий
- •7.4.Контроль качества выполненной работы
- •8.Приложение с окном вида
- •9.Абстрактные классы и виртуальные функции
- •9.1.Задание
- •9.2.Методические указания
- •Void PrintClassNamе1(cBasе *pb) // параметр-указатель
- •Void PrintClassNamе2(cBasе &b) // параметр-ссылка
- •Void PrintClassNamе3(cFirst f) // параметр-значение
- •9.3.Варианты заданий
- •10.Разработка класса контейнера
- •10.1.Задание
- •10.2.Описание вариантов заданий
- •10.3.Методические указания
- •12.Перегрузка векторных и матричных операций
- •12.1.Задание
- •12.2.Бесценные методические указания
- •12.3.Некоторые особенности перегрузки операций
- •12.4.Варианты заданий
- •13.Программирование односвязного списка
- •13.1.Задание
- •13.2.Описание вариантов заданий
- •14.Приложение, основанное на модальном диалоговом окне
- •14.1.Нудные методические указания Модальные и немодальные диалоговые окна
- •Ресурсы и элементы управления
- •Сценарий создания приложения
- •Разбор приложения
- •Усовершенствование приложения
- •15.Приложения
- •15.1.Виды сортировок
- •Классификация сортировок
- •Сортировка массивов
- •15.2.Алгоритм сортировки включением
- •Пример сортировки с помощью прямого включения
- •15.3.Сортировка Шелла
- •Список литературы
3.Поиск экстремумов с ограничениями или «Брачное агенство»
Если отладка - процесс удаления ошибок, то программирование должно быть процессом их внесения
Закон Мерфи
Цель работы – освоить приемы поиска экстремальных значений в массивах структур при наличии дополнительных ограничений и условий (4 час.).
Постановка задачи
Вам, возможно, повезло и вас приняли на работу программистом в брачное агентство, начальница которого хочет внедрить у себя инновационные технологии по подбору невест и женихов с помощью гениальной компьютерной программы, которую вы и должны разработать. Данные, которые собирает агентство о своих клиентах, представлены в табл. 1, которая, конечно, может расширяться.
Таблица 1
Клиенты брачного агентства
Имя |
Пол |
Рост |
Возраст |
Характер |
Цвет кожи |
Доход |
Число разводов |
Джон |
м |
150 |
20 |
Пакостный |
Белый |
198 |
0 |
Барбара |
ж |
178 |
23 |
Зловредный |
Черный |
567 |
5 |
Майкл |
м |
165 |
45 |
Нежный |
Желтый |
987 |
2 |
Инесса |
ж |
189 |
43 |
Отвратительный |
Белый |
3544 |
5 |
Стивен |
м |
201 |
21 |
Хороший |
Желтый |
1234 |
4 |
Деннис |
м |
172 |
18 |
Ласковый |
Черный |
987 |
3 |
Смит |
м |
168 |
19 |
Твердый |
Черный |
7463 |
1 |
Джоан |
ж |
153 |
33 |
Пакостный |
Белый |
873 |
2 |
Джейла |
ж |
178 |
44 |
Зловредный |
Желтый |
368 |
2 |
Рейчел |
ж |
178 |
23 |
Зловредный |
Черный |
567 |
7 |
Лайла |
ж |
153 |
33 |
Пакостный |
Коричневый |
873 |
3 |
Тильда |
ж |
166 |
43 |
Отвратительный |
Белый |
3454 |
7 |
Льюис |
м |
168 |
23 |
Твердый |
Белый |
463 |
5 |
Керол |
ж |
165 |
32 |
Нежный |
Желтый |
876 |
4 |
Гликерия |
ж |
198 |
44 |
Пакостный |
Белый |
2340 |
5 |
Пафнутий |
м |
178 |
25 |
Отвратительный |
Белый |
567 |
2 |
Зазноба |
ж |
189 |
43 |
Пакостный |
Желтый |
999 |
0 |
Отморозок |
м |
187 |
25 |
Отвратительный |
Черный |
657 |
2 |
Характеры клиентов разбиты на категории в соответствии с табл. 2 для того, чтобы можно было не только указывать в запросах конкретный характер, но и делать более общие запросы путем указания категории характера, в том числе и в числовой форме. Подобным образом введены категории клиентов по величине доходов и цвету кожи (см. табл.3 и табл.4).
Таблица 2
Классификация характеров клиентов
Характер |
Категория характера |
Пакостный |
-1 Плохой |
Отвратительный |
-1 Плохой |
Твердый |
0 Умеренный |
Нежный |
0 Умеренный |
Зловредный |
0 Умеренный |
Хороший |
+1 Подходящий |
Ласковый |
+1 Подходящий |
Таблица 3
Классификация клиентов по величине их месячного дохода
Доход |
Категория клиента по величине дохода |
менее 200 |
-2 Нищий |
200-500 |
-1 Бедный |
501-1000 |
0 Средний |
1001-2000 |
+1 Богатый |
более 2000 |
+2 Жадный |
Таблица 4
Классификация клиентов по цвету кожи
Цвет кожи |
Категория цвета кожи |
Белый |
0 Белый |
Черный |
1 Черный |
Желтый |
2 Цветной |
Коричневый |
2 Цветной |
