Целью
прохождения
учебной
практики по
предмету
«Объектно-ориентированное
программирование»
является
закрепление
теоретического
материала и
отработка
практических
навыков по
созданию
программ на языке
программирования С++.
Каждый
студент
должен
составить программы
для решения
задач
согласно
своему варианту.
Каждая
задача
должна быть
оформлена в
виде
отдельного
программного
модуля и иметь
главную
программу
для вызова
нужной
задачи через
пользовательское
меню.
Программа
должна иметь
цветовое
оформление,
при создании
интерфейса
программы
приветствуется
использование
символов
псевдографики.
Алгоритмы
ветвления (10)
Составить
программу,
которая
выводит на экран
слово
«ИСТИНА»,
если условие
выполнено
или слово
«ЛОЖЬ», если
условие не выполнено.
|
№ варианта |
Задание |
|
1,16 |
Данная
тройка
натуральных
чисел
а,
b,
c
является
тройкой
Пифагора, т.е.
с2 = а2 +
b2 |
|
2,17 |
Все цифры
данного
четырехзначного
числа
W
различны |
|
3,18 |
Данное
четырехзначное
число
читается одинаково
слева
направо
и справа
налево |
|
4,19 |
Цифры
данного
трехзначного
числа N
являются
членами
геометрической
прогрессии |
|
5,20 |
Данные
числа с и
d
являются
соответственно
квадратом и кубом
числа
а |
|
6,21 |
Сумма
каких-либо
двух цифр
заданного
трехзначного
натурального
числа N
равна
третьей
цифре |
|
7,22 |
Сумма двух
первых цифр
заданного
четырехзначного
числа равна
сумме двух
его последних
цифр |
|
8,23 |
Сумма цифр
данного
трехзначного
числа
W
является
четным числом |
|
9,24 |
Целое число N является
четным
двузначным
числом |
|
10,25 |
Среди чисел
а,
b, с
есть хотя
бы одна пара
взаимно
противоположных |
|
11,26 |
Цифры данного
четырехзначного
числа
образуют строго
возрастающую
последовательность |
|
12,14 |
Цифры
данного
трехзначного
числа
V
являются
членами
арифметической
прогрессии |
|
13,15 |
В заданном
натуральном
трехзначном
числе N
имеется
четная цифра |
Табулирование
функции (10)
Составить
программу
для
вычисления
значений
функции
F(x)
на
отрезке [а, Ь] с шагом
h.
Результат
представить
в виде
таблицы, первый
столбец
которой —
значения
аргумента,
второй — соответствующие
значения
функции.


Одномерные
массивы (10)
|
№ варианта |
Задание |
|
1,14 |
Дана
последовательность
целых чисел а1,
а2 ...,
аn.
Наименьший
член этой
последовательности
заменить
целой
частью
среднего
арифметического
всех членов,
остальные
члены оставить
без
изменения |
|
2,15 |
Дана
последовательность
действительных
чисел а1, а2 ..., аn.
Требуется
домножить
все члены
последовательности
а1,
а2 ...,
аn
на квадрат
ее
наименьшего
члена, если ак> 0, и на
квадрат ее
наибольшего
члена, если ак< 0 |
|
3,16 |
Дана
последовательность
N
различных
целых чисел.
Найти
сумму ее
членов,
расположенных
между максимальным
и минимальным
значениями
(в сумму
включить и
оба этих
числа) |
|
4,17 |
Дана
последовательность
действительных
чисел а1 < а2<... <
an.
Вставить
в нее
действительное
число
b
так,
чтобы
последовательность
осталась
неубывающей |
|
5,18 |
Даны целые
положительные
числа а,,
а2 ..., аn.
Найти
среди них те,
которые
являются
квадратами
некоторого
числа
т |
|
6,19 |
Дана
последовательность
целых чисел а1,
а2 ...,
аn.
Образовать
новую
последовательность,
выбросив из
исходной те
члены, которые
равны
min(a1, а2
..., ап) |
|
7,20 |
В массиве
целых чисел
с
количеством
элементов п найти
наиболее
часто
встречающееся
число. Если
таких чисел
несколько,
то определить
наименьшее
из них |
|
8,21 |
Дана
последовательность
целых положительных
чисел. Найти
произведение
только тех
из них,
которые
больше
заданного
числа М.
Если таких
чисел нет, то
выдать
сообщение об
этом |
|
9,22 |
В
последовательности
действительных
чисел а1, а2..., аn есть
только
положительные
и
отрицательные
элементы.
Вычислить
произведение
отрицательных
элементов Р1
и
произведение
положительных
элементов Р2. Сравнить
модуль Р1 с
модулем Р2 указать,
какое из
произведений
по модулю
больше |
|
10,23 |
Дан массив
действительных
чисел. Среди
них есть
равные.
Найти его первый
максимальный
элемент и
заменить его
нулем |
|
11,24 |
Даны две
последовательности
целых чисел а1,
а2 ...,
аn
и
b1,b2…,bn.
Преобразовать
последовательность
b1,b2…,bn
по
следующему
правилу:
если
ai
< 0,
то
bi
увеличить
в 10 раз, в
противном
случае
bi
заменить
нулем (i = 1, 2, ..., п) |
|
12,25 |
Задан
массив,
содержащий
несколько
нулевых
элементов.
Сжать его,
выбросив
эти элементы |
|
13,26 |
Задан
массив с
количеством
элементов N. Сформировать
два массива:
в первый
включить
элементы
исходного
массива с
четными
номерами, а
во второй – с
нечетными |
Двумерные
массивы (10)
|
№ варианта |
Задание |
|
1,26 |
Дана
действительная
квадратная
матрица порядка
N (N
— нечетное),
все
элементы
которой
различны.
Найти наибольший
элемент
среди
стоящих на
главной и
побочной диагоналях
и поменять
его местами
с элементом,
стоящим на пересечении
этих диагоналей |
|
2,25 |
Задана
квадратная
матрица.
Получить
транспонированную
матрицу |
|
3,24 |
В данной
действительной
квадратной
матрице
порядка
N
найти
сумму элементов
строки, в
которой
расположен
элемент с
наименьшим
значением.
Предполагается,
что такой
элемент
единствен |
|
4,23 |
Дана
действительная
квадратная
матрица порядка
N.
Преобразовать
матрицу по
следующему
правилу: строку
с номером
N
сделать
столбцом с
номером
N,
а
столбец с
номером
N
–
строкой с
номером
N |
|
5,22 |
Дана
целочисленная
квадратная
матрица. Найти
в каждой
строке
наибольший
элемент и
поменять
его местами
с элементом
главной
диагонали |
|
6,21 |
Дана
квадратная
матрица
A[N,
N].
Записать на
место отрицательных
элементов
матрицы
нули, а на место
положительных
– единицы.
Вывести на
печать
нижнюю
треугольную
матрицу в общепринятом
виде |
|
7,20 |
Дана
действительная
матрица
размером
NхM, все
элементы
которой
различны. В
каждой
строке
выбирается
элемент с
наименьшим
значением,
затем среди
этих чисел выбирается
наибольшее.
Указать
индексы
элемента с
найденным значением |
|
8,19 |
Дана
матрица А размером
NxM.
Определить К – количество
особых
элементов
массива А, считая
его элемент
особым, если
он больше
суммы
остальных
элементов
его столбца |
|
9,18 |
Задана
квадратная
матрица.
Поменять
местами
строку с максимальным
элементом
на главной
диагонали
со строкой с
заданным
номером т |
|
10,17 |
Дана
матрица
B[N, М].
Найти в
каждой
строке
матрицы максимальный
и
минимальный
элементы и
поменять их
местами с первым
и последним
элементом
строки
соответственно |
|
11,16 |
Вычислить
сумму и
число
положительных
элементов
матрицы
A[N,
N],
находящихся
над главной
диагональю |
|
12,15 |
В данной
действительной
квадратной
матрице
порядка
N
найти
наибольший
по модулю
элемент.
Получить
квадратную
матрицу
порядка
N-1
путем
отбрасывания
в исходной
матрице строки
и столбца, на
пересечении
которых расположен
элемент с
найденным
значением |
|
13,14 |
Пусть дана
действительная
матрица
размером
NxM.
Требуется
преобразовать
матрицу
следующим
образом: поэлементно
вычесть последнюю
строку из
всех строк, кроме
последней |
Обработка
строк (10)
1.
Дана
строка.
Подсчитать
количество
заданной
буквы в
последнем ее
слове.
2.
Дана
строка.
Подсчитать
самую
длинную последовательность
идущей
подряд
заданной
буквы.
3.
Дана
строка
символов,
среди
которых есть
одна
открывающаяся
и одна
закрывающаяся
скобка.
Вывести на
экран все символы,
расположенные
внутри этих
скобок.
4.
Имеется
строка,
содержащая
буквы
латинского
алфавита и цифры.
Вывести на
экран длину
наибольшей последовательности
цифр, идущих
подряд
5.
Дан
набор слов,
разделенных
точкой с
запятой (;). Набор
заканчивается
двоеточием (:).
Определить,
сколько в нем
слов,
заканчивающихся
заданной
буквой.
6.
Дана
строка.
Указать те
слова,
которые содержат
заданную
букву.
7.
В
строке
заменить все
двоеточия (:) точкой с
запятой (;).
Подсчитать
количество замен.
8.
В
строке
удалить
символ
«двоеточие» (:) и
подсчитать
количество
удаленных
символов.
9.
В строке
между
словами
вставить
вместо пробела
запятую и
пробел.
10.
Удалить
часть
символьной
строки,
заключенной
в скобки
(вместе со
скобками).
11.
Определить,
сколько раз в
строке
встречается
заданное
слово.
12.
Дана
строка,
заканчивающаяся
точкой.
Подсчитать,
сколько слов
в строке.
13.
Дана
строка,
содержащая
английский
текст. Найти
количество
слов,
начинающихся
с заданной
буквы.
14.
Дана
строка,
содержащая
текст. Найти
длину самого
короткого
слова и
самого длинного
слова.
15.
Дана
строка
символов,
среди
которых есть
двоеточие (:). Определить,
сколько символов
ему
предшествует.
16.
Дана
строка,
содержащая
текст,
заканчивающийся
точкой.
Вывести на
экран слова,
содержащие
три буквы.
17.
Дана
строка. Найти
в ней те
слова,
которые начинаются
и
оканчиваются
одной и той
же буквой.
18.
В
строке имеется
одна точка с
запятой (;). Подсчитать
количество
символов до
точки с
запятой и
после нее.
19.
Строка
содержит
одно слово.
Проверить,
будет ли оно
читаться
одинаково
справа
налево и
слева направо
(т.е. является
ли оно
палиндромом).
20.
В
записке
слова зашифрованы
— каждое из
них записано
наоборот. Расшифровать
сообщение.
21.
Проверить,
одинаковое
ли число
открывающихся
и закрывающихся
скобок в
данной
строке.
22.
Дан
текст,
состоящий из
предложений,
разделяемых
точками.
Напишите программу,
производящую
следующее форматирование:
после каждой
точки в конце
предложения
должен
стоять хотя
бы один
пробел.
23.
Дана
строка,
состоящая из
слов,
разделенных
пробелами.
Напишите
программу, удаляющую
лишние пробелы.
Пробел
считается
лишним, если
он:
·
стоит
в начале
строки;
·
стоит
в
конце
строки;
·
следует
за пробелом.
24.
Составить
программу
преобразования
натуральных
чисел, записанных
в римской
нумерации, в
десятичную
систему
счисления.
25.
С
клавиатуры
вводится
целое число в
десятичной
системе
счисления.
Написать программу,
реализующую
вывод его
представления
с
разделением
на триады
цифр.
Пример.
·
Число: 100000
·
Форматированный
вывод: 100 000
·
Число: 1000000
|
№ варианта |
Задание |
|
1,24 |
Даны натуральные числа n, k, п> 1. Напечатать k
десятичных знаков числа 1/п. Программа должна использовать только целые
переменные |
|
2,23 |
Два простых числа
называются «близнецами», если они отличаются друг
от друга на 2 (например, 41 и 43). Напечатать все пары «близнецов» из отрезка
[n, 2n], где n – заданное
натуральное число больше 2 |
|
3,22 |
Написать программу,
которая находит и выводит на печать все четырехзначные числа вида abcd, для которых выполняется: условие: а, b, с, d – разные цифры |
|
4,21 |
Даны натуральные числа К и N. Составить программу формирования массива А, элементами которого являются числа, сумма цифр которых
равна К и которые не большем N |
|
5,20 |
Найти все простые
натуральные числа, не превосходящие n, запись которых представляет собой палиндром,
т.е. читается одинаково слева направо и справа налево |
|
6,19 |
Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую
последовательность (например, 1234, 5789) |
|
7,18 |
Найти
все натуральные числа, не превосходящие заданного n,
которые делятся на каждую из своих цифр |
|
8,17 |
Написать программу,
определяющую сумму n-значных чисел, содержащих
только нечетные цифры. Определить также, сколько четных цифр в найденной
сумме |
|
9,16 |
Имеется часть катушки с
автобусными билетами. Номер билета шестизначный. Составить программу,
определяющую количество счастливых билетов на катушке,
если меньший номер билета – N, больший – М (билет является счастливым, если
сумма первых трех его цифр равна сумме последних трех) |
|
10,15 |
Натуральное число, в
записи которого n цифр, называется числом Армстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до к |
|
11,14 |
Дано натуральное число
п. Выяснить, можно ли представить его в виде произведения трех последовательных
натуральных чисел |
|
12,26 |
Даны три квадратных
матрицы A, B,C n-го порядка. Вывести на печать ту из них, норма которой
наименьшая. Нормой матрицы назовем
максимум из абсолютных величин ее элементов |
|
13,25 |
Из заданного числа
вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Сколько
таких действий надо произвести, чтобы получился нуль? |
Структуры и файлы (20)
Каждый объект описать в
виде структуры. Данные о
структурах хранить в файле. Предусмотреть возможность
создания файла, добавления в файл и решения поставленной задачи
|
№ варианта |
Задание |
|
1,20 |
Даны результаты
переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена
и подсчитать общее число жителей, родившихся после |
|
2,21 |
Среди работников
данного предприятия найти тех, чья заработная плата
за месяц ниже средней по предприятию, а также распечатать список тех, кто
проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты,
стажа работы и должности |
|
3,22 |
Распечатать фамилии
рабочих бригады, начинающиеся с букв Л и С, с
указанием их месячной зарплаты |
|
4,23 |
В столовой предлагается
N комплексных обедов, состоящих из Q блюд. Известна стоимость и калорийность
каждого блюда. Сколько стоит самый дешевый и самый дорогой обед? Сколько
калорий включает в себя самое калорийное блюдо |
|
5,24 |
На аптечном складе
хранятся лекарства. Сведения о лекарствах содержатся в специальной ведомости:
наименование лекарственного препарата; количество;
цена; срок хранения (в месяцах). Выяснить, сколько стоит самый дорогой и
самый дешевый препарат; сколько препаратов хранится на складе; сколько стоят
все препараты, хранящиеся на складе |
|
6,25 |
Распечатать анкетные
данные учеников, участвовавших в олимпиаде по информатике и заработавших не
менее 30 баллов |
|
7,26 |
Вычислить средний балл
учеников класса, если известны оценки каждого ученика по математике, русскому
языку и физике. Распечатать список учеников, имеющих средний балл выше
среднего в классе |
|
8,14 |
Из данного списка
спортсменов распечатать сведения о тех из них, кто занимается плаванием.
Указать возраст, сколько лет они занимаются спортом |
|
9,15 |
В таблице хранятся
следующие данные об учениках: фамилия, имя, отчество, рост, масса. Вычислить
средний рост учеников, рост самого высокого и самого низкого ученика. Сколько
учеников могут заниматься в баскетбольной секции, если рост баскетболиста
должен быть больше |
|
10,16 |
Распечатать список тех
учителей школы, которые преподают математику и информатику, указать стаж их
работы и недельную нагрузку |
|
11,17 |
Распечатать фамилии тех
учеников класса, которые являются хорошистами и отличниками по итогам года.
Также указать, насколько их средний балл отличается от среднего балла класса |
|
12,18 |
По данным сведениям об
учениках класса определить среднюю массу мальчиков и средний рост девочек.
Кто из учеников класса самый высокий |
|
13,19 |
Из ассортимента конфет,
выпускаемых кондитерской фабрикой, выбрать те, стоимость которых от 30 до 55 грн. за |
Классы (20)
Описать классы для работы с реальными объектами. При этом классы разрабатываются по иерархии согласно варианта.
Первые два класса – это единичные экземпляры объектов, последний – файл для хранения объектов второго класса.
Предусмотреть наличие конструкторов с параметрами по умолчанию и с перечнем параметров. Создать методы для задания значений свойств класса и вывода данных о классе на экран.
В классе-файле предусмотреть методы создания, добавления, просмотра и поиска данных. В программе продемонстрировать работу с экземпляром первого и второго классов и все методы третьего класса.
Демонстрацию оформить в виде перечня команд в меню пользователя.
|
№ варианта |
Задание |
|
|
Человек – Студент – Группа |
|
2, 17 |
Товар – Продукт питания – Набор кондитерских изделий |
|
3, 18 |
Издание – Книга – Набор книг |
|
4, 19 |
Точка – Прямоугольник – Набор игральных карт |
|
5, 20 |
Живое существо – Собака – Свора собак |
|
6, 21 |
Животное – Корова – Стадо коров |
|
7, 22 |
Предмет мебели – Стул – Ассортимент стульев в магазине |
|
8, 23 |
Человек – Работник – Персонал предприятия |
|
9, 24 |
Товар – Ноутбук – Ассортимент ноутбуков |
|
10, 25 |
Игрушка – Конструктор – Ассортимент конструкторов |
|
11, 26 |
Авто – Автобус – Список автобусов автопарка |
|
12, 27 |
Территория – Страна – Страны Европы |
|
13, 28 |
Параллелограмм – Шкаф – Ассортимент шкафов |
|
14, 29 |
Населенный пункт – Город – Города области |
|
15, 30 |
Студент – Читательский билет – Список читателей библиотеки |