АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Функции и процедуры, определяемые пользователем (собственные)

Читайте также:
  1. A. для временного замещения выделительной функции почек
  2. II. Основные задачи и функции Отдела по делам молодежи
  3. II.2 Принципы деятельности и функции КБ
  4. III. 2. Функции собственного капитала банка.
  5. III. ФУНКЦИИ ДЕЙСТВУЮЩИХ ЛИЦ
  6. III. Функции общешкольного родительского комитета
  7. III. Функции семьи
  8. III. ФУНКЦИИ СЛУЖБЫ ОХРАНЫ ТРУДА
  9. III.7.1.Функции и компетенции органов прокуратуры
  10. IV. Порядок и формы контроля за исполнением государственной функции
  11. Wait функции
  12. А) Ведущая и подчиненная функции

Стандартная функция - группа операторов в программе, объединенных именем функции.

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

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

Различают собственные функции и подпрограммы.

 

Функция или подпрограмма – поименованная группа операторов, которая определяет логично связанный набор действий.

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

 

Обмен данными между головным модулем и процедурой осуществляется 2 способами:

Использование глобального объявления типов данных

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

DIM SHARED MR%

DIM SHARED F!(1 TO 5)

Использование механизма формально-фактических параметров.

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

 

Оба способа обмена могут быть использованы в одной процедуре.

Функция пользователя FUNCTION

Состоит из 1 или нескольких операторов, но возвращает только одно значение.

Для вызова собственной функции нужно указать ее имя.

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

Формальные параметры записывают через запятую в круглых скобках. SR$(A,T,X)

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

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

Объявление функции пользователя

 

FUNCTION имя функции (форм. параметр [,ф.п....]) [ STATIC ]

Оператор 1

...

[Оператор n]

имя функции = выражение

END FUNCTION

 

STATIC – если в теле процедуры объявляются локальные переменные, то они сохраняют свои значения в промежутке между вызовом функции.

Для запуска процедуры FUNCTION в головном модуле должен быть оператор, который содержит обращение к функции (это операторы присваивания или вывода)

Процедура – функция FUNCTION может использоваться не только в том модуле, где она определена. Чтобы сделать доступным использование функции в другом модуле, надо включить в него оператор DECLARE.

 

DECLARE FUNCTION имя [перемен. [() ] ] [, перемен. [()] ]...

Пример

 

REM извлечение корня произвольной степени

DIM SHARED ARG!, ST%

DO

INPUT”ввести аргумент”; ARG!

INPUT”ввести степень корня”; ST%

LOOP WHILE ARG! < 0

PRINT KOR! (ARG!, ST%)

END

FUNCTION KOR! (ARG!, ST%)

KOR! = ARG! ^ (1 / ST%)

END FUNCTION

 

 

Пример

 

REM демонстрация STATIC

DIM SHARED X

X = 2

PRINT “Z = “; Z(X)

PRINT “Z = “; Z(X)

END

 
 


FUNCTION Z (X) FUNCTION Z (X) STATIC

DIM C DIM C

C = C + 2: Z = C C = C + 2: Z = C

END FUNCTION END FUNCTION

 
 


Результат Z = 2 Результат Z = 2

Z = 2 Z = 4

 

Место процедуры FUNCTION - после текста основного модуля.

Ввод программы, в тексте которой находится обращение к функции, выполняется в 2 этапа:

Ввод текста головного модуля. После ввода последней строки необходимо ввести часть заголовка процедуры, а именно FUNCTION <имя> и нажать ENTER.

На экране появятся 3 строки

FUNCTION имя

-

END FUNCTION

Курсор в 1-й позиции 2-й строки

Ввод текста процедуры. Если в функции есть параметры, необходимо начать с ввода этих параметров.

После ввода последнего оператора функции (оператора присваивания) необходимо нажать клавишу F2.

На экране в поле диалога появляются имена головного модуля (например, UNTITLED) и функции.

С помощью курсорных клавиш и ENTER можно перейти в поле редактирования головного модуля или функции.

Команда SAVE записывает (сохраняет) программу на диск.

Перед записью в тексте головной программы появляется строка DECLARE FUNCTION имя функции ()


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)