ВУЗ:
Составители:
Рубрика:
78
чтобы типы формального и фактического параметров были согласованы (например, оба
были типа INTEGER или REAL).
При выполнении любой ПП в первую очередь происходит сопоставление формальных и
фактических параметров. С этого момента ссылка на Base и Power в подпрограмме
фактически означает обращение к В и Р. Следовательно, команды, вычисляющие степенную
функцию, используют значения В и Р (1.5 и 3). Результат вычислений помещается в имя
DEGREE, в этом и состоит механизм, посредством которого функция "посылает" свой
ответ в основную программу. После возврата в основную программу результат, переданный
функцией, назначается переменной Z. При этом значение, вычисленное функцией и
помещаемое в DEGREE, имеет тот же тип, что и переменная Z.
Структуру программы, содержащей подпрограмму-функцию, можно представить
следующим образом:
PROGRAM Main;
CONST { декларативная
. . . ; часть
VAR главной
. . . ; программы }
{ процедурная часть главной программы }
FUNCTION Sample( . . . ) : . . .; { заголовок функции }
VAR { декларативная часть подпрограммы }
. . . ;
{ процедурная часть ПП }
BEGIN { Sample }
. . .
Sample:= . . . ;
END; { Sample }
BEGIN { главная программа }
. . .
< любое количество вызовов функции Sample >
. . .
END. { конец главной программы }
11.2. Процедуры
Подпрограмму следует оформить в виде процедуры, если она предназначена для решения
задачи одного из двух типов. Задача первого типа: требуется выполнить некую
последовательность действий, не возвращая результирующего значения. Задача второго
типа: требуется изменить значения одного или нескольких фактических параметров.
Процедура, как и функция, помещается в конце декларативной части программы.
Компилятор распознает процедуру по ключевому слову PROCEDURE. С этого слова
начинается заголовок процедуры, после которого следует идентификатор процедуры, а
затем в круглых скобках перечисляются формальные параметры процедуры.
В Паскале передать параметры подпрограмме можно двумя способами. До сих пор мы
имели дело только с одним из них. Этот способ называют передачей параметров по
значению. Он состоит в том, что значение фактического параметра назначается
соответствующему формальному параметру. Другими словами, перед началом выполнения
процедуры вычисляется конкретное значение фактического параметра (например, 1.5 или 3).
Затем полученное значение копируется в соответствующий формальный параметр,
принадлежащий процедуре. Как только начинается выполнение процедуры, никакие
изменения значения формального параметра уже не оказывают влияния на значение
соответствующего фактического параметра. Это значит, что по окончании работы
процедуры фактический параметр будет иметь точно такое же значение, каким он обладал до
начала работы процедуры, вне зависимости от того, что происходило с формальным
параметром. Такой способ передачи параметров действует при работе с функциями.
чтобы типы формального и фактического параметров были согласованы (например, оба были типа INTEGER или REAL). При выполнении любой ПП в первую очередь происходит сопоставление формальных и фактических параметров. С этого момента ссылка на Base и Power в подпрограмме фактически означает обращение к В и Р. Следовательно, команды, вычисляющие степенную функцию, используют значения В и Р (1.5 и 3). Результат вычислений помещается в имя DEGREE, в этом и состоит механизм, посредством которого функция "посылает" свой ответ в основную программу. После возврата в основную программу результат, переданный функцией, назначается переменной Z. При этом значение, вычисленное функцией и помещаемое в DEGREE, имеет тот же тип, что и переменная Z. Структуру программы, содержащей подпрограмму-функцию, можно представить следующим образом: PROGRAM Main; CONST { декларативная . . . ; часть VAR главной . . . ; программы } { процедурная часть главной программы } FUNCTION Sample( . . . ) : . . .; { заголовок функции } VAR { декларативная часть подпрограммы } ...; { процедурная часть ПП } BEGIN { Sample } ... Sample:= . . . ; END; { Sample } BEGIN { главная программа } ... < любое количество вызовов функции Sample > ... END. { конец главной программы } 11.2. Процедуры Подпрограмму следует оформить в виде процедуры, если она предназначена для решения задачи одного из двух типов. Задача первого типа: требуется выполнить некую последовательность действий, не возвращая результирующего значения. Задача второго типа: требуется изменить значения одного или нескольких фактических параметров. Процедура, как и функция, помещается в конце декларативной части программы. Компилятор распознает процедуру по ключевому слову PROCEDURE. С этого слова начинается заголовок процедуры, после которого следует идентификатор процедуры, а затем в круглых скобках перечисляются формальные параметры процедуры. В Паскале передать параметры подпрограмме можно двумя способами. До сих пор мы имели дело только с одним из них. Этот способ называют передачей параметров по значению. Он состоит в том, что значение фактического параметра назначается соответствующему формальному параметру. Другими словами, перед началом выполнения процедуры вычисляется конкретное значение фактического параметра (например, 1.5 или 3). Затем полученное значение копируется в соответствующий формальный параметр, принадлежащий процедуре. Как только начинается выполнение процедуры, никакие изменения значения формального параметра уже не оказывают влияния на значение соответствующего фактического параметра. Это значит, что по окончании работы процедуры фактический параметр будет иметь точно такое же значение, каким он обладал до начала работы процедуры, вне зависимости от того, что происходило с формальным параметром. Такой способ передачи параметров действует при работе с функциями. 78
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »