Размещено на
сайте пользователей САПР
, здесь вы также можете
скачать документацию по Автокад и Автолисп
, а так же
бесплатные Лисп программы
для Автокад
Вопросы к главе 6
Вопрос 6.1
Чему будет равно значение переменной a после выполнения кода ( SETQ a ( IF nil ( SQRT 2 ) PI ) )?
Возникнет ошибка
NIL
T
3.14152...
Вопрос 6.2
Как можно в программе на Лиспе перейти "назад", ближе к ее началу?
Никак - в Лиспе нет команды GOTO
При помощи функции IF
При помощи функции COND
При помощи циклов
Вопрос 6.3
Как проще всего нарисовать правильный шестиугольник?
При помощи цикла REPEAT
При помощи цикла FOREACH
Командой МН-УГОЛ
Ни одним из приведенных способов
Вопрос 6.4
Сколько раз выполнится цикл в следующем фрагменте кода: ( SETQ a 10 ) ( WHILE ( >> a 10 ) ( SETQ a ( 1- a ) ) )?
10
1
Ни разу
Возникнет ошибка
Вопрос 6.5
Верен ли семантически следующий фрагмент программы: ( SETQ a 0 ) ( WHILE ( = a 0 ) ( SETQ b ( + a 2 ) ) )
Да
Нет, возникнет ошибка
Нет, получится вечный цикл
Нет, цикл не выполнится ни разу
Вопрос 6.6
Как прервать вечный цикл?
Нажав Ctrl+C или Ctrl+Break
Нажав клавишу ESC
Никак, только перезагрузив компьютер
Вопрос 6.7
Что будет выводить на текстовый экран следующий код: ( SETQ l '( "a" "b" "c" ) ) ( FOREACH cur l ( PRINT cur ) )?
NIL
Возникнет ошибка
Значения всех элементов списка l
3
Вопрос 6.8
При помощи какого цикла наиболее эффективно можно найти сумму элементов списка?
REPEAT
FOREACH
WHILE
MAPCAR
Вопрос 6.9
Какое значение вернет функция MAPCAR? ( SETQ a1 '( 10 20 ) a2 '( 30 40 ) ) ( MAPCAR '- a1 a2 )
NIL
( -20 -20 )
-20
Возникнет ошибка
Вопрос 6.10
Для чего в программах на Лиспе используется функция LAMBDA?
LAMBDA создает "одноразовую" функцию для подстановки в MAPCAR
Такой функции в Лиспе нет
LAMBDA используется для создания пользовательской функции наряду с DEFUN
LAMBDA вычисляет гипотенузу треугольника с заданными катетами
Содержание
Список функций
Тесты
Предметный указатель