Программирование на языке Автолисп. Куляс О.С. - 27 стр.

UptoLike

Составители: 

27
(cond ((minusp a) (-a))
(t a)
Если переменной "а" присвоено значение -10, функция возвращает
значение 10. Функция COND может быть использована как функция
выбора. Чаще всего в качестве последнего выражения типа <условие>
используется константа "Т". Рассмотрим еще один простой пример.
Функция проверяет ввод пользовательской строки, обозначенной сим-
волом "s", и возвращает 1, если эта строка равна "Y" или "y" и 0, если она
равна "N" или "n", и "nil" в любом другом случае.
(cond ((= s "Y") 1)
((= s "y") 1)
((= s "N") 0)
((= s "n") 0)
(t nil)
)
Организация циклов в АВТОЛИСПЕ
АВТОЛИСП имеет средства организации повторных выполнений не-
которого набора действий определенное количество раз или до выпол-
нения некоторого условия. Простейшей функцией, организующей цикл,
является функция REPEAT:
(repeat <число> <выражение1><выражение2>...)
В качестве аргумента <число> этой функции
может быть задано
любое целое положительное число. Функция вычисляет последователь-
ность <выражение> столько раз, сколько задано аргументом <число> и
возвращает значение последнего <выражения>. Если дано:
(setq a 10)
(setq b 100) ,
то вызов
(repeat 4
(setq a (+ a 10))
(setq b (+ b 10))
) возвращает 140.
Функция WHILE отличается от функции REPEAT тем, что число пов-
торов в ней не задается, а
задается условие выхода из цикла:
(while <условие> <выражение1><выражение2>...)
Эта функция проверяет <условие> и, если оно выполняется, вы-
числяет последовательность <выражение>; затем вновь проверяет
<условие>. Это продолжается до тех пор, пока <условие> перестанет
                                                                       27
    (cond ((minusp a) (-a))
           (t a)

Если переменной "а" присвоено значение -10, функция возвращает
значение 10. Функция COND может быть использована как функция
выбора. Чаще всего в качестве последнего выражения типа <условие>
используется константа "Т". Рассмотрим еще один простой пример.
Функция проверяет ввод пользовательской строки, обозначенной сим-
волом "s", и возвращает 1, если эта строка равна "Y" или "y" и 0, если она
равна "N" или "n", и "nil" в любом другом случае.

    (cond ((= s "Y") 1)
           ((= s "y") 1)
           ((= s "N") 0)
           ((= s "n") 0)
           (t nil)
    )

    Организация циклов в АВТОЛИСПЕ

    АВТОЛИСП имеет средства организации повторных выполнений не-
которого набора действий определенное количество раз или до выпол-
нения некоторого условия. Простейшей функцией, организующей цикл,
является функция REPEAT:

    (repeat <число> <выражение1><выражение2>...)
    В качестве аргумента <число> этой функции может быть задано
любое целое положительное число. Функция вычисляет последователь-
ность <выражение> столько раз, сколько задано аргументом <число> и
возвращает значение последнего <выражения>. Если дано:
    (setq a 10)
         (setq b 100) ,
    то вызов
    (repeat 4
              (setq a (+ a 10))
              (setq b (+ b 10))
         )                          возвращает 140.
    Функция WHILE отличается от функции REPEAT тем, что число пов-
торов в ней не задается, а задается условие выхода из цикла:

         (while <условие> <выражение1><выражение2>...)
    Эта функция проверяет <условие> и, если оно выполняется, вы-
числяет последовательность <выражение>; затем вновь проверяет
<условие>. Это продолжается до тех пор, пока <условие> перестанет