C++_Zadachi_OOP_sbornik_26_09_10_mod

advertisement
Тема: Элементы объектно-ориентированного программирования
1 Cоздание данных типа класс
Базовый уровень сложности
Для всех вариантов задач создать класс с указанными двумя полями (Поле
1, Поле 2) и тремя методами:
- конструктор для инициализации объекта;
- функция формирования строки с информацией об объекте;
- функция обработки значений полей по индивидуальному варианту.
В основной программе вводить значения полей каждого объекта из компонентов Edit и выводить результаты в Memo. Индивидуальные варианты приведены в таблице 1.
Таблица 1.
№
вариПоле 1
Поле 2
Функция обработки полей
анта
1
Номинал купюры:
Количество куВычислить сумму денег
1, 2, 5, 10, 20, 50,
пюр
100, 200
2
Номинал монет:
Количество монет Вычислить сумму монет
1, 2, 5, 10, 25, 50
3
Цена товара
Количество едиВычислить общую стоиниц товара
мость товара
4
Калорийность 100 г Вес продукта в
Вычислить общую калопродукта
граммах
рийность продукта
5
Вещественное чис- Вещественное
Проверить заданное число
ло – левая граница число – правая
на принадлежность задандиапазона
граница диапазо- ному диапазону
на
6
Количество минут
Количество сеВычислить общее количекунд
ство секунд
7
Количество часов
Количество миВычислить общее количенут
ство минут
8
Вещественное число – первый катет
прямоугольного
треугольника
9
Вещественное число – скорость движения (м/cек)
Вещественное
число – второй
катет прямоугольного треугольника
Целое число –
время движения в
минутах
Вычислить площадь прямоугольника
Вычислить пройденное расстояние (в метрах)
№
вариПоле 1
анта
10
Вещественное число – первый катет
прямоугольного
треугольника
11
Целое число
12
Вещественное число – первый катет
прямоугольного
треугольника
13
Вещественное число
Вещественное число
Целое число
14
15
16
17
18
19
20
21
22
23
Поле 2
Вещественное
число – второй
катет прямоугольного треугольника
Целое число
Вещественное
число – второй
катет прямоугольного треугольника
Вещественное
число
Вещественное
число
Целое число
Функция обработки полей
Вычислить длину гипотенузы прямоугольного треугольника
Вычислить полусумму чисел
Вычислить тангенс угла,
противолежащего второму
катету прямоугольного треугольника
Вычислить полуразность
чисел
Вычислить произведение
чисел
Вычислить целую часть от
деления поля1 на поле2 с
проверкой на нуль знаменателя
Целое число
Целое число
Вычислить квадрат меньшего из чисел
Целое число
Целое число
Вычислить куб большего из
чисел
Продолжительность Стоимость одной Вычислить общую стоителефонного разго- минуты разговора мость разговора
вора в минутах
Координата курсо- Координата кур- Увеличить обе координаты
ра по горизонтали
сора по вертикали на 10 пикселей
Вещественное чис- Вещественное
Вычислить для заданного
ло (a)
число (b)
числа х значение y = a x2 + b
Вещественное чис- Вещественное
Вычислить для заданного
ло (a)
число (b)
числа c корень уравнения a
x+b=c
Координата точки
Координата точки Вычислить расстояние от
на плоскости по го- на плоскости по
точки до начала координат
ризонтали
вертикали
Координата точки
Координата точки Определить, находится ли
на плоскости по го- на плоскости по
точка внутри круга радиуризонтали
вертикали
сом 5
№
вариПоле 1
анта
24
Количество часов
работы
29
Радиус окружности
Радиус окружности
основания
Радиус окружности
основания
Напряжение (в
вольтах)
Ток (в амперах)
30
Масса (в кг)
25
26
27
28
Поле 2
Тариф оплаты за
час
Функция обработки полей
Угол в радианах
Высота цилиндра
Вычислить зарплату за отработанное время с учетом
вычета подоходного налога
в размере 15%
Вычислить длину дуги
Вычислить объем цилиндра
Высота конуса
Вычислить объем конуса
Сопротивление (в
омах)
Сопротивление (в
омах)
Скорость движения (в м/с)
Вычислить значение тока (в
амперах)
Вычислить мощность
Вычислить кинетическую
энергию движущегося тела
Средний уровень сложности
Создать класс с полями, указанными в индивидуальном задании (табл. 2,
столб. 2).
Реализовать в классе методы:
- конструктор по умолчанию;
- конструктор перезагрузки с параметрами;
- деструктор (необязательно);
- функцию обработки данных, указанную в индивидуальном задании (табл.
2, столб. 3);
- функцию формирования строки информации об объекте.
Создать внешнюю функцию (вне класса) для обработки объекта в соответствии с индивидуальным заданием (табл. 2, столб. 4). Создать проект для
демонстрации работы: ввод и вывод информации об объектах.
Таблица 2 – Варианты индивидуальных заданий.
№
Класс и его поля
1
1
2
Дата (три числа): день,
месяц, год
Дата (три числа): день,
месяц, год
2
Дата (три числа): день,
месяц, год
2
1
3
Функция-метод обработки данных
объекта
3
Увеличить год на 1
Внешняя функция
4
Определить, является
ли год высокосным
Уменьшить число ме- Вывести название месяца на 1
сяца (в виде строки)
3
4
Увеличить дату на
Определить, совпаодин день
дают ли номер месяца
и число дня
Увеличить время на
Вычислить количеодин час
ство секунд в указанном времени
Уменьшить время на Вычислить количеодну минуту
ство полных минут в
указанном времени
Увеличить время на
Определить, является
одну секунду
ли время льготным
для абонентов (от 0
до 8 часов)
4
Время (три числа): часы, минуты, секунды
5
Время (три числа): часы, минуты, секунды
6
Время (три числа): часы, минуты, секунды
7
Изображение прямоугольника с координатами: x1, y1, x2, y2
Увеличить размер
прямоугольника по
оси х на 35 пикселей
Вычислить площадь
прямоугольника в
пикселях
8
Изображение прямоугольника с координатами: x1, y1, x2, y2
Уменьшить размер
прямоугольника по
оси y на 20 пикселей
Вычислить длину
диагонали прямоугольника в пикселях
9
Изображение прямоугольника с координатами: x1, y1, x2, y2
Сдвинуть прямоугольник на 25 пикселей вправо
Определить, является
ли прямоугольник
квадратом?
10 Квадратная матрица:
порядок, набор элементов
11 Прямоугольная целочисленная
матрица:
количество строк, количество
столбцов,
набор элементов
Транспонировать
матрицу
Вычислить сумму
элементов диагонали
12 Прямоугольная целочисленная матрица:
количество строк, количество столбцов,
набор элементов
13 Квадратная матрица:
порядок, набор элемен-
Поменять местами
первую и вторую
строки
Найти максимальный
элемент
Умножить матрицу
на целое число
Вычислить произведение элементов мат-
Заменить четные
Вычислить сумму
элементы матрицы на элементов матрицы
нуль, а нечетные – на
единицу.
2 Наследование классов
Средний уровень сложности
Для класса, созданного в предыдущем задании (по вариантам табл. 2) создать класс-потомок с полями, указанными в индивидуальном задании (табл. 3,
столб.2).
Реализовать в классе-потомке методы:
- конструктор;
- функцию обработки данных, указанную в индивидуальном задании (табл.
3, столб. 3);
- функцию формирования строки информации об объекте.
Создать проект для демонстрации работы: ввод и вывод информации об
объектах: классе-родителе и классе-потомке.
Таблица 3 – Варианты индивидуальных заданий
№
Класс-потомок и его поля
Функция-метод обработки классапотомка
1
2
3
1
Записная книжка: ФИО, дата рож- Количество дней до дня рождения
дения, телефон
2
Работник: ФИО, дата поступления Количество лет работы на предприяна предприятие
тии
3
Лекарство: наименование, дата Закончился ли срок годности лекарвыпуска, срок годности
ства
4
Расписание занятий: дисциплина, Какая дисциплина по расписанию
время начала, аудитория
сейчас (в текущее время)
1
2
3
5
Расписание движения поездов: Количество минут до отправления
номер поезда, направление, время поезда с указанным номером
отправления
6
Программа телепередач на сего- По какому каналу будет идти передня: канал (номер), время, назва- дача с указанным названием
ние передачи
7
Изображение конверта (прямо- Закрасить (сплошным стилем) верхугольник с диагоналями)
ний треугольник конверта одним
цветом, а остальные треугольники –
другим заданным цветом
8
Изображение эллипса, вписанного Закрасить диагональной сеткой элв прямоугольник
липс
9
Изображение прямоугольника с Изменить размер и цвет шрифта
вписанным текстом: координаты,
заданный текст
10
11
12
13
14
15
16
17
18
19
20
1
21
22
23
24
25
Матрица с характеристикой – mнорма
Матрица с характеристикой – евклидова норма
Матрица с характеристикой – lнорма
Квадратная матрица с характеристикой – след
Смешанная дробь: целая часть,
числитель и знаменатель
Комплексное число в двух формах: стандартной и экспоненциальной
Комплексная проводимость: сопротивление резистора, угловая
частота, значение индуктивности
Библиотека: название, автор, количество страниц, цена, издательство
Книжный магазин: название, автор, количество страниц, цена, год
издания
Работники предприятия: фамилия,
оклад, год рождения, год поступления на работу, пол
Работники фирмы: фамилия,
оклад, год рождения, должность
Заменить первый столбец матрицы
максимальными значениями строк
Заменить вторую строку минимальными значениями столбцов матрицы
Поменять элементы первой строки с
последней строкой
Произведения элементов главной и
неглавной диагонали
Представить смешанную дробь в виде десятичного вещественного числа
Вычислить параметры экспоненциальной формы комплексного числа
2
Вектор и точка на плоскости: координаты вектора – x1, y1, x2, y2;
координаты точки – x3, y3
Два вектора с общим началом на
плоскости: координаты первого
вектора – x1, y1, x2, y2; координаты второго вектора – x1, y1, x3, y3
Два параллельных вектора на
плоскости: координаты первого
вектора – x1, y1, x2, y2; координаты второго вектора – x3, y3, x4, y4
Изолированный провод: диаметр,
длина, удельный вес; толщина
изоляции и её удельный вес
Металлический брус: ширина, вы-
3
Определить площадь треугольника,
образованного вектором и точкой
Вычислить модуль и аргумент комплексной проводимости участка цепи «резистор-индуктивность»
Поиск книги по издательству
Уменьшить стоимость книги на 20%,
если книге больше 5 лет
Определить, является ли работник
пенсионером, а если нет, то определить сколько лет до пенсии
Увеличить оклад работникам с
должностью инженер на 20%
Определить координаты
суммы двух векторов
вектора
Определить площадь параллелограмма, образованного этими векторами и линиями, соединяющих их
начала и концы
Определить вес изолированного провода
Определить вес металлического бру-
26
27
28
29
30
сота, длина, удельный вес
Балка с прямоугольным сечением:
ширина, высота, длина, удельный
вес; количество равных частей, на
которое её нужно распилить
Массив и число: длина массива,
элементы массива, целое число
Два массива (одинаковой размерности): длина, элементы массивов
Фирменный товар: наименование,
цена, год выпуска, изготовитель,
дата поступления товара
Товар: наименование, цена в
гривне, изготовитель, год выпуска
са
Площадь поверхности одной части
распиленной балки и её вес
Вычислить сумму квадратов разности элементов массива и числа
Определить скалярное произведение
двух массивов
Увеличить на 10% цену товаров, выпущенных заданной фирмой
Уменьшить стоимость товаров, выпущенных боле двух лет назад
Download