1.Номер и тема лабораторной работы.
2.Вариант задания.
3.Текст программы создания бинарного файла.
4. Текст программы обработки бинарного файла.
5. Итоги работы программ:
- содержимое файла.
- результаты обработки бинарного файла.
Контрольные вопросы
1. Понятие файла.
2. Способ описания файла.
3. Описание структурного типа.
4. Стандартные функции для работы с файлами.
5. С помощью какой функции осуществляется подготовка файла для чтения?
6. С помощью, каких функций выполняется чтение данных из файла?
7. Как распознать конец файла данных?
Лабораторная работа № 15
ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ
СТЕКИ и ОЧЕРЕДИ
Цель работы: Приобрести навыки создания и обработки динамических структур данных. Закрепление понятия указателя.
Подготовка к лабораторной работе
При подготовке к лабораторной работе следует повторить следующие вопросы:
1. понятие указателя;
2. описание структурных типов;
3. стандартные функции для работы с динамической памятью: new, delete, malloc(), free().
|
|
4. Изучить разделы учебного пособия «ОСНОВЫ ПРОГРАММИРОВАНИЯ НА С++», стр. 119-124.
Задание к лабораторной работе
В соответствии с вариантом задания разработать программу создания и обработки динамической структуры данных.
Варианты заданий:
Таблица 3
Вариант | Условие задачи |
1. | Составить программу, которая: • обеспечивает первоначальный ввод символьных данных и формирует из них две очереди; • затем формирует из них третью очередь, чередуя символы второй и первой очередей; • все очереди должны быть показаны на экране; |
2. | Составить программу, которая: • обеспечивает первоначальный ввод символьных данных и формирует из них очередь; • затем формирует из нее другую очередь, выбирая в нее каждый третий элемент первой очереди; • все очереди должны быть показаны на экране; |
3. | Составить программу, которая: • обеспечивает первоначальный ввод целых чисел и формирует из них стека; • затем переписывает во второй стек четные числа, а в третий – нечетные; • все стеки должны быть показаны на экране; |
4. | Составить программу, которая: • обеспечивает первоначальный ввод целых чисел и формирует из них стека; • затем переписывает во второй стек четные числа, а в третий – нечетные; • все стеки должны быть показаны на экране; |
5. | Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка содержат: · пункт назначения; · номер рейса; · фамилию и инициалы пассажира; · желаемую дату вылета. Программа должна обеспечивать: • хранение всех заявок в виде очереди; • добавление и удаление заявок; • вывод всех заявок. |
6. | Составить программу, которая: • обеспечивает первоначальный ввод упорядоченной последовательности чисел и формирует из них очередь; • затем позволяет ввести еще одно число и поместить его в очередь, не нарушая принципа упорядоченности; • исходная и полученная очереди должны быть показаны на экране; |
7. | Составить программу, которая: • обеспечивает первоначальный ввод чисел и формирует из них два стека, содержащих по 5 чисел в каждом; • затем формирует из них третий стек, чередуя числа из второго и первого стека, причем числа первого стека необходимо разместить в обратном порядке, а числа второго – в исходном; • все стеки должны быть показаны на экране; |
8. | Составить программу, которая: • обеспечивает первоначальный ввод строки символов и формирует из символов стек; • затем, используя стек, позволяет провести проверку строки на симметричность относительно символа ‘*’; • если этот символ отсутствует, вывести об этом сообщение; |
9. | Составить программу, которая: • обеспечивает первоначальный ввод целых чисел и формирует из них очередь; • затем позволяет исключить числа, которые нарушают условие возрастания; • исходная и полученная очереди должны быть показаны на экране; |
10. | Составить программу, которая: • обеспечивает первоначальный ввод чисел и формирует из них два стека, содержащих по 8 чисел в каждом; • затем формирует из них третий стек из чисел, равных попарно просуммированным значениям из первого и второго стеков. • все стеки должны быть показаны на экране; |
11. | Составить программу, которая: • обеспечивает первоначальный ввод символьных данных и формирует из них очередь; • затем переписывает во вторую очередь только гласные буквы латинского алфавита; • обе очереди должны быть выведены на экран; |
12. | Автоматизированная информационная система содержащий записи следующей структуры: фамилия, имя; знак Зодиака; день рождения (массив из трех чисел); Составить программу, которая: · обеспечивает первоначальный ввод данных и формирует из них стек; · поиск информации о людях, родившихся в одно и тоже число, значение которого введено с клавиатуры и формирование из них очереди; · если таких людей нет, выдать соответствующее сообщение на дисплей. |
13. | Составить программу, которая: • обеспечивает первоначальный ввод целых чисел и формирует из них стека; • затем удалить числа превышающие по значению среднее арифметическое всех чисел; • стек и очередь должны быть выведена на экран; |
14. | Составить программу, которая: • обеспечивает первоначальный ввод вещественных чисел и формирует из них очередь; • затем позволяет исключить числа, которые больше заданного с клавиатуры числа и переписать их в стек; • исходная и полученная очереди, а также стек должны быть показаны на экране |
15. | Составить программу, которая: • обеспечивает первоначальный ввод символьных данных и формирует из них очередь; • затем переписывает в стек только большие буквы латинского алфавита; • очередь и стек должны быть выведены на экран; |
16. | Составить программу, которая: • обеспечивает первоначальный ввод целых чисел и формирует из них стека; • затем переписывает в очередь только четные элементы стека; • стек и очередь должны быть выведена на экран; |
17. | Составить программу, которая: • обеспечивает первоначальный ввод символьных данных и формирует из них стек; • затем переписывает во второй стек только большие буквы латинского алфавита; • оба стека должны быть выведены на экран; |
18. | Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка содержит: · пункт назначения; · номер рейса; · фамилию и инициалы пассажира; · желаемую дату вылета. Программа должна обеспечивать: · хранение всех заявок в виде очереди; · добавление заявок в очередь; · удаление заявок; · вывод всех заявок. |
19. | Составить программу, которая: • обеспечивает первоначальный ввод предложения и формирует из символов предложения очередь; • затем, как только в предложении встречается пробел, все символы переписываются в стек. • полученный стек должен быть выведен на экран |
20. | Составить программу, которая: • обеспечивает первоначальный ввод целых чисел и формирует из них очередь; • затем позволяет исключить числа, которые нарушают условие убывания; исходная и полученная очереди должны быть показаны на экране |
21. | Составить программу, которая: • обеспечивает первоначальный ввод чисел и формирует из них два стека, содержащих по 6 чисел в каждом; • затем формирует из них третий стек, чередуя числа из второго и первого стека; • все стеки должны быть показаны на экране; |
22. | Составить программу, которая: • обеспечивает первоначальный ввод строки символов и формирует из символов стек; • затем, используя стек, позволяет провести проверку строки на симметричность относительно символа ‘-’; • если этот символ отсутствует, вывести об этом сообщение; |
23. | Картотека в бюро ремонта квартир организована как очередь. Сведения о каждой квартире содержат: · количество комнат; · адрес. · дата подачи заявления на ремонт; Составить программу, которая обеспечивает: · начальное формирование картотеки; · ввод новой заявки на ремонт; · выбор из картотеки очередника и запись его данных в стек отремонтированных квартир, с заменой дате подачи заявки на дату окончания ремонта; · вывод очереди заявок и стека отремонтированных квартир. |
24. | Составить программу, которая: • обеспечивает первоначальный ввод символьных данных и формирует из них очередь; • затем переписывает во вторую очередь только большие буквы латинского алфавита; • обе очереди должны быть выведены на экран; |
25. | Автоматизированная информационная система в деканате содержит сведения о контрольных баллах групп. Для каждой группы указывается: . Номер группы; . Средний балл; Составить программу, которая: • обеспечивает первоначальный ввод данных и формирует из них очередь; • затем формирует из нее другую очередь, выбирая в нее элементы первой очереди с баллом меньшим введенного с клавиатуры; • все очереди должны быть показаны на экране; |
|
|
|
|
|
|