Студопедия — Конструктор deffunction
Студопедия Главная Случайная страница Обратная связь

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

Конструктор deffunction






Конструктор deffunction позволяет объявлять в памяти новые функции, так же, как конструктор defglobal объявляет переменные. Для функции всегда должны быть определены уникальное имя, набор аргументов и действия, которые она выполняет. В упрощённом варианте синтаксис конструктора выглядит так:

 

(deffunction <имя функции>

(<аргумент>*)
<действие>*)

 

Имя функции указывается в формате symbol, аргументы функции перечисляются в круглых скобках, отделяются пробелом и начинаются с символа?. Действием может быть условный оператор, цикл, выражение или другая функция. Если во время выполнения функции, определённой конструктором deffunction, происходит ошибка, она возвращает символьное значение FALSE.

 

Рисунок 7.1 – пример написания простой функции

 

На рисунке 7.1 конструктор deffunction определяет функцию Printer, аргументами которой являются внутренние переменные?a,?b,?c. Сначала bind присваивает переменной?a значение суммы переменных?b и?c. После этого функция if проверяет при помощи выражения (>?a (*?b?b)), является ли переменная?a больше переменной?b, умноженной на саму себя, и выводит соответствующее сообщение на экран. При первом вызове написанной функции ей задаются аргументы 3,4,5, при втором вызове -4, -5, -5. При третьем вызове функции задаются аргументы 5,6, и аргумент символьного типа a. Аргументу символьного типа не может быть присвоено целочисленное значение, поэтому функция завершается сообщением об ошибке и возвращает значение FALSE.

 


Рисунок 7.2 – функция, вычисляющая факториал введённого числа

 

На рисунке 7.2 определена функция с именем Factorial, аргументами которой являются внутренние переменные?num и?result. В начале запускается функция bind, которая задаёт внутренней переменной?result значение 1. После этого запускается арифметический цикл, начальным параметром которого является переменная?i (ей автоматически присваивается значение 1). Конечным параметром цикла является переменная?num, которая хранит число, факториал которого нужно получить. Цикл каждую итерацию перемножает переменную?result и переменную цикла?i, присваивая переменной?result новое значение с помощью bind. После этого функция выводит число и его факториал (рисунок 7.3):

 


Рисунок 7.3 – вызов функции Factorial

 







Дата добавления: 2015-08-31; просмотров: 722. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия