- •Общие требования
- •1 Примеры реализации заданий
- •1.1 Основные элементы класса
- •1.2 Перегрузка операторов
- •1.3 Использование делегатов
- •1.4 Универсальные типы библиотеки .Net Framework
- •2 Варианты заданий
- •2.1 Основные элементы класса
- •2.2 Перегрузка операторов
- •2.3 Использование делегатов
- •2.4 Универсальные типы библиотеки .Net Framework
2 Варианты заданий
2.1 Основные элементы класса
Задание: Для условий задачи обеспечить:
а) реализацию класса, включающую как общие требования ко всем заданиям, так и индивидуальные требования этого задания;
б) создание экземпляра класса на основе данных, введенных в диалоговом окне, и его добавление в компонент класса ListBox;
в) изменение выбранного в компоненте класса ListBox экземпляра класса;
г) удаление выбранного в компоненте класса ListBox экземпляра класса;
д) реализацию дополнительного действия, описанного в задании. Если при реализации действия ответ не найден, то выводится фраза «Нет ответа»;
е) проверку правильности ввода данных в диалоговом окне; ж) блокировку недопустимых в текущий момент команд.
Варианты заданий приведены в таблице 6.
|
Таблица 6 – Варианты заданий по использованию основных |
элементов класса |
|
№ |
Обязательные параметры реализации класса и задания |
1.описание класса: целочисленная матрица;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно матрица, хранящий неотрицательные элементы. Размерность матрицы задается в конструкторе класса и не может быть меньше 2×2. Размерность матрицы не может быть изменена;
отображение: должно отображаться наименование матрицы, а также ее размерность в формате <количество строк>×<количество столбцов>;
обязательный метод класса: определение количества нулевых элементов в матрице;
дополнительное действие в программе: определение матрицы, имеющей наибольшее количество ненулевых элементов во второй строке. При выводе указать наименование матрицы и количество ненулевых элементов. Если есть несколько матриц с максимальным количеством, то вывести любую из них.
36
2.описание класса: квадратная матрица;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно матрица, хранящий двухзначные элементы. Порядок матрицы задается в конструкторе класса и не может быть меньше 2. Порядок матрицы не может быть изменен;
отображение: должен отображаться уникальный идентификатор матрицы, а также ее порядок;
обязательный метод класса: определение суммы элементов главной диагонали;
дополнительное действие в программе: определение матрицы, имеющей наименьшую сумму дробных частей элементов. При выводе указать идентификатор матрицы и сумму дробных частей элементов. Если есть несколько матриц с одинаковой суммой, то вывести любую из них.
3.описание класса: человек и его зарплата по месяцам года;
обязательные поля:
1.ФИО. Не может быть изменено;
2.массив, хранящий информацию о зарплате за каждый месяц одного года. Размер зарплаты не может быть меньше нуля;
отображение: должно отображаться ФИО человека, а также четыре числа, разделенных пробелами – суммарная зарплата в кварталах года;
обязательный метод класса: определение квартала с наименьшей зарплатой;
дополнительное действие в программе: определение людей, имеющих нулевую зарплату более чем в одном месяце. При выводе указывать ФИО человека и количество месяцев, в которые зарплата равна нулю.
4.описание класса: писатель и его книги;
обязательные поля:
1.ФИО. Не может быть изменено;
2.массив, хранящий информацию о количестве продаж каждой из книг. Количество книг задается в конструкторе класса и не может быть меньше 1. Количество книг не может быть изменено;
отображение: должно отображаться ФИО человека, а также количество его книг;
обязательный метод класса: номера (индекса в массиве) книги, имеющей максимальное количество продаж;
дополнительное действие в программе: определение писателей, не имеющих книг с нулевым количество продаж. При выводе указывать ФИО писателя и минимальное количество продаж книг.
37
5.описание класса: одномерный целочисленный массив;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно массив, хранящий элементы, кратные 5. Размер массива задается в конструкторе класса и не может быть меньше 2. Размер массива не может быть изменен;
отображение: должен отображаться уникальный идентификатор массива, а также максимальное из его значений;
обязательный метод класса: определение количества элементов, младший разряд которых равен нулю;
дополнительное действие в программе: определение массива, имеющего наибольшую сумму первых двух элементов. При выводе указать идентификатор массива и сумму первых двух элементов. Если есть несколько массивов с одинаковой суммой, то вывести любой из них.
6.описание класса: одномерный целочисленный массив;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно массив, хранящий трехзначные элементы. Размер массива задается в конструкторе класса и не может быть меньше 2. Размер массива не может быть изменен;
отображение: должно отображаться наименование массива, а также количество элементов в нем;
обязательный метод класса: определение количества элементов, все разряды которых имеют одинаковое значение (111, 222 и т.д.);
дополнительное действие в программе: определение массива, в котором сумма вторых разрядов элементов максимальная. При выводе указать наименование массива и сумму вторых разрядов элементов. Если есть несколько массивов с одинаковой суммой, то вывести любой из них.
7.описание класса: целочисленная матрица;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно матрица, элементы которой по модулю меньше 10. Размерность матрицы задается в конструкторе класса и не может быть меньше 2×2. Размерность матрицы не может быть изменена;
отображение: должно отображаться наименование матрицы, а также суммы элементов матрицы по строкам, разделенные пробелами;
обязательный метод класса: определение количества элементов, кратных 3;
дополнительное действие в программе: определение матрицы, име-
38
ющей наибольшее количество отрицательных элементов. При выводе указать наименование матрицы и количество отрицательных элементов. Если есть несколько матриц с максимальным количеством, то вывести любую из них.
8.описание класса: вещественная квадратная матрица;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно матрица, элементы которой больше нуля. Порядок матрицы задается в конструкторе класса и не может быть меньше 2. Порядок матрицы не может быть изменен;
отображение: должен отображаться уникальный идентификатор матрицы, а также сумма дробных частей элементов побочной диагонали;
обязательный метод класса: определение разности сумм элементов главной и побочной диагоналей;
дополнительное действие в программе: определение матриц, имеющих одинаковые суммы элементов первой и последней строк. При выводе указать уникальный идентификатор матрицы и сумму элементов первой строки.
9.описание класса: пирамида из колец, нанизанных на вертикальный стержень;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.массив, хранящий информацию о диаметрах колец. Количество колец задается в конструкторе класса и не может быть меньше 1. Количество колец не может быть изменено;
отображение: должен отображаться уникальный идентификатор пирамиды, а также диаметры колец, разделенные пробелами;
обязательный метод класса: определение упорядочены ли кольца в пирамиде по убыванию;
дополнительное действие в программе: определение пирамиды, имеющей наибольший размер последнего кольца. При выводе указывать уникальный идентификатор пирамиды и размер последнего кольца. Если есть несколько пирамид с максимальным диаметром последнего кольца, то вывести любую из них.
10.описание класса: пассажир, имеющий багаж;
обязательные поля:
1.ФИО. Не может быть изменено;
2.массив, хранящий информацию о весе элементов (например, сумок) багажа. Количество элементов багажа задается в конструкторе класса и не может быть меньше 1. Количество элементов багажа не может быть изменено;
39
отображение: должно отображаться ФИО пассажира, а также суммарный вес багажа;
обязательный метод класса: определение разности между весом самого тяжелого и самого легкого элементов багажа;
дополнительное действие в программе: определение пассажиров, имеющих суммарный вес багажа более заданного числа. При выводе указывать ФИО пассажира и суммарный вес багажа.
11.описание класса: одномерный массив строк;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно массив. Размер массива задается в конструкторе класса и не может быть меньше 2. Размер массива не может быть изменен;
отображение: должно отображаться наименование массива, а также средняя длина его элементов;
обязательный метод класса: определение количества элементов, длина которых меньше чем у предыдущего, но больше, чем у следующего;
дополнительное действие в программе: определение массива, в элементах которого наибольшее количество цифр. При выводе указать наименование массива и количество цифр в его элементах. Если есть несколько массивов с максимальным количеством цифр, то вывести любой из них.
12.описание класса: одномерный целочисленный массив;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно массив, элементы которого четырехзначные. Размер массива задается в конструкторе класса и не может быть меньше 2. Размер массива не может быть изменен;
отображение: должен отображаться уникальный идентификатор массива, а также количество элементов в нем;
обязательный метод класса: рассматривая элементы массива как года, определение количества элементов, соответствующих двадцатому столетию;
дополнительное действие в программе: определение массивов, максимальный элемент которых более заданного числа. При выводе указать уникальный идентификатор массива и элемент с максимальным значением.
13.описание класса: целочисленная квадратная матрица;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно матрица, хранящая неотрицательные элементы. По-
40
рядок матрицы задается в конструкторе класса и не может быть меньше 2. Порядок матрицы не может быть изменен;
отображение: должно отображаться наименование матрицы, а также сумма элементов главной диагонали;
обязательный метод класса: определение суммы элементов побочной диагонали;
дополнительное действие в программе: определение матрицы, имеющей наибольшую сумму элементов, не принадлежащих ни главной, ни побочной диагоналям. При выводе указать наименование матрицы и найденную сумму. Если есть несколько матриц с максимальной суммой, то вывести любую из них.
14.описание класса: вещественная матрица;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно матрица, хранящая элементы, значение которых по модулю не превышает 100. Размерность матрицы задается в конструкторе класса и не может быть меньше 2×2. Размерность матрицы не может быть изменена;
отображение: должен отображаться уникальный идентификатор матрицы, а также два числа, разделенные пробелом: минимальный и максимальный элементы матрицы;
обязательный метод класса: определение суммы целых частей элементов;
дополнительное действие в программе: определение матрицы, имеющей наибольшую сумму дробных частей элементов. При выводе указать наименование матрицы и найденную сумму. Если есть несколько матриц с максимальной суммой, то вывести любую из них.
15.описание класса: город, разделенный на районы;
обязательные поля:
1.наименование. Не может быть изменено;
2.массив, хранящий информацию о количестве жителей в районах. Количество районов задается в конструкторе класса и не может быть меньше 1. Количество районов не может быть изменено;
отображение: должно отображаться наименование города, а также количество жителей, проживающих в нем;
обязательный метод класса: определение среднего количества жителей, приходящихся на 1 район;
дополнительное действие в программе: определение городов, имеющих количество районов более заданного числа. При выводе указывать наименование города и количество районов.
16.описание класса: блюдо и его состав;
41
обязательные поля:
1.наименование. Не может быть изменено;
2.целочисленный массив, хранящий информацию о проценте ингредиентов блюда. Количество ингредиентов задается в конструкторе класса и не может быть меньше 1. Количество ингредиентов не может быть изменено;
отображение: должно отображаться наименование блюда, а проценты ингредиентов, указанные через пробел;
обязательный метод класса: определение номера самого значительного ингредиента блюда;
дополнительное действие в программе: определение блюд, имеющих процент ингредиента более заданного числа. При выводе указывать наименование блюда и номер ингредиента.
17.описание класса: одномерный целочисленный массив цифр;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно массив. Размер массива задается в конструкторе класса и должен быть в диапазоне от 2 до 8 включительно. Размер массива не может быть изменен;
отображение: должен отображаться уникальный идентификатор массива, а также все его элементы, выведенные без пробелов между собой;
обязательный метод класса: возвращает строку, содержащую все элементы массива, упорядоченные по возрастанию и выведенные без пробелов между ними;
дополнительное действие в программе: определение массива, имеющего максимальное значение суммы элементов. При выводе указать уникальный идентификатор массива и найденую сумму. Если есть несколько массивов с максимальной суммой, то вывести любой из них.
18.описание класса: одномерный целочисленный массив;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно массив, значения элементов которого по модулю не превышают 100. Размер массива задается в конструкторе класса и должен быть не менее 2. Размер массива не может быть изменен;
отображение: должно отображаться наименование массива, а также количество элементов в нем;
обязательный метод класса: определение суммы элементов массива;
дополнительное действие в программе: определение массивов, в которых есть два элемента, равные по значению но противоположные
42
по знаку. При выводе указать наименование массива и значение найденного элемента (по модулю).
19.описание класса: целочисленная НЕКВАДРАТНАЯ матрица;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно матрица, хранящая неотрицательные элементы. Размерность матрицы задается в конструкторе класса и не может быть меньше 2×2. Размерность матрицы не может быть изменена;
отображение: должно отображаться наименование матрицы, а также ее размерность в формате <количество строк>×<количество столбцов>;
обязательный метод класса: определение суммы элементов по строкам (если строк меньше, чем столбцов), или по столбцам (если строк больше чем столбцов);
дополнительное действие в программе: определение матриц, суммарное количество строк и столбцов которых более заданного числа. При выводе указать наименование матрицы и найденную сумму.
20.описание класса: целочисленная квадратная матрица;
обязательные поля:
1.уникальный идентификатор. Не может быть изменен;
2.собственно матрица, хранящая элементы, кратные 3. Порядок матрицы задается в конструкторе класса и не может быть меньше 2. Порядок матрицы не может быть изменен;
отображение: должен отображаться уникальный идентификатор матрицы, а также сумма результатов деления элементов главной диагонали на 3;
обязательный метод класса: определение максимального элемента в каждой строке матрицы;
дополнительное действие в программе: определение матрицы, позиция (рассматриваемая как сумма номеров строки и столбца) минимального элемента которой наибольшая. При выводе указать наименование матрицы и найденную сумму. Если есть несколько матриц с максимальной суммой, то вывести любую из них.
21.описание класса: гостиница;
обязательные поля:
1.наименование. Не может быть изменено;
2.массив, хранящий информацию о количестве мест в номерах (в номере не может быть более 4 мест). Количество номеров задается в конструкторе класса и не может быть меньше 1. Количество номеров не может быть изменено;
отображение: должно отображаться наименование гостиницы, а
43
также количество номеров в ней;
обязательный метод класса: выводит четыре числа, разделенные пробелами – количество номеров с 1, 2, 3 и 4 местами;
дополнительное действие в программе: определение гостиницы, имеющих максимальное суммарное количество мест. При выводе указывать наименование гостиницы и найденную сумму. Если есть несколько гостиниц с максимальной суммой, то вывести любую из них.
22.описание класса: предприятие;
обязательные поля:
1.наименование. Не может быть изменено;
2.массив, хранящий информацию о количестве продукции произведенной цехом за год. Количество цехов задается в конструкторе класса и не может быть меньше 1. Количество цехов не может быть изменено;
отображение: должно отображаться наименование предприятия, а также количество произведенной в каждом цехе продукции, разделенной пробелами;
обязательный метод класса: выводит номера цехов, выпустивших наибольшее количество продукции;
дополнительное действие в программе: определение предприятий, имеющих количество цехов более заданного числа. При выводе указывать наименование предприятия и количество цехов.
23.описание класса: одномерный целочисленный массив;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно массив, значения элементов которого кратно 3 или 5. Размер массива задается в конструкторе класса и должен быть не менее 2. Размер массива не может быть изменен;
отображение: должно отображаться наименование массива, а также сумма его элементов;
обязательный метод класса: выводит два числа, разделенных пробелом – количество элементов, кратных 3 и 5, соответственно;
дополнительное действие в программе: определение массивов, у которых сумма элементов, кратных 3, равна сумме элементов, кратных 5. При выводе указывать наименование массива и найденную сумму.
24.описание класса: одномерный целочисленный массив;
обязательные поля:
1.наименование. Не может быть изменено;
2.собственно массив, значения элементов которого не равны 0. Размер массива задается в конструкторе класса и должен быть
44