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.


 

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

76409. Амплитудно-фазовая частотная характеристика (АФЧХ) 54.81 KB
  Для практических целей удобнее пользоваться десятичными логарифмами и строить отдельно логарифмическую амплитудную частотную характеристику (ЛАХ) и логарифмическую фазовую частотную характеристику (ЛФХ).
76410. Построение переходной функции по ВЧХ замкнутой системы 297.32 KB
  Характеристику построенную в натуральном масштабе по оси частот аппроксимируем стандартными характеристиками :тогда очевидно чтогде616В настоящее время чаще всего используют в качестве стандартных характеристик трапеции рис. 68 при этом интеграл 616 может быть вычислен в видеРис 68617где параметр трапеции характеризующий ее форму см. рис. Рассмотрим построение переходной функции САР если ее ВЧХ имеет вид показанный на рис.
76411. Определение величины перерегулирования по ВЧХ 17.81 KB
  Приближенное значение величины перерегулирования можно определить по виду графиков ВЧХ -если ВЧХ монотонно убывающая, то = О, -если ВЧХ не возрастающая, то максимальное значение перерегулирования если ВЧХ возрастающая, то максимальное значение перерегулирования ...
76412. Алгоритм построения логарифмической амплитудной характеристики последовательного соединения типовых звеньев 59.87 KB
  Построение асимптотической ЛАХ последовательного соединения типовых звеньев сводится к суммированию на графике отрезков прямых линий с наклонами кратными 20 дБ дек. Используем более эффективный способ построения ЛАХ последовательного соединения звеньев который не требует построения ЛАХ отдельно каждого звена и последующего суммирования этих ЛАХ. Очевидно что результирующая ЛАХ от такого перераспределения параметров должна остаться без изменений. Построим ЛАХ звеньевсомножителей из 4.
76413. Признаки переходного и установившегося режимов работы САР 49.49 KB
  Признаки переходного и установившегося режимов работы САР Можно ли изучая выходной сигнал САР определить работает она на данном отрезке времени в переходном или установившемся режиме Для этого нужно более точно сформулировать что такое переходный и что такое установившийся режимы с практической точки зрения. Красная кривая переходный процесс при идеальном ступенчатом воздействии. Нарастание воздействия со скоростью примерно 8 ед сек сопровождается заметным переходным процессом голубая линия при скорости 4 ед сек переходный процесс...
76415. Преобразование Лапласа и его свойства 89.59 KB
  Различают прямое и обратное преобразование Лапласа. Прямое преобразование Лапласа определяется уравнением. Обратное преобразование Лапласа определяют из решения.
76416. Частотные характеристики САУ 83.42 KB
  Если на вход подавать синусоидальные колебания 1 то на выходе после затухания переходных процессов этим заниматься не будем также возникают синусоидальные гармонические колебания с той же частотой но с другой амплитудой и сдвинутые по фазе относительно входных колебаний: где φ сдвиг по фазе выходных колебаний относительно входных.угол φ Зависимость модуля АФЧХ от частоты колебаний ω называется амплитудно-частотной характеристикой. Зависимость сдвига фаз входных и выходных колебаний φ от частоты ω называется фазочастотной...