СамГУ, практикум по программированию (язык программирования С++)
Узнать стоимость этой работы
23.01.2026, 18:57

Требования по выполнению лабораторных работ

В ходе выполнения ЛР студент должен написать программный код на ЯП C++, выполняющий задание на ЛР. Далее подробно описаны требования по выполнению каждой этапа ЛР.

1.1 Программный код

В ходе выполнения ЛР для получения зачета студент обязан написать программный код, выполняющий задание на ЛР. К программному коду предъявляются следующие требования:

1) переменные должны объявляться и инициализироваться по мере их надобности;

2) именование переменных должно быть осмысленным;

3) одну треть кода программы должны составлять комментарии;

4) код должен быть аккуратно оформлен (отступы, "лесенка" и т.д.);

5) код не должен использовать операторов break, continue и go to;

6) код должен производить форматированный вывод результатов;

7) код должен запрашивать пользователя входные данные;

8) код должен иметь базовый уровень проверки входных данных;

9) программа должна позволять повторный запуск алгоритма при положительном ответе пользователя на запрос о повторном выполнении.

 

Лабораторная работа №1

Задание на ЛР 1

1. Реализовать одно консольное приложение с функциональностью согласно вариантам.

Особенности:

- алгоритм должен быть реализован без использования функций из специальных библиотек;

- для задания массива не допускается использование статических массивов и шаблона класса vector;

- при вводе неправильного входного значения программа должна повторно его запрашивать.

Варианты для второго пункта задания приведены в таблице 2.1.

Таблица 2.1 - Варианты задания на ЛР № 1

Вариант 1

Циклический сдвиг элементов массива на k позиций влево. Входные данные: размер массива и массив. Выходные данные: обработанный массив.

Вариант 2

Не используя других массивов, переставить элементы целочисленного массива в обратном порядке. Входные данные: размер массива и массив. Выходные данные: обработанный массив.

Вариант 3

Не используя дополнительный массивов, "сожмите" массив, содержащий нулевые элементы, передвинув нулевые элементы в конец массива. Входные данные: размер массива и массив. Выходные данные: обработанный массив.

Вариант 4

Не используя дополнительный массивов, "сожмите" массив заменив каждый k-ый элемент на 0, передвинув нулевые элементы в конец массива. Входные данные: k, размер массива и массив. Выходные данные: обработанный массив.

Вариант 5*

Замените на ноль значения всех элементов двумерного массива, расположенных на главной и на побочной диагоналях. Входные данные: размеры массива и массив. Выходные данные: обработанный массив.

Вариант 6

Подсчитать число элементов, больших среднего значения всех элементов массива. Входные данные: размер массива и массив. Выходные данные: число элементов, удовлетворяющих условию задачи.

Вариант 7*

Подсчитать количество различных значений в массиве. Входные данные: размер массива и массив. Выходные данные: число элементов, удовлетворяющих условию задачи.

Вариант 8

Подсчитать количество вхождений числа k в массиве. Входные данные: k, размер массива и массив. Выходные данные: число вхождений.

Вариант 9**

Подсчитать количество вхождений подмассива в массив. Входные данные: размер массива, массив, размер подмассива и подмассив. Выходные данные: число вхождений.

Вариант 10*

Найти координаты "седловой точки" двумерного массива. Входные данные: размеры массива и массив. Выходные данные: координаты.

Вариант 11**

Транспонирование матрицы без дополнительных массивов. Входные данные: размеры матрицы и матрица. Выходные данные: транспонированная матрица.

Вариант 12*

За один проход двумерного массива найти максимальное и минимальное значения. Входные данные: размеры матрицы и матрица. Выходные данные: минимальное и максимальное значения.

Вариант 13*

Подсчитать количество вхождений каждого элемента подмассива в массив. Входные данные: размер массива, массив, размер подмассива и подмассив. Выходные данные: массив  вхождений.

Вариант 14*

Найти наиболее часто встречающийся элемент массива. Входные данные: размер массива и массив. Выходные данные: элемент и количество вхождений.

Вариант 15**

Найти элементы подмассива, которые не встречаются в массиве. Входные данные: размер массива и массив. Выходные данные: массив элементов подмассива, отсутствующих в основном массиве.

Вариант 16

Посчитать количество четных и нечетных чисел в целочисленном массиве. Входные данные: размер массива и массив. Выходные данные: количество четных и нечетных чисел.

Вариант 17

Рассчитать след матрицы и заменить все ее элементы, которые меньше этого значения на -1. Входные данные: размеры массива и массив. Выходные данные: обработанный массив.

Вариант 18*

Сдвинуть элементы массива, чьи индексы соответствуют значениям последовательности Фибоначчи в конец массива. Входные данные: размеры массива и массив. Выходные данные: обработанный массив.

 

Лабораторная работа №2

Задание на ЛР 2

Реализовать консольное приложение, предназначенное для приближённого вычисления суммы бесконечного числового ряда подряд (без повторного запуска алгоритма суммирования), выбранного согласно номеру варианта. Входные данные: параметр x и параметр α, характеризующий точность вычисления ряда. Выходные данные: последовательность итераций, а точнее номер итерации (n), текущий член ряда (an), текущая частичная сумма (Sn), погрешность вычисления заданной текущей частичной суммы (αn).

Особенности:

- необходимо учесть два возможных варианта значений параметра α: точность вычислений (положительное значение с плавающей точкой) или число слагаемых ряда для суммирования (целочисленное положительное значение);

- данные выводятся после каждой итерации, т.о. данные будут выводиться столько раз, сколько членов ряда было просуммировано;

- каждая итерация выводится с новой строки, при выводе используются краткие обозначения переменных;

- если значение x совпадает с предыдущим, повторное вычисление рассчитанных ранее членов ряда и частичных сумм не производится, а заимствуется из предыдущего расчета.

- при вводе неправильного входного значения программа должна повторно его запрашивать;

- для вариантов 4, 8, 9, 16 оценку точности осуществлять для самого ряда а не для итогового выражения S.Варианты приведены в таблице 3.1.

Таблица 3.1 - Варианты задания на ЛР № 2

 

Лабораторная работа №3

Задание на ЛР 3

Написать консольное приложение, предназначенное для сортировки целочисленного вектора стандартными средствами и собственной функцией, реализующей алгоритм сортировки согласно варианту. Входные данные: количество элементов, способ ввода входного вектора, вектор (при ручном вводе). Выходные данные: отсортированные массивы (стандартными средствами и собственная реализация), время работы библиотечной и реализованной функций сортировок, ускорение библиотечной сортировки.

Особенности:

- должна присутствовать возможность выбора исходного (сортируемого) вектора: вводимый с клавиатуры или генерируемый согласно варианту (два возможных для выбора типа генерируемых данных — третий столбец таблицы 4.1);

- в случае, если число элементов вектора менее некоторого разумного значения, исходный и отсортированные двумя методами векторы должны выводиться на экран для сравнения и проверки правильности результатов сортировки;

- в случае, если число элементов вектора более некоторого разумного значения, должны выводиться на экран для сравнения и проверки правильности результатов сортировки некоторое количество элементов исходного и отсортированных двумя методами векторов.

Варианты приведены в таблице 4.1.

Таблица 4.1 Варианты задания на ЛР № 3

Вариант 1

Сортировка вставками, быстрая сортировка

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 2

Сортировка вставками, сортировка слиянием

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 3

Сортировка вставками, пирамидальная сортировка

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 4

Сортировка выбором, быстрая сортировка

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 5

Сортировка выбором, сортировка слиянием

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 6

Сортировка выбором, пирамидальная сортировка

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 7

Сортировка пузырьком, быстрая сортировка

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 8

Сортировка пузырьком, сортировка слиянием

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 9

Сортировка пузырьком, пирамидальная сортировка

Строго случайные данные и «почти отсортированные» случайные данные

Вариант 10

Сортировка вставками, сортировка Шелла

Строго случайные данные и «отсортированные наоборот» случайные данные

Вариант 11

Сортировка выбором, сортировка Шелла

Строго случайные данные и «отсортированные наоборот» случайные данные

Вариант 12

Сортировка пузырьком, сортировка Шелла

Строго случайные данные и «отсортированные наоборот» случайные данные

Вариант 13

Сортировка Шелла, быстрая сортировка

Строго случайные данные и «отсортированные наоборот» случайные данные

Вариант 14

Сортировка Шелла, сортировка слиянием

Строго случайные данные и «отсортированные наоборот» случайные данные

Вариант 15

Сортировка Шелла, пирамидальная сортировка

Строго случайные данные и «отсортированные наоборот» случайные данные

Вариант 16

Сортировка слиянием и быстрая сортировка с разделением на 3 части

Строго случайные данные и случайные данные с малым числом уникальных значений

Вариант 17

Пирамидальная сортировка и быстрая сортировка с разделением на 3 части

Строго случайные данные и случайные данные с малым числом уникальных значений

Вариант 18

Быстрая сортировка и быстрая сортировка с разделением на 3 части

Строго случайные данные и случайные данные с малым числом уникальных значений

 

Лабораторная работа №4

Задание на ЛР 4

Реализовать одно консольное приложение с функциональностью согласно вариантам.

Особенности:

- входные данные должны извлекаться из файла;

- выходные данные должны помещаться в файл.

Варианты задания приведены в таблице 5.2.

Таблица 5.2 - Варианты основного задания на ЛР № 3

Вариант 1

В строке удалить пробелы между первым и вторым вопросительным знаком. Входные данные: строка. Выходные данные: строка.

Вариант 2

Перевести десятичное число в данную систему счисления. Входные данные: число в формате строки и система счисления. Выходные данные: число в формате строки.

Вариант 3*

В матрице из букв найти заданное слово. Входные данные: матрица символов. Выходные данные: индексы начала слова и его расположение. Особенности: слово может располагаться и по вертикали, и по горизонтали.

Вариант 4*

Вывести слова строки в обратном порядке. Входные данные: строка. Выходные данные: строка.

Вариант 5

Отсортировать массив строк по алфавиту. Входные данные: массив строк. Выходные данные: массив строк. Особенности: учитывать только первый символ.

Вариант 6

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

Вариант 7*

Заменить в самом длинном слове строки буквы 'a' на 'b'. Входные данные: строка. Выходные данные: строка.

Вариант 8

Определить длину самого короткого слова в строке. Входные данные: строка. Выходные данные: длина слова.

Вариант 9*

Заменить три последних символа у слов, больших определенной длины. Входные данные: строка и длина слова. Выходные данные: строка.

Вариант 10

Посчитать процентное соотношение строчных и прописных букв. Входные данные: строка. Выходные данные: соотношение.

Вариант 11*

Удалить из строки слово заданной длины. Входные данные: строка и длина слова. Выходные данные: строка.

Вариант 12

Определить частоту встречаемости символа в строке. Входные данные: строка и символ. Выходные данные: частота встречаемости.

Вариант 13*

Определить, является ли строка палиндромом. Входные данные: строка и символ. Выходные данные: заключение о принадлежности палиндрому.

Вариант 14*

Замена подстроки в строке. Входные данные: исходная строка, строка, которую нужно заменить, и строка для вставки. Выходные данные: строка.

Вариант 15

Вывести строки из массива строк, в которых заданное слово отсутствует. Входные данные: массив строк и заданное слово. Выходные данные: строки с заданным словом.

Вариант 16

Отфильтровать строку от чисел. Входные данные: строка. Выходные данные: строка без чисел и массив чисел.

Вариант 17*

Заменить первый символ у слов, меньших определенной длины. Входные данные: строка и длина слова. Выходные данные: строка.

Вариант 18

Вывести строки из массива строк, в которых содержится заданное слово. Входные данные: массив строк и заданное слово. Выходные данные: строки с заданным словом.

 

Лабораторная работа №5

Задание на ЛР 5

Реализовать консольное приложение, предназначенное для работы с массивом экземпляров класса, который имеет в качестве переменной класса объект другого класса. Входные данные: количество элементов массива, экземпляры класса. Выходные данные: массив экземпляров класса и массив результатов работы метода по обработке данных.

Особенности:

- у классов должны быть перегружены операторы взятия из потока и помещения в поток;

- должна быть создана функция-член класса, реализующая обработку данных экземпляра класса согласно варианту;

- должна быть реализована возможность выбора чтения из файла или с консоли;

- должна быть реализована возможность выбора записи в файла или вывода в консоль.

Варианты задания приведены в таблице 6.1.

Таблица 6.1 - Варианты основного задания на ЛР № 5

Классы

Формат

Пример

Обработка

1

Данные о температуре

Номер измерения Значение Единица измерения

1 36.6 C

 

Данные о пациенте

ФИО

Возраст

Данные о температуре

Petrov I.I.

18

1 39.6 C

Расчет дозировки жаропонижающего в зависимости от возраста и температуры

2

Данные об оценках

Фамилия Оценка1 Оценка2 Оценка3

Ivanov 3 4 5

Вывод средней оценки

Данные о группе

Номер группы

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

Данные об оценках

6101

2

Ivanov

3 4 5

Petrov 5 5 5

Определение средней успеваемости по группе

3

Информация о перемещении лифта

Время(чч:мм) Этаж вызова Этаж назначения

20:30 1 9

Вывод числа пройденных этажей

Данные ЖКХ

Модель

Количество перемещений за день

Массив с перемещениями

LP201

2

20:30 1 9

21:00 9 6

Расчет количества пройденных этажей за день

4

Многоугольник

Число сторон Длины сторон

4 1 2 3 5.5

Вывод периметра многоугольника

Данные о межевании

Название нас. пункта

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

Многоугольники

Новосемейкино

3

4 1 2 3 5.5

Вывод длины заборов

5

Данные о скорости

Номер измерения Скорость Единица измерения

2 60 km/h

Вывод скорости в км/ч и м/с

Данные о гонщиках

ФИО

Количество измерений

Данные о скорости

Petrov I.I.

2

1 60 km/h

2 40 m/h

Определение лучшего круга

6

Данные о давлении в шинах

Дата(дд.мм) Давление1 Давление 2 Давление3 Давление4

29.04 2 2 2.1 2.05

Вывод среднего давления

Данные об автомобиле

Марка

Номер

Данные о давлении

BMW

К256ТН 163рус

29.04

2 2 2.1 2.05

Вывод среднего давления

7

Информация о рейсе электрички

Пункт отправления Время (чч:мм) Пункт прибытия Время (чч:мм)

МСК 08:22 СПг 10:56

Вывод времени в пути

Расписание поездов

Дата

Количество рейсов

Информация о рейсе

26.04

2

МСК 08:22 СПг 10:56

СМР 06:30 СЫЗ 07:56

Пункты назначения самого короткого рейса

8

Курс валюты

Дата Валюта Курс

25.04 USD 35.6830

Перевод из рублей в указанную валюту

Данные о закупках

Номер договора

Сумма договора в валюте

Курс валюты

12

3600

25.04

USD

35.6830

Сумма покупки в рублях

9

Данные о времени работы

Дата (дд.мм) Время прихода (чч:мм) Время ухода (чч:мм)

26.04 09:00 15:00

Вывод времени работы

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

ФИО

Ставка

Данные о времени работы

Petrov I.I.

120

26.04

09:00

15:00

Расчет зарплаты

10

Данные о прибыли

Номер филиала

Число дней

Прибыль

1 5 100 78.5 1000 0 1000

Вывод числа дней, когда 0 прибыли

Данные о компании

Название компании

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

Данные о прибыли филиалов

StroyDom

2

1 2 200 400

2 200 0

Определение номера филиала с максимальной выручкой

11

Данные о разговорах

Число разговоров

Время разговоров (с)

3 10 25 60

Вывод числа полных минут в каждом из разговоров

Данные об абоненте

ФИО

Тарифная ставка

Данные о разговорах

Petrov I.I.

2 15 75

Расчет стоимости обслуживания согласно тарифа и звонков

 



Узнать стоимость этой работы



АЛФАВИТНЫЙ УКАЗАТЕЛЬ ПО ВУЗАМ
Найти свою работу на сайте
АНАЛИЗ ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ
Контрольные, курсовые, дипломы из разных ВУЗов
БУХГАЛТЕРСКИЙ УЧЕТ, АНАЛИЗ И АУДИТ
Контрольные, курсовые, дипломы из разных ВУЗов
ВЫСШАЯ МАТЕМАТИКА
Контрольные работы из разных ВУЗов
МЕНЕДЖМЕНТ И МАРКЕТИНГ
Контрольные, курсовые, дипломы из разных ВУЗов
МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ, ТЕОРИЯ ИГР
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
ПЛАНИРОВАНИЕ И ПРОГНОЗИРОВАНИЕ
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
СТАТИСТИКА
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТ. СТАТИСТИКА
Контрольные работы из разных ВУЗов
ФИНАНСЫ, ДЕНЕЖНОЕ ОБРАЩЕНИЕ И КРЕДИТ
Контрольные, курсовые, дипломы из разных ВУЗов
ЭКОНОМЕТРИКА
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
ЭКОНОМИКА
Контрольные, курсовые, дипломы из разных ВУЗов
ЭКОНОМИКА ПРЕДПРИЯТИЯ, ОТРАСЛИ
Контрольные, курсовые, дипломы из разных ВУЗов
ГУМАНИТАРНЫЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ДРУГИЕ ЭКОНОМИЧЕСКИЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ЕСТЕСТВЕННЫЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ПРАВОВЫЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ТЕХНИЧЕСКИЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
РАБОТЫ, ВЫПОЛНЕННЫЕ НАШИМИ АВТОРАМИ
Контрольные, курсовые работы
ОНЛАЙН ТЕСТЫ
ВМ, ТВ и МС, статистика, мат. методы, эконометрика