|
Практическая работа 0-5 (2023-04-03) (1). Практическая 0
Варианты заданий для практических № 0, 1, 2, 3, 4, 5
Практическая № 0
Разработать программу, которая вводит фактические данные из таблицы, представленной в Вашем варианте индивидуального задания и выводит на экран таблицу, подобную той, которая находится в индивидуальном задании (включая заголовок и примечания), используя форматный потоковый ввод-вывод (запрещается использовать 2 и более пробелов, идущих подряд). Номер варианта – последняя цифра студенческого Вариант 0 Отдел кадров
| Фамилия
| Инициалы
| Год рожд
| Оклад
| Дата приема на работу
| Иванов
| И.И.
| +1975
| 517.50
| 01.02.2010
| Петренко
| П.П.
| +1956
| 219.10
| 02.03.2020
| Панковский
| М.С.
| +1967
| 300.00
| 12.12.2012
| Примечание: оклад установлен по состоянию на 1 января 2000 года
|
Вариант 1 Фирмы - производители СКБД
| Фирма
| Количество продуктов
| Объем продажи ($)
| Часть рынка (%)
| Дата основания
| Oracle
| + 1
| 2488000000
| 31.1
| 01.02.2010
| IBM
| + 3
| 2392000000
| 29.9
| 02.03.2020
| Microsoft
| + 2
| 1048000000
| 13.1
| 12.12.2012
| Примечание: по данным GartnerGroup за 1999г
|
Вариант 2 Характеристики ПЭВМ
| Процессор
| Частота (Mgz)
| RAM (Mb)
| Тип
| Дата начала производства
| Pentium-III
| 233
| + 16
| C
| 10.10.2020
| AMD-К6
| 166
| + 8
| C
| 11.11.2011
| PowerPC-620
| 2000
| + 16
| R
| 10.10.2010
| Тип: C - CISC-процессор, R - RISC-процессор
|
Вариант 3 Каталог библиотеки
| Автор книги
| Название
| Год выпуска
| Группа
| Дата подписания рукописи
| Сенкевич
| Потоп
| 1978
| Х
| 11.11.2020
| Ландау
| Механика
| 1989
| У
| 11.11.2020
| Дойль
| Сумчатые
| 1990
| C
| 12.12.2010
| Примечание: Х - художественная литература; У - учебная литература; С - справочная литература
|
Вариант 4 Офисные пакеты
| Наименование
| Производитель
| Количество сост. частей
| Цена ($)
| Дата релиза
| Office
| Microsoft
| 4
| 870.99
| 11.01.2011
| SmartSute
| Lotus
| 5
| 1020.99
| 21.12.2012
| StarOffice
| Sun
| 4
| 9.99
| 21.10.2020
| Примечание: возможно бесплатно получить продукт StarOffice через Internet
|
Вариант 5 Сельскохозяйственные культуры
| Наименование
| Тип
| Посевная площадь (га)
| Урожайность (ц/га)
| Дата начала посевной
| Соя
| Б
| 0013000
| 45
| 03.03.2022
| Чумиза
| З
| 0008000
| 17
| 03.04.2022
| Рис
| З
| 0025650
| 24
| 04.03.2022
| Примечание: З - зерновые, Б - бобовые
|
Вариант 6 Ведомость спортивных состязаний
| Фамилия участника
| Код команды
| Количество балов
| Место в итоге
| Дата выступления
| Баландин
| С
| 123.7000
| 2
| 06.06.2022
| Шишков
| Ш
| 79.9800
| 3
| 07.07.2022
| Кравченко
| Д
| 134.8000
| 1
| 07.06.2022
| Примечание: Д - "Динамо", С - "Спартак", Ш - "Шахтер"
|
Вариант 7 Ведомость общественного транспорта
| Вид транспорта
| маршрута
| Протяженность маршрута (км)
| Время в дороге (мин)
| Дата
| Тр.
| 12
| 27.550
| 75
| 03.04.2022
| Т-с
| 17
| 13.600
| 57
| 03.04.2020
| А
| 12а
| 57.300
| 117
| 04.03.2022
| Примечание: Тrр - трамвай, Тс - троллейбус, А - автобус
|
Вариант 8 Сельскохозяйственные предприятия
| Название
| Вид собственности
| Площадь земли (га)
| Кол. работников
| Дата документа
| Заря
| Д
| 0300
| 120
| 07.03.2022
| Росинка
| К
| 0174
| 27
| 03.07.2022
| Петренко
| Ч
| 0056
| 6
| 08.08.2021
| Вид собственности: Д - государственная, Ч - частная, К - кооперативная
|
Вариант 9 Прайс-лист
| Наименование товара
| Тип товара
| Цена за 1 шт (грн)
| Минимальное количество
| Дата
| Папка
| К
| 4.75000
| 4
| 03.07.2022
| Бумага
| К
| 13.90000
| 10
| 03.04.2021
| Калькулятор
| О
| 411.00000
| 1
| 04.03.2022
| Примечание: К – канцтовары, О – оргтехника
|
Вариант 00 Буддийские монастыри Японии периода Нара
| Название
| Школа
| Количество монахов
| Площадь земли (га)
| Дата
| Тодайдзи
| Т
| 220
| 368.8
| 03.07.2022
| Якусидзи
| С
| 50
| 54.07
| 03.04.2021
| Дайандзи
| Д
| 10
| 12.20
| 04.03.2022
| Примечание: Т - Тэндай; С - Сингон; Д – Дзедзицу
|
Практическая № 1 (Массив структур)
Реализовать массив структурыTable[10],тип элементов которого Recordописан в соответствии с табличными данными из варианта практической работы №0 (вариант таблицы последняя цифра студенческого). Номер варианта – ПРЕДпоследняя цифра студенческого
№ варианта
| Задание
| 0
| Поменять местами записи (элементы массива структур), содержащие минимальную и максимальную даты
| 1
| Добавить новую запись (элемент массива структур), содержащие минимальные числовые значения в столбцах
| 2
| Добавить новую запись (элемент массива структур), содержащие максимальные числовые значения в столбцах
| 3
| Поменять местами записи (элементы массива структур), содержащие минимальный и максимальный номер месяца даты
| 4
| Поменять местами записи (элементы массива структур), содержащие минимальный и максимальный номер дня даты
| 5
| Изменить записи (элементы массива структур), содержащие вводимое с клавиатуры строковое значение, значение на среднеарифметическое значение в соответствующих числовых столбцах
| 6
| Изменить записи (элементы массива структур), содержащие вводимое с клавиатуры строковое значениев поле фамилия, на значение «Русаков»
| 7
| Поменять местами записи (элементы массива структур), содержащие минимальное и максимальное числовое значение столбца
| 8
| Удалить все записи (элементы массива структур), содержащее введенное строковое значение
| 9
| Удалить все записи (элементы массива структур), содержащее введенное значениедаты
|
Практическая № 2 (Динамические массивы)
Используя функцию malloc() / calloc() создать динамический массив A, элементами которого будут структура Record, созданная в практической работе №1. В массив А добавить столько соответствующих записей из массива Table[], сколько указано в качестве целочисленного значения поля (элемента структуры).
Используя функцию newсоздать массив Ви скопировать 10 записей массива А. Остальные записи в массиве А удалить. Вывести на экран адреса первого элемента массива Тable, массива А и массива В. Вывести на экран в виде таблицы:
адрес А[i], значение A[i]->строковое_поле, адрес В[i], значение В[i]->строковое_поле. Освободить память. Практическая № 3(Динамические связные списки)
Реализовать динамический связный список, информационная часть которого представляет собой структуру Record, разработанную при выполнении практической работы №1. Создание списка (инициализацию значений элементов структуры) выполнить на основе данных массива Table, последовательно сохранив все элементы массива в списке 2 раза.
Вывести на экран значения полей элементов списка, включая значение головы списка (адрес первого элемента), адрес в памяти каждого элемента списка, значения информационной области, значение поля next (и поля prev –в случае двунаправленного списка).
Выполнить задание варианта.
Повторно вывести значения элементов списка, как это описано выше.
Освободить выделенную память. Номер варианта – ПРЕДпоследняя цифра студенческого
№
| Типсвязного списка
| Элементструктуры Record
| Действие
| 1
| Однонаправ-ленный
| Строковоеполе
| Найти элементы списка, по строке, введенной с клавиатуры, и удалить найденные элементы списка.
| 2
| Двунаправ-ленный
| Вещественное поле
| Найти элементы списка, по вещественному числу, введенному с клавиатуры, и удалить найденные элементы списка.
| 3
| Однонаправ-ленныйкольцевой
| Дата
| Найти элементы списка, у которых полностью совпадает дата, введенная с клавиатуры, и удалить найденные элементы списка.
| 4
| Двунаправ-ленныйкольцевой
| Строковоеполе
| Найти элементы списка, по строке, введенной с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры, расположив его ПЕРЕД каждым таким найденным элементом списка.
| 5
| Однонаправ-ленный
| Вещественное поле
| Найти элементы списка, у которых совпадает вещественное значение поля, со значением, введенным с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры, расположив его ПЕРЕД каждым таким найденным элементом списка.
| 6
| Двунаправ-ленный
| Целочисленноезначение
| Найти элементы списка, у которых совпадает целочисленное значение поля, со значением, введенным с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры, расположив его ПЕРЕД каждым таким найденным элементом списка.
| 7
| Однонаправ-ленныйкольцевой
| Дата
| Найти элементы списка, у которых совпадает месяц из поля даты, со значением, введенным с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры, расположив его ПЕРЕД каждым таким найденным элементом списка.
| 8
| Двунаправ-ленныйкольцевой
| Строковоеполе
| Найти элементы списка, по строке, введенной с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры ПОСЛЕ каждого найденного элемента списка.
| 9
| Однонаправ-ленный
| Целочисленноезначение
| Найти элементы списка, у которых совпадает целочисленное значение поля, со значением, введенным с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры ПОСЛЕ каждого найденного элемента списка.
| 0
| Двунаправ-ленный
| Дата
| Найти элементы списка, у которых совпадает месяц из поля даты, со значением, введенным с клавиатуры, и добавить новый элемент списка, введя его с клавиатуры ПОСЛЕ каждого найденного элемента списка.
|
Практическая № 4(Файлы) Первый этап.В рамках выполнения практической работы необходимо создать два файла с именами:
<фамилия>.txtи <фамилия>.bin– соответственно, записанные в текстовом и бинарном формате.
Текстовый формат
1. Записать 3 записи (три строки (records) из таблицы практики 0) в файл в текстовом формате.
2. Считать 3 записи из файла в текстовом формате и отобразить.
3. Просмотреть содержимое файла в текстовом редакторе и проанализировать результат. Бинарный формат
1. Записать 3 записи (три строки (records) из таблицы практики 0) в файл в текстовом формате.
2. Считать 3 записи из файла в текстовом формате и отобразить.
3. Просмотреть содержимое файла в текстовом редакторе и проанализировать результат.
Сравнить содержимое созданных файлов.
Второй этап
Добавить новую запись (четвертую) в указанный существующий файл, вводя данные с клавиатуры. Выполнить задание, согласно варианта в указанном файле, изменения сохраняются в файле.
Номер варианта – ПРЕДпоследняя цифра студенческого
Вариант
| Задание
| Обрабатываемый файл
| 1
| Поменять местами строковые значения в 2 и 4 записях файла. Данные считываются из файла.
| Бинарный
| 2
| Поменять местами строковые значения в 3 и 4 записях файла. Данные считываются из файла.
| Текстовый
| 3
| Заменить на удвоенное значение все четные целочисленные значения в файле.
| Бинарный
| 4
| Поменять местами записи (элементы массива структур), содержащие минимальный и максимальный номер дня даты
| Текстовый
| 5
| Изменить записи файла, содержащие вводимое с клавиатуры строковое значение, увеличив соответствующую дату на 1
| Бинарный
| 6
| У вещественного поля поменять знак на противоположный.
| Текстовый
| 7
| Поменять местами записи в файле, содержащие минимальное и максимальное числовое значение столбца
| Бинарный
| 8
| Поменять в файле местами месяц и день у дат, у которых день четный
| Текстовый
| 9
| Поменять местами значения поля даты в 2 и 4 записях файла. Данные считываются из файла.
| Бинарный
| 0
| Поменять местами значения поля даты в 3 и 4 записях файла. Данные считываются из файла.
| Текстовый
|
Практическая № 5 (Классы и объекты) Задание;
Создать класс clDate (День, Месяц, Год – private) совместимый со структурой MyDate, созданной на практической работе № 1. Реализовать конструктор по умолчанию, а также конструкторы с параметрами для инициализации на основе различных типов данных,диструктор (при необходимости), setDate(), getDate() для работы ссlDate Создать статические объекты класса cldDate, использовав каждый созданный конструктор класса clDate, а также динамический объект. Создать объект с именем DCкласса clDate на основе конструктора копирования. Увеличить дату на 5 (дней). Произвести контроль допустимости новой даты (если новая дата не допустима – вывести сообщение и оставить прежнюю).
Создать класс сlRecord на основе типа (структуры Record) первой практической. В качестве строкового типа использовать string Каждое из четырех полей записи Record (члены-данные класса) разместить
Первое поле записи – раздел видимости по умолчанию Второе поле записи – в public Третье поле записи – в private Четвертое поле записи – в protected Пятое поле записи (объект класса clDate) – в protected
Создать конструктор по умолчанию, конструктор (имя файла), конструктор (Record*), при необходимости – методы чтения/записи значений данных-членов класса Создать 1 статический и 1 динамический объекты класса clRecord Создать массив объектов класса clRecord Проинициализировать массив объектов значениями строк таблицы из практической 0.
|
|
|