Главная страница
Навигация по странице:

  • Цель работы

  • лаба. Лабораторная работа 2 Классы (2). Лабораторная работа Простейшие классы, одиночное наследование


    Скачать 68 Kb.
    НазваниеЛабораторная работа Простейшие классы, одиночное наследование
    Дата25.09.2022
    Размер68 Kb.
    Формат файлаdoc
    Имя файлаЛабораторная работа 2 Классы (2).doc
    ТипЛабораторная работа
    #696248

    Лабораторная работа 2. Простейшие классы, одиночное наследование


    Цель работы:

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

    2. Создать дочерний класс.

    Задания



    Вариант 1

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

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

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

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

    Вариант 2

    Описать класс, реализующий шестнадцатеричный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне.

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

    При выходе за границы диапазо­на выбрасываются исключения.

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс, который может увеличивать или уменьшать свое значение на любое введенное число в заданном диапазоне
    Вариант 3

    Описать класс, представляющий треугольник. Предусмотреть методы для созда­ния объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол.

    Описать свойства для получения состояния объекта.

    При невоз­можности построения треугольника выбрасывается исключение.

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Построить описание класса, содержащего информацию о почтовом адресе орга­низации.

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

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

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Вариант 5

    Составить описание класса для представления комплексных чисел.

    Обеспечить выполнение операций сложения и вычитания комплексных чисел.

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Вариант 6

    Составить описание класса для вектора, заданного координатами его концов в трех­мерном пространстве.

    Обеспечить операции сложения и вычитания векторов с получением нового вектора (суммы или разности).

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Вариант 7

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

    Предусмотреть возможность перемещения прямоугольников на плос­кости и изменение размеров прямоугольника.

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Составить описание класса для представления даты.

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

    Создать методы изменения даты на заданное количество дней, месяцев и лет.

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс, определяющий по дате день недели.
    Вариант 9

    Составить описание класса для представления времени.

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

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

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Составить описание класса многочлена вида ах2 + bх + с. Предусмотреть методы, реализующие:

    • вычисление значения многочлена для заданного аргумента;

    • вывод на экран описания многочлена.

    Написать программу, демонстрирующую все разработанные элементы класса.

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

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

    Описать свойства для получения состояния объекта.

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

    Написать программу, демонстрирующую все разработанные элементы класса.

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

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

    Описать свойства для получения состояния объекта.

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс, представляющий кольцо. Предусмотреть методы для создания объектов, вычисления площади кольца и проверки попадания заданной точки внутрь кольца.
    Вариант 13

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

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

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс для работы со строкой, позволяющей хранить только двоичное число и выполнять с ним логические операции – «AND», «OR», «NOT» и «XOR».
    Вариант 14

    Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел.

    Предусмотреть методы сложения и вычитания дробей.

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс дробей — рациональных чисел, являющихся отношением двух целых чисел. Предусмотреть методы умножения и деления дробей.
    Вариант 15

    Описать класс «файл», содержащий сведения об имени, дате создания и длине файла.

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

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

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс «файл», содержащий атрибуты файла (скрытый, только для чтения). Предусмотреть операцию проверки допустимости операций записи, чтения и отображения.
    Вариант 16

    Описать класс «комната», содержащий сведения о метраже, высоте потолков и количестве окон.

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

    Описать методы вычисления площади и объема комнаты и свойства для получения состояния объекта.

    Написать программу, демонстрирующую все разработанные элементы класса.

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

    Вариант 17

    Описать класс, представляющий нелинейное уравнение вида ах - cos(x)=0.

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

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс, реализующий метод вычисления решения этого уравнения на заданном интервале методом Ньютона.
    Вариант 18

    Описать класс, представляющий неполное квадратное уравнение вида ах2+ bх = 0. Описать метод, вычисляющий решение этого уравнения и выбрасывающий исключение в случае отсутствия корней. Описать свойства для получения состояния объекта.

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс, представляющий полное квадратное уравнение вида ах2+ bх + с = 0. Описать метод, вычисляющий решение этого уравнения

    Вариант 19

    Описать класс «процессор», содержащий сведения о марке, тактовой частоте, объеме кэша и стоимости.

    Предусмотреть инициализацию с проверкой допустимости значений полей. В случае недопустимых значений полей выбрасываются исключения. Описать свойства для получения состояния объекта.

    Описать класс «материнская плата», включающий класс «процессор» и объем установленной оперативной памяти. Предусмотреть инициализацию с про­веркой допустимости значений поля объема памяти. В случае недопустимых значений поля выбрасывается исключение.

    Описать свойства для получения со­стояния объекта.

    Написать программу, демонстрирующую все разработанные элементы классов.


    Вариант 20

    Описать класс «цветная точка». Для точки задаются координаты и цвет. Цвет описывается с помощью трех составляющих (красный, зеленый, синий).

    Преду­смотреть различные методы инициализации объекта с проверкой допустимости значений. Допустимым диапазоном для каждой составляющей является [0… 255]. В случае недопустимых значений полей выбрасываются исключения.

    Описать свойства для получения состояния объекта и метод изменения цвета.

    Написать программу, демонстрирующую все разработанные элементы класса.

    Создать дочерний класс «линия». Преду­смотреть различные методы инициализации объекта с проверкой допустимости значений.
    Вариант 21

    Создать класс студент, имеющий имя (указатель на строку), курс и идентификационный номер. Определить конструкторы, деструктор и функцию печати.

    Создать public-производный класс - студент-дипломник, имеющий тему диплома. Определить конструкторы по умолчанию и с разным числом параметров, деструкторы, функцию печати. Определить функции переназначения названия диплома и идентификационного номера.

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

    Написать программу, демонстрирующую все разработанные элементы класса.
    Вариант 22

    Создать класс животное, имеющий классификацию (указатель на строку), число конечностей, число потомков. Определить конструкторы, деструктор и функцию печати.

    Создать public-производный класс - домашнее животное, имеющий кличку. Определить конструкторы по умолчанию и с разным числом параметров, деструкторы, функцию печати. Определить функции переназначения названия клички и числа потомков.

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

    Написать программу, демонстрирующую все разработанные элементы класса.
    Вариант 23

    Создать класс машина, имеющий марку (указатель на строку), число цилиндров, мощность. Определить конструкторы, деструктор и функцию печати.

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

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

    Написать программу, демонстрирующую все разработанные элементы класса.
    Вариант 24

    Создать класс жесткий диск, имеющий объем (Мбайт). Определить конструкторы и метод доступа. Создать класс компьютер, содержащий класс жесткий диск. Дополнительно есть марка (указатель на строку), цена. Определить конструкторы и деструктор. Определить private-, public- производный класс компьютеров с монитором, имеющий дополнительно размер монитора. Определит конструкторы, деструкторы и функцию печати.

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

    Написать программу, демонстрирующую все разработанные элементы класса.
    Вариант 25

    Создать класс человек, имеющий имя (указатель на строку), возраст, вес. Определить конструкторы, деструктор и функцию печати. Создать public-производный класс - совершеннолетний, имеющий номер паспорта. Определить конструкторы по умолчанию и с разным числом параметров, деструкторы, функцию печати. Определить функции переназначения возраста и номера паспорта.

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

    Написать программу, демонстрирующую все разработанные элементы класса.


    написать администратору сайта