
- •Определение типа запись. Особенности хранения полей.
- •Определение процедуры. Основные особенности работы.
- •Определение функции. Особенности работы.
- •Параметры-значения
- •Параметры-константы
- •Параметры переменной.
- •Процедурные типы. Определение и область применения.
- •Явные и неявные рекурсии.
- •Множества. Определение и область применения.
- •Модули. Определение интерфейсной части. Особенности текста реализации.
- •Модули. Особенности использования. Видимость содержимого.
- •Определение файла. Общие процедуры и функции для работы с файлами.
- •Текстовые файлы. Процедуры и функции для работы с ними. Особенности.
- •Типизированные файлы. Процедуры и функции для работы с ними. Особенности.
- •Не типизированные файлы. Процедуры и функции для работы с ними. Особенности.
- •Указатели. Общее определение. Значение указателей. Классификация.
- •Типизированный указатель. Процедуры и функции для работы с ними.
- •Не типизированные указатели. Процедуры и функции для работы с ними.
- •Открытые массивы. Особенности работы.
- •Области видимости переменных, типов и констант.
- •Области видимости процедур и функций. Явное и неявное преобразование типов.
- •Алгоритмы поиска. Особенности реализации. Алгоритмы сортировки. Особенности реализации. Причины возникновения ооп. Основные особенности.
- •Наследование объектов.
- •Полиморфизм. Свойства.
- •Инкапсуляция. Свойства.
- •Виды методов. Особенности.
- •Области видимости моделей объектов в паскале.
- •Поведение методов объектов при наследовании.
- •Объекты. Поля и методы.
- •Определение объектов.
Модули. Определение интерфейсной части. Особенности текста реализации.
Модуль (UNIT) в Турбо Паскале – это особым образом оформленная библиотека подпрограмм. Модуль в отличие от программы не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программ и других модулей.
Модули позволяют создавать личные библиотеки процедур и функций и строить программы практически любого размера.
Модуль в Турбо Паскале представляет собой отдельно хранимую и независимо компилируемую программную единицу.
В общем случае модуль – это совокупность программных ресурсов, предназначенных для использования другими программами. Под программными ресурсами понимаются любые элементы языка Турбо Паскаль: константы, типы, переменные, подпрограммы. Модуль сам по себе не является выполняемой программой, его элементы используются другими программными единицами.
Все программные элементы модуля можно разбить на две части:
– программные элементы, предназначенные для использования другими программами или модулями, такие элементы называют видимыми вне модуля;
– программные элементы, необходимые только для работы самого модуля, их называют невидимыми или скрытыми.
В соответствии с этим модуль, кроме заголовка, содержит две основные части, называемые интерфейсом и реализацией.
В общем случае модуль имеет следующую структуру:
unit <имя модуля>; {заголовок модуля}
interface
{ Интерфейсная часть}
Implementation
{Исполняемая часть}
begin
{ Инициализирующая часть }
end.
Интерфейсная часть - "общедоступная" часть в модуле - начинается зарезервированным словом interface, следует сразу после заголовка модуля и заканчивается перед зарезервированным словом implementation. Интерфейс определяет, что является "видимым" (доступным) для любой программы (или модуля), использующей данный модуль.
В интерфейсной части (секции) модуля можно определять константы, типы данных, переменные, процедуры и функции. Как и в программе, они могут быть расположены в любом порядке, и секции могут встречаться повторно (например, ваша программа может содержать секцию var, за которой следует секция const, а затем другая секция var).
Процедуры и функции, видимые для любой программы, использующей данный модуль, описываются в секции интерфейса, однако их действительные тела - реализации - находятся в секции реализации. Вам не нужно использовать описания forward, и они не допускаются. В интерфейсной части перечисляются все заголовки процедуры и функции. Секция реализации содержит программную логику процедур и функций.
Секция реализации - "приватная" часть - начинается зарезервированным словом implementation. Все, что описано в секции интерфейса, является видимым в секции реализации: константы, типы, переменные, процедуры и функции. Кроме того, в секции реализации могут быть свои дополнительные описания, которые не являются видимыми для программ, использующих этот модуль. Программа не знает об их существовании и не может ссылаться на них или обращаться к ним. Однако, эти скрытые элементы могут использоваться (и, как правило, используются) "видимыми" процедурами и функциями, то есть теми подпрограммами, чьи заголовки указаны в секции интерфейса.
Оператор uses может содержаться в секции реализации (implementation) и должен непосредственно следовать за ключевым словом implementation.
Обычные процедуры и функции, описанные в интерфейсной секции, то есть те из них, которые не являются подставляемыми (inline), должны повторно указываются в секции реализации. Заголовок procedure/function должен быть или идентичным тому, который указан в секции интерфейса, или иметь более краткую форму. В случае краткой формы наберите ключевое слово (procedure или function), а за ним укажите имя подпрограммы (идентификатор). За- тем подпрограмма должна содержать все свои локальные описания (метки, константы, типы, переменные и вложенные процедуры и функции), за которыми должно находиться основное тело самой подпрограммы.