Сборник заданий по методам программирования
Вид материала | Учебно-методическое пособие |
- Сборник заданий по методам программирования, 665.53kb.
- Программа учебной дисциплины «Информатика и программирование» Программа дисциплины, 135.24kb.
- Лекция 3 Инструментальное по. Классификация языков программирования, 90.16kb.
- Лекция Языки и системы программирования. Структура данных, 436.98kb.
- Проект "пульс": (описание идеи), 4896.41kb.
- Программа дисциплины Языки и технологии программирования Семестры, 20.19kb.
- Краткий обзор моделей стохастического программирования и методов решения экономических, 59.55kb.
- Программа курса " Азы программирования", 26.19kb.
- Учебно-методический комплекс по дисциплине высокоуровневые методы информатики и программирования, 435.89kb.
- Календарный план учебных занятий по дисциплине «Языки и технология программирования», 43.35kb.
Стек (с помощью указателей)
Задача:
Создается структура данных стек с необходимым набором операций:
- создать пустой стек;
- проверить стек на пустоту;
- добавить элемент в стек;
- удалить элемент из стека;
- просмотреть все элементы стека.
Структура данных создается с использованием указателей.
Указания:
При работе с созданной структурой необходимо в случае добавления элемента выделять память под его хранение, а в случае удаления элемента высвобождать выделенную под его хранение память. Подробное описание стека списка и работы с ним можно найти в [2,3, 12].
Стек (в виде массивов)
Задача:
Создается структура данных стек с необходимым набором операций:
- создать пустой стек;
- проверить стек на пустоту;
- добавить элемент в стек;
- удалить элемент из стека;
- просмотреть все элементы стека.
Под структуру данных выделяется непрерывный участок памяти.
Указания:
При работе с созданной структурой необходимо анализировать ситуацию, когда число элементов в стеке превысит допустимое количество. В этой ситуации необходимо выделять дополнительно необходимое количество памяти, если это возможно. Подробное описание стека и работы с ним можно найти в [2,3, 12].
Реализация задачи о Ханойских башнях
Задача:
Французский математик Эдуард Люка 1883 году предложил задачу-головоломку о Ханойских башнях. Согласно легенде башня Брамы состоит из 64 дисков чистого золота, нанизанных в порядке уменьшения размеров на один из трех алмазных шпилей. При сотворении мира Всевышний поместил диски на первый шпиль и повелел, чтобы жрецы переместили их на третий, перенося каждый раз только один диск и не помещая больший диск на меньший. По имеющимся сведениям жрецы трудятся над этой задачей денно и нощно – как только они закончат, башня рассыплется в прах и наступит конец света. Необходимо определить количество перемещений дисков, необходимое и достаточное для выполнения поставленной задачи.
Указания:
Реализуйте алгоритм, описанный в [8,12,20]. Необходимо использовать структуру данных стек. Создается три стека. Один содержит диаметры дисков в порядке их возрастания, а два других пусты. По окончании работы алгоритма все числа окажутся в порядке возрастания в одном из стеков. В процессе работы подсчитывается число перезаписей чисел из стека в стек (см. [20]).
Реализовать разбор арифметических формул(*)
Задача:
Реализовать разбор арифметических формул с использованием стеков. В формулах присутствуют операции сложения, умножения, вычитания и скобки.
Указания:
Об основах построения трансляторов можно прочитать в [21]
Создать структуру данных ОЧЕРЕДЬ (выделяя непрерывный участок памяти)
Задача:
Создается структура данных очередь с необходимым набором операций:
- создать пустую очередь;
- проверить очередь на пустоту;
- добавить элемент в очередь;
- удалить элемент из очереди;
- просмотреть все элементы очереди.
Под структуру данных выделяется непрерывный участок памяти.
Указания:
При работе с созданной структурой необходимо анализировать ситуацию, когда число элементов в очереди превысит допустимое количество. В этой ситуации необходимо выделять дополнительно необходимое количество памяти, если это возможно. Подробное описание очереди списка и работы с ней можно найти в [2,3, 12].
Создать структуру данных ОЧЕРЕДЬ с использованием указателей
Задача:
Создается структура данных очередь с необходимым набором операций:
- создать пустую очередь;
- проверить очередь на пустоту;
- добавить элемент в очередь;
- удалить элемент из очереди;
- просмотреть все элементы очереди.
Структура данных создается с использованием указателей.
Указания:
При работе с созданной структурой необходимо в случае добавления элемента выделять память под его хранение, и в случае удаления элемента освобождать выделенную под его хранение память. Подробное описание очереди и работы с ней можно найти в [2,3, 12].
Создать структуру данных ДВОИЧНОЕ ДЕРЕВО ПОИСКА, выделяя непрерывный участок памяти.
Задача:
Создается структура данных двоичное дерево поиска с необходимым набором операций:
- создать пустое дерево;
- проверить дерево на пустоту;
- добавить элемент в дерево;
- удалить элемент из дерева;
- просмотреть все элементы дерева;
- реализовать обход дерева.
Структура данных создается с использованием непрерывного участка памяти.
Указания:
При работе с созданной структурой необходимо анализировать ситуацию, когда элемент, вставляемый в дерево, окажется за пределами выделенной памяти. В этой ситуации необходимо выделять дополнительно необходимое количество памяти, если это возможно. Подробное описание двоичного дерева поиска и работы с ним можно найти в [1-9,12]