Главная страница
Навигация по странице:

  • Вопрос 65 Лисп. Какова неподвижная точка функции (lambda (x) (+ 1 (/ x 2)) Введите значение. Вопрос 66

  • Вопрос 74 Лисп. Что является наименьшей неподвижной точкой выражения x. * x x Введите число. 64 Вопрос 75

  • Вопрос 79 Лисп. Пусть IF  p. q. r. p q r, TRUE  x. y. x . Сколько шагов редукции требуется для преобразования IF TRUE A B к нормальной форме Введите число. Вопрос 80

  • Вопрос 92 Лисп. Дано определение функции (defun factor (n) (if (< n 2 ) (1) (append (factor (- n 1)) (list * n)))) Чему равно значение (length (factor 3)) Вопрос 93

  • Вопрос 95 Лисп. Дано определение функции (defun f (x s) (if (= x (car s)) 1 (+ 1 (f x (cdr s))))) Чему равно значение (f 2 (1 3 2)) 68 Вопрос 96

  • Вопрос 98 Лисп. Дано определение функции (defun f(s) (if (null s) nil (cons (car s) (f (f (cdr s)))))) Чему равно значение (f (1 2 3)) Вопрос 99

  • 7. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

  • ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра автоматизированных систем управления (АСУ) Нахождение компонент связности графа

  • ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

  • ПРИЛОЖЕНИЕ 3 ПРИМЕР ОФОРМЛЕНИЯ СОДЕРЖАНИЯ СОДЕРЖАНИЕ

  • Логич-кое и функ-ное программ-ние_УМП. Учебные пособия по логическому и функциональ ному программированию В. М. Зюзькова. В пособие внесены изменения в 2020 г


    Скачать 2.34 Mb.
    НазваниеУчебные пособия по логическому и функциональ ному программированию В. М. Зюзькова. В пособие внесены изменения в 2020 г
    Дата06.05.2023
    Размер2.34 Mb.
    Формат файлаpdf
    Имя файлаЛогич-кое и функ-ное программ-ние_УМП.pdf
    ТипУчебные пособия
    #1111705
    страница6 из 6
    1   2   3   4   5   6
    Вопрос 62
    Лисп. Вычислите значения следующих выражений:
    1) (length ((lambda (x) (cons x nil)) 'y));
    2) (length ((lambda (x y) (list y x)) 'x y));
    3) (length ((lambda (x) (list x)) (list nil)));
    4) (length ((lambda (x) (list x)) ((lambda (x) (list x)) (list nil)))).
    Введите последовательность ответов через пробел (в порядке нумерации).
    Возможные ответы: число или слово error (ситуация ошибки).

    60
    Вопрос 63
    Лисп. Вычислите значения следующих выражений:
    1) (length ((lambda (x y) (list x y)) '(+ 2 3) 'c));
    2) (length ((lambda (x y) ((lambda (z) (list x y z)) 'c));
    3) (length ((lambda (x y) (list x y))
    ((lambda (z) z) 'a) 'b)).
    Введите последовательность ответов через пробел (в порядке нумерации).
    Возможные ответы: число или слово error (ситуация ошибки).
    Вопрос 64
    Лисп. Вычислите значения следующих вызовов:
    1) (length (apply 'list '(a b)));
    2) (length (funcall 'list '(a b)));
    3) (length (funcall 'apply 'list '(a,b)));
    4) (length (funcall 'list 'apply '(a b))).
    Введите последовательность ответов через пробел (в порядке нумерации).
    Возможные ответы: число или слово error (ситуация ошибки).
    Вопрос 65
    Лисп. Какова неподвижная точка функции (lambda (x) (+ 1 (/ x 2))?
    Введите значение.
    Вопрос 66
    Следующие предложения на Лиспе должны следовать друг за другом. В каж- дом случае укажите, имеет ли результат какой-либо смысл. (Например, если за (setq x 'y) следует (setq z (+ 6 x)), то второе из этих предложений - очевид- ная бессмыслица, потому что оно пытается сложить 6 с символом y.)
    1) (setq a (+ 3 7))
    2) (setq a (+ a 7))
    3) (set a (+ a 7))
    4) (setq b 'alpha)
    5) (set b 'beta)
    6) (setq c (+ 6 alpha))
    7) (setq c (+ 6 'alpha)).
    Введите последовательность номеров через пробел тех выражений, которые имеют смысл (в порядке возрастания).
    Вопрос 67
    Лисп. Имеется два определения символьного выражения.
    1. Символьное выражение составляется из атомов (которые могут быть кон- стантами или переменными) и скобок таким образом, что если мы пред- ставим себе счетчик, установленный вначале в нуль, и будем увеличивать

    61 его на единицу при движении слева направо каждый раз, когда встречается левая скобка, и уменьшать на единицу каждый раз, когда встречается пра- вая скобка, то его конечное значение будет нуль. Атомы между собой должны разделяться пробелами.
    2. Символьное выражение - это либо атом, либо левая круглая скобка, за ко- торой следует последовательность символьных выражений, отделенных друг от друга пробелами, и следующая за нею правая круглая скобка.
    Правильны ли эти определения?
    Варианты ответов:
    1) оба правильны;
    2) оба неправильны;
    3) первое - правильное, второе - неправильное;
    4) второе - правильное, первое - неправильное.
    Введите номер правильного ответа.
    Вопрос 68
    Лисп. Каково общее число подсписков в подсписках (т. е. списки уровня 3; исходный список имеет уровень 1) в следующих списках:
    1) (6 (3 6 (7 (4 5) 8)) (9 3));
    2) (((a 9( (b 7) c) (d 5));
    3) (quote (s (3 5) (7 (9 8))));
    4) (d (q 2 7 4) (+ 1 (* 7 (+ 3 (- 2)))))?
    Введите последовательность чисел через пробелы в порядке перечисления исходных списков.
    Вопрос 69
    Лисп. Дан лямбда-терм
    (h. (x. h(x x))(x. h(x x))) ((x. x) (+ 1 5)) и некоторые его подтермы:
    1) x. h(x x);
    2) h. (x. h(x x))(x. h(x x));
    3) (x. h(x x))(x. h(x x));
    4) (h. (x. h(x x))(x. h(x x))) ((x. x) (+ 1 5));
    5) ((x. x) (+ 1 5));
    6) (x. x);
    7) (+ 1 5).
    Какие из этих подтермов являются редексами?
    Введите номера соответствующих подтермов через пробел (в порядке возрас- тания).

    62
    Вопрос 70
    Лисп. Дан лямбда-терм
    (x. y. x (z. y z))(((x. y. y) 8)(x. (y. y) x)) и некоторые его подтермы:
    1) x (z. y z);
    2) x. y. x (z. y z);
    3) x. y. y;
    4) (x. y. y) 8;
    5) (y. y) x;
    6) x. (y. y) x;
    7) (x. y. x (z. y z))(((x. y. y) 8)(x. (y. y) x));
    8) ((x. y. y) 8)(x. (y. y) x).
    Какие из этих подтермов являются редексами?
    Введите номера соответствующих подтермов через пробел (в порядке возрас- тания).
    Вопрос 71
    Лисп. Дан лямбда-терм
    (h. (x. h(x x))(x. h(x x))) ((x. x) (+ 1 5)) и некоторые его подтермы:
    1) x. h(x x);
    2) h. (x. h(x x))(x. h(x x));
    3) (x. h(x x))(x. h(x x));
    4) (h. (x. h(x x))(x. h(x x))) ((x. x) (+ 1 5));
    5) ((x. x) (+ 1 5));
    6) ((x. x);
    7) (+ 1 5).
    Какой из этих подтермов является самым левым из самых внешних редексов и самым левым из самых внутренних редексов?
    Введите номера соответствующих подтермов через пробел (сначала номер самого левого из самых внешних редексов, потом номер самого левого из самых внутренних).
    Вопрос 72
    Лисп. Дан лямбда-терм
    (x. y. x (z. y z))(((x. y. y) 8)(x. (y. y) x))

    63 и некоторые его подтермы:
    1) x (z. y z);
    2) x. y. x (z. y z);
    3) x. y. y;
    4) (x. y. y) 8;
    5) (y. y) x;
    6) x. (y. y) x;
    7) (x. y. x (z. y z))(((x. y. y) 8)(x. (y. y) x));
    8) ((x. y. y) 8)(x. (y. y) x).
    Какой из этих подтермов является самым левым из самых внешних редексов и самым левым из самых внутренних редексов?
    Введите номера соответствующих подтермов через пробел (сначала номер самого левого из самых внешних редексов, потом номер самого левого из самых внутренних).
    Вопрос 73
    Лисп. Какие из следующих утверждений верны?
    1. -исчисление - это исчисление безымянных функций. Оно включает в себя нотацию для записи выражений и набор правил преобразований этих вы- ражений.
    2. -исчисление может быть дополнено произвольным набором констант, та- ких, как целые числа, и связанных с ними функций, называемых
    -правилами.
    3. Когда есть возможность выбрать редекс для преобразования, выбор опре- деляется порядком редукций. Двумя альтернативными стратегиями выбора являются аппликативный порядок редукций и нормальный порядок редук- ций, тесно связанные с ленивым вычислением и энергичным вычислением, соответственно.
    4. Удалив -правила, мы получим чистое -исчисление. В нем нельзя выра- зить некоторые функции.
    Введите номера правильных утверждений через пробел (в порядке возраста- ния).
    Вопрос 74
    Лисп. Что является наименьшей неподвижной точкой выражения x. * x x ?
    Введите число.

    64
    Вопрос 75
    Лисп. Какие из следующих утверждений верны?
    1. Язык XLisp - функциональный язык с ленивыми вычислениями.
    2. Язык XLisp - функциональный язык с энергичными вычислениями.
    3. Язык XLisp - функциональный язык с энергичными и ленивыми вычисле- ниями.
    4. Язык C++ - функциональный язык.
    Введите номера правильных утверждений через пробел (в порядке возраста- ния).
    Вопрос 76
    Лисп. Пусть M  x. ((y. y y) x).
    Различные цепочки редукций выражения M M могут привести только к четы- рем различным термам. Найдите в следующем списке терм, к которому мы не можем редуцировать M M :
    1) M M;
    2) x. M;
    3) (x. x x) M;
    4) M (x. x x);
    5) (x. x x) (x. x x).
    Введите номер терма.
    Вопрос 77
    Лисп. Пусть M  x. y. x y y. Различные цепочки редукций выражения
    W W W могут привести только к трем различным термам. Найдите в следу- ющем списке терм, к которому мы не можем редуцировать W W W :
    1) W W W;
    2) (y. W y y)W;
    3) (y. y y y) W;
    4) (y. y y W) W.
    Введите номер терма.
    Вопрос 78
    Лисп. Пусть IF  p. q. r. p q r, FALSE  x. y. y . Сколько шагов редукции требуется для преобразования IF FALSE A B к нормальной форме?
    Введите число.

    65
    Вопрос 79
    Лисп. Пусть IF  p. q. r. p q r, TRUE  x. y. x . Сколько шагов редукции требуется для преобразования IF TRUE A B к нормальной форме?
    Введите число.
    Вопрос 80
    Лисп. Пусть FALSE  x. y. y , TRUE  x. y. x и OR  x. y. (x TRUE) y.
    Сколько шагов редукции требуется для преобразования TRUE OR FALSE к нормальной форме?
    Введите число.
    Вопрос 81
    Лисп. Пусть FALSE  x. y. y , TRUE  x. y. x и
    AND  x. y. x y FALSE . Сколько шагов редукции требуется для преобра- зования TRUE AND FALSE к нормальной форме?
    Введите число.
    Вопрос 82
    Лисп. Пусть CONS  h. t. s. s h t и REST  x. x FALSE. Сколько шагов редукции требуется для преобразования REST (CONS A B) к нормальной форме?
    Введите число.
    Вопрос 83
    Лисп. Дано определение функции
    (defun rol (f g)
    (function (lambda x y)
    (funcall f (funcall g x y) (funcall g y x)))))
    Чему равно значение (funcall (rol '* '+) 2 3) ?
    Вопрос 84
    Лисп. Даны определения функций
    (defun twice (f)
    (function (lambda (x) (funcall f (funcall f x)))))
    (defun do (x) (funcall (twice 'list) x))
    Чему равно значение (do '0) ?

    66
    Вопрос 85
    Лисп. Дано определения функций
    (defun many (f x)
    (mapcar #'(lambda (g) (funcall g x)) f)
    (defun f1 (x) (+ x x))
    (defun f2 (x) (* x x))
    Чему равно значение (length (many '(f1 f2) 1)) ?
    Вопрос 86
    Лисп. Дано определение функции
    (defun f (p s)
    (cond ((null s) t)
    ((funcall p (car s)) (f p (cdr s)))
    (t nil)))
    Чему равно значение (f 'zerop '(0 0 0 0)) ?
    Вопрос 87
    Лисп. Дано определение функции
    (defun f (p s)
    (cond ((null s) nil)
    ((funcall p (car s)) t)
    (t (f p (cdr s)))))
    Чему равно значение (f 'zerop '(1 1 1)) ?
    Вопрос 88
    Лисп. Дано определение функции
    (defun create (x y)
    (eval (cons 'defun (cons x (cdr y)))))
    Вызов этой функции приводит к определению некоторой новой функции f.
    (create 'f '(lambda (x) (* x x)))
    Чему равно значение (f 2)?
    Вопрос 89
    Лисп. Дано определение функции
    (defun create (x y)
    (eval (cons 'defun (cons x (cdr y)))))
    Вызов этой функции приводит к определению некоторой новой функции f.
    (create 'f '(lambda (x) (+ x x)))
    Чему равно значение (f 5)?
    Вопрос 90
    Лисп. Дано определение функции

    67
    (defun create (x y)
    (eval (cons 'defun (cons x (cdr y)))))
    Вызов этой функции приводит к определению некоторой новой функции f.
    (create 'f '(lambda (x) (+ x 1)))
    Чему равно значение (f 2)?
    Вопрос 91
    Лисп. Запишите с помощью функций C…R последовательность вызовов CAR и CDR, выделяющих из приведенных ниже списков символ goal.
    1) (1 2 goal 3 4)
    2) ((1) (2 goal) (3 (4)))
    3) ((1 (2 (3 4 goal))))
    Введите последовательность ответов - имен функций через пробел (в порядке нумерации).
    Вопрос 92
    Лисп. Дано определение функции
    (defun factor (n)
    (if (< n 2 ) '(1) (append (factor (- n 1)) (list '* n))))
    Чему равно значение (length (factor 3)) ?
    Вопрос 93
    Лисп. Дано определение функции
    (defun mix (x y)
    (if (null x) y (cons (car x) (mix y (cdr x)))))
    Чему равно значение (length (mix '(1 2) '(a b))) ?
    Вопрос 94
    Лисп. Дано определение функции
    (defun f (s)
    (cond ((null s) nil)
    ((null (cdr s)) s)
    (t (cons (car s) (f (cddr s))))))
    Чему равно значение (length (f '(a b))) ?
    Вопрос 95
    Лисп. Дано определение функции
    (defun f (x s)
    (if (= x (car s)) 1 (+ 1 (f x (cdr s)))))
    Чему равно значение (f 2 '(1 3 2)) ?

    68
    Вопрос 96
    Лисп. Какая из функций, чье имя начинается с C, кончается R и содержит буквы A и D, (например CADDR) будет:
    1) давать (3 4), когда применяется к (1 2 (3 4));
    2) давать (3 4), когда применяется к (1 2 3 4);
    3) давать (6 3), когда применяется к (((4 (6 3)) 8) 7);
    4) давать 12, когда применяется к (5 ((12) 23 34));
    5) давать (12), когда применяется к (5 ((12) 23 34))?
    Введите последовательность функций через пробел (в порядке нумерации).
    Вопрос 97
    Лисп. Каково значение каждого из следующих выражений:
    1) (atom (car (quote ((1 2) 3 4))));
    2) (null (cddr (quote ((5 6) (7 8)))));
    3) (equal (car (quote ((7)))) (cdr (quote (5 7))));
    4) (zerop (cadddr (quote (3 2 1 0)))) ?
    Введите последовательность значений через пробел (в порядке нумерации).
    Вопрос 98
    Лисп. Дано определение функции
    (defun f(s)
    (if (null s) nil (cons (car s) (f (f (cdr s))))))
    Чему равно значение (f '(1 2 3)) ?
    Вопрос 99
    Лисп. Даны две функции
    (defun g (x) (atom (car x))) и (defun f (s) (> (cadr s) (cadddr s))).
    Чему равно значение (length (append (g '((1) 2)) (f '(1 2 3 4 5)))) ?
    Вопрос 100
    Лисп. Какое значение каждого из следующих выражений:
    1) (eval (list (quote -) (+ 3 4)));
    2) (eval (list (car (quote (atom x))) 6));
    3) (eval (list (quote equal) (+ 2 2) (* 2 2))) ?
    Введите последовательность значений через пробел (в порядке нумерации).
    Вопрос 101
    Лисп. Каково значение следующего выражения
    (eval (cons (quote >) (cons 5 (list ((lambda (x y) (- x y)) 3 7))))) ?
    Введите значение.

    69
    7. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
    Основная литература по логическому программированию
    1. Братко И. Программирование на языке Пролог для искусственного интел- лекта. - М.:Мир,1990.-560с.
    2. Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог. -
    М.: Мир, 1990. -235 с.
    Дополнительная литература по логическому программированию
    1. Малпас Дж. Реляционный язык Пролог и его применение. - М.: Наука,
    1990. -464 с.
    2. Логический подход к искусственному интеллекту: от классической логики к логическому программированию: Пер.с франц./Тейз А., Грибомон П.,
    Луи Ж. и др. - М.:Мир,1990.-432 с.
    Основная литература по функциональному программированию
    1. Хювенен Э., Сеппянен Й. Мир Лиспа. В 2-х т.- М.: Мир,1990.
    2. Хендерсон П., Функциональное программирование. Применение и реали- зация. - М.: Мир, 1983. - 349 с.
    Дополнительная литература по функциональному программированию
    1. Филд А., Харрисон П. Функциональное программирование. - М.: Мир,
    1993. - 637 с.
    2. Бердж В. Методы рекурсивного программирования. - М.: Машинострое- ние, 1983. - 248 с.
    3. Барендрегт Х. Ламбда - исчисление. Его синтаксис и семантика. - М.: Мир,
    1985. - 606 с.

    70
    ПРИЛОЖЕНИЕ 1
    ФОРМА ТИТУЛЬНОГО ЛИСТА К КУРСОВОЙ РАБОТЕ
    Министерство науки и высшего образования Российской Федерации
    Федеральное государственное бюджетное образовательное учреждение высшего образования
    ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
    УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
    Кафедра автоматизированных систем управления (АСУ)
    Нахождение компонент связности графа
    Пояснительная записка к курсовой работе по дисциплине
    «Логическое программирование»
    Студент гр. 436-1
    С. С. Лавров
    _____________
    (дата)
    20__

    71
    ПРИЛОЖЕНИЕ 2
    ФОРМА ЗАДАНИЯ ДЛЯ КУРСОВОЙ РАБОТЫ
    Министерство науки и высшего образования Российской Федерации
    Федеральное государственное бюджетное образовательное учреждение высшего образования
    ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
    УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
    Кафедра автоматизированных систем управления (АСУ)
    УТВЕРЖДАЮ зав. кафедрой АСУ
    _____________
    (Ф. И. О.)
    _____________
    (дата)
    ЗАДАНИЕ по курсовому проектированию по дисциплине
    «Логическое программирование» студенту_____________________________________________ группа______________
    1. Тема проекта: Нахождение компонент связности графа
    2. Срок сдачи студентом законченной работы): __________.
    3. Исходные данные к проекту (здесь должен быть текст задания)
    4. Дата выдачи задания: _________.
    Задание принял к исполнению
    (Ф. И. О.)

    72
    ПРИЛОЖЕНИЕ 3
    ПРИМЕР ОФОРМЛЕНИЯ СОДЕРЖАНИЯ
    СОДЕРЖАНИЕ
    1. Введение 5 2. Анализ задачи 8 3. Решение задачи 10 3.1. Выбор алгоритма и структур данных 10 3.2. Описание алгоритма 14 3.3. Выбор набора тестов 18 4. Заключение 25
    Список литературы 26
    Приложение 1. Листинг программы 27
    Приложение 2. Распечатки тестов 29
    ПРИЛОЖЕНИЕ 4
    ПРИМЕРЫ БИБЛИОГРАФИЧЕСКИХ ОПИСАНИЙ ИСТОЧНИКОВ,
    ПОМЕЩАЕМЫХ В СПИСОК ЛИТЕРАТУРЫ
    1. Хендерсон П. Функциональное программирование. Применение и реализа- ция. - М.: Мир, 1983. - 349 с.
    2. Филд А., Харрисон П. Функциональное программирование. - М.: Мир,
    1993. - 637 с.
    3. Шеховцов А. С. Квазисинхронное регулирование гистерезисных электро- двигателей // Тез. докл. на науч.-техн. конф. 21-23 дек. 1998 г. - Т. 4 - Томск:
    Издательство Томского государственного педагогического университета,
    1999. - 133 с.
    4. Калянов Г. Н. CASE-технологии проектирования программного обеспече- ния // Кибернетика и системный анализ. - 1993. - №5. - С. 152-164.
    1   2   3   4   5   6


    написать администратору сайта