
- •Проектування програмних засобів. Загальні відомості.
- •Лабораторна робота № 1 Робота з потоками.
- •Лабораторная работа n2.
- •Лабораторная работа n3.
- •Лабораторная работа №4 Разработка объектно-ориентированных программ. Взаємодія класів. Порядок выполнения работы (по занаятиям).
- •Требования к программе
- •Лабораторная работа №5
- •Перелік літератури
Лабораторная работа №4 Разработка объектно-ориентированных программ. Взаємодія класів. Порядок выполнения работы (по занаятиям).
Разработка алгоритма основной программы. Разработка класса(ов)(состав данных, перечень методов);
Разработка алгоритмов методов класса(ов). Уточнение элементов пункта 1.
Написание текста программы.
Тестирование и отладка.
Защита лабораторной работы.
Требования к программе
Разработать решение задачи с использованием классов.
Все классы должны иметь конструктор и деструктор.
Примеры тестирования должны включать в себя индивидуальную работу с несколькими объектами класса.
№ |
Задание |
||||
1. |
Задать с клавиатуры область на плоскости: x1, y1-координаты ее левого верхнего угла, x2, y2 –правого нижнего. Три квадрата, имеющих разные размеры, начинают свое движение каждый из своей точки, координаты которой относительно (x1 y1) задаются в начале программы с клавиатуры. Квадраты движутся зигзагообразно с одинаковой скоростью смещения по X и Y, которая также для каждого задается пользователем индивидуально. Дойдя до верхней или нижней границы области квадрат меняет свою скорость движения по Y на противоположную. Каждый раз, дойдя до левой или правой границы области квадрат должен поменять скорость движения на противоположную и изменить свой цвет, который задается значением от 1 до 15, на очередной по кругу. Границы квадратов не должны выходить за границы области. Для каждого квадрата отображать его текущие координаты |
||||
2. |
Разработать класс портфель, в котором содержатся заранее неизвестное количество предметов. Каждый предмет задается своим названием и количеством штук для данного портфеля. Количество названий предметов задается в начале работы программы. Пользователь с клавиатуры также задает содержимое 7-ми портфелей. Вывести полный список вещей во всех портфелях в формате: название - количество во всех портфелях. Найти номер и вывести на экран содержимое портфеля с наибольшим количеством единиц предметов. |
||||
3. |
Квартира характеризуется средним значением потребленного газа, электричества, тепла и воды. Шкала цен приведена в таблице: |
||||
Среднее значение |
Оплата за 1-цу электроэнергии |
Газ |
Тепло |
Вода |
|
До 3 |
3 коп. |
1 коп. |
2 коп. |
2 коп. |
|
От 3 до 10 |
5 коп. |
2 коп. |
4 коп. |
3 коп. |
|
От 10 до 15 |
10 коп. |
5 коп. |
10 коп. |
4 коп. |
|
Более 15 |
20 коп. |
10 коп. |
18 коп. |
5 коп. |
|
В доме может быть несколько квартир. Пользователь задает количество домов и количество квартир для каждого дома, а также данные о потребленных ресурсах по каждой квартире. Подсчитать общий расход указанного ресурса по всем домам и усредненную цену единицы этого ресурса для заданного дома. |
|||||
4. |
Пользователь задает количество самолетов и для каждого из них расход топлива на единицу пути, скорость и расстояние, на которое он должен удалится. Каждые 5 секунд выдавать список самолетов по дальности – 1 зона (до 500 км), 2 зона (от 500 до 1000 км), 3 зона (от 1000 до 2000 км), 4 зона (от 2000 до 6000 км). Сообщать также общее количество топлива, израсходованное с начала работы программы и скорость самого быстрого самолета. |
||||
5. |
Пользователь вводит предложения, каждое до 250 символов. Расположить их в виде связного списка заранее неизвестной длинны. Определить среднее количество вхождений указанного символа, приходящихся на одно предложение. Вывести предложения, в которых встречается указанное слово. Заменить один контекст на другой во всех предложениях, где он встречается. |
||||
6. |
Разработать класс автомобиль, для которого задается средняя скорость (м/с), средний расход топлива (л/м), количество топлива и расстояние, которое он должен проехать. Количество автомобилей и указанные выше сведения для каждого из них задаются пользователем в начале программы. Каждую секунду высвечивать на экран количество топлива, израсходованное всеми автомобилями с начала работы программы, расстояние пройденное всеми автомобилями, количество стоящих автомобилей и из них отдельно по причине отсутствия топлива, а не по достижению места назначения. |
||||
7. |
Разработать класс – индикатор времени. Объект этого класса должен создаваться при нажатии на определенную клавишу. Все объекты соединены в связный список и в графическом режиме отображают в прямоугольнике время, прошедшее с создания этого объекта. После каждых 2 минут работы объект должен менять свой цвет. |
||||
8. |
Разработать класс индикатор времени, для которого устанавливается время, на протяжении которого он действует. Все объекты этого класса должны в зависимости от желания пользователя синхронно показывать или время своего создания, или время, прошедшее со времени создания, или время, оставшееся до конца жизни индикатора. После прекращения времени действия индикатор окрашивает место, на котором находился, в цвет фона. Последовательность индикаторов организовать в виде двусвязного списка, из которого исключать не дееспособные индикаторы. |
||||
9. |
Разработать класс - обратный счетчик времени, который в графическом режиме отображает секунды, начиная заданного значения и до 0. Создать 5 таких объектов, каждый из которых разместить по координатам, задаваемым пользователем. Достигнув 0 объект меняет цвет и начинает отсчет начального значения. |
||||
10. |
Объект - окружность, которая меняет свой радиус с определённой скоростью до определённой величины, после чего начинает уменьшать его с той же скоростью до нуля, затем снова увеличивать и т. д. Для каждой из 5-ти окружностей скорость изменения и максимальный радиус задаются пользователем в начале программы. Отображать: скорость и направление изменения радиуса, текущий радиус, номер окружности с наибольшим радиусом. |
||||
11. |
Разработать класс - космический корабль с известной грузоподъёмностью, координатами местонахождения в трёхмерной ортогональной системе координат, расходом топлива на единицу расстояния и скоростью. Функции - загрузка топлива и груза, перелёт из одной точки пространства в другую с изменением количества топлива и координат. Для 3-х кораблей данные о которых вводятся с клавиатуры в начале программы, каждую единицу времени отображать их координаты и количество топлива. Переход к новому моменту времени осуществляется по нажатию клавиши. По прибытию на место корабль может быть вновь загружен и отправлен в путь. Проверять возможность выполнения задания исходя из количества топлива и грузоподъёмностми. |
||||
12. |
Разработать классы - папка и документ с функциями создания документа(в качестве документов можно представить строку символов); включение документа в папку; исключение документа из папки; распечатку всех документов папки. Создать 3 папки со своим набором документов. Изъять документ с указанным номером из 2-й папки. Получить его копию. Копии вложить в папки 1 и 3. После выполнения каждого задания выводить содержимое всех папок. |
||||
13. |
Разработать класс банк с неизвестным заранее количеством филиалов и количеством филиалов и хранилищ в каждом из филиалов. В хранилищах может содержаться денежные средства, золото и драгоценные камни. Для каждого филиала кроме количества и содержания хранилищ, задаётся название и количество клиентов. Создать программу позволяющую задать исходные значения содержимого хранилищ для нескольких филиалов, переводить ценности из одного филиала в другой и выводящую список всех филиалов, отсортированный по указанному виду ценностей. |
||||
14. |
Разработать класс филиал банка. Список клиентов филиала задать в виде двусвязного списка. Для каждого клиента указывать номер счета, наименование клиента , начисляемый процент дохода с хранимых ценностей, стоимость золота, стоимость драгоценностей и собственные денежные средства, хранимые в банке. Создать список клиентов. Определить суммарный начисляемый доход по процентам для филиала. Написать функцию изменения хранимых ценностей каждого из вкладчиков. Вкладчика искать по имени или номеру счета. |
||||
15. |
Указанное количество троллейбусов выходят на маршрут с заданным количеством остановок. Для каждого троллейбуса случайным образом определено количество человек, которые зашли и вышли из него. Считать, что расстояние между остановками одинаково, так, что троллейбусы движутся синхронно. Во время каждой остановки отображать для каждого троллейбуса количество зашедших и вышедших, и новое количество пассажиров в нем. А также общее число пассажиров , уже перевезенных всеми троллейбусами. |
||||
16. |
Разработать класс магазин с заданным составом и количеством единиц товара. Для 3-магазинов задать товары. Вводится номер магазина, номер товара и количество проданных штук. Вычислять и показывать состав и количества единиц товара по каждому магазину. Выручку по каждому магазину и по всем трем вместе. |
||||
17. |
Разработать классы кабина колеса обозрения, задаваемой вместимостью и само колесо с заданным диаметром , количеством кабин и угловой скоростью. Отдыхающие делают три круга. Для каждой кабины указывать высоту над землей, количество человек в ней и количество оставшихся до выхода этих людей кругов и вместимость. Единица времени проходит при нажатии клавиши между двумя нажатиями можно задать количество новых пассажиров , которые садятся в указанную кабину, если она полностью пуста. |
||||
18. |
Учет электроэнергии ведется для нескольких подстанций. Для каждой из них задается количество потребителей, показания счетчика каждого из них по месяцам и наличие и отсутствие льгот. Для заданного количества подстанций подсчитать количество электроэнергии отпущенной в указанный интервал в пределах одного года, общую сумму вырученную за электроэнергию согласно указанного тарифа для обыкновенных, льготных и промышленных потребителей. |
||||
19. |
Для цеха задается количество технических линий в нем, количество материалов и отходов на одно изделие, количество изделий, выпускаемое на каждом из них за единицу времени, каждый раз генерируется случайным образом. За единицу считать нажатие клавиши. Отображать на каждом шаге для каждой линии количество изготовленного за последнюю единицу времени изделий, общее количество изделий, количество израсходованных материалов и количество отходов. Отображать общее количество материалов и отходов для всего цеха. |
||||
20. |
Пользователь задает количество, а также начальные координаты и скорость движения по оси Х прямоугольников. Дойдя до границы задаваемой в начале работы программы области прямоугольник меняет направление движения на противоположное. Для четырех зон внутри области координаты, которых задаются пользователем определять количество прямоугольников, вошедших в соприкосновение с любой из зон. Отображать координаты по Х для границ прямоугольников, координаты зон, количество вошедших в соприкосновение с ними прямоугольников. |
||||
21. |
Указанное пользователем количество троллейбусов выходит на маршрут с интервалом, также задаваемый пользователем. Для маршрута известно количество, последовательность, названия остановок и расстояния между ними. Для всех троллейбусов одинакова скорость движения, время стоянки на остановке, время отстоя на конечных остановках. Показать для каждого троллейбуса название остановки, на которой он находится или к которой движется и время оставшиеся до конца стоянки троллейбуса или до прибытия на остановку. |