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

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

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

5

6

7

8

9

10

11

12

181

13

14

15

16

17

18

19

20

182

21

22

23

24

25

26

27

28

183

29

30

 

 

Высокий уровень

Задание: написать программу работы асинхронного автомата.

1

2

3

4

184

5

6

7

8

9

10

11

12

185

11. Элементы объектно-ориентированного программирования

11.1. Cоздание данных типа «класс»

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

Задание: для всех вариантов задач создать класс с указанными двумя полями (Поле 1, Поле 2) и тремя методами:

-конструктор для инициализации объекта;

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

-функция обработки значений полей по индивидуальному варианту.

В основной программе вводить значения полей каждого объекта из компонентов Edit и выводить результаты в компонент Memo. Индивидуальные варианты заданий приведены в таблице 11.1.

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

Поле 1

Поле 2

Функция обработки полей

вар.

 

 

 

1

Номинал купюры (1,

Количество купюр

Вычислить сумму купюр

2, 5, 10 и т.д.)

 

 

 

 

 

2

Номинал монеты

Количество монет

Вычислить сумму монет

(1, 2, 5, 10 и т.д.)

 

 

 

 

 

3

Цена товара

Количество единиц

Вычислить общую стои-

 

товара

мость товара

 

 

4

Калорийность 100г

Вес продукта в

Вычислить общую кало-

продукта

граммах

рийность продукта

 

 

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

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

Квадрат длины диапазона

5

– левая граница

– правая граница

 

 

диапазона

диапазона

 

6

Количество минут

Количество секунд

Вычислить общее количе-

 

 

ство секунд

 

 

 

7

Количество часов

Количество минут

Вычислить общее количе-

 

 

ство минут

 

 

 

 

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

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

Вычислить площадь прямо-

8

– первый катет

– второй катет

угольного треугольника

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

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

 

 

 

 

треугольника

треугольника

 

 

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

Целое число – время

Вычислить пройденное

9

– скорость движения

движения в минутах

расстояние (в метрах)

 

(м/cек)

 

 

 

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

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

Вычислить длину гипотену-

10

– первый катет

– второй катет

зы прямоугольного тре-

 

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

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

угольника

 

треугольника

треугольника

 

186

 

 

 

Поле 1

Поле 2

Функция обработки полей

вар.

 

 

 

11

Целое число –

Целое число –

Вычислить полу-сумму

нижнее основание

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

оснований трапеции

 

трапеции

трапеции

 

 

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

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

Вычислить тангенс угла ,

12

– первый катет

– второй катет

противолежащего второму

 

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

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

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

 

треугольника

треугольника

треугольника

13

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

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

Вычислить полу-разность

 

 

чисел

 

 

 

14

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

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

Вычислить корень квадрат-

 

 

ный из произведения чисел

 

 

 

15

Целое число – х

Целое число – y

Вычислить целую часть от

 

 

деления х на y

 

 

 

16

Целое число – х

Целое число – y

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

 

 

 

шего из чисел

17

Целое число – х

Целое число – y

Вычислить куб большего из

 

 

чисел

 

 

 

 

Продолжительность

Стоимость одной

Вычислить общую стои-

18

телефонного разго-

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

мость разговора

 

вора в минутах

 

 

 

Координата точки на

Координата точки

Определить периметр

19

плоскости (по

на плоскости (по

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

горизонтали)

вертикали)

ченного координатами

 

 

 

точки и осями Ox и Oy

20

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

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

Вычислить разность квад-

a

b

ратов чисел a2 – b2

21

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

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

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

a

b

тов чисел a2 + b2

 

Координата точки на

Координата точки

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

22

плоскости (по

на плоскости (по

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

горизонтали) – x1

вертикали) – y1

ченного координатами

 

 

 

точки и осями Ox и Oy

 

Координата точки на

Координата точки

Вычислить расстояние от

23

плоскости (по

на плоскости (по

точки до начала координат

 

горизонтали) – x1

вертикали) – y1

 

24

Количество часов

Тариф оплаты за час

Общая стоимость работы

работы

работы

 

25

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

Угол в радианах

Вычислить длину дуги

26

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

Высота цилиндра

Вычислить площадь по-

основания

 

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

27

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

Высота конуса

Вычислить объем конуса

основания конуса

 

 

 

 

 

187

Поле 1

Поле 2

Функция обработки полей

вар.

 

 

 

 

 

28

Напряжение (в

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

Вычислить значение тока (в

Вольтах)

Омах)

Амперах)

 

 

 

Ток в амперах

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

Вычислить мощность на

29

 

резистора R1(в

участке электрической цепи

 

 

Омах)

(в Ваттах)

 

 

 

Масса тела – m

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

Вычислить кинетическую

30

граммах)

v (в м/с)

энергию движущегося тела

 

 

 

W mv2

 

 

 

k

2

 

 

 

 

 

 

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

Задание: создать класс с полями, указанными в индивидуальном задании (табл. 11.2, столб 2).

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

-конструктор по умолчанию;

-конструктор перезагрузки с параметрами;

-деструктор для освобождения памяти (с сообщением об уничтожении объекта);

-функции обработки данных (1 и 2), указанные в индивидуальном задании (табл. 11.2, столбцы 3 и 4);

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

Создать проект для демонстрации работы: сформировать объекты со зна- чениями-константами и с введенными значениями полей объекта из компонентов Edit. Выводить результаты в компонент Memo.

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

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

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

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

вар.

его поля

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

ботки данных

 

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

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

Увеличить дату на 5 дней

1

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

ся ли год высокосным

 

 

 

(кратным 4)

 

2

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

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

Уменьшить дату на 2 дня

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

 

 

 

 

 

3

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

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

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

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

дают ли номер

месяц

 

 

месяца и число дня

 

 

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

Вычислить количест-

Увеличить время на 5

4

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

во секунд в указан-

секунд

 

секунды

ном времени

 

 

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

Вычислить количест-

Уменьшить время на 10

5

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

во полных минут в

минут

 

секунды

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

 

188

 

 

 

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

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

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

вар.

его поля

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

ботки данных

6

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

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

Увеличить время 100

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

ство минут до полу-

минут

 

секунды

ночи (24:00:00)

 

 

Координаты

Вычислить площадь

Изобразить прямоуголь-

7

изображения

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

ник на форме

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

пикселях

(Image) с толщиной линии

 

 

x1, y1, x2, y2

 

2 пикселя

 

Координаты

Вычислить длину

Изобразить прямоуголь-

8

изображения

диагонали прямо-

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

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

угольника в пикселях

форме

 

 

x1, y1, x2, y2

 

(Image)

 

Координаты

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

Изобразить прямоуголь-

 

изображения

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

ник на форме

9

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

квадратом?

(Image), закрашенный

 

x1, y1, x2, y2

 

зеленым цветом

 

 

 

 

 

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

Выразить значение

Найти сумму цифр значе-

10

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

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

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

 

натель

 

 

 

Комплексное

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

Найти комплексное

11

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

комплексного числа

число, обратное заданно-

тельная (a1) и

 

му

 

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

 

 

 

числа

 

 

 

Комплексное

Вычислить произве-

Вычислить аргумент

 

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

дение комплексного

комплексного числа в

12

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

числа на число,

градусах

 

часть числа

вводимое пользова-

 

 

 

телем

 

 

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

Вычислить среднюю

Увеличить цену книги в

13

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

стоимость одной

два раза, если название

ниц, цена

страницы

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

 

 

 

«Программирование»

 

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

Вычислить, сколько

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

14

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

лет книге

шедших после года

 

 

 

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

 

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

Вычислить стаж

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

15

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

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

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

 

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

данном предприятии

работу

 

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

Вычислить возраст

Сколько календарных

16

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

работника

дней до исполнения

 

рождения

 

работнику 50 лет

 

 

 

189

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

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

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

вар.

его поля

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

ботки данных

 

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

Вычислить длину

Изобразить линию векто-

17

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

вектора

ра на форме (Image) с

 

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

 

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

 

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

 

ля

 

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

Вычислить координа-

Равен ли угол наклона

18

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

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

вектора 45 градусов?

 

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

 

 

 

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

 

 

 

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

Вычислить координа-

Вычислить площадь

 

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

ты вектора, удвоен-

прямоугольного треуголь-

19

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

ной длины

ника, образованного

 

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

 

вектором и прямыми,

 

 

 

параллельн. осям Оx, Оy.

 

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

Вычислить объем

Изобразить круг заданно-

20

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

цилиндра

го диаметра на форме

 

 

 

(Image), закрашенный

 

 

 

красным цветом.

 

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

Вычислить объем

Вычислить длину наи-

21

длины сторон

параллелепипеда

большей диагонали

 

 

 

параллелепипеда

22

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

Вычислить площадь

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

длины сторон

поверхности

всех ребер параллелепи-

 

 

 

педа.

 

Четыре целых

Вычислить среднее

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

23

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

арифметическое

из чисел

 

 

чисел

 

 

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

Вычислить среднее

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

24

числа x, y, z

геометрическое чисел

содержит сумма заданных

 

 

 

трех чисел.

 

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

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

Увеличить цену товара на

25

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

лет назад был выпу-

20%, если в наименовании

 

выпуска

щен товар

товара есть слово «TV».

 

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

Пересчитать цену

Увеличить цену товара в

26

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

товара в долларах

долларах, если название

 

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

 

товара содержит слово

 

 

 

«Toyota».

 

Координаты

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

Изобразить эллипс на

27

изображения

ли эллипс окружно-

форме (Image) зеленым

 

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

стью?

цветом .

 

y2

 

 

28

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

Увеличить количест-

Уменьшить цену в два

 

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

во страниц на 10

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

190