Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания по ООП.pdf
Скачиваний:
16
Добавлен:
25.03.2016
Размер:
1.65 Mб
Скачать

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