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.


 

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

72594. Рассмотрение дела о нарушении антимонопольного законодательства. Предписание по делу о нарушении антимонопольного законодательства 13.59 KB
  Статья 45 Закона о защите конкуренции регулирует порядок рассмотрения комиссией дела о нарушении антимонопольного законодательства. В процессе рассмотрения дела заслушиваются мнения и пояснения лиц участвующих в деле исследуются доказательства заслушиваются лица располагающие данными...
72595. Понятие и структура рынка. Субъектный состав рынка, его границы 69.17 KB
  Если потребитель готов заменить одну продукцию на другую кардинально отличающуюся от нее по характеристикам например молоко на чай то эти виды продукции составляют группу взаимозаменяемых товаров и определяют так называемые продуктовые границы рынка.
72596. Доминирующее положение на товарном рынке: порядок выявления, определения и доказывания. Качественные и количественные критерии доминирования 16.28 KB
  Доминирующим положением признается положение хозяйствующего субъекта группы лиц или нескольких хозяйствующих субъектов групп лиц на рынке определенного товара дающее такому хозяйствующему субъекту группе лиц или таким хозяйствующим субъектам группам лиц возможность оказывать решающее...
72597. Правовые последствия установления факта доминирования на рынке 11.4 KB
  Закона о конкуренции на товарных рынках; 2 необходимость установить доминирующее положение возникает при осуществлении предварительного и последующего государственного контроля за экономической концентрацией в соответствии со ст. 17 18 Закона о конкуренции на товарных рынках...
72598. Согласованные действия хозяйствующих субъектов. Аффилированные лица и группы лиц. Финансово-промышленные группы, холдинги, объединения (ассоциации и союзы) хозяйствующих субъектов 25.21 KB
  Холдинг -– это организация которая занимает ведущее положение потому что в ее активах находятся контрольные пакеты акций дочерних организаций. Предприятия входящие в холдинг могут быть формально независимы. Также существует так называемый банковский холдинг –- это банковская структура которая обеспечивает деятельность холдинговых компаний.
72599. Антимонопольный орган и его правовое положение. Функции антимонопольного органа. Полномочия антимонопольного органа 20.98 KB
  Федеральная антимонопольная служба является уполномоченным федеральным органом исполнительной власти осуществляющим функции по принятию нормативных правовых актов и контролю за соблюдением антимонопольного законодательства законодательства в сфере деятельности субъектов естественных...
72600. Правовые средства и формы регулирования, применяемые антимонопольными органами. Акты антимонопольных органов 16.44 KB
  Действующее антимонопольное законодательство предусматривает достаточно широкий спектр правовых средств антимонопольного регулирования применяемых компетентным государственным органом в строго определенных случаях и в определенном порядке. Формой антимонопольного реагирования чаще всего является предписание.
72601. Права работников антимонопольного органа при проведении проверок соблюдения антимонопольного законодательства. Обязанность представления информации в антимонопольный орган 12.97 KB
  При осуществлении контроля за соблюдением антимонопольного законодательства работники антимонопольного органа в соответствии с возложенными на них полномочиями при предъявлении ими служебных удостоверений и приказа руководителя антимонопольного органа о проведении проверки соблюдения...
72602. Сущность монополии. Монополия и юридическое лицо 17.61 KB
  Господство в экономике служит основой того влияния которое монополии оказывают на все сферы жизни страны. Следовательно главным признаком монопольного образования монополии является занятие монопольного положения.