- •Красноярск
- •Федеральное агентство по образованию гоу впо «Сибирский государственный технологический университет»
- •220301 Автоматизация технологических процессов и производств,
- •230201 Информационные системы и технологии,
- •230105 Программное обеспечение вычислительной техники и автоматизированных систем всех форм обучения Красноярск
- •Содержание
- •Введение
- •1 Состав языка
- •1.1 Алфавит языка
- •1.2 Идентификаторы
- •1.3 Ключевые слова
- •1.4 Знаки операций
- •1.5 Константы
- •1.6 Комментарии
- •2.1 Концепция типа данных
- •2.2 Основные типы данных
- •3 Структура программы
- •4 Ввод/вывод
- •5 Переменные и выражения
- •5.1 Переменные
- •5.2 Операции
- •5.3 Выражения
- •6 Базовые конструкции структурного программирования
- •6.1 Оператор «выражение»
- •6.1.1 Задачи для решения на тему «линейные алгоритмы»
- •6.2 Операторы ветвления
- •6.2.1 Условный оператор if
- •6.2.2 Оператор switch
- •6.2.3 Задачи для решения на тему «условные алгоритмы»
- •6.3 Операторы цикла
- •6.3.1 Цикл с предусловием (while)
- •6.3.2 Цикл с постусловием (do while)
- •6.3.3 Цикл с параметром (for)
- •6.3.4 Задачи для решения на тему «сочетание цикла и разветвления»
- •6.4 Операторы передачи управления
- •6.4.1 Оператор goto
- •6.4.2 Оператор break
- •6.4.3 Оператор continue
- •6.4.4 Оператор return
- •6.4.5 Задачи для решения на тему «вложенные циклы (вычисление суммы ряда)»
- •7 Указатели и массивы
- •7.1 Указатели
- •7.1.1 Инициализация указателей
- •7.1.2 Операции с указателями
- •7.2 Ссылки
- •7.3 Массивы
- •7.3.1 Задачи для решения на тему «одномерные массивы»
- •7.3.2 Задачи для решения на тему «двумерные массивы»
- •7.4 Строки
- •7.4.1 Функции стандартной библиотеки
- •7.4.2 Задачи для решения на тему «строки»
- •8.1 Переименование типов (typedef)
- •8.2 Перечисления (enum)
- •8.3 Структуры (struct)
- •8.4 Битовые поля
- •8.5 Задачи для решения на тему «структуры»
- •9 Функции
- •9.1 Объявление и определение функций
- •9.2 Глобальные переменные
- •9.3 Возвращаемое значение
- •9.4 Параметры функции
- •9.5 Передача массивов в качестве параметров
- •9.6 Параметры со значениями по умолчанию
- •9.7 Функции с переменным числом параметров
- •9.8 Рекурсивные функции
- •9.9 Задачи для решения на тему «функции»
- •10 Директивы препроцессора
- •10.1 Директива #include
- •10.2 Директива #define
- •11 Динамические структуры данных
- •11.1 Линейные списки
- •11.2 Стеки
- •11.3 Очереди
- •11.4 Бинарные деревья
- •11.5 Задачи на тему «динамические структуры»
- •Задание на курсовую работу
- •Библиографический список
- •660049, Красноярск, пр. Мира, 82
11.5 Задачи на тему «динамические структуры»
Вариант 1. Сформировать файл из реальных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, меньшие а, затем все числа из отрезка [a, b], и наконец – все остальные числа, сохраняя исходный порядок в каждой из этих групп чисел.
Вариант 2. Используя стек, напечатать содержимое текстового файла, выписывая символы каждой его строки в обратном порядке.
Вариант 3. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все символы, отличные от цифр, а затем все цифры, сохраняя исходный порядок в каждой из этих групп символов.
Вариант 4. В текстовом файле записана без ошибок формула вида: цифра или М(формула, формула) или m(формула, формула), где М – обозначает функцию max, m – min. Вычислить значение данной формулы (например, M(5,m(6,8))=6).
Вариант 5. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать сначала все гласные буквы, затем знаки препинания и наконец - все согласные, сохраняя исходный порядок в каждой из этих групп символов.
Вариант 6. В текстовом файле записана без ошибок формула вида: цифра или R(формула, формула) или L(формула, формула), где R – обозначает функцию взять правое число, L – взять левое число. Вычислить значение данной формулы (например, R(8,R(3,L(4,5)))=4).
Вариант 7. Сформировать файл из натуральных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все однозначные числа, затем двузначные, сохраняя исходный порядок чисел в каждой из этих групп.
Вариант 8. В текстовом файле записан текст, сбалансированный по круглым скобкам. Написать программу, которая для каждой пары, соответствующей открывающей и закрывающей скобок, печатает номера их позиций в тексте, упорядочив пары номеров в порядке возрастания номеров позиций закрывающих скобок. Например, для текста A+(45–F(x)*(B–C)) надо напечатать: 8, 10; 12, 16; 3, 17.
Вариант 9. Сформировать файл из натуральных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, большие b, затем числа из отрезка [a, b], сохраняя исходный порядок каждой из этих групп чисел.
Вариант 10. В текстовом файле записана без ошибок формула вида: цифра или S(формула, формула) или P(формула, формула), где S(a,b)=(a+b) mod 10, P(a,b)=(a*b) mod 10. Вычислить значение данной формулы (например, P(6,S(8,4))=2).
Вариант 11. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все символы, отличные от знаков препинания и цифр, затем все знаки препинания и, наконец – все цифры, сохраняя исходный порядок в каждой из этих групп символов.
Вариант 12. В текстовом файле записана без ошибок формула вида: цифра или m(формула, формула) или p(формула, формула), где m(a,b)=(a–b) mod 10, p(a,b)=(a+b) mod 10. Вычислить значение данной формулы (например, m(9,p(p(3,5),m(3,8)))=6).
Вариант 13. Сформировать файл из натуральных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, делящиеся на 5, затем все нечетные числа, не делящиеся на 5, и, наконец – все четные числа, не делящиеся на 5, сохраняя исходный порядок в каждой из этих групп чисел.
Вариант 14. Сформировать файл из натуральных чисел и за один просмотр файла напечатать его элементы в следующем порядке: сначала все однозначные числа, затем все двузначные. Первая группа чисел выводится в исходном порядке, вторая – в обратном (например, 2,15,7,24,37,8 –> 2,7,8,37,24,15).
Вариант 15. Сформировать файл из символов и за один просмотр файла напечатать его элементы в следующем порядке: сначала все знаки препинания в исходном порядке, затем все согласные в обратном порядке и, наконец – гласные в исходном порядке.
Вариант 16. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, увеличивающую все ключи дерева на число k.
Вариант 17. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу вычисления суммы всех листьев дерева.
Вариант 18. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, определяющую количество вершин k-го уровня дерева.
Вариант 19. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, проверяющую равенство деревьев T1 и T2.
Вариант 20. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, вычисляющую разность максимального и минимального ключей дерева.
