- •1. Понятие и состав языка программирования. Машинные и символьные языки.
- •2. Особенности процедурных языков программирования. Примеры языков.
- •3. Общая характеристика непроцедурных языков программирования.
- •4. Понятие и состав системы программирования.
- •5. Компилятор. Назначение и состав.
- •7. Описание алгоритмических языков. Формулы бнф.
- •8. Описание алгоритмических языков. Синтаксические диаграммы.
- •9. Типы ошибок в программах. Понятие отладки и отладчиков.
- •10. Операторы ввода из стандартного файла.
- •11. Операторы вывода в стандартный файл.
- •12. Целый тип данных.
- •13. Вещественный тип данных.
- •14. Булевский тип.
- •15. Символьный тип.
- •16. Структура программы на Паскаль. Комментарии.
- •17. Понятие метки. Раздел описания меток.
- •18. Раздел описания констант.
- •19. Раздел описания типов.
- •20. Раздел описания переменных.
- •21. Правила записи выражений. Порядок старшинства операций.
- •22. Понятие оператора. Раздел оператор. Простые и сложные операторы.
- •23. Оператор присваивания. Пустой оператор. Составной оператор.
- •24. Условный оператор if.
- •25. Оператор вариантов.
- •26. Операторы цикла while и repeat.
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием.
- •Оператор цикла с параметром.
- •27. Скалярный тип.
- •28. Ограниченный тип.
- •29. Регулярный тип. Массивы.
- •30. Понятие комбинированного типа.
- •31. Множественный тип.
- •32. Файловый тип. Понятие последовательного файла и файла с прямым доступом.
- •33. Текстовые файлы. Внешние и внутренние файлы.
- •34. Понятие подпрограммы. Процедуры. И 35. Функции. Раздел описания процедур и функций.
- •36. Рекурсия. Основные понятия. Прямая и косвенная рекурсия.
- •37. Динамические переменные. Ссылочный тип.
- •38. Понятие списка. Типы списков: однонаправленные и двунаправленные.
- •39. Иерархические и ассоциативные списки.
- •40. Стеки.
- •41. Очереди.
- •42. Деревья - как структуры данных. Двоичные деревья. Методы их просмотра.
- •43. Упорядоченные двоичные деревья. Операции поиска.
- •44. Включения и удаления элементов из двоичного упорядоченного дерева.
39. Иерархические и ассоциативные списки.
Используются тогда, когда объединяют информационные записи в списки, тем самым образуя группу записи с определенным внутренним порядком.
Эту группу можно рассмотреть как единый информационный объект и из таких групп образуются новые списки. Полученные новые списки можно включать в другие списки и т.д.
Такие списки принято называть иерархическими.
Т.о. иерархический список представляет собой список, элементы, которых могут быть также списки и т.д.
Иерархические списки позволяют хранить информацию в соответствии с подчинением одних данных другим. Они также представляют возможным получать доступ и обрабатывать данные.
Ассоциативные списки.
Часто одни и те же объекты представляют интерес с различных точек зрения. И возникает потребность включать информацию об этих объектах в различные списки.
Если в разные списки включена одна и та же информация, то возникает дублирование одних и тех же записей. Для устранения такого дублирования используются ассоциативные списки. Они организуются на одном и том же общем наборе записи, причем каждый из ассоциативных списков объединяют в определенном порядке те записи из этого набора, которые обладают нужным наборов признаков. Он организуется в виде цепочки, а каждый ассоциативный список имеет свое заглавное звено и ссылки для объедения звеньев в соответственный список.
Каждое звено имеет для каждого ассоциативного списка свою ссылку.
40. Стеки.
Стеком называется динамическая структура данных, добавление компоненты в которую и исключение компоненты из которой производится из одного конца, называемого вершиной стека. Стек работает по принципу LIFO (Last-In, First-Out) поступивший последним, обслуживается первым.
Обычно над стеками выполняется три операции:
-начальное формирование стека (запись первой компоненты);
-добавление компоненты в стек;
-выборка компоненты (удаление).
41. Очереди.
Очередью называется динамическая структура данных, добавление компоненты в которую производится в один конец, а выборка осуществляется с другого конца. Очередь работает по принципу FIFO (First-In, First-Out) поступивший первым, обслуживается первым.
Для формирования очереди и работы с ней необходимо иметь три переменные типа указатель, первая из которых определяет начало очереди, вторая - конец очереди, третья - вспомогательная.
Описание компоненты очереди и переменных типа указатель дадим следующим образом:
type
PComp=^Comp;
Comp=record
D:T;
pNext:PComp
end;
var
pBegin, pEnd, pAux: PComp;
где pBegin - указатель начала очереди, pEnd - указатель конца очереди, pAux - вспомогательный указатель.
Тип Т определяет тип данных компоненты очереди.
В стеки или очереди компоненты можно добавлять только в какой либо один конец структуры данных, это относится и к извлечению компонент.
Связный (линейный) список является структурой данных, в произвольно выбранное место которого могут включаться данные, а также изыматься оттуда.
42. Деревья - как структуры данных. Двоичные деревья. Методы их просмотра.
Совокупность записей, связанных между собой системой ссылок, в которой каждая запись может содержать ссылки на несколько других называется графом.
Частным случаем графа является дерево. Подструктуры узлов не пересекаются между собой, т.е. не содержат общих элементов.
Дерево еще называют рекурсивной структурой, т.к. его можно определить следующим образом: дерево либо пусто, либо состоит из узла, содержащее ссылки на непересекающиеся деревья.
Частным случаем деревьев являются двоичные деревья.
Двоичным называется дерево, каждый узел которого содержит не более двух ссылок.
Над двоичным деревом определена операция просмотра его узлов. Эту операцию можно производить рекурсивно.