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

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

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


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


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


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

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

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

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