- •Общие требования
- •Часть 1
- •1.1 Простейшие алгоритмы
- •1.2 Выражения
- •1.3 Циклы
- •1.4 Одномерные массивы
- •1.5 Матрицы
- •1.6 Строки
- •1.7 Записи и файлы
- •1.8 Функции и процедуры
- •Часть 2
- •2.1 Стандартные алгоритмы
- •2.2 Элементы выбора
- •2.3 Простейшие классы
- •2.4 Графика
- •2.5 Диалоговые окна
- •2.6 Комплексное задание
- •2.7 Наследование
- •2.8 Древовидные структуры
- •Часть 3
- •3.1 Самостоятельная работа 1
- •3.2 Самостоятельная работа 2
19.Вывести данные о квартире, потребляющей минимальное количество электроэнергии на одного жильца, в виде строки формата <ФИО квартиросъемщика> <площадь> <потребление электроэнергии на одного жильца>.
20.Вывести данные о цветках заданного цвета в порядке возрастания наименования в виде списка строк формата <наименование> <количество лепестков> <месяц цветения>.
21.Вывести данные о собаке, имеющей наибольшее соотношение рост : вес, в виде строки формата <наименование> <средняя длина шерсти> <отношение рост : вес>.
22.Вывести данные о заводах, имеющих годовой доход более заданного числа, в порядке убывания количества выпускаемых товаров в виде списка строк формата <наименование> <ФИО директора> <количество выпускаемых товаров> <годовой доход>.
23.Вывести данные о специальности, имеющей наибольшую среднюю годовую нагрузку, в виде строки формата <наименование> <средняя годовая нагрузка>.
24.Вывести данные об абитуриентах, набравших баллов более заданного числа, в порядке возрастания ФИО в виде списка строк формата <ФИО> <номер школы> <шифр специальности> <набранное число баллов>.
25.Вывести данные о командах в порядке убывания количества набранных очков в виде списка строк формата <наименование команды> <выиграно> <ничья> <проиграно> <набрано очков>.
2.7 Наследование
Задание: Для условий задачи, приведенных в таблице 4, обеспечить:
создание иерархии классов: базового абстрактного класса и требуемых производных классов. Каждый класс должен иметь конструктор, позволяющий задать все параметры класса;
выбор вида добавляемого элемента с использованием компонентов
классов (TRadioButton, TRadioGroup / RadioButton), ввод параметров до-
бавляемого элемента в диалоговых окнах и добавление элемента в список на
основе компонента класса (TListBox / ListBox). При добавлении должен быть создан экземпляр требуемого класса, который (связывается с добавленной
всписок строкой требуемого формата / добавляется в список);
проверку правильности ввода данных в диалоговых окнах;
изменение значения параметров элемента, выбранного в списке, с использованием диалоговых окон;
удаление выбранного в списке элемента;
расчет базовой функции и вывод результата при выборе элемента в
списке;
запрет недопустимых действий.
38
Описание базового класса дается в объединенной строке формате: <название> / <базовая функция> / <базовый параметр>.
Описание производных классов дается в строках таблицы 4, расположенных после строки базового класса. Объект отображается в списке в формате: название(значение параметра 1,значение параметра 2, …), напри-
мер, для класса Кольцо из варианта № 1 при значении а=7 и b=4: Кольцо(7,4).
Таблица 4 – Варианты заданий для составления программ по обработке иерархии классов
|
№ |
Название |
Описание |
|
Дополнительные |
Расчетная функция |
||
|
|
|
базового |
|
параметры |
|
|
|
|
|
|
параметра |
|
|
|
|
|
|
1. |
|
|
|
Фигура / площадь / a |
|
|
|
|
|
Квадрат |
сторона квадрата |
|
- |
S = a2 |
|
|
|
|
Трапеция |
первое основание |
b – |
второе основание |
S = (a+b)/2·h |
|
|
39 |
|
|
|
h – |
высота |
|
|
|
|
Кольцо |
внешний радиус |
b – |
внутренний радиус |
S = ·(a2–b2) |
|
|
|
|
2. |
|
|
|
Функция / результат / x |
|
|
|
|
|
Тангенс |
аргумент функции |
|
- |
F = sin(x)/cos(x) |
|
|
|
|
Степень |
основание степени |
y – |
показатель степени |
F = xy |
|
|
|
|
Минимум |
первое число |
y – |
второе число |
F = min(x, y, z) |
|
|
|
|
|
|
z – |
третье число |
|
|
|
|
3. |
|
Химическая реакция окисления / масса продукта реакции / x |
|
|
|||
|
|
Углерод |
масса исходного |
n – |
степень окисления |
M x /12 28 |
при |
n 1 |
|
|
|
вещества |
|
|
|
при |
n 2 |
|
|
|
|
|
|
M x /12 44 |
||
|
|
Железо |
|
n – |
степень окисления |
M x / 56 72 |
при |
n 1 |
|
|
|
|
|
|
|
|
n 2 |
|
|
|
|
|
|
M x /112 160 |
при |
|
|
|
Кремний |
|
|
- |
M = x/28·60 |
|
|
Продолжение таблицы 4
|
№ |
Название |
Описание |
|
Дополнительные |
Расчетная функция |
|
|
|
базового |
|
параметры |
|
|
|
|
параметра |
|
|
|
|
4. |
|
Печатное издание / количество страниц / n |
|||
|
|
Книга |
общее количество |
m – количество строк |
С = n/m |
|
|
|
|
строк |
|
на странице |
|
|
|
Газета |
|
m – количество строк в колонке |
С = n/(m·k) |
|
|
|
|
|
k – |
количество колонок |
|
|
|
Журнал |
|
m – количество строк |
С = n/m+k |
|
|
|
|
|
|
на странице |
|
|
|
|
|
k – |
количество |
|
|
|
|
|
|
страниц-плакатов |
|
|
5. |
|
|
Объемная фигура / объем / x |
|
|
40 |
|
Цилиндр |
радиус цилиндра |
y – |
высота цилиндра |
V = ·x2·y |
|
Куб |
сторона куба |
|
- |
V = x3 |
|
|
|
|
||||
|
|
Труба |
длина трубы |
r1 – внешний радиус |
V r12 r22 x |
|
|
|
|
|
r2 – внутренний радиус |
|
|
|
6. |
|
|
Корабль / глубина осадки / n |
|
|
|
|
Плот |
количество |
m – масса груза |
G = 0,2+0,03·n+0,001·m |
|
|
|
Катамаран |
человек |
|
- |
G = 0,1+0,02·n; |
|
|
Яхта |
|
m – масса груза |
G = 2+0,01·n+0,002·m–0,001·v |
|
|
|
|
|
v – |
скорость |
|
|
7. |
|
|
|
Строка / количество / s |
|
|
|
Буква |
заданная строка |
b – |
заданная буква |
N = количество b в s |
|
|
Диапазон |
|
b1 – буква начала диапазона |
N = количество букв диапазона |
|
|
|
|
|
b2 – буква окончания диапазона |
b1..b2 в s |
|
|
|
Цифра |
|
|
- |
N = количество цифр в s |
Продолжение таблицы 4
|
№ |
Название |
Описание |
|
|
Дополнительные |
Расчетная функция |
|
|
|
базового |
|
|
параметры |
|
|
|
|
параметра |
|
|
|
|
|
8. |
|
|
Рейс / расход топлива на рейс / m |
|
||
|
|
ВАЗ-2109 |
расстояние рейса |
|
n – |
количество пассажиров |
T = (10+n·0,2) ·m/100 |
|
|
ГАЗ-3102 |
|
|
n – |
количество пассажиров |
T = (12+n·0,3+k·0,01) ·m/100 |
|
|
|
|
|
k – |
масса багажа |
|
|
|
ГАЗ-66 |
|
|
|
- |
T = 18·m/100 |
|
9. |
|
Наполнение бака / время наполнения / v |
||||
|
|
Кран |
объем бака |
|
n – |
скорость наполнения |
T = v/n |
|
|
|
|
|
|
из крана |
|
|
|
Кран-слив |
|
|
n – |
скорость наполнения |
T = v/(n–m) |
|
|
|
|
|
|
из крана |
|
41 |
|
|
|
|
m – скорость слива |
|
|
|
Два крана |
|
|
n – |
скорость наполнения |
T = v/(n+m) |
|
|
|
|
|
||||
|
|
|
|
|
|
из 1-го крана |
|
|
|
|
|
|
m – скорость наполнения |
|
|
|
|
|
|
|
|
из 2-го крана |
|
|
10. |
|
Печатное издание / количество строк / n |
||||
|
|
Книга |
количество букв на |
|
m – количество букв в строке |
S = n·k/m |
|
|
|
|
странице |
|
k – |
количество страниц |
|
|
|
Плакат |
|
|
m – |
количество букв в строке |
S = n/m |
|
|
Буклет |
|
|
m – количество букв в строке |
S = n/(m·k) |
|
|
|
|
|
|
|
колонки |
|
|
|
|
|
|
k – |
количество колонок |
|
|
|
Продолжение таблицы 4 |
|
|
|
|
|
|
|
|
|
|
|
|
№ |
Название |
Описание |
|
Дополнительные |
Расчетная функция |
|
|
|
базового |
|
параметры |
|
|
|
|
параметра |
|
|
|
|
11. |
|
Самолет / максимальная высота полета / m |
|||
|
|
ИЛ-76 |
масса груза |
k – |
количество пассажиров |
V = 12–0,005·m–0,01·k–0,002·n |
|
|
|
|
n – |
масса топлива |
|
|
|
СУ-34 |
бомбовая нагрузка |
|
- |
V = 15–0,001·m |
|
|
АН-2 |
масса груза |
k – |
количество пассажиров |
V = 5–0,09·m–0,01·k |
|
12. |
|
|
|
Колесо / диаметр / d |
|
|
|
По диску |
диаметр диска |
n – |
доля покрышки от диаметра |
S = (1+n) ·d |
|
|
|
|
|
диска |
|
|
|
По ширине |
|
n – |
ширина покрышки |
S = d+2·n·k |
|
|
|
|
k – |
доля в диаметре от ширины |
|
42 |
|
По диаметру |
|
n – |
размер в диаметре |
S = d+2·n |
13. |
|
|
|
Фигура / периметр / a |
|
|
|
|
|
|
|
||
|
|
Квадрат |
сторона квадрата |
|
- |
S = 4·a |
|
|
Прямоугольник |
первая сторона |
b – |
вторая сторона |
S = (a+b) ·2 |
|
|
Треугольник |
первая сторона |
b – |
вторая сторона |
S = a+b+c |
|
|
|
|
с – |
третья сторона |
|
|
14. |
|
Объемная фигура / площадь поверхности / a |
|||
|
|
Куб |
размер стороны |
|
- |
S = 6·a2 |
|
|
Цилиндр |
радиус |
h – |
высота |
S = 2· ·a·h+2· ·a2 |
|
|
Параллелепипед |
первая сторона |
b – |
вторая сторона |
S = 2·(a·b+a·c+b·c) |
|
|
|
|
c – |
третья сторона |
|
|
|
Продолжение таблицы 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ |
Название |
Описание |
|
|
Дополнительные |
Расчетная функция |
|
|
|
|
базового |
|
|
параметры |
|
|
|
|
|
параметра |
|
|
|
|
|
|
15. |
|
|
|
|
|
Тариф / стоимость / n |
|
|
|
Media |
количество минут |
|
|
- |
S = 0,7·n |
|
|
|
|
разговора |
|
|
|
|
|
|
|
FixTalk |
количество SMS |
|
a – |
размер абонентной платы |
S = a+0,01·n; |
|
|
|
Full |
количество минут |
|
m – |
количество MMS |
S = 0,99·n+0,6·m+0,3·k |
|
|
|
|
разговора |
|
|
k – |
количество SMS |
|
|
16. |
|
|
|
Файл рисунка / размер файла / n |
|
||
|
|
BMP |
«чистый» размер |
|
|
- |
R = 33+n |
|
|
|
JPG |
изображения |
|
|
k – |
коэффициент сжатия |
R = 72+n/k |
|
|
PNG |
|
|
|
k – |
коэффициент сжатия |
R = m+n/k |
43 |
|
|
|
|
|
m – размер словаря |
|
|
17. |
|
|
|
|
Треугольник / периметр / a |
|
||
|
|
|
|
|
|
|||
|
|
Равносторонний |
сторона |
|
|
|
- |
P = 3·a |
|
|
Равнобедренный |
бедра |
|
|
b – |
третья сторона |
P = 2·a+b |
|
|
Разносторонний |
первая сторона |
|
b – |
вторая сторона |
P = a+b+c |
|
|
|
|
|
|
|
c – |
третья сторона |
|
|
18. |
|
|
Печать / количество листов бумаги / n |
||||
|
|
Копии |
исходное |
число |
|
k – |
количество копий |
R = n·k |
|
|
Многостраничная |
страниц |
|
|
k – |
количество копий |
R n div m k при n mod m 0 |
|
|
с копиями |
|
|
|
m – страниц на листе |
|
|
|
|
|
|
|
|
|
|
R (n div m 1) k при n mod m 0 |
|
|
Многостраничная |
|
|
|
m – страниц на листе |
R n div m при n mod m 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R (n div m 1) при n mod m 0 |
|
|
Продолжение таблицы 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ |
Название |
Описание |
|
|
Дополнительные |
Расчетная функция |
|
|
|
базового |
|
|
параметры |
|
|
|
|
параметра |
|
|
|
|
|
19. |
|
|
Данные человека / суммарная строка / s1 |
|||
|
|
ФИО |
фамилия |
|
s2 – имя |
S = s1+’ ’+s2[1]+’. ’+s3[1]+’.’ |
|
|
|
|
|
|
s3 – отчество |
|
|
|
|
Документ |
серия |
|
n – |
номер (число) |
S = s1+’ №’+n |
|
|
Дата рождения |
месяц |
|
d – |
день (число) |
S = d+’ ’+s1+’ ’+g |
|
|
|
|
|
g – |
год (число) |
|
|
20. |
|
|
|
Дом / количество квартир / n |
|
|
|
|
Пятиэтажка |
количество |
|
|
- |
K = 5·3·n |
|
|
Девятиэтажка |
подъездов |
|
m – квартир на этаже |
K = 9·m·n |
|
|
|
Многоэтажка |
|
|
m – квартир на этаже |
K = k·m·n |
|
44 |
|
|
|
|
k – |
этажей |
|
21. |
|
|
|
|
Налог / сумма / d |
|
|
|
|
|
|
|
|
||
|
|
1 налог |
годовой доход |
|
|
- |
S = 0,13·d |
|
|
2 налога |
|
|
p2 – % второго налога |
S = (0,13+p2/100)·d |
|
|
|
3 налога |
|
|
p2 – % второго налога |
S = (0,13+(p2+ p3)/100)·d |
|
|
|
|
|
|
p3 – % третьего налога |
|
|
|
22. |
|
|
Кредит / общая сумма выплат / n |
|
||
|
|
Простой |
сумма кредита |
|
m – % кредита |
S = (1+m/100)·n |
|
|
|
С комиссией |
|
|
m – % кредита |
S = k+(1+m/100)·n |
|
|
|
|
|
|
k – |
сумма комиссии |
|
|
|
Многолетний |
|
|
m – % кредита |
S = (1+m/100·k)·n |
|
|
|
|
|
|
k – |
количество лет |
|
45
Продолжение таблицы 4
№ |
Название |
Описание |
|
Дополнительные |
|
|
|
|
|
Расчетная функция |
|
|
базового |
|
параметры |
|
|
|
|
|
|
|
|
параметра |
|
|
|
|
|
|
|
|
23. |
|
|
Движение лодки / время / s |
|
|
|
|
|
|
|
|
По озеру |
пройденное |
v – |
скорость лодки |
T = s/v |
|||||
|
По течению |
расстояние |
v – |
скорость лодки |
T = s/(v+w) |
|||||
|
|
|
w – |
скорость реки |
|
|
|
|
|
|
|
Самосплавом |
|
w – скорость реки |
T = s/w |
||||||
24. |
|
|
Функция / результат / n |
|
|
|
|
|
|
|
|
Корень1 |
число под корнем |
|
- |
R n |
|||||
|
Корень2 |
|
m – степень корня |
|
|
|
|
|
|
|
|
|
R m n |
||||||||
|
Корень3 |
|
m – степень корня |
|
|
|
|
|
|
|
|
|
R m nk |
||||||||
|
|
|
k – |
степень числа |
|
|
|
|
|
|
25. |
|
|
Функция / обработка строк / s |
|
|
|
|
|
|
|
|
Первые |
заданная строка |
n – количество первых букв |
R = первые n букв из s |
||||||
|
Последние |
|
n – количество последних букв |
R = последние n букв из s |
||||||
|
Середина |
|
n1 – начальная позиция |
R = буквы от n1 до n2 из s |
||||||
|
|
|
n2 – конечная позиция |
|
|
|
|
|
|