Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
476.99 Кб
Скачать

53. Параметры процедур и функций

Обмен данными между программными компонентами 1С осуществляется через:

  • глобальные объекты;

  • переменные модуля (разд. 2.4);

  • переменные диалога (разд. 2.5);

  • параметры процедур и функций. Дополнительно от функции можно получить и использовать в выражении возвращаемое значение функции.

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

д = 4 * ф2(д) + 5; // д = 4 * 7.5 + 5 = 35

из процедуры п1 предшествующего раздела параметр д функции ф2 является фактическим.

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

функция ф2(с) // с - формальный параметр функции ф2

При вызове процедуры (функции) между фактическими и формальными параметрами устанавливается соответствие.

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

Можно, в формальные параметры установить значения по умолчанию, которые будут использоваться в выражениях при отсутствии соответствующих им фактических параметров

54. Вложенные вызовы процедур и функций

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

процедура п6(а) далее

процедура п5(а) // Процедура п5 вызывает сама себя

а = 2 * а; // из процедуры п6. В результате имеем

п6(а); // зависание программы

конецПроцедуры // п5

процедура п6(а)

а = -а;

п5(а);

конецПроцедуры // п6

процедура Выполнить()

Предупреждение("Сейчас программа зависнет. Для продолжения вычислений нажмите Esc.");

а=1;

п5(а);

конецПроцедуры // Выполнить

55. Оператор возврат

Функция возвращает результат выражения оператора

Возврат выражение;

Такой оператор может быть использован в функции неоднократно. Однако его можно разместить и в процедуре (обычно внутри конструкций "если" или Попытка). При этом выражение должно быть опущено. Например:

процедура п7(а, б)

если а <= 0 тогда

Сообщить("Неверное значение аргумента функции Лог."); возврат; // выражение опущено

конецЕсли;

б = Лог(а);

конецПроцедуры // п7

Лучше обойтись без оператора Возврат, применив ветвление "если-то-иначе":

процедура п8(а, б)

если а <= 0 тогда

Сообщить("Неверное значение аргумента функции Лог.");

иначе

б = Лог(а);

конецЕсли;

конецПроцедуры // п8