Сделай Сам Свою Работу на 5

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





 

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

 

Вариант 1

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

-задание произвольных целых границ индексов при создании объекта;

- обращение к отдельному элементу массива с контролем выхода за пределы массива;

- выполнение операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов;

- выполнение операций умножения и деления всех элементов массива на скаляр;

- вывод на экран элемента массива по заданному индексу и всего массива.

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

 

Вариант 2

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



-задание произвольных целых границ индексов при создании объекта;

-обращение к отдельной строке массива по индексу с контролем выхода за пределы массива;

- выполнение операций поэлементного сцепления двух массивов с образованием нового массива;

- выполнение операций слияния двух массивов с образованием нового массива;

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

- вывод на экран элемента массива по заданному индексу и всего массива.

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

 

Вариант 3

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

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

-операции сложения, вычитания и умножения многочленов с получением нового объекта многочлена;

-получение коэффициента по заданному индексу;



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

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

 

Вариант 4

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

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

 

Вариант 5

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

- операции присваивания, реализующие значимую семантику;

-операции сравнения;

-преобразование в десятичное число;

- форматный вывод;

- доступ к заданной цифре по индексу.

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

 

Вариант 6

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

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

 

Вариант 7

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

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



 

Вариант 8

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

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

 

Вариант 9

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

- сложение, вычитание (как с другой матрицей, так и с числом);

- комбинированные операции присваивания (+=, -=);

- операции сравнения на равенство /неравенство;

- операции вычисления обратной и транспонированной матрицы;

- доступ к элементу по индексам.

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

 

Вариант 10

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

- умножение, деление (как на другую матрицу, так и на число);

- комбинированные операции присваивания (*=, /=);

- операции возведения в степень;

- методы вычисления детерминанта;

- доступ к элементу по индексам.

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

 

 

Вариант 11

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

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

- операции сравнения на равенство /неравенство;

- доступ к элементу по индексам.

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

 

Вариант 12

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

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

 

Вариант 13

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

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

 

Вариант 14

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

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

 

Вариант 15

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

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

 

Вариант 16

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

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

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

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

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

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

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

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

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

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

Вариант 17

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

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

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

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

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

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

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

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

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

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

 

Вариант 18

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

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

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

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

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

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

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

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

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

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

 

Вариант 19

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

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

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

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

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

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

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

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

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

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

 

Вариант 20

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

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

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.