Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Задание на лабораторную работу. 1. Записать и вычислить s-выражения для следующих формул:




1. Записать и вычислить s-выражения для следующих формул:

1)

2) (3 * 17) + (4 * 19)

3)

2. Построить диаграммы списочных ячеек для выражений:

1) (+ 3 5)

2) (x (a b (c)))

3) (((nil)))

3. Вычисление выражения (caadr (cadr ’(a ’(b (c))))) вернет результат b. Если же мы вычислим вторую часть этого выражения, то есть (cadr ’(a ’(b (c)))), то получим ’(b (c)). Вычисление же (caadr ’(b (c))) даст в результате c. Необходимо объяснить, почему так получается.

Контрольные вопросы

1. Что называется s-выражением?

2. Напишите s-выражение, вычисляющее среднее арифметическое чисел 23, 5, 43 и 17.

3. Определите значения следующих выражений:

1) ’(+ 2 (* 3 4))

2) (+ 2 ’(* 3 4))

3) (+ 2 (’* 3 4))

4) (+ 2 (* 3 ’4))

5) (quote ’quote)

6) (quote 2)

7) ’(quote NIL)

4. Назовите базовые функции языка Лисп для работы со списками.

5. Запишите последовательности вызовов CAR и CDR, выделяющие из приведенных ниже списков символ “цель”. Упростите эти вызовы с помощью функций C..R.

1) (1 2 цель 3 4)

2) ((1) (2 цель) (3 (4)))

3) ((1 (2 (3 4 цель))))

6. Вычислите значения следующих выражений:

1) (cons nil ’(1 2 3))

2) (cons nil nil)

3) (cons ’(nil) ’(nil))

4) (cons (car ’(a b)) (cdr ’(a b)))

5) (car ’(car (a b c)))

6) (cdr (car (cdr ’(a b c))))

7) (list (list ’a ’b) ’(car (c d)))

 


Лабораторная работа №5

Рекурсия и итерация в языке Лисп





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 392 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

4452 - | 4099 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.