Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




 

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

 

Вариант 1

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

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

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

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

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

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

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

 

Вариант 2

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

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

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

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

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

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

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

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

 

Вариант 3

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

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

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

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

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

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

 

Вариант 4

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

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

 

Вариант 5

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

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

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

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

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

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

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

 

Вариант 6

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

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

 

Вариант 7

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

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

 

Вариант 8

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

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

 

Вариант 9

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

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

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

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

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

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

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

 

Вариант 10

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

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

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

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

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

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

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

 

 

Вариант 11

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

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

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

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

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

 

Вариант 12

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

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

 

Вариант 13

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

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

 

Вариант 14

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

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

 

Вариант 15

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

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

 

Вариант 16

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

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

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

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

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

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

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

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

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

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

Вариант 17

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

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

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

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

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

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

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

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

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

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

 

Вариант 18

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

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

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

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

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

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

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

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

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

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

 

Вариант 19

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

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

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

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

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

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

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

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

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

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

 

Вариант 20

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

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

 





Поделиться с друзьями:


Дата добавления: 2016-09-06; Мы поможем в написании ваших работ!; просмотров: 1278 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Надо любить жизнь больше, чем смысл жизни. © Федор Достоевский
==> читать все изречения...

2336 - | 2015 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.