Читайте также:
|
|
Обращение к процедуре - есть использование процедуры, т.е. запуск ее на выполнение. С точки зрения использования процедуры важны не знания о действиях, которые входят в состав процедуры, а информация о
- назначении процедуры;
- имени процедуры;
- перечне входных и выходных данных (этот перечень называется списком формальных параметров).
Эта информация может быть почерпнута из документации на программное обеспечение (при использовании стандартных или библиотечных процедур) или из раздела описаний собственных процедур и функций (если программист сам писал текст процедуры).
Для обращения к процедуре необходимо указать имя вызываемой процедуры и задать входные и выходные параметры, над которыми и производятся действия при данном запуске процедуры на выполнение. В этом случае говорят, что необходимо задать список фактических параметров. Обратите внимание, перечень входных и выходных параметров указанных в описании процедуры называется списком формальных параметров.
Изображение обращения к процедуре (вызов процедуры) в схемах алгоритма приведено на рис. 11.6.
Рис. 11.6. – Элемент "предопределенный процесс"
На этом рисунке ИП - имя вызываемой процедуры, СФАП - список фактических параметров, перечисленных через запятую.
Для обращения к процедурам ввода-вывода есть специальные элементы схем алгоритмов.
При обращении к процедуре список фактических параметров должен соответствовать списку формальных параметров по
- - количеству,
- - порядку следования,
- - типу и виду каждого параметра.
Разберем это соответствие на простом примере.
Допустим, имеется процедура, назначение которой: вычисление площади треугольника по трем заданным сторонам.
Имя этой процедуры: РLTR;
Список формальных параметров следующий:
первый параметр - входной, первая сторона треугольника, типа REAL;
второй параметр - входной, вторая сторона треугольника, типа REAL;
третий параметр - входной, третья сторона треугольника, типа REAL;
четвертый параметр - выходной, площадь треугольника, типа REAL.
И нам необходимо вычислить площадь прямоугольника со сторонами 5.7, 2.9 и 3.0.
Для этого обратимся к процедуре РLTR со следующим списком фактических параметров:
первый параметр - число 5.7 типа REAL;
второй параметр - число 2.9 типа REAL;
третий параметр - число 3.0 типа REAL;
четвертый параметр - имя переменной, куда должен быть помещен результат вычисления, например, переменная S типа REAL.
Этот вызов в схеме алгоритма приведен на рис. 11.7.
Рис. 11.7. – Вызов процедуры PLTR
Задав такой список фактических параметров, мы выполнили требования его соответствия списку формальных параметров:
q по количеству - 3 параметра;
q по порядку следования
o первый параметр - входной параметр, задающий размер первой стороны треугольника;
o второй – входной параметр, задающий размер второй стороны треугольника;
o третий - входной параметр, задающий размер третьей стороны треугольника;
o четвертый - выходной параметр, задающий переменную, в которую должен быть помещен результат вычисления;
q по типу каждого фактического параметра, соответствующему типу формального параметра (в нашем примере все типа REAL).
Для соответствия по виду определим, какие виды параметров бывают.
Различают три вида параметров:
- - параметры-значения;
- - параметры-переменные;
- - параметры-константы.
Последний вид параметров определен только в Турбо Паскале.
Эта классификация определяется назначением и соответствием фактических параметров формальным.
Параметр называется параметром-значением, если на месте формального параметра при обращении к подпрограмме в качестве фактического параметра должно выступать конкретное значение, то есть фактическим параметром может быть выражение. В этом случае фактическое выражение в начале вычисляется, а затем полученное значение передается в подпрограмму. Параметры значения - это только входные данные подпрограммы простого, строкового типа или ссылочного типа.
Параметр называется параметром-переменной, если на месте формального параметра при обращении к подпрограмме в качестве фактического параметра может выступать только переменная, задающая участок оперативной памяти, с которым работает подпрограмма. Параметры-переменные - это всегда выходные данные подпрограммы, либо входные сложного (структурированного) типа.
Параметр-константа означает, что на месте формального параметра такого вида при вызове подпрограммы может стоять только имя переменной, существующей в блоке, из которого вызывается подпрограмма. Параметры-константы это входные данные сложного типа (кроме строкового и ссылочного), так как в процессе выполнения подпрограммы изменять значения этих переменных невозможно.
В нашем примере первый параметр - параметр-значение, т.к. фактическим параметром, в принципе, может быть любое арифметическое выражение, дающее вещественный результат (у нас 5.7). Второй и третий параметры (у нас значения 2.9 и 3.0) также параметры-значения. А четвертый параметр - параметр-переменная, т.к. это выходной параметр, и он должен задавать участок оперативной памяти, в который помещается результат работы процедуры.
Дата добавления: 2015-01-05; просмотров: 81 | Поможем написать вашу работу | Нарушение авторских прав |
|