Студопедия — Задания к лабораторной работе
Студопедия Главная Случайная страница Обратная связь

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

Задания к лабораторной работе






 

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

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

Создать класс «Треугольник», обеспечивающий следующие возможности:

• установку и получение длин сторон треугольника;

• проверку на существование треугольника с заданными длинами сторон;

• расчет периметра и площади треугольника;

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

2) Создать класс «Число», содержащий закрытое поле для хранения целого числа в диапазоне от –15 до 45. Обеспечить проверку на правильность ввода чисел, предусмотреть свойства для получения состояния объекта.

Создать класс «Одномерный массив» для работы с массивом целых чисел (вектором).

Обеспечить следующие возможности:

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

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

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

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

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

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

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

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

• сортировку товаров по наименованию, по количеству и по цене.

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

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

Обеспечить следующие возможности:

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

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

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

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

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

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

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

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

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

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

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

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

7) Создать класс «Элемент», содержащий закрытое поле для хранения символа. Предусмотреть свойства для получения состояния объекта.

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

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

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

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

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

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

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

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

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

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

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

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

Информация должна быть отсортирована по времени отправления.

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

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

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

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

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

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

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

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

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

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

Информация должна быть отсортирована по времени отправления.

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

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

• вывод координаты точки на экран;

• расчет расстояния от начала координат до точки;

• перемещение точки на плоскости на вектор (a, b).

• упорядочивание точек относительно оси ординат.

15) Создать класс «Жилец», содержащий закрытые поля для хранения следующей информации: ФИО, город, улица, номер дома, номер квартиры, телефон. Обеспечить проверку на правильность ввода данных. Предусмотреть свойства для получения состояния объекта.

Создать класс «Дом» для хранения информации по всем жильцам. Реализовать следующие возможности:

• вывод информации о конкретном жильце дома по заданным критериям (фамилия, номер квартиры);

• сортировка жильцов по фамилиям, по адресу проживания;

• поиск всех жильцов, проживающих по заданному адресу.

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

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

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

• вывод полной суммы денег, хранящейся в банке;

• определение, хватит ли денежных средств на покупку товара на сумму N рублей.

• определение, сколько штук товара стоимости n рублей можно купить на имеющиеся денежные средства.

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

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

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

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

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

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

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

Класс должен реализовывать следующие возможности:

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

• вычисление даты следующего дня;

• определение количества дней до конца месяца;

• определение года високосным;

• определение даты в зависимости от количества дней, пройденных с начала года.

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

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

20) Создать класс для работы с регулярными выражениями. Класс должен содержать закрытые поля для хранения шаблона поиска (тип Regex) и текста (тип String). Предусмотреть свойства для получения состояния объекта.

Класс должен реализовывать следующие возможности:

• получение и вывод текста на экран;

• определение, содержит ли текст фрагменты, соответствующие шаблону поиска;

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

• удаление из текста всех фрагментов, соответствующих шаблону поля.

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

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

• вывод информации о преподавателе на экран;

• изменение расписания;

• вывод информации о занятиях на заданную дату (преподаватель, группа, предмет);

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

22) Создать класс «Число», содержащий закрытое поле для хранения вещественного числа в диапазоне от –35.5 до 35.5. Обеспечить проверку на правильность ввода чисел, предусмотреть свойства для получения состояния объекта.

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

Обеспечить следующие возможности:

• изменение числа строк и столбцов;

• вывод на экран подматрицы любого размера и всей матрицы;

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

• доступ по индексам к элементу матрицы.

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

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

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

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

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

• поиск людей, день рождения которых будет в этом месяце;

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

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

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

• вывод длин сторон прямоугольника на экран;

• расчет периметр и площади прямоугольника;

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

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

 

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

 

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

2. Статические поля и методы класса.

3. Свойства, индексаторы.

4. Перегрузка операторов.

5. Исключения. Обработка исключений в С#.


ЛАБОРАТОРНАЯ РАБОТА 5







Дата добавления: 2014-11-10; просмотров: 2078. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

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

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия