Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Опережающие объявления



В Турбо Паскале существует правило: перед употреблением любой элемент программы должен быть объявлен. Если строго следовать этому правилу, то реализовать косвенную рекурсию в Турбо Паскале невозможно. Для того чтобы это все же можно было сделать, в язык введены так называемые опережающие объявления (описания). Для задания опережающих объявлений используется директива компилятора Forward, которая позволяет объявить имя подпрограммы, отложив при этом ее окончательное определение, т.е. объявление проводится в два этапа. На первом задаются имя подпро­граммы и параметры, за которыми следует атрибут Forward. Позднее появляется полное определение подпрограммы, но в ее заголовок не включается список параметров.

74 ОРГАНИЗАЦИЯ СПИСКОВ В ЯЗЫКЕ ТУРБО ПАСКАЛЬ. ПРИМЕРЫ.

Главная возможность, которую предоставляет наличие ссылочных типов и ссылочных переменных в Паскале, – это возможность построения с их помощью объектов со сложной, меняющейся структурой. Примерами таких структур являются списки, стеки, деревья.

Список – это набор записей, каждая из которых имеет поле данных и указатель (ссылку) на следующую запись в списке. Та, в свою очередь, тоже содержит поле данных и ссылку на продолжение списка. Последний элемент списка содержит значение Nil, т.е. уже ни на что не ссылается. Начало списка формирует переменная типа “указатель”, содержащая адрес первого элемента списка (рис. 6). Поле данных еще называют информационной частью списка.

Указатель в списке должен быть типизированным. Базовым типом для него является тот же тип данных, что и тип информационной части списка.

Рассмотрим методы работы со списками, информационная часть которых состоит из одного поля типа Integer. Такие списки естественно называть списками целых чисел. Обозначим тип элемента списка идентификатором Elem, а ссылочный тип на элемент списка – идентификатором Uk.

Стек – линейный список, в котором добавления и исключения элемента производятся с одного конца, называемого вершиной стека. Соблюдается принцип “первым пришел – последним ушел”.

Считается, что доступ возможен только к верхнему элементу. Стек оптимален для случаев, когда требуется просчитать и запомнить большое число структур данных, а потом обработать их в обратном порядке.

Работа со стеком осуществляется через указатель стека. При выполнении загрузки элемента в стек данные записываются на место, определяемое указателем стека, а указатель стека изменяет свое состояние и задает следующую свободную ячейку блока памяти.

Списки могут быть не только линейными, но и кольцевыми. В кольцевом списке для последнего элемента следующим является первый, а если список двунаправленный, то для первого предыдущим является последний. Как и линейный, кольцевой список определяется указателем на свой первый элемент.

Мультисписки представляют собой структуру, каждый элемент которой входит в более чем один список одновременно и имеет соответствующее числу списков количество полей связи. Часто в виде мультисписков представляют матрицы очень большой размерности, в которых большинство элементов равны 0 (такие матрицы называются разреженными). Мультисписки обеспечивают эффективное хранение таких структур в памяти: хранятся только те элементы, которые отличны от 0. Каждый элемент входит в два списка: в список-строку и список-столбец. Вся матрица представлена m + n списками, где m и n – соответственно число строк и число столбцов матрицы, каждый элемент хранит значение элемента матрицы и две ссылки: на следующий элемент в строке и на следующий элемент в столбце, указатели на начала этих списков хранятся в двух массивах.

75 ПРИНЦИПЫ ОБЬЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ.

Принципы объектно-ориентированного программирования

Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:

Инкапсуляция – объединение в одном объекте данных и методов их обработки.

Наследование – создание новых объектов на базе ранее определенных. Новые объекты–потомки сохраняют свойства своих родителей и обладают специфическими свойствами.

Полиморфизм – возможность замещения методов объекта-родителя одноименными методами объекта-потомка.

Преимущества ООП в полной мере проявляются при разработке достаточно сложных программ. Инкапсуляция придает объектам совершенно особое свойство “самостоятельности”, максимальной независимости от остальных частей программы. Правильно сконструированный объект располагает всеми необходимыми данными и процедурами их обработки, чтобы успешно реализовать требуемые от него действия. Попытки использовать ООП для программирования несложных алгоритмических действий выглядят искусственными нагромождениями ненужных языковых конструкций.

81 УПРАВЛЕНИЯ ПРОЕКТАМИ В DELPHI

При загрузке Delphi автоматически создается новый проект. Можно использовать этот проект для создания нового приложения или открыть уже существующий проект, либо использовать один из предоставляемых средой шаблонов в качестве основы для нового приложения. Для того чтобы создать новый проект или открыть уже существующий, сохранить проект или закрыть его, необходимо воспользоваться командами, расположенными в меню File: New, Open, Save, Save As, Save Project As, Save All, Close и Close All.





Дата публикования: 2015-01-26; Прочитано: 287 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...