Micro Lisp. Основные понятия, структуры и функции. Яшин Л.З. - 21 стр.

UptoLike

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

21
(WHEN условие форма1 форма2 ...) Ù (COND (условие форма1 форма2 ...)
Условное предложение IF
В простом случае можно воспользоваться вполне естественной и содержащей
мало скобок формой IF:
(IF условие mo – форма иначеформа)
IF вычисляет по условию одно из двух альтернативных выражений:
[1] (if (atom? t) 'атом 'список)
АТОМ
[2] (if (>? 1 9) 'да 'нет)
НЕТ
[3] (if (>? 11 9) 'да 'нет)
ДА
[4] (if (>? 12 8) (- 12 8))
4
[5] (if (>? 5 7) (- 5 7))
()
Условное предложение CASE
В форме CASE сначала вычисляется значение ключевой формы ключ. Затем
проверяется, есть ли это значение в списках список-ключейN. Если такой список будет
найден, вычисляются альтернативы mNi т возвращается последняя из них в качестве
всего значения выражения CASE.
(CASE ключ
(список-ключей1 m11 m12 ...)
(список-ключей2 m21 m22 ...)
...
)
[0] (case 1 ((1 2) 12) ((3 4) 34))
12
[1] (case 2 ((1 2) 12) ((3 4) 34))
12
[2] (case 3 ((1 2) 12) ((3 4) 34))
34
[3] (case 4 ((1 2) 12) ((3 4) 34))
34
Предложение DO
Используется для организации повторяющихся вычислений. Синтаксис:
(DO ((var1 знач1 шаг1) (var2 знач2 шаг2) ...)
(условие-окончания форма11 форма12 ...)
форма21
форма22
                                          21

(WHEN условие форма1 форма2 ...) Ù (COND (условие форма1 форма2 ...)

Условное предложение IF
      В простом случае можно воспользоваться вполне естественной и содержащей
мало скобок формой IF:
                       (IF условие mo – форма иначе – форма)
      IF вычисляет по условию одно из двух альтернативных выражений:


       [1] (if (atom? t) 'атом 'список)
       АТОМ
       [2] (if (>? 1 9) 'да 'нет)
       НЕТ
       [3] (if (>? 11 9) 'да 'нет)
       ДА
       [4] (if (>? 12 8) (- 12 8))
       4
       [5] (if (>? 5 7) (- 5 7))
       ()

Условное предложение CASE
       В форме CASE сначала вычисляется значение ключевой формы ключ. Затем
проверяется, есть ли это значение в списках список-ключейN. Если такой список будет
найден, вычисляются альтернативы mNi т возвращается последняя из них в качестве
всего значения выражения CASE.
       (CASE ключ
                (список-ключей1 m11 m12 ...)
                (список-ключей2 m21 m22 ...)
                ...
       )
         [0] (case 1 ((1 2) 12) ((3 4) 34))
         12
         [1] (case 2 ((1 2) 12) ((3 4) 34))
         12
         [2] (case 3 ((1 2) 12) ((3 4) 34))
         34
         [3] (case 4 ((1 2) 12) ((3 4) 34))
         34

Предложение DO
       Используется для организации повторяющихся вычислений. Синтаксис:
(DO ((var1 знач1 шаг1) (var2 знач2 шаг2) ...)
       (условие-окончания форма11 форма12 ...)
       форма21
       форма22