28620

Описание и вызов процедур и функций

Доклад

Информатика, кибернетика и программирование

Формат описания процедуры имеет вид: procedure имя процедуры формальные параметры; раздел описаний процедуры begin исполняемая часть процедуры end; Формат описания функции: function имя функции формальные параметры:тип результата; раздел описаний функции begin исполняемая часть функции end; Формальные параметры в заголовке процедур и функций записываются в виде: var имя праметра: имя типа и отделяются друг от друга точкой с запятой. Вызов функции в Турбо Паскаль может производиться аналогичным способом кроме того имеется возможность...

Русский

2013-08-20

18.23 KB

0 чел.

Описание и вызов процедур и функций

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

Формат описания процедуры имеет вид:

procedure имя процедуры (формальные параметры);

 раздел описаний процедуры

begin

 исполняемая часть процедуры

end;

Формат описания функции:

function имя функции (формальные параметры):тип результата;

 раздел описаний функции

begin

 исполняемая часть функции

end;

Формальные параметры в заголовке процедур и функций записываются в виде:

var имя праметра: имя типа

и отделяются друг от друга точкой с запятой. Ключевое слово var может отсутствовать (об этом далее). Если параметры однотипны, то их имена можно перечислять через запятую, указывая общее для них имя типа. При описании параметров можно использовать только стандартные имена типов, либо имена типов, определенные с помощью команды type.Список формальных параметров может отсутствовать.

Вызов процедуры производится оператором, имеющим следующий формат:

имя  процедуры(список фактических параметров);

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

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

Для передачи в вызывающий блок выходного значения функции в исполняемой части функции перед возвратом в вызывающий блок необходимо поместить следующую команду:

имя функции := результат;

При вызове процедур и функций необходимо соблюдать следущие правила:

  1.  количество фактических параметров должно совпадать с количеством формальных;
  2.  соответствующие фактические и формальные параметры должны совпадать по порядку следования и по типу.

Заметим, что имена формальных и фактических параметров могут совпадать. Это не приводит к проблемам, так как соответствующие им переменные все равно будут различны из-за того, что хранятся в разных областях памяти. Кроме того, все формальные параметры являются временными переменными - они создаются в момент вызова подпрограммы и уничтожаются в момент выхода из нее.

Рассмотрим использование процедуры на примере программы поиска максимума из двух целых чисел.

var x,y,m,n: integer;

procedure MaxNumber(a,b: integer; var max: integer);

begin

  if a>b then max:=a else max:=b;

end;

begin

  write('Введите x,y ');

  readln(x,y);

  MaxNumber(x,y,m);

  MaxNumber(2,x+y,n);

  writeln('m=',m,'n=',n);

end.

Аналогичную задачу, но уже с использованием функций, можно решить так:

var x,y,m,n: integer;

function MaxNumber(a,b: integer): integer;

  var max: integer;

begin

  if a>b then max:=a else max:=b;

  MaxNumber := max;

end;

begin

  write('Введите x,y ');

  readln(x,y);

  m := MaxNumber(x,y);

  n := MaxNumber(2,x+y);

  writeln('m=',m,'n=',n);

end.


 

А также другие работы, которые могут Вас заинтересовать

21638. ОСОБЕННОСТИ РАСПРОСТРАНЕНИЯ КОРОТКИХ РАДИОВОЛН 405 KB
  В отличие от более коротких волн которые распространяются земной волной декаметровые волны распространяются в основном путем отражении от ионосферы. Но короткие волны могут распространяться на многие тысячи километров путем многократных последовательных отражений от ионосферы и Земли рис. Кроме радиосвязи декаметровые волны широко используются для радиовещания дальней загоризонтной радиолокации исследования ионосферы и др. Одной из основных особенностей KB радиолиний является ограничение рабочих частот как со стороны высоких так и...
21639. Зеркальные антенны. Общие сведения и принцип действия зеркальной антенны 344.5 KB
  Источником электромагнитной волны обычно служит какаянибудь небольшая элементарная антенна называемая в этом случае облучателем зеркала или просто облучателем. Поверхности зеркала придается форма обеспечивающая формирование нужной диаграммы направленности. Наиболее распространенными являются зеркала в виде параболоида вращения усеченного параболоида параболического цилиндра или цилиндра специального профиля.
21640. ОСНОВЫ ТЕОРИИ ПРАВА 99 KB
  Особенностями правил поведения, которые образуют право и отличают эти правила от других: морали, традиций, обычаев, являются то, что они устанавливаются государством, защищаются от нарушения государством, должны выражать интересы большинства населения, независимо от политических, экономических и других взглядов, они обязательны для всех.
21641. ЭЛЕКТРИЧЕСКИЕ ПАРАМЕТРЫ АНТЕНН 256.5 KB
  ЭЛЕКТРИЧЕСКИЕ ПАРАМЕТРЫ АНТЕНН. Основные электрические параметры передающих антенн. РАСЧЕТ ПОЛЯ ИЗЛУЧЕНИЯ АНТЕНН. Применение принципа суперпозиции к расчету поля излучения антенн.
21642. Антенны с круговой диаграммой направленности 188 KB
  По той же причине в качестве базовых антенн выбираются антенны с круговой диаграммой направленности в горизонтальной плоскости одинаково хорошо работающие в любом направлении. Наиболее широкое применение в этой группе получили антенны типа Ground Plane GP рис. Конструкция антенны GP Штыревая конструкция антенны удобна для размещения как на крыше здания так и на автомобиле.
21643. Сущность, принципы и функции планирования на предприятии 64 KB
  Планирование как общее понятие – это процесс моделирования вариантов развития объекта (явления) на определенный период, оценки, сравнения, выбора и разработки промежуточных и конечных показателей реализации плана.
21644. Конструкция антенна Двойной квадрат 202.5 KB
  Как все проволочные антенны она достаточно проста в изготовлении и не требует дорогостоящих материалов. Антенны типа Двойной квадрат обладают следующими характеристиками. Сравнение характеристик антенны GP 5 8 и описываемой антенны проводилось при малых углах излучения по отношению к горизонту что наиболее важно для проведения дальних связей поверхностной волной. Распорки антенны 8 шт.
21645. Государственно-частное партнерство в туристской сфере 176.5 KB
  Россия в сфере развития туризма на данный момент мало преуспела, но при правильном подходе и государственной поддержки развития туризма наша страна может со временем не просто догнать страны с развитой туристской сферой, но и опередить их...
21646. Изменения климата на планете Земля 298 KB
  Климатические изменения можно с некоторой долей условности разделить на долгопериодные, короткопериодные и быстрые, происходящие за весьма короткий срок по сравнению с характерным временем изменений в социально-экономической сфере. У каждого из них свои причины, относительно которых имеется ряд гипотез.