Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
54-62.doc
Скачиваний:
5
Добавлен:
17.04.2019
Размер:
65.02 Кб
Скачать

56. Фактические параметры в процедуре: передача по ссылке и по значению. Пример.

Всего в процедуру может быть передано до 16 параметров. Фактические параметры могут быть переданы в процедуру по ссылке и по значению. При передаче по ссылке переменных их значения в процедуре могут быть изменены. Когда же переменная заключается в скобки при вызове процедуры, то она передается по значению и первоначальное ее значение не изменяется при выполнении процедуры [1,4].

11<-рсдача фактических параметров в процедуру осуществляется при ее ны иже с помощью оператора CALL, имеющего следующий формат:

('Л1 ,Ь<имя>([<список параметров>]) I щ< - имя"- - это имя процедуры, определенное с помощью оператора SUB;

• список параметров> - это последовательность разделенных запятыми фйктичсских параметров, в качестве которых могут передаваться Переменные, выражения, константы.

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

DIM a (5, 4), b (4, 7), с (5, 7)

CALLpro(a(),b(),c(),5,4,7)

Sub pro(x(2),y(2),z(2),m%,n%,k%)

55. Особенности функционирования механизма передачи параметров в процедуре и функции в Турбо Бейсике.

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

. Оператор DEF FN является описательным оператором и может быть размещен в любом месте программы до использования функции. Действие этого оператора в Бейсике осуществляется при его упоминании с помощью функции:

FN<6yKBa> (<имя простой переменной>), где <буква> - имя функции, а <имя простой переменной> - фактический параметр функции. Для примера опишем тригонометрические функции, не являющиеся стандартными.

В <списке параметров> через запятую указываются формальные параметры, получающие фактическое значение при вызове функции.

54. Область действия переменных в процедуре и функции Турбо Бейсика.

В Бейсике применяются следующие виды процедур: стандартные

функции, функции пользователя и подпрограммы. В Турбо Бейсике эти

средства расширены за счет введения собственно процедуры, как отдельного,

самостоятельного средства создания программы модульной структуры. Эта

конструкция свойственна высокоразвитым языкам программирования. Она

обеспечивает передачу параметров, допускает рекурсию (т.е. вызов самой

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

локальные, статические и глобальные переменные. Область действия

переменных при этом определяется соответствующими операторами LOCAL,

STATIC, SHARED. В Турбо Бейсике областью действия переменных можно

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

Операторы STATICи LOCAL определяют переменные, которые действуют только в пределах функции. Причем переменные, определяемые оператором STATIC,сохраняют свое значение между отдельными вызовами функции, аопределяемые оператором LOCAL — не сохраняют. По умолчанию переменные в теле функции являются глобальными (SHARED) или разделяемыми по отношению к основной программе.

В Турбо Бейсике операторы LOCAL, STATIC и SHARED,

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

после оператора SUB [12]. Все переменные в процедуре по умолчанию

ииляются локальными, т.е. место в памяти под них выделяется при

выполнении процедуры и они автоматически пропадают после завершения

процедуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]