Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Имена процедур и функций как формальные параметры. Процедурный тип





Процедурные типы

Процедурные типы - это нововведение фирмы Borland (в стандартном Паскале

таких типов нет). Основное назначение этих типов - дать программисту гибкие

средства передачи функций и процедур в качестве фактических параметров

обращения к другим процедурам и функциям.

Для объявления процедурного типа используется заголовок процедур, в

котором опускается ее имя, например:

type

Proc = Procedure (a, b, с: real; Var d: real);

Proc2 = Procedure (var a, b);

РгосЗ = Procedure;

В программе могут быть объявлены переменные процедурных типов, например,

так:

var

р1: Proc;

ар: array [1..N] of Proc2;

Переменным процедурных типов допускается присваивать в качестве значений

имена соответствующих подпрограмм. После такого присваивания имя переменной

становится синонимом имени подпрограммы.

В отличие от стандартного Паскаля, в Турбо Паскале разрешается

использовать в передаваемой процедуре как параметры-значения, так и

параметры-переменные

25. Модули в Паскале: назначение, описание, использование. Обязательные и дополнительные разделы

Модульное программирование – это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам. Используя модули, вы можете разбивать программу на отдельные части и компилировать их отдельно. Программный модуль (unit) представляет собой набор констант, типов данных, переменных, процедур и функций, которые могут совместно использоваться несколькими программами. Каждый модуль аналогичен отдельной программе на Паскале: он может иметь основное тело, которое вызывается перед запуском вашей программы и осуществляет необходимую инициализацию. Структура модуля аналогична структуре программы, однако есть несколько существенных различий. Например, рассмотрим модуль: unit <идентификатор>; interface uses <список модулей>; { Необязательный } { глобальные описания } implementation uses <список_модулей>; { Необязательный } { локальные описания } { реализация процедур и функций } begin { код инициализации } end. Заголовок модуля начинается зарезервированным словом unit, за которым следует имя модуля (идентификатор) точно так же, как и в случае имени программы. Следующим элементом в модуле является ключевое слово interface. Оно обозначает начало интерфейсной секции модуля - части, доступной всем другим модулям или програм- мам, в которых он используется. Программный модуль может использовать другие модули, для этого они определяются в операторе uses. Оператор uses (если он имеет место) может содержаться в двух местах. Во-первых он может следовать сразу после ключевого слова interface. В этом случае любые константы и типы данных, описанные в интерфейсной секции этих модулей, могут использоваться в любом описании в интерфейс- ной части данного модуля. Во-вторых, он может следовать немедленно за ключевым словом implementation. В этом случае все описания из этих модулей могут использоваться только в секции реализации. Для использования специального модуля или набора модулей необходимо в начале программы поместить оператор uses, после которого указать список имен тех модулей, которые использоваться. Имена их должны разделяться запятыми: program MyProg; uses thisUnit, thatUnit, theOtherUnit; Когда компилятор встречает такой оператор uses, он прибавляет информацию из секции интерфейса каждого модуля к таблице идентификаторов и присоединяет машинный код, представленный в секции, к самой программе.






Date: 2015-12-12; view: 498; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию