инамические структуры данных. Списки. Основные операции. Методы представления списков.
18) Динамические структуры данных. Списки. Деревья. Бинарные деревья и операции над ними. Представления деревьев. Список – это набор последовательно организованных данных. Списки бывают линейными и циклическими. Циклический список – список, в котором последний элемент указывает на первый. Стеки – фундаментально-абстрактная структура, которая представляет собой укороченный набор элементов, в котором размещение и удаление новых элементов производиться только... Бинарное дерево – конечное множество элементов, которое либо пусто, либо содержит один элемент, называемый корнем дерева, а остальные элементы множества делятся на два непересекающихся подмножества, каждое из которых само является бинарным деревом, эти подмножества называются левым о правым поддеревьями исходного множества. Каждый элемент бинарного дерева называется узлом дерева.
19) Объектно-ориентированное программирование. Классы и объекты. Наследование и полиморфизм. Объявление классов и объектов. Инкапсуляция. Виртуальные методы. Объектовый тип. Объект – структура данных, содержащих поля данных (свойство объекта) различных типов и заголовки методов (действия, которые объект выполняет). Имя потомка = object (имя предка); Поле1;... Полеn; метод1;... методn; end. Метод – процедура или функция. Метод имеет доступ к полям данного объекта, не требуя передачи ему их в виде параметров. Кроме обычных процедур и функций реализуется два специальных типа метода: конструктор и деструктор. Конструктор – специальный метод, создающий виртуальные методы, он объявляется специальным словом constructor. Деструктор – специальный метод, разрушающий объект и освобождающий память. Destructor Done. Основные свойства объектов. 1) инкапсуляция – объединение записей с процедурами и функциями, работающие с этими полями. 2) наследование - задание объекта, затем использование его для построения иерархии порожденных объектов с наследованием доступа, каждого из порожденных объектов, кода и данными предка. 3) Полиморфизм – задание одного имени действию, которое передается вверх и вниз по иерархии объектов с реализацией этого действия способом, соответствующим каждому объекту в иерархии.
рограммирование для ОС Windows. Формы. Объекты, классы и экземпляры. Области видимости.
21) Визуальные и невизуальные компоненты. Библиотека визуальных компонентов. Свойства и методы. Инспектор объектов. Визуальные: 1) height (высота): integer 2) width (ширина): integer 3) Left: integer – расстояние от левой границы. 4) Top: integer – от верхней. Не визуальные. 1) Name: string (латинскими) 2) Caption: string – заголовок (синяя полоска сверху окна) 3) Visible: Boolean – видимость при запуске 4) Enabled – определяет работоспособность компонента (работа после клика этого компонента). 5) Alignment – определение выравнивания текста на компоненте, to Center, to Left justify прижат к левой границе, to Right justify. 6) Align – определение закрепления компонента к границам контейнера, al Left, al Right, al Botton (снизу), al Top, al None, al Client.
29) Лексический анализ. Под лексическим анализом понимается процесс предварительной обработки исходной программы, на котором основана лексическая программа – лексемы, служебные слова, идентификаторы, метки, константы. Приводятся к единому формату и заменяются условными кодами или ссылками на соответствующие таблицы, а комментарии исключаются из текста программы, выходами лексического анализатора является поток лексем – дескрипторов и таблиц, в которых хранятся значения выделенных в программе лексем. Дескриптор – пара вида (<тип лексемы>, <указатель>), где тип лексем – это, как правило, числовой код класса лексем, который обозначает, что лексема принадлежит одной из конечного множества класса, выделенных в языке программирования. Указатель – это может быть либо начальный адрес области основной памяти, в которой хранится значение этой лексемы, либо число, адресующее элемент таблицы, в которой хранится значение этой лексемы. Идентификация лексемы из конечного класса выполняется путем сравнения ее с эталонным значением. Основная проблема здесь: минимализация временного поиска эталона. После проведения успешной идентификации лексемы формируется ее образ – дескриптор, который помещается во входной поток лексического анализатора. В случае неуспешной идентификации формируется сообщение об ошибках в написании лексем. В ходе лексического анализа могут выполняться и другие виды лексического анализа, в частности проверка на парность скобок.
31) Промежуточное представление программы. Польская запись. Для представления арифметических и логических выражений часто используется польская запись, которая просто и точно указывает порядок выполнения операций, кроме того она не требует скобок. В этой записи, впервые примененной польским логиком Я.Лукашевичем, операторы следуют непосредственно за операциями. Поэтому ее иногда называют постфиксной записью, классическая форма – инфиксная запись. А*В→АВ*, А*В+С→САВ*+, А*(В+С/Д)→АВСД/+*. Перевод из постфиксной записи в инфиксную проводится при помощи стека. 5*(((9+8)*(4*6))+7). push(5) push(9) push(8) push(pop+pop) push(4) push(6) push(pop*pop) push(pop*pop) push(7) push(pop+pop) push(pop*pop) writeln (pop). Метод четверок. В этом методе каждая операция записывается в виде четверок параметров. (операция, операнд1, операнд2, результат). а*в+с →+в, с, 1; *, 1, а, 2. 1 и 2 – ячейки. 2 – итог.