Пояснительная записка должна содержать следующие разделы: Постановка задачи

Вид материалаПояснительная записка
Подобный материал:
!!!Варианты выбирать в соответствии с порядковым номером в списке группы!!!

Требования к содержанию пояснительной записки к курсовой работе:


Пояснительная записка должна содержать следующие разделы:
  1. Постановка задачи.
  2. Описание классов и их иерархии.
  3. Укрупненная блок-схема алгоритма, построенная на основании тестового примера.
  4. Текст программы.
  5. Тестовый пример.
  6. Список литературы.


ИНФОРМАЦИЯ ПО ОБЪЕКТАМ МОДЕЛИ ДОЛЖНА СОДЕРЖАТЬСЯ В ФАЙЛЕ!!!


Вариант №1, 21

Разработать модель работы салона по прокату транспортных средств (автомобили, мотоциклы). Спроектировать иерархию классов: Транспортное средство, Автомобиль, Мотоцикл, Клиент, Касса.

При разработке модели предусмотреть выполнение следующих задач:
  1. Создать базу транспортных средств (не менее 20 объектов);
  2. Обеспечить вывод информации по имеющимся транспортным средствам: Марка, Год выпуска, Цвет, Номер, Пробег (в тыс. км) ;
  3. Определить количество сданных в прокат транспортных средств по каждому виду;
  4. Определить выручку предприятия за месяц. Ведется почасовая оплата.
  5. В случае превышения времени проката клиент платит штраф (удвоенная сумма стоимости 1 часа за каждый лишний час эксплуатации). Предусмотреть возможность определения размера штрафа;
  6. Определить транспортное средство, с наибольшим пробегом по итогам месяца;
  7. Обеспечить возможность выбора клиентом транспортного средства по указанным характеристикам (например: марка, цвет, пробег и др. на ваше усмотрение);
  8. Предусмотреть возможность для клиента оставить заявку на какое-либо транспортное средство, дату и время.


Вариант №2, 22

Разработать модель деятельности предприятия, осуществляющего торговлю автомобилями, за один рабочий день. Определить объекты модели: Продавец, Клиент, Покупатель, Автомобиль и другие по вашему усмотрению:

При разработке модели реализовать выполнение следующих задач:
  1. Определить количество проданных автомобилей за месяц?
  2. Какова выручка предприятия за месяц?
  3. Какова наиболее популярная марка автомобиля по итогам опроса клиентов, по итогам продаж за месяц?
  4. Определить какого цвета автомобили пользовались наибольшим спросом?
  5. Определить среднее значение стоимости покупки за месяц.
  6. Какие модели автомобиля полностью проданы? По желанию клиента сформировать заказ на приобретение. Выдать информацию о стоимости самого дорого заказа: марка автомобиля, его цвет, дата поставки.
  7. Какой процент от продажи автомобилей добавлен к зарплате каждого из продавцов (размер процента определите самостоятельно). Определить продавца-лидера по итогам продаж за месяц.


Вариант №3, 23


Разработать модель функционирования фирмы, осуществляющей риэлторскую деятельность в течении одного календарного месяца.

Объекты модели: Риэлтор, Клиент, Недвижимость.

При разработке модели реализовать выполнение следующих задач:
  1. Создать базу Недвижимости не менее 20 объектов.
  2. Каково количество проданной и сданной в аренду жилпложади за каждую неделю месяца?
  3. Какова прибыль, полученная за месяц? Расчет прибыли должен выполняться по формуле: [6% (от суммы покупки) или 10%(от суммы аренды)]-(налог)-(заработная плата) .
  4. Какова наиболее популярная жилплощадь по итогам продаж за месяц?
  5. Жилплощадь в каком районе пользовалась наибольшим спросом?
  6. Как распределяется выручка по неделям?
  7. Рейтинг жилплощади по районам, по типу (домовладения, одно, двухкомнатное и т.д.)
  8. Какую зарплату сотрудникам следует начислить в конце месяца? Зарплату сотрудникам рассчитывать в зависимости от объемов продаж (процент от объема продаж).


Вариант №4, 24

Спроектировать иерархию классов для описания деятельности книжного магазина. Описать следующие классы:
  • продавец (один);
  • покупатели(несколько);
  • книги;
  • открытки.

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

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

Создать тестовый пример, в котором будут задействованы все объекты.


Вариант №5, 25

Спроектировать иерархию классов для описания деятельности магазина по продаже компакт дисков. Описать следующие объекты:
  • продавец (один);
  • покупатели (несколько);
  • аудио-диски;
  • mp3 диски;
  • диски с компьютерными играми;
  • касса.

Покупатель совершает покупки дисков. В каждой покупке фигурирует несколько товаров. Но мы считаем, что товары разнесены на три отдела, в которых установлены отдельные кассы. Таким образом, в одной покупке могут фигурировать только товары одного из трех, перечисленных выше видов.

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


Вариант №6, 26

Спроектировать иерархию классов для описания деятельности автозаправки. Исходим из того, что заправка предоставляет следующие услуги (с длительностями их оказания, которые должны проектироваться случайным образом):
  • заправка – до 5 минут;
  • мойка – до 30 минут;
  • химчистка салона – до 45 минут;
  • вулканизация – до 2 часов.

Описать следующие классы:
  • Машина;
  • Очередь.

Работа с «Очередью» ведется по правилам, определенным для структуры данных очередь. Также необходимо хранить текущее время и общее рабочее время.

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


Вариант №7

Спроектировать иерархию классов для описания деятельности супермаркета. Описать следующие классы:
  • Перечень товаров;
  • Покупка (для отличия одной покупки от другой можно использовать номер кассового чека);
  • Касса;
  • Покупатель.

Считать, что касс будет несколько (не меньше двух).

Смоделировать работу супермаркета в течение некоторого времени. Процесс работы будет выглядеть следующим образом: покупатели оплачивают приобретенные товары в различные кассы, в соответствии с этим в разные кассы добавляются различные суммы денег. На некоторые товары могут предоставляться скидки. Покупатель, когда выбирает в очередь к какой кассе стать, он выбирает кассу, в которой стоит меньше людей. Определить: сколько было куплено товаров со скидкой; на какую сумму было приобретено определенного товара.


Вариант №8


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

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

Реализовать класс Receipt (Чек), наследуемый класс Goods, полями которого являются номер товарного чека, дата и время его создания, список покупаемых товаров, их количество, стоимость. В момент приобретения товара, его запас на складе должен автоматически уменьшаться. Реализовать возможность контроля количества товаров на складе. То есть, когда количество товара на складе становится меньше определенного минимума, который необходимо прописать полем в классе Goods, (например, 4 единицы товара), нужно автоматически дополнять его некоторым фиксированным количеством (например, с продуктовой базы) для осуществления дальнейших продаж (например, 100 условных единиц товара). Для простоты будем считать, что товар всегда можно приобрести. Фиксированное число добавляемых единиц товаров определяется случайным образом.

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

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


Вариант №9

Спроектировать иерархию классов для описания деятельности автозаправки. Описать следующие классы:
  • Колонка;
  • Автомобиль;
  • Виды бензина, с указанием марки и стоимости.

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

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


Вариант №10, 20

Спроектировать иерархию классов для описания деятельности биржи труда. Обязательно реализовать очередь безработных (Unemployed) и базу вакансий (Vacancy).

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

База вакансий должна быть представлена классом Vacancy, в котором содержится список фирм с полями: название фирмы, вакантная должность, заработная плата, требования к кандидату: пол, возраст, образование, общий стаж, стаж работы в последней занимаемой должности.

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

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

Составить рейтинг:

Самых востребованных специальностей;

Самых не востребованных специальностей;

Незаполненных вакансий более 1 недели, 1 месяца.


Вариант №11


Разработать модель деятельности ресторана за один рабочий день. Определить объекты модели: Смена, Официанты, Клиент (содержит клиентов, которые получают определенную скидку), Меню, Заказ и другие по вашему усмотрению:

Предусмотреть возможность добавления и удаления блюд в меню. Реализовать возможность выбора определенных официантов из списка для данной смены. Учитывать скидку клиента при предоставлении счета за заказ. Реализовать возможность формирования заказа. При разработке модели реализовать выполнение следующих задач:
  1. Определить количество любого проданного блюда из меню?
  2. Какова выручка ресторана за смену?
  3. Сформировать в виде отчета информацию о сделанных заказах за смену (отчет должен содержать список блюд в заказе, количество и цену блюда, общую сумму заказа).
  4. Определить выручку по каждому официанту за смену.
  5. Определить среднее значение стоимости заказа за смену.
  6. Определить самое популярное блюдо за смену.


Вариант №12


Разработать модель работы библиотечного абонемента. Создать необходимые классы.

Информационная запись о книге в библиотеке содержит следующие поля: автор, название, год издания, издательство цена.

Для моделирования учетной карточки абонента реализовать класс Subscriber, содержащий фамилию абонента, его библиотечный номер и список взятых в библиотеке книг. Один элемент списка содержит информационную запись о книге, дату выдачи, требуемую дату возврата и признак возврата. База данных книг и абонентов должна содержать не менее 20 элементов.

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


Вариант №13

Спроектировать иерархию классов для описания деятельности авиакассы за один день. Описать следующие классы:

Рейс, Пассажир, Самолет, Пилоты, Билет и другие необходимые классы.

База рейсов должна содержать не менее 20 позиций.

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

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

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

Определить количество проданных билетов по данному направлению.

Определить наиболее популярный рейс.

Определить прибыль от продажи билетов за день.


Вариант №14

Спроектировать иерархию классов для хранения информации о математических объектах «Матрица» и описания операций с ними. Для хранения матрицы использовать класс Matrix. В зависимости от номера варианта значения матрицы хранятся либо в массиве память под который выделается динамически, либо в двумерном массиве заданного, с помощью констант размера. Для описания операций использовать класс MOperations. Реализовать следующие операции:
    1. сложение;
    2. вычитание;
    3. умножение на число;
    4. перемножение матриц;
    5. транспонирование матриц;
    6. нахождение обратной матрицы (реализовать функцию проверки того правильно ли она была найдена);
    7. нахождение определителя матрицы произвольного размера.

При описании основных операций над матрицами использовать перегрузку операций.

Проиллюстрировать выполнение всех операций на конкретных примерах.


Вариант №15

Спроектировать иерархию классов для описания расчета оптимальной конфигурации компьютера. Описать следующие классы:
  • Видеокарта;
  • Память;
  • Процессор;
  • Материнская плата;
  • Винчестер;
  • Сетевая плата;
  • Модем.

Будем считать, что существует минимальный набор устройств, которые обязательно должны присутствовать в конфигурации компьютера. Также есть устройства, которые могут быть установлены по желанию покупателя. У различных устройств есть некоторые общие характеристики, например марка, цена, производитель, но есть и характеристики существенные только для этого вида устройств: частота, емкость, скорость передачи данных. Обеспечить выбор конфигурации по критерию – самая дешевая и по критерию самая «лучшая». Для определения «лучшего» устройства в своем классе используется некоторая характеристика (или набор характеристик) устройства. Для простоты будем считать, что все устройства совместимы между собой.

Смоделировать процесс выбора оптимальной конфигурации в соответствии с тем или другим критерием. Определить суммарную стоимость конфигурации. Определить какую долю от нее составляет стоимость каждого комплектующего.


Вариант №16

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

Реализовать класс WorkТeacher, моделирующий бланк назначенной преподавателю нагрузки. Класс содержит фамилию преподавателя, дату утверждения, список преподаваемых дисциплин, объем полной нагрузки в часах и в ставках. Объем в ставках вычисляется как частное от деления объема в часах на среднюю годовую ставку, одинаковую для всех преподавателей кафедры. Элемент списка преподаваемых дисциплин содержит поля: дисциплина, количество часов, выделяемых на зачет (0,35 ч на одного студента) или экзамен (0,5 ч на студента), сумму часов по дисциплине.

Реализовать добавление и удаление дисциплин; вычисление суммарной нагрузки в часах и ставках. Должен осуществляться контроль превышения нагрузки (допустимый максимум – 1,5 ставки).

Вариант №17

Создать класс ListPayment (зарплата). В классе содержится список сотрудников, для которых рассчитывается заработная плата.

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

Реализовать методы вычисления класса Person: начисленной суммы, удержанной суммы, суммы выдаваемой на руки и стажа. Стаж вычисляется как полное количество лет, прошедших от года поступления на работу до текущего года. Начисления представляют собой сумму, начисленную за отработанные дни и надбавки – доли от суммы, начисленной за отработанные дни. Удержания представляют собой отчисления в пенсионный фонд (1 процент от начисленной суммы) и подоходный налог. Подоходный налог составляет 13% от начисленной суммы без отчислений в пенсионный фонд. Реализовать методы добавления сотрудника в список и удаления из него; методы поиска по полям класса Person. Реализовать методы вычисления полных сумм по всему списку: начислено, удержано, на руки, подоходный налог, пенсионный фонд.


Вариант №18

Разработать модель функционирования Автозаправочной станции (АЗС) на одну бензоколонку, на основе структуры "очередь", за один рабочий день в пределах одних суток (24 часа). Длина очереди, время подъезда и количество заправляемого бензина и его марка, дополнительные услуги (мытье окон, подкачка колес, определение давления в колесах, и др. по вашему усмотрению) определяется случайным образом.

При разработке модели реализовать выполнение следующих задач:
  1. Определение количества машин, подъехавших к станции, в том числе: количество обслуженных автомашин;
  2. Определение количества обслуженных машин, которые не нуждались в дополнительных услуг;
  3. Получение информации о максимальном и минимальном времени ожидании в очереди на обслуживание и среднего времени обслуживания;
  4. Получить сведения о количестве заправленного бензина каждой марки за рабочий день;

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


Вариант №19

Спроектировать иерархию классов для описания деятельности автомастерской, расположенной на шоссе. Исходим мы из того, что автомастерская предоставляет следующие услуги, связанные с ремонтом и обслуживанием, со следующей длительностями их оказания:
  • Ремонт А – А1-А2 минут;
  • Ремонт Б – Б1-Б2 минут;
  • Обслуживание С – С1-С2 минут;
  • Обслуживание Д – Д1-Д2 минут.
  • И т.д. (еще 2-4 вида обслуживания и ремонта)

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

Описать следующие классы:
  • Автомобиль;
  • Место ремонта (и очередь к нему);
  • Вид ремонта или обслуживания;
  • Касса автомастерской.

Мы будем считать, что в процессе ремонта есть вероятность, что неисправность не может быть устранена. В этом случае в кассу поступает не полная оплата за ремонт, а некоторая фиксированная сумма. Работа с очередью ведется по правилам, определенным для структуры данных очередь. Также необходимо хранить текущее время и общее рабочее время.

Смоделировать работу автомастерской в течение рабочего дня. Необходимо посчитать сколько машин с указанными для них услугами успеют «пройти» через автомастерскую в течении указанного рабочего времени. Подсчитать сколько машин по окончании рабочего дня останутся ждать в очереди. Какая была максимальная длина очереди за день.