Учебно-методический комплекс дисциплины для обучающегося «Языки программирования» для специальности 5В010900 Математика



бет54/142
Дата03.01.2022
өлшемі1.33 Mb.
#450516
түріУчебно-методический комплекс
1   ...   50   51   52   53   54   55   56   57   ...   142
УМКДО -ЯзыкиПрограммирования

Вызов подпрограмм

Любая подпрограмма может быть вызвана не только из основного тела программы, но и из любой другой подпрограммы, объявленной позже нее.

При вызове в подпрограмму передаются фактические параметры или аргументы (в круглых скобках после имени подпрограммы, разделенные запятыми):

Аргументами могут быть переменные, константы и выражения, включающие в себя вызовы функций.

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

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



Процедура же ничего не возвращает явным образом, поэтому ее вызов является отдельным оператором в программе. Например:





Замечание: После того как вызванная подпрограмма завершит свою работу, управление передается оператору, следующему за оператором, вызвавшим эту подпрограмму.

В качестве примера рассмотрим процедуру kwad, которая также служит для печати квадрата в процедуре:



Данный пример ясно показывает, что внутри процедуры также можно объявлять новые переменные. Так как эти переменные могут действовать только в самой процедуре, то говорят, что эти переменные являются локальными. Термин «локальные» объявляет, что переменные могут использоваться (имеют смысл) только в самой процедуре.

В процедуре можно также определять метки, константы, типы и т.д. (и даже новые процедуры). Подобная процедура имеет точно такую же структуру, как и программы, которые мы до сих пор описывали.



Достарыңызбен бөлісу:
1   ...   50   51   52   53   54   55   56   57   ...   142




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет