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

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

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






 

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

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; просмотров: 2076. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

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