Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по паскалю.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
67.39 Кб
Скачать
  1. Процедуры и функции

  1. Объявление процедур и функций без параметров

Вызов процедуры без параметров осуществляется по имени данной процедуры в теле программы. Имя процедуры воспринимается как оператор. При выполнении этого оператора выполняется вся подпрограмма.

Procedure <имя процедуры>;

function MyCoolFunc: String; begin MyCoolFunc := 'Hello, world!'; end;

Правила определения функций без параметров (из процедуры без параметров): В процедуре определяется локальная переменная, в которой хранится вычисляемый в этой процедуре параметр. Эта переменная в процедуре заменяет соответствующую ей глобальную переменную. Слово Procedure заменяется словом Function. После имени функции вставляется двоеточие и тип возвращаемого значения. В конце тела функции необходимо присвоить имени функции значение локальной переменной, хранящей вычисленный параметр.

  1. Определение процедуры, основные особенности работы

 Процедура - это часть программы, в которой выполняется специфическое действие, обычно основанное на наборе параметров.

В заголовке процедуры определяются ее идентификатор и набор формальных параметров (если таковые есть).

Процедура вызывается с помощью процедурного оператора.

Заголовок процедуры сопровождается:

  • разделом описаний, в котором объявляются локальные объекты

  • операторами, находящимися между Begin и End, которые определяют, что должно быть выполнено при вызове процедуры.

procedure <имя> (<сп.форм.пар.>);

  1. Определение функции, основные особенности работы

function <имя> (<сп.форм.пар.>) : <тип>;

Функция в Паскале — это подпрограмма, которая в отличие от процедуры всегда возвращает какое-либо значение. Для этого в теле функции её имени присваивается вычисленное значение — результат, который она возвращает.

Тип, который принимает вычисляемое значение, указывается в заголовке функции через двоеточие.

Вызывается функция в теле основной программы только если ее имя фигурирует в каком-либо выражении. В отличие от процедуры, которая вызывается отдельно. Рассмотрим синтаксис:

var …;{объявление глобальных переменных}

 

function название (параметры): тип результата;

var…; {объявление локальных переменных}

begin

{тело функции}

название:=результат; {результат вычислений всегда присваивается функции}

end;

 

begin

{тело основной программы}

end.

  1. Области видимости процедур и функций

  • Имена объектов, описанных в некотором блоке, считаются известными в пределах данного блока, включая и все вложенные блоки.

  • Имена объектов, описанные в блоке, должны быть уникальными в пределах данного блока и могут совпадать с именами объектов из других блоков.

  • Если в некотором блоке описан объект, имя которого совпадает с именем объекта, описанного в объемлющем блоке, то последнее становится недоступным в данном блоке (экранировка).

Пример:  Program X; Var   I,j:integer;   z:real;   Procedure x1(i:integer;);   Var     j:integer;     begin     End;   Begin   End;   Procedure x2;   Var      z:integer;      Procedure x3(z:string);      Begin      End;      Function y4(z:string):integer;      Begin      End;   Begin   End; Begin End.