КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Процедуры. Формальные, фактические параметры. Примеры.В Турбо Паскалепроцедурой называется часть программы, предназначенная для решения определенной задачи или подзадачи. Процедура в Паскале имеет структуру, подобную структуре программы. Известно, что в стандартном Паскале программы имеют жесткий формат: Program имя программы Label метки; Const объявление констант; Type определение типов данных; Var объявление переменных; объявления подпрограмм; BEGIN тело программы END. Наличие всех пяти составляющих объявлений - Label, Const, Type, Var, подпрограммы (procedure и function) - в вашей программе необязательно. Однако для стандартного Паскаля, если они присутствуют, порядок их следования строго регламентирован, и в программе они должны присутствовать только один раз. За секцией объявлений следуют подпрограммы и только затем тело программы. Turbo Pascal обеспечивает более гибкую структуру программы. Главное - оператор Program должен быть первым, а тело программы последним. Порядок описания остальных составляющих жестко не регламентирован, но идентификаторы должны быть объявлены до их использования во избежание ошибок компиляции. Общая структура процедуры будет иметь вид: Procedure имя процедуры (параметры); {Заголовок процедуры} Label метки; Const объявление констант; Type определения типов данных; Var объявления переменных; Процедуры, входящие в данную; Begin Тело главной процедуры; End; Таким образом, процедура состоит подобно основной программе из заголовка процедурой программного блока. Заголовок процедуры в отличие от заголовка программы не может быть опущен. Он имеет вид: PROCEDURE < ИМЯ > (<СПИСОК ПАРАМЕТРОВ>); где PROCEDURE - служебное слово; ИМЯ - имя процедуры, определяемое в соответствии с общими правилами построения идентификаторов; СПИСОК ПАРАМЕТРОВ (формальных) - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов. Допускается описание процедуры, не содержащее <СПИСКА ПАРАМЕТРОВ>: PROCEDURE < ИМЯ >; в этом случае парамедры в процедуру и из нее передаются через систему глобальных параметров (см. ниже). Сразу за заголовком подпрограммы может следовать одна из стандартных директив ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR. Параметры в списке заголовка отделяются друг от друга точками с запятой. Если параметры однотипны, то их можно объединять в подсписки и записывать через запятую. Например: Procedure Sub (a:real; b:real; n:integer; k:integer; ch:char); можно записать проще: Procedure Sub (a,b:real; n,k:integer; ch:char); Операторы тела подпрограммы рассматривают список формальных параметров как своеобразное расширение раздела описаний: все переменные из этого списка могут использоваться в любых выражениях внутри подпрограммы. Содержательная часть процедуры представляет собой блок и состоит, следовательно, из раздела описаний (меток, констант, типов, переменных, процедур и функций) и раздела операторов, представляющего собой составной оператор Begin - End, в котором для обеспечения наглядности программы слова Begin и End целесообразно записывать с заглавной буквы. Заканчивается блок процедуры точкой с запятой.
|