Программирование >>  Обработка исключительных ситуаций 

1 ... 129 130 131 [ 132 ] 133 134 135 ... 142


Лабораторная работа 8. Классы и операции 399

номер поезда (может содержать буквы и цифры);

время отправления.

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

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

вывод информации о поезде по номеру с помощью индекса;

вывод информации о поездах, отправляющихся после введенного с клавиатуры времени;

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

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

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

Вариант 17

Описать класс товар , содержащий следующие закрытые поля:

название товара;

название магазина, в котором продается товар;

стоимость товара в рублях.

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

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

вывод информации о товаре по номеру с помощью индекса;

вывод на экран информации о товаре, название которого введено с клавиатуры; если таких товаров нет, выдать соответствующее сообщение;

сортировку товаров по названию магазина, по наименованию и по цене;

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

Вариант 18

Описать класс самолет , содержащий следующие закрытые поля:

название пункта назначения;

шестизначный номер рейса;

время отправления.

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

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

вывод информации о самолете по номеру рейса с помощью индекса;



4QQ Лабораторные работы

вывод информации о самолетах, отправляющихся в течение часа после введенного с клавиатуры времени;

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

перегруженную операцию сравнения, выполняющую сравнение времени отправления двух самолетов.

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

Вариант 19

Описать класс запись , содержащий следующие закрытые поля:

фамилия, имя;

номер телефона;

дата рождения (массив из трех чисел).

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

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

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

поиск людей, день рождения которых сегодня или в заданный день;

поиск людей, день рождения которых будет на следующей неделе;

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

Вариант 20

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

Лабораторная работа 9. Наследование

Теоретический материал: глава 8.

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



Лабораторная работа 9. Наследование 401

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

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

Вариант 1

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия) . На основе класса Line создать классы ColoredLine и PolyLine (многоугольник). В классах описать следующие элементы:

конструкторы с параметрами и конструкторы по умолчанию;

свойства для установки и получения значений всех координат, а также для изменения цвета и получения текущего цвета;

для линий - методы изменения угла поворота линий относительно первой точки;

для многоугольника - метод масштабирования.

Вариант 2

Создать абстрактный класс Vehicle (транспортное средство). На его основе реализовать классы Plane (самолет), Саг (автомобиль) и Ship (корабль). Классы должны иметь возможность задавать и получать координаты и параметры средств передвижения (цена, скорость, год выпуска и т. п.) с помощью свойств. Для самолета должна быть определена высота, для самолета и корабля - количество пассажиров, для корабля - порт приписки. Динамические характеристики задать с помощью методов.

Вариант 3

Описать базовый класс Строка. Обязательные поля класса:

поле для хранения символов строки;

значение типа word для хранения длины строки в байтах. Реализовать обязательные метод1 следующего назначения: Q конструктор без параметров;

конструктор, принимающий в качестве параметра строковый литерал;

конструктор, принимающий в качестве параметра символ;

метод получения длины строки;

метод очистки строки (сделать строку пустой). Описать производный от Строка класс Комплексноечисло.

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



1 ... 129 130 131 [ 132 ] 133 134 135 ... 142

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика