Завершенные
#33203

Лабораторная работа на тему «Ассоциация и зависимость»

Похожие заявки
Курсовая работа, Другое
Бюджет: По договоренности
Курсовая работа, Другое
Бюджет: 7000 руб.
Курсовая работа, Другое
Бюджет: По договоренности
Решение задач, Другое
Бюджет: По договоренности
Создан:
19 февраля 2023
Срок сдачи:
30 ноября -0001
Бюджет:
700 руб.
Предмет:
Другое
Тип работы:
Лабораторная
Вуз:
Объем:
от 2 до 4 стр.
Шрифт:
Интервал:
Оригинальность:
%
Описание:
Цели:

Изучить отношения ассоциации и зависимости, получить навыки реализации

ассоциации и зависимости на С++.

1. Краткие теоретические сведения

Типы отношений между классами

Известны три основных типа отношений между классами. Во-первых, это

отношение «обобщение/специализация» (общее и частное), известное как «is-a». Розы — это

цветы, т.е. розы являются специализированным частным случаем, подклассом более

общего класса «цветы». Во вторых, это отношение «целое/часть», известное как «part of».

Так, лепестки являются частью цветов. В-третьих, это смысловые отношения

(ассоциации). Например, розы и свечи – и то, и другое можно использовать для украшения

стола.

Языки программирования выработали несколько общих подходов к выражению

отношений этих трех типов. В частности, большинство объектно-ориентированных

языков непосредственно поддерживают разные комбинации следующих видов

отношений:

 ассоциация;

 наследование;

 агрегация;

 зависимость (использование);

 параметризация.

Отношение ассоциации

В предметной области розничной торговой точки можно выделить две абстракции

– товары и продажи. На рис. 1 показана ассоциация, которая связывает соответствующие

классы. Класс CProduct – это то, что было продано в некоторой сделке, а класс CSale –

сама сделка, в которой продано несколько товаров. Эта ассоциация работает в обе

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

от сделки, найти, что было продано.

2. Практическое задание (100%)

Для задачи индивидуального варианта создать программу, реализующую отношение ассоциации и зависимости. Для всех закрытых полей определить метод установки значений (при недопустимых аргументах возвращать «false» и выдавать текст ошибки на экран) и метод чтения. Все классы следует наделить конструкторами и деструктором. Необходимо явно реализовать конструктор копирования и перегрузить оператор присваивания.

Варианты заданий

1. Создать класс квадрат, члены класса – длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – диагональ, периметр, площадь. Создать производный класс – правильная квадратная призма с высотой H, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу

с этими классами: дано N квадратов и M призм, найти квадрат с максимальной площадью и призму с максимальной диагональю.

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

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

Добавить ассоциацию правильная прямоугольная призма вписана в сферу. В выводе сведений о призме выводить информацию о сфере.

2. Создать класс треугольник, члены класса – длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр, площадь. Создать производный класс – равносторонний треугольник, перегрузить в классе проверку, является ли треугольник равносторонним и метод вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано K треугольников и L равносторонних треугольников, найти среднюю площадь для K треугольников и наибольший равносторонний треугольник.

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

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

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

3. Создать класс окружность, член класса – радиус R. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – площади, длины окружности. Создать производный класс – круглый прямой цилиндр с высотой h, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N окружностей и M цилиндров, найти окружность максимальной площади и средний объем цилиндров.

Создать производный класс – сфера, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре.

Добавить ассоциацию цилиндр вписан в сферу. В выводе сведений о цилиндре выводить информацию о сфере.

Создать класс прямоугольник, члены класса – длины сторон a и b. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь. Добавить метод, который изменяет длину стороны b в зависимости от переданной вписанной окружности.

4. Создать класс квадрат, члены класса – длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – диагоналей, периметр, площадь. Создать производный класс – правильная пирамида с апофемой h, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N квадратов и M пирамид, найти квадрат с минимальной площадью и количество пирамид с высотой более числа a (a вводить).

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

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

Добавить ассоциацию правильная пирамида вписана в сферу. В выводе сведений о призме выводить информацию о сфере.

5. Создать класс четырехугольник, члены класса – координаты 4-х точек. Предусмотреть в классе методы проверки существования четырехугольника вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь. Создать производный класс – параллелограмм, предусмотреть в классе проверку, является ли фигура параллелограммом. Написать программу, демонстрирующую работу с классом: дано N четырехугольников и M параллелограммов, найти среднюю площадь N четырехугольников и параллелограммы наименьшей и наибольшей площади.

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

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

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

6. Создать класс треугольник, члены класса – координаты 3-х точек. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр, площадь. Создать производный класс – равносторонний треугольник, предусмотреть в классе проверку, является ли треугольник равносторонним. Написать программу, демонстрирующую работу с классом: дано N треугольников и M равносторонних треугольников, вывести номера одинаковых треугольников и равносторонний треугольник с наименьшей медианой.

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

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

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

7. Создать класс прямоугольник, члены класса – длины сторон a и b. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь. Создать производный класс – параллелепипед с высотой с, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N прямоугольников и M параллелепипедов, найти количество прямоугольников, у которых площадь больше средней площади прямоугольников и количество кубов (все ребра равны).

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

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

Добавить ассоциацию параллелепипед вписан в сферу. В выводе сведений о параллелепипеде выводить информацию о сфере.

8. Создать класс окружность, член класса – радиус R. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – площади, длины окружности. Создать производный класс – конус с высотой h, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N окружностей и M конусов, найти количество окружностей, у которых площадь меньше средней площади всех окружностей, и наибольший по объему конус.

Создать производный класс – сфера, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре.

Добавить ассоциацию конус вписан в сферу. В выводе сведений о цилиндре выводить информацию о сфере.

Создать класс прямоугольник, члены класса – длины сторон a и b. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь Добавить метод, который изменяет длину стороны b в зависимости от переданной описанной окружности.

9. Создать класс четырехугольник, члены класса – координаты 4-х точек. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь. Создать производный класс – равнобочная трапеция, предусмотреть в классе проверку, является ли фигура равнобочной трапецией. Написать программу, демонстрирующую работу с классом: дано N четырехугольников и M трапеций, найти максимальную площадь четырехугольников и количество четырехугольников, имеющих максимальную площадь, и трапецию с наименьшей диагональю.

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

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

Добавить ассоциацию окружность вписана в трапецию. В выводе сведений о трапеции выводить информацию о сфере.

10. Создать класс равносторонний треугольник, член класса – длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – периметр, площадь. Создать производный класс – правильная треугольная призма с высотой H, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N треугольников и M призм. Найти количество треугольников, у которых площадь меньше средней площади треугольников, и призму с наибольшим объемом.

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

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

Добавить ассоциацию правильная треугольная призма вписана в сферу. В выводе сведений о призме выводить информацию о сфере.

11.Создать класс треугольник, члены класса – длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр, площадь. Создать производный класс – прямоугольный треугольник, предусмотреть в классе проверку, является ли треугольник прямоугольным. Написать программу, демонстрирующую работу с классом: дано N треугольников и M прямоугольных треугольников, найти треугольник с максимальной площадью и прямоугольный треугольник с наименьшей гипотенузой.

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

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

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

12.Создать класс четырехугольник, члены класса – координаты 4-х точек. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь. Создать производный класс – квадрат, предусмотреть в классе проверку, является ли фигура квадратом. Написать программу, демонстрирующую работу с классом: дано N четырехугольников и M квадратов, найти четырехугольники с минимальной и максимальной площадью и номера одинаковых квадратов.

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

Добавить ассоциацию окружность описана вокруг квадрата. В выводе сведений о квадрате выводить информацию об окружности

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

13.Создать класс треугольник, члены класса – длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр, площадь. Создать производный класс – равнобедренный треугольник, предусмотреть в классе проверку, является ли треугольник равнобедренным. Написать программу, демонстрирующую работу с классом: дано N треугольников и M равнобедренных треугольников, найти среднюю площадь для N треугольников и равнобедренный треугольник с наименьшей площадью.

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

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

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

14. Создать класс квадрат, член класса – длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – периметр, площадь, диагональ.

Создать производный класс – куб, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N1 квадратов и N2 кубов. Найти среднюю площадь квадратов и количество кубов с наибольшей площадью.

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

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

Добавить ассоциацию куб вписан в сферу. В выводе сведений о кубе выводить информацию о сфере

15.Создать класс четырехугольник, члены класса – координаты 4-х точек. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – длины сторон, диагоналей, периметр, площадь. Создать производный класс – ромб, предусмотреть в классе проверку, является ли фигура ромбом. Написать программу, демонстрирующую работу с этими классами: дано N четырехугольников и M ромбов, найти четырехугольник с минимальным периметром и среднюю площадь ромбов.

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

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

Добавить ассоциацию окружность вписана в ромб. В выводе сведений о ромбе выводить информацию о сфере.

4. Контрольные вопросы

1. В случае реализации отношения использования как может быть передана информация об используемом объекте?

2. В случае реализации отношения ассоциации как может храниться информация о связанных объектах?

3. Привести 3 примера отношения ассоциации.
Закажите подобную или любую другую работу недорого
или
Предложения (0)