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

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

Конструктор 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; просмотров: 749. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

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