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

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

Конструктор 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 оперирует с двумя категориями...


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


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

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

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