Системное программное обеспечение
Лабораторный курс
доцента кафедры информационных систем и компьютерных технологий
Пановой Т.В.
Лабораторная работа №1. Динамические структуры и организация данных.
Используя модульное программирование, разработать алгоритмы решения приведенных ниже задач. Алгоритмы решения подзадач, включая ввод и вывод, оформить в виде отдельных подпрограмм; каждую подпрограмму обработки и подпрограммы ввода/вывода оформить в отдельных модулях, подключаемых к основной программе.
Задания
-
Реализовать стек на основе линейного списка для анализа арифметических выражений, записанных по правилам языка PASCAL.
-
Реализовать операции с простой очередью, построенной на основе динамического массива.
-
Реализовать стек на примере вычисления значения арифметического выражения, хранящегося в постфиксной форме записи, в которое входят целые числа и знаки арифметических операций.
-
Реализовать операции с циклическим буфером.
-
Реализовать стек, используя динамический массив, на примере синтаксического контроля правильности расстановки скобок в арифметическом выражении.
-
Реализовать операции с простой очередью, построенной на основе списка.
-
Реализовать дек, используя список, на примере просмотра файлов. Дополнительно использовать два стека для хранения строк текста.
-
Реализовать стек для проверки правильности расстановки скобок трех типов в арифметическом выражении.
-
Реализовать операции с деком, построенным на основе списка.
-
Реализовать стек на примере преобразования в постфиксную форму записи арифметического выражения, в которое входят переменные, целые числа, знаки арифметических действии и круглые скобки.
-
Реализовать простую очередь: содержимое текстового файла переписать в другой файл, удалив при этом слова, длина которых меньше заданной величины.
-
Реализовать операции со стеком, построенным на основе списка.
-
Реализовать простую очередь: содержимое текстового файла переписать в другой файл, перенося при этом в конец каждой строки все входящие в нее знаки препинания.
-
Реализовать операции с очередью с ограниченным входом, построенной на основе списка.
-
Реализовать стек, используя список, на примере форматирования строки текста, заключающегося в преобразовании ее в строку заданной длины, которая не заканчивается пробелом, а лишние пробелы равномерно распределяются между словами текста.
-
Реализовать стек на примере преобразования арифметического выражения из постфиксной формы записи в инфиксную.
-
Реализовать операции с очередью с ограниченным выходом, построенной на основе списка.