Для студентов МГТУ им. Н.Э.Баумана по предмету Программирование на основе классов и шаблоновЛабораторная работа №8Лабораторная работа №8
2023-05-142023-05-14СтудИзба
Лабораторная работа 8: Лабораторная работа №8 вариант 6
Описание
ИУ5. 2 семестр. 2023 год.
Отчёт по лабораторной работе №8 (включает код программы). Стандартная библиотека шаблонов.
Прошёл проверку преподавателей Прав* А. Д. и Плуж* О. Ю.
Постановка задачи:
Методика и порядок выполнения работы. Перед выполнением практической работы каждый студент получает индивидуальные задания. Демонстрация выполнения практической работы происходит только после выполнения всех индивидуальных заданий. Порядок выполнения работы:
Дан текстовый файл. Запишите в другой файл содержимое исходного файла, заменяя все цифры на '*'.
Создать массив объектов типа Time с помощью контейнера vector в main() и сразу занести в него информацию о шести датах: (1, 2, 63), (14, 57, 19), (7, 32, 20), (5, 13, 23), (10, 19, 45), (19, 9, 59). Вывести массив на экран таким образом, чтобы каждая дата выводились в отдельной строке. Создайте новый вектор, в который запишите даты первого вектора, которые относятся к ночи (с 0 до 5 часов). Выведите на экран второй вектор. Напишите функцию вывода массива на экран.
Создать список объектов типа Inventory с помощью контейнера list в main() и сразу занести в него информацию о шести объектах: ("Отверка",99, 0), ("Молоток",430, 10), ("Гайки",70, 100), ("Профиль",540, 0), ("Уголок",230, 9), ("Доска",350, 17). Вывести список на экран таким образом, чтобы каждый товар выводился в отдельной строке:
Отверка - 99 - 0
Молоток - 430 - 10
Гайки - 70 - 100
Профиль - 540 - 0
Уголок - 230 - 9
Доска - 350 - 17
Создайте новый список, в который объекты первого списка, у которых количество равно нулю. Выведите на экран второй список. Напишите функцию вывода списка на экран.
m1 = {'яблоки':100, 'груши':13, 'арбузы':20, 'картофель':15, 'алыча':22}
m2 = {'яблоки':150,'груши':18,'ананасы':45, 'апельсины':30, 'киви':35}
Распечатать содержимое отображений в консоли, используя функцию.
Отчёт по лабораторной работе №8 (включает код программы). Стандартная библиотека шаблонов.
Прошёл проверку преподавателей Прав* А. Д. и Плуж* О. Ю.
Постановка задачи:
Методика и порядок выполнения работы. Перед выполнением практической работы каждый студент получает индивидуальные задания. Демонстрация выполнения практической работы происходит только после выполнения всех индивидуальных заданий. Порядок выполнения работы:
- Проработать примеры, приведенные в лабораторной работе.
- При выполнении заданий 1, 2, 3 написать программу с использованием строковых переменных типа string. Номер варианта - номер студента по списку в журнале (6 вариант).
- При выполнении заданий 4, 5, 6, 7, 8 написать программу с использованием контейнера vector. Номер варианта – остаток от деления на 10 номера студента по списку в журнале плюс 1 (6 % 10 + 1 = 7 -> 7 вариант).
Индивидуальное задание №1.
Пользователь вводит текст. Переставить в нем первую букву первого предложения и первую букву последнего предложения (сначала найти номер последней точки без учета точки в конце всего текста).Индивидуальное задание №2
Пользователь вводит некоторую последовательность символов. Образовать новую последовательность, удвоив каждый символ «=» и пропустив пробелы.Индивидуальное задание №3.
Для тестирования программы создать текстовый файл в любом редакторе (например, в блокноте) для тестирования программы и поместить его в каталог проекта. Написать программу, согласно варианту (вариант определяется по списку преподавателя). Оформить обработку строки в виде функции. Произвести обработку каждой строки исходного файла, используя полученную функцию. Полученный результат вывести на экран.Дан текстовый файл. Запишите в другой файл содержимое исходного файла, заменяя все цифры на '*'.
Индивидуальное задание №4.
Создать вектор из 6-ти вещественных случайных чисел от (-100 до 100). Распечатать. Посчитать сумму всех элементов массива. Удалить из вектора элемент с индексом 2 и снова распечатать вектор. Переделать программу: печатать вектор с помощью функции.Индивидуальное задание №5.
Создайте класс с именем Time, содержащий три закрытых поля типа int, предназначенные для хранения часов, минут и секунд. (Подсказка: не забудьте для класса Time определить операторы < и ==). Один из конструкторов класса должен инициализировать поля нулевыми значениями, а другой конструктор — заданным набором значений. Создайте метод класса, который будет выводить значения полей на экран в формате 11:59:59.Создать массив объектов типа Time с помощью контейнера vector в main() и сразу занести в него информацию о шести датах: (1, 2, 63), (14, 57, 19), (7, 32, 20), (5, 13, 23), (10, 19, 45), (19, 9, 59). Вывести массив на экран таким образом, чтобы каждая дата выводились в отдельной строке. Создайте новый вектор, в который запишите даты первого вектора, которые относятся к ночи (с 0 до 5 часов). Выведите на экран второй вектор. Напишите функцию вывода массива на экран.
Индивидуальное задание №6.
Создать вектор из 6-ти вещественных случайных чисел от (-100 до 100). Распечатать. Посчитать сумму всех элементов массива. Удалить из вектора элемент с индексом 2 и снова распечатать вектор. Переделать программу: печатать вектор с помощью функции.Индивидуальное задание №7. Выполнить задания, используя контейнер list.
Создать класс Inventory для учета товаров на складе. Класс содержит следующие закрытыe компоненты: string item – наименование товара, double cost – стоимость, int on_hand – количество. (Подсказка: не забудьте для класса Inventory определить операторы < и ==). Один из конструкторов класса должен инициализировать поля нулевыми значениями, а другой конструктор — заданным набором значений.Создать список объектов типа Inventory с помощью контейнера list в main() и сразу занести в него информацию о шести объектах: ("Отверка",99, 0), ("Молоток",430, 10), ("Гайки",70, 100), ("Профиль",540, 0), ("Уголок",230, 9), ("Доска",350, 17). Вывести список на экран таким образом, чтобы каждый товар выводился в отдельной строке:
Отверка - 99 - 0
Молоток - 430 - 10
Гайки - 70 - 100
Профиль - 540 - 0
Уголок - 230 - 9
Доска - 350 - 17
Создайте новый список, в который объекты первого списка, у которых количество равно нулю. Выведите на экран второй список. Напишите функцию вывода списка на экран.
Индивидуальное задание №8.
Создайте отображение map и занесите в него пары занести в него информацию о 6 объектах: ("Иванов",99), ("Петров",430), ("Семенов",70), ("Котов",540), ("Белых",230), ("Черных",350). Выведите содержимое отображения на экран. Увеличьте значение каждой пары на единицу и снова распечатайте отображение.Индивидуальное задание №9.
Необходимо объединить два прайс-листа (задаются в виде отображений) с тем условием, что если наименование товара присутствует в обоих прайсах, то в итоговый прайс помещается тот, чья цена выше.m1 = {'яблоки':100, 'груши':13, 'арбузы':20, 'картофель':15, 'алыча':22}
m2 = {'яблоки':150,'груши':18,'ананасы':45, 'апельсины':30, 'киви':35}
Распечатать содержимое отображений в консоли, используя функцию.
Характеристики лабораторной работы
Учебное заведение
Семестр
Номер задания
Вариант
Просмотров
22
Покупок
1
Качество
Идеальное компьютерное
Размер
167,37 Kb
Список файлов
- report_8.docx 167,37 Kb