Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование 4-10 подробная версия .docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
297.11 Кб
Скачать

8. Подпрограммы: описание и вызов процедур и функций; формальные и фактические параметры; параметры-значения; параметры-переменные; параметры-константы. Примеры.

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

Использование процедур

Использование каждой процедуры связано с ее описанием и вызовом. Описание процедуры состоит, как правило из заголовка процедуры, и тела процедуры. Заголовок содержит идентификатор процедуры, и совокупность формальных параметров, и, возможно, некоторые их характеристики. Тело процедуры состоит из некоторой последовательности операторов. Вызов процедуры происходит из соответствующих точек приложения указанием идентификатора процедуры, ее фактических параметров, и, возможно, входа в ее тело.

Типы процедур

Процедуры и функции

Различают два способа использования процедур в программах: в качестве процедур-операторов, вызов которых представляет законченную единицу действий языка программирования, и процедур-функций, вызов которых осуществляется через соответствующие указатели функций, которые используются только в качестве составных элементов выражений языка программирования. Всегда, при вызове процедуры, формальные параметры в теле этой процедуры заменяются на фактические (передача параметров по ссылке), либо их значениями (передача параметров по значению) и выполняется преобразовано таким образом тело процедуры.

Открытые и закрытые процедуры

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

Функция – это фрагмент исполняемого кода, который определен в JavaScript-программе или заранее предопределен в реализации JavaScript. Хотя функция определяется только один раз, JavaScript-программа может исполнять или вызывать ее сколько угодно. Функции могут передаваться аргументы, или параметры, определяющие значение или значения, для которых она должна выполнять вычисления; также функция может возвращать значение, представляющее собой результат этих вычислений. Реализации JavaScript предоставляют много предопределенных функций, таких как функция Math.sin(), возвращающая синус угла.

JavaScript-программы могут также определять собственные функции, содержащие, например, такой код:

function square(x) // Функция называется square. Она принимает один аргумент, x.

{ // Здесь начинается тело функции.

return x*x; // Функция возводит свой аргумент в квадрат и возвращает

// полученное значение.

} // Здесь функция заканчивается.

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

y = Math.sin(x);

y = square(x);

d = compute_distance(x1, y1, z1, x2, y2, z2);

move();

Формальные и фактические параметры

Чтобы отличать параметры подпрограммы, описанные в её заголовке и теле, от параметров, указываемых при вызове подпрограммы, первые принято называть формальными параметрами, вторые — фактическими параметрами. Так в приведенном выше примере функции x – это формальный параметр, а число 7, передаваемое в функцию square() – это фактический параметр.

y = square(7);