Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

!!Сборник задач по программированию

..pdf
Скачиваний:
99
Добавлен:
02.06.2023
Размер:
1.54 Mб
Скачать

Класс-родитель и

Функция-метод 1

Функция-метод 2 обра-

вар.

его поля

обработки данных

ботки данных

 

ниц, цена

 

страниц больше 100

 

 

 

(после увеличения)

 

Комната: длина,

Площадь стен (вместе

Площадь стен без окна

29

ширина, высота (в

с окнами и дверьми)

(размер 2×15 м) и двери

 

метрах)

 

(размер 2 ×8 м).

 

 

 

 

 

Работник: фамилия,

Увеличить оклад на

Работникам, у которых

 

должность, оклад

15% (каждому работ-

фамилия начинается с

30

 

нику)

сочетания букв «Иван»,

 

 

 

присвоить должность

 

 

 

«инженер».

11.2. Наследование классов

Базовый уровень

Задание: Для класса, созданного в предыдущем задании (по вариантам табл. 10.1) создать класс-потомок с дополнительным полем, указанным в индивидуальном задании (табл. 11.4, столб 2).

Реализовать в классе-потомке методы:

-конструктор;

-функцию обработки данных, указанную в индивидуальном задании (табл 11.4, столб 3).

Создать проект для демонстрации работы: ввод и вывод информации об объектах: классе-родителе и классе-потомке.

Таблица 11.4 – Варианты индивидуальных заданий

Поле класса-

Функция обработки данных

 

вар.

потомка

 

 

 

1

Стоимость одного евро (€)в

Стоимость купюр в евро

 

гривне

 

 

2

Стоимость одного $ (дол-

Стоимость монет в центах

 

лара) в гривне

 

 

3

Год выпуска товара

Сколько лет товару

 

 

 

 

 

 

 

 

4

Количество витамина С в 1

Количество витамина С в продукте

 

грамме продукта

 

 

5

Вещественное число х

Проверить, принадлежит ли число х

 

 

заданному диапазону

 

 

 

 

6

Скорость движения объек-

Расстояние, пройденное объектом наблю-

 

та наблюдения (в м/сек)

дения

 

7

Длительность выполнения

Сколько операций можно выполнить за

 

одной операции в минутах

указанное время

 

 

 

191

Поле класса-

Функция обработки данных

вар.

потомка

 

 

 

 

 

 

 

 

 

8

Высота призмы

Объем призмы, у которой

в основании

 

 

прямоугольный треугольник

 

 

 

 

 

 

 

 

 

9

Сила, приложенная к

Количество работы, выполненной при

движущемуся объекту

прямолинейном перемещении объекта

10

Высота призмы

Сумму всех ребер призмы,

 

у которой в

 

 

основании прямоугольный треугольник

 

 

 

11

Высота трапеции

Площадь трапеции

 

 

 

 

 

 

 

12

Значение угла в радиа-

Разность между заданным углом и углом

нах

 

в прямоугольном треугольнике

13

Вещественное число – с

Определить

произведение

полуразности

 

 

чисел класса-родителя (a и b) на число с

 

 

 

 

Вещественное число – z

 

 

 

 

 

 

 

 

 

14

Вычислить выражение

 

 

xy z , где x и y

 

 

 

 

 

 

 

– поля класса-родителя

 

 

 

 

 

 

 

 

Вещественное число – z

 

 

x

 

y

 

 

 

 

 

 

 

 

 

 

15

 

 

Вычислить выражение

z z , где x и y

 

 

 

поля класса-родителя

 

 

 

 

 

 

 

16

Вещественное число – z

Произведение числа z на минимальное из

 

 

чисел x и y

(поля класса-родителя)

 

 

 

17

Вещественное число – z

Сумма куба числа z и максимального из

 

 

чисел x и y

(поля класса-родителя)

 

 

 

18

Количество

разговоров по

Общая стоимость разговоров за сутки

телефону за сутки

 

 

 

 

 

 

 

 

 

19

Вещественное число – с

Увеличить обе координаты точки на с и

 

 

найти их произведение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

Вещественное число – х

Вычислить для заданного числа х значение

 

 

выражения a x2 + b

 

 

 

 

 

 

 

21

Вещественное число – с

Вычислить для заданного числа c корень

 

 

уравнения a x + b = c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22

Координаты

второй точки

Найти расстояние между первой и второй

на плоскости: x2, y2

точкой

 

 

 

 

 

 

 

 

 

Радиус окружности

Определить, находится ли точка с пара-

23

 

 

метрами x1, y1(класса-родителя) внутри

 

 

 

окружности с центром в начале координат

24

Число – подоходный налог

Вычислить, сколько денег получит работ-

в процентах

 

ник, если вычтут подоходный налог

 

Число – высота объемного

Вычислить объем фигуры, у которой в

25

сектора

 

основании сектор окружности с парамет-

 

 

 

рами класса-родителя

 

 

 

 

 

 

 

 

Количество

одинаковых

Общая площадь поверхностей цилиндров

26

цилиндров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

192

 

 

 

 

 

 

 

 

 

 

 

Поле класса-

Функция обработки данных

вар.

потомка

 

 

 

27

Высота отпиленной сверху

Объем усеченной пирамиды, оставшейся

части конуса

 

после отпиливания

28

Время в секундах

 

Работа, выполненная резистором за

 

 

указанное время

 

 

 

 

Сопротивление

второго,

Определить общую мощность на двух

29

последовательно

соеди-

резисторах

 

ненного резистора R2

 

30

Высота расположения тела

Определить потенциальную энергию тела

движущегося тела

 

 

Средний уровень

Задание:

Для класса, созданного в предыдущем задании (по вариантам табл. 11.2) создать класс-потомок с полями, указанными в индивидуальном задании (табл. 11.5, столб 2).

Реализовать в классе-потомке методы:

-конструктор;

-функцию обработки данных, указанную в индивидуальном задании (табл. 11.5, столб 3);

-функцию формирования строки информации об объекте.

Создать проект для демонстрации работы: ввод и вывод информации об объектах: классе-родителе и классе-потомке.

Таблица 11.5 – Варианты индивидуальных заданий

 

Класс-родитель и

Класс-потомок и его

Функция-метод обработ-

его поля

поля (поля класса-

ки данных объекта

 

вар.

(из табл. 11.2)

родителя выделены

класса-потомка

 

 

 

курсивом)

 

 

 

1

Дата (три числа):

Список друзей: ФИО,

Количество

дней до

дня

 

день, месяц, год

телефон, дата рож-

очередного рождения

 

 

 

дения,

 

 

 

 

2

Дата (три числа):

Работник: ФИО, дата

Количество лет работы на

 

день, месяц, год

поступления

на

предприятии

 

 

 

 

предприятие

 

 

 

 

3

Дата (три числа):

Лекарство:

наимено-

Сколько прошло дней от

 

день, месяц, год

вание, дата выпуска,

изготовления лекарства

 

 

фирма

 

 

 

 

4

Время (три числа):

Расписание

движения

Количество

минут

до

 

часы, минуты,

поездов:

номер

отправления

поезда

с

 

секунды

поезда, направление,

указанным

номером

и

 

 

время отправления

введенное время

 

5

Время (три числа):

Абонент мобильной

Определить, является ли

 

часы, минуты,

связи: фамилия,

время льготным для

 

 

 

 

 

 

 

193

 

Класс-родитель и

Класс-потомок и его

Функция-метод обработ-

его поля

поля (поля класса-

ки данных объекта

вар.

(из табл. 11.2)

родителя выделены

класса-потомка

 

 

курсивом)

 

 

 

секунды

оператор, текущее

абонента (время от 0 до 8

 

 

время

 

 

часов)

 

6

Координаты

Изображение конвер-

Площадь верхнего (над-

 

изображения

та (прямоугольник с

диагонального) треуголь-

 

прямоугольника:

линиями диагоналей):

ника в пикселях

 

x1, y1, x2, y2

координаты прямо-

 

 

 

 

угольника, цвет линий

 

 

7

Время (три числа):

Расписание

занятий:

Какая дисциплина по

 

часы, минуты,

дисциплина,

время

расписанию начинается в

 

секунды

начала, аудитория

указанное время

 

 

 

 

8

Координаты

Изображение прямо-

Площадь фигуры между

 

изображения

угольника с вписан-

прямоугольником и

 

прямоугольника:

ным в его центр

кругом

 

 

x1, y1, x2, y2

кругом: координаты

 

 

 

 

прямоугольника,

 

 

 

 

радиус круга R (R< x2

 

 

 

 

x1, R< y2 – y1)

 

 

9

Координаты

Изображение

закра-

Произведение периметра

 

изображения

шенного

прямоуголь-

и длины диагонали

 

прямоугольника:

ника с текстом: коор-

прямоугольника в пиксе-

 

x1, y1, x2, y2

динаты

прямоуголь-

лях

 

 

 

ника, заданный текст,

 

 

 

 

цвет закрашивания

 

 

10

Правильная дробь:

Смешанная дробь:

Представить

смешанную

 

числитель, знаме-

целая часть, числи-

дробь в виде десятичного

 

натель

тель и знаменатель

вещественного числа.

11

Комплексное

Два комплексных

Вычислить

произведение

 

число: действи-

числа:

 

 

двух комплексных чисел.

 

тельная (a1) и

действительная (a1)

 

 

 

мнимая (b1) части

и мнимая (b1) части

 

 

 

числа

первого числа;

 

 

 

 

действительная (a2) и

 

 

 

 

мнимая (b2) части

 

 

 

 

второго числа

 

 

 

12

Комплексное

Комплексное сопро-

Вычислить модуль и

 

число: действи-

тивление: сопротив-

аргумент комплексной

 

тельная и мнимая

ление резистора

проводимости участка

 

часть числа

(действительная

цепи «резистор - индук-

 

 

часть), значение ин-

тивность».

 

194

 

 

 

 

 

 

 

Класс-родитель и

Класс-потомок и его

Функция-метод обработ-

его поля

поля (поля класса-

ки данных объекта

вар.

(из табл. 11.2)

родителя выделены

класса-потомка

 

 

 

курсивом)

 

 

 

 

 

 

дуктивности (мнимая

 

 

 

 

 

 

часть), угловая

 

 

 

 

 

 

частота

 

 

 

 

 

13

Книга: название,

Библиотека: название,

Стоимость

книги

с

 

количество стра-

количество страниц,

учетом скидки.

 

 

ниц, цена

цена, скидка в про-

 

 

 

 

 

 

центах

 

 

 

 

 

14

Книга: название,

Книжный

магазин:

Уменьшить стоимость

 

автор, год издания

название, автор, год

книги на 20%, если книге

 

 

издания, цена

 

больше 5 лет.

 

15

Работник: фамилия,

Работники предпри-

Определить, сколько лет

 

оклад, год поступ-

ятия: фамилия, оклад,

нужно работать работни-

 

ления на работу

год поступления на

ку до 60 лет, а если ему

 

 

работу, год рождения

больше 60, то сколько лет

 

 

 

 

он работает после 60 лет.

16

Работник: фами-

Работники фирмы:

Увеличить

оклад работ-

 

лия, оклад, год

фамилия, оклад, год

никам

с

должностью

 

рождения

рождения, должность

программист на 20%.

 

17

Вектор на плоско-

Вектор и точка на

Определить

площадь

 

сти: координаты

плоскости: координа-

треугольника, образован-

 

вектора на плоско-

ты вектора ( x1, y1,

ного вектором и точкой.

 

сти (x1, y1, x2, y2)

x2, y2); координаты

 

 

 

 

 

 

точки–x3, y3

 

 

 

 

 

18

Вектор на плоско-

Два вектора с общим

Определить

координаты

 

сти: координаты

началом ( x1, y1) на

вектора

суммы

двух

 

вектора на плоско-

плоскости: координа-

векторов.

 

 

 

 

сти (x1, y1, x2, y2)

ты первого вектора –

 

 

 

 

 

 

x1, y1, x2, y2; коорди-

 

 

 

 

 

 

наты второго вектора

 

 

 

 

 

 

x1, y1, x3, y3

 

 

 

 

19

Вектор на плоско-

Два параллельных

Определить площадь

 

 

сти: координаты

вектора на плоскости

параллелограмма, образо-

 

вектора на плоско-

одинаковой длины:

ванного этими векторами

 

сти (x1, y1, x2, y2)

координаты первого

и линиями, соединяющих

 

 

вектора – x1, y1, x2,

их начала и концы.

 

 

 

y2; второй вектор

 

 

 

 

 

 

смещен вправо по оси

 

 

 

 

 

 

Ох на величину а,

 

 

 

 

 

 

второй – вниз по оси

 

 

 

 

 

 

Оу на b

 

 

 

 

 

 

 

 

 

 

 

 

195

 

Класс-родитель и

Класс-потомок и его

Функция-метод обработ-

его поля

поля (поля класса-

ки данных объекта

вар.

(из табл. 11.2)

родителя выделены

класса-потомка

 

 

курсивом)

 

 

 

20

Цилиндр: диаметр

Изолированный

 

Определить вес изолиро-

 

основания, высота

провод: диаметр,

ванного провода.

 

 

 

длина, удельный вес;

 

 

 

 

 

толщина изоляции и

 

 

 

 

 

её удельный вес

 

 

 

21

Параллелепипед:

Металлический брус:

Определить вес металли-

 

длины сторон

ширина, высота,

ческого бруса.

 

 

 

длина, удельный вес

 

 

 

22

Параллелепипед:

Балка с прямоуголь-

Площадь поверхности

 

длины сторон

ным сечением: шири-

одной части распиленной

 

 

на, высота, длина,

балки и её вес.

 

 

 

удельный вес; коли-

 

 

 

 

 

чество равных частей,

 

 

 

 

 

на которое её распи-

 

 

 

 

 

лят

 

 

 

 

23

Четыре целых

Пять чисел: четыре

Вычислить сумму квадра-

 

числа: a, b ,c, d

целых числа (a,d,c,d) и

тов разности каждого из

 

 

число х

 

четырех чисел и числа х.

24

Три вещественных

Два набора чисел:

Определить скалярное

 

числа: x,y,z

три вещественных

произведение двух

 

 

числа x,y,z и три

наборов чисел.

 

 

 

вещественных числа

 

 

 

 

 

a, b ,c

 

 

 

 

25

Товар: наименова-

Фирменный товар:

Количество дней после

 

ние, цена, год

наименование,

цена,

года выпуска товара до

 

выпуска

год выпуска, дата

текущего дня.

 

 

 

поступления товара

 

 

 

26

Товар: наименова-

Товар: наименование,

Изменить стоимость

 

ние, цена в гривне,

цена в гривне, изгото-

товара с учетом скидки

 

изготовитель

витель, год выпуска,

для товаров, изготовлен-

 

 

скидка в процентах

ных фирмой более двух

 

 

 

 

лет назад.

 

 

27

Координаты

Дуга эллипса: коор-

Построить

изображение

 

изображения

динаты изображения

дуги эллипса

на

форме

 

эллипса: x1, y1, x2,

эллипса x1, y1, x2, y2,

(Image) синим

цветом,

 

y2

координаты концов

толщиной линии 2 пиксе-

 

 

дуги x3, y3, x4, y4

ля.

 

 

28

Книга: название,

Изданная книга:

Сколько дней книга

 

количество стра-

название, количество

находилась в типографии.

 

ниц, цена

страниц, цена,

автор

 

 

 

196

 

 

 

 

 

 

 

Класс-родитель и

Класс-потомок и его

Функция-метод обработ-

его поля

поля (поля класса-

ки данных объекта

вар.

(из табл. 11.2)

родителя выделены

класса-потомка

 

 

курсивом)

 

 

 

книги, дата поступле-

 

 

 

ния в типографию

 

29

Комната: длина,

Помещения для

Определить количество

 

ширина, высота (в

офисов: длина,

краски, необходимое для

 

метрах)

ширина, высота

покраски стен и потолка

 

 

комнат, количество

помещений офиса (в

 

 

комнат и площадь

каждой комнате одно

 

 

коридора, расход

окно размером 2×15 м).

 

 

краски на 1 м2

 

30

Работник: фамилия,

Работники предпри-

Увеличить оклад работ-

 

должность, оклад

ятия:

ников на 20%, если их

 

 

фамилия, должность,

рейтинг от 60 до 75 балов,

 

 

оклад, рейтинг (в 100-

на 40%, если их рейтинг

 

 

бальной системе)

от 75 до 90 балов, на

 

 

 

60%, если их рейтинг от

 

 

 

90 до 100 балов.

11.3. Полиморфизмы методов класса

Базовый уровень

Задание: построить класс 1-го уровня с указанными в индивидуальном задании (табл. 11.7) полями и методами:

-конструктор;

-функция, которая определяет «качество» объекта – Q по заданной формуле (табл11. 7, столб 2);

-вывод информации об объекте.

Построить класс 2-го уровня (класс-потомок), который содержит:

-дополнительное поле P;

-функция, которая определяет «качество» объекта класса 2-го уровня Qp, которая перекрывает функцию качества класса 1-го уровня (Q ), выполняя вычисление по новой формуле (табл. 11.7, столб 3).

Создать проект для демонстрации работы: ввод и вывод информации об объектах классов 1-го и 2-го уровней.

197

Таблица 11.7 – Варианты индивидуальных заданий

Поля и функция «качества» (Q )

Поле и функция «качества»

вар

класса 1-го уровня

Qp класса 2-го уровня

 

Компьютер:

P: объем винчестера (Гб)

 

- наименование процессора;

Qp=Q+0,5·Р

1

-тактовая частота процессора (МГц);

 

 

- объем оперативной памяти (Мб).

 

 

Q = (0,1·частота) + память

 

 

Оператор мобильной связи:

P: наличие платы за каждое

 

- название оператора;

соединение

2

- стоимость 1 минуты разговора;

Qp = 0,7·Q, если Р - истина,

- площадь покрытия.

иначе Qp = 1,5·Q

 

 

Q = 100 · площадь покрытия / стоимость 1

 

 

минуты разговора

 

 

Товар на складе:

P: год выпуска товара

 

- наименование;

Qp = Q + 0,5· (Т–Р),

3

- цена;

 

- количество.

где Т - текущий год

 

Q = цена / количество

 

 

Кабель:

P: наличие оплетки

 

- тип;

Qp: если Р - истина,

4

- количество жил кабеля;

 

- диаметр.

то Qp = 2·Q;

 

Q = диаметр / количество жил

иначе Qp = 0,7·Q

 

Учебник по программированию:

P: год издания

 

- название;

Qp = Q – 0,2· (Т–Р),

5

- количество страниц;

 

- цена.

где Т - текущий год

 

Q = цена / количество страниц

 

 

Мобильный телефон:

P: количество SIM карт

 

- марка;

Qp = Q·Р

6

- цена;

 

- объем памяти.

 

 

Q = объем памяти / цена

 

198

Поля и функция «качества» (Q )

Поле и функция «качества»

вар

класса 1-го уровня

 

Qp класса 2-го уровня

 

Спутниковая антенна (тарелка):

P: тип подвески (азиму-

 

- диаметр;

тальная, полярная, торои-

 

- материал;

дальная)

 

- цена.

Qp= Q, если тип подвески

7

Q = диаметр / цена

азимутальный,

 

 

Qp = 2·Q, если тип подвес-

 

 

ки полярный,

 

 

Qp = 2,5·Q, если тип под-

 

 

вески тороидальный

 

Экзамен:

P: процент двоек

8

- дисциплина;

 

 

- число студентов на экзамене;

Qp = Q· ( 100-Р)/100

 

- продолжительность экзамена (ч).

 

Q = число студентов / продолжительность

 

 

 

Спортсмен:

P: занимал ли хотя бы раз

 

- фамилия;

первое место

9

- число соревнований;

Qp = 1,5·Q, если Р - исти-

- сумма мест, занятых спортсменом в

 

 

соревнованиях.

на,

иначе – Qp= Q,

 

Q = (число соревнований)/ (сумма мест)

 

 

 

Программист:

P:

число программ, кото-

 

- фамилия;

рые работают правильно

 

- число программ, написанных програм-

 

 

10

мистом;

Qp = Q · Р / (число всех

 

- число языков программирования,

 

которыми он пишет программы.

программ)

 

Q = (число программ)*(число языков)

 

 

 

 

 

 

Спектакль:

P: год написания пьесы

 

- название;

 

 

11

n1 – число зрителей в начале;

Qp = Q · (Т-Р+1),

n2 – число зрителей в конце.

где Т - текущий год

 

Q = (n2 – n1)/ n1

 

 

 

 

 

 

Алмаз:

P: цвет (белый, голубой,

 

- название;

желтый, и тп)

 

- вес (в каратах);

Qp: если цвет голубой,

12

- качество огранки в баллах (число).

 

то Qp=Q+1;

 

Q = 0,4·вес + 0,6·качество огранки

а если желтый,

 

 

 

то Qp = Q 0,5

 

 

иначе Qp=Q

 

 

 

199

Поля и функция «качества» (Q )

Поле и функция «качества»

вар

класса 1-го уровня

Qp класса 2-го уровня

 

 

Компьютерная сеть:

P: средняя скорость пере-

 

- название организации;

дачи данных в сети (Мб/с)

13

- число рабочих станций;

Qp = Q·Р

 

 

- среднее расстояние между станциями

 

 

 

 

 

 

(м).

 

 

 

 

 

Q = число станций · среднее расстояние

 

 

 

 

 

Армия:

P: опыт (число месяцев, на

 

- вид войск;

протяжении которых

 

14

- численность (тыс человек):

армия вела боевые дей-

 

- вооруженность (баллы - число).

ствия)

 

 

 

Q=0,3·численность+0,7·вооруженность

Qp = Q · (Р+1)

 

 

Автомобиль:

P: год изготовления

 

 

- марка автомобиля;

Qp=Q-1,5· (Т-Р) ,

 

15

- мощность двигателя (кВт);

 

- число мест.

 

где Т - текущий год

 

 

 

 

 

Q = 0,1·мощность·число мест

 

 

 

 

 

Партия:

P: численность партии в

 

- название;

прошлом году

 

 

- численность (тыс. членов);

Qp:

 

 

 

16

- процент голосов на последних выборах.

если

численность

в

 

текущем году увеличилась,

 

 

 

Q = 0,3·численность+0,7· процент гол

то Qp=1,2·Q;

 

 

 

а

если сократилась,

то

 

 

Qp=0,8·Q

 

 

 

Высшее учебное заведение:

P: процент выпускников,

 

- название заведения;

которые

работают

по

 

- количество студентов, зачисленных на

специальности

 

17

1-й курс;

Qp = Р*Q

 

 

 

- количество выпускников.

 

 

 

Q = количество выпускников / количество

 

 

 

 

 

зачисленных

 

 

 

 

 

Солдат:

P: образование (начальное,

 

- фамилия;

среднее, высшее)

 

18

- рост (м);

Qp:

если

образование

- вес (кг).

высшее, то Qp=2·Q; а если

 

 

Q = рост·вес

начальное, то Qp=0,5·Q;

 

 

иначе Qp=Q

 

 

200