русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Собственные функции


Дата добавления: 2014-12-01; просмотров: 541; Нарушение авторских прав


В предшествующих главах Вы познакомились с некоторыми встроенными функциями QBASIC (например, MID$ или SQR). Теперь рассмотрим составление собственных функций.

Вернемся к математической функции INT. INT — имя функции. Этим именем определяются некоторые программные действия, невидимые программисту, и которые инициализируются автоматически с появлением в программе имени функции. Иначе говоря, функцию можно понимать как группу операторов в программе, объединенных под именем функции. С помощью заключенного в круглые скобки аргумента (сравни INT (3.34)) в подпрограмму, инициируемую именем функции, передаются конкретные данные. Над этими данными производятся некоторые преобразования, и результат, как правило, возвращается в основную программу.

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

 

Пример:
STRICH$()-Возвращаемое значение - строка
RUNDEN%()-Возвращаемое значение - число типa INTEGER
WURZEL! ()-Возвращаемое значение — число типа SINGLE

В QBASIC пользовательские функции объявляются при вводе ключевого слова FUNCTION и следующего за ним имени функции. В этом случае редактор автоматически генерирует новое программное окно, в котором нет ничего, кроме операторов, ограничивающих тело функции:

FUNCTION Имя_функции END FUNCTION

В пространство между ограничивающими ключевыми словами вносят операции QBASIC,
обеспечивающие выполнение необходимых действий. Чтобы вернуться в главную программу, надо нажать клавишу F2. На экране появляется поле списков со всеми BIBL.BAS и сохраните его под новым именем ("Save as..."). Если Вы будете составлять свою программу в этом файле, из нее можно вызывать все процедуры и функции файла BIBL.BAS.

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



'Главная программа для функции извлечения корня
DIM argument!, wurz%
CLS
DO
INPUT "Ввести аргумент: ", argument!
INPUT "Ввести степень корня: ", wurz%
LOOP WHILE argument! < 0
PRINT
PRINT wurzel!(argument!, wurz%)
'Конец главной программы
Составим шаблон функции:
FUNCTION wurzel! (argument!, wurz%) END FUNCTION

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

FUNCTION wurzel! (argument!, wurz%)
wurzell = argument! ^ (1 / wurz%)
END FUNCTION

Рассмотрим синтаксис определения функции в программе более детально:
FUNCTION Имя_функции (Параметр_1 [, Параметр_2]...) [STATIC]
[Оператор]...
Имя_функции = Выражение
END FUNCTION

 

Имя_функции - Имя функции; последний символ обязательно определяет тип возвращаемого значения (%,&,!, #или $).

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

Смысл опции STATIC разъясним на небольшом примере. Составим главную программу для вызова функции zlen:

'Главная программа
PRINT "Длина 'test' "; zlen%("test")
PRINT "Длина 'test' "; zlen%("test")

 

Функцию zlen объявим следующим образом:

FUNCTION zlen%(text$)
DIMi%
i%-i%+LEN(text$)
zlen%-i% END FUNCTION

 

После запуска программы дважды получим на экране сообщение "Длина 'тест' 4". Изменим заголовок функции:
FUNCTION zlen% (text$) STATIC

 

После первого запуска программы получаем сначала значение длины 4, затем 8. Так как при объявлении функции используется ключевое слово STATIC, то значение локальной переменной i% сохраняется после окончания выполнения функции. Поэтому при последующих вызовах к значению переменной i% добавляется число 4, и при втором обращении к функции возвращаемое значение уже не 4, а 8.

 

 



<== предыдущая лекция | следующая лекция ==>
Массивы в QBASIC | Собственные процедуры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.266 сек.