Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 3
1

Решение формально-логической задачи на Lisp

11.12.2018, 18:49. Показов 1242. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята помогите пожалуйста решить задачу на Lisp. Очень срочно, я вообще не программировала на данном языке. Вот условие задачи - В комнате находятся Маша, Гриша и Алексей. Известно ,что Маша сидит не на кресле и не на диване.Гриша сидит не на диване. Кто где сидит? Нужен код до 22:00 по МСК. Буду очень благодарна!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2018, 18:49
Ответы с готовыми решениями:

Решение логической задачи
Решите следующую задачу (автор - В. Н. Касаткин). Алеша, Боря и Гриша нашли в земле сосуд....

Формальное решение логической задачи
Всем привет. Есть такая задача: 1) "Если Иванов не участвовал или Петров участвовал, то...

Лямба выражения и предикаты (решение логической задачи)
Доброго всем дня. Требуется ваша помощь. В общем поставлена задача: решить логическую задачу "Волк...

Решение логической задачи про птиц на Visual Prolog 5.2
Доброго времени суток! Очень нужна помощь в решении задачи. В одном городе живут семь любителей...

2
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
11.12.2018, 19:26 2
Возможное решение: все сидят на табуретках.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,641
Записей в блоге: 13
11.12.2018, 21:18 3
Лучший ответ Сообщение было отмечено Rido4ka как решение

Решение

HomeLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
;; Проверка правильности рассаживания
 
(defun check (x)
  (apply 'and (mapcar (lambda (z)
                       (let ((a (car z))
                             (b (cadr z))) 
                        (cond ((and (eq a 'masha) (not (eq b 'sofa)) (not (eq b 'chair))) t)
                              ((eq a 'masha) nil)
                              ((and (eq a 'grisha) (not (eq b 'sofa))) t)
                              ((eq a 'grisha) nil)
                              (t t)))) x)))
 
;; Построение всех перестановок 
 
(defun inj (s a &optional (l nil) (r s))
   (cond ((null s) (list (append l (list a))))
         (t (cons (append l (list a) r) (inj (cdr s) a (append l (list (car s))) (cdr r))))))
 
(defun perms (s)
  (cond ((null (cdr s)) (list s))
        (t (let ((ss (perms (cdr s))))
             (apply 'append (mapcar (lambda (x) (inj x (car s))) ss))))))
 
;; Решение задачи
 
(defun task nil
  (let* ((p '(masha grisha alex))
         (f '(sofa chair stool))
         (fs (perms f)))
     (iter (for b in fs)
       (let ((g (mapcar 'list p b)))
         (when (check g) (printline g))))))
 
==> TASK
 
(task)
 
((MASHA STOOL) (GRISHA CHAIR) (ALEX SOFA))
2
11.12.2018, 21:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2018, 21:18
Помогаю со студенческими работами здесь

Нужно полное решение логической задачи на Visual Prolog
Пожалуйста, помогите решить вот такую логическую задачу на Visual Prolog. Браун, Гриффит,...

Решение логической задачи на языке Prolog (SWI или GNU)
Здравствуйте, мне нужно решить логическую с использованием Prolog'a, никак не получается решить,...

Посторонние логической задачи
Нужна помощь, выручайте ребята) Если модно то код программы в скриншотах кидайте) Буду очень...

Проверка Логической задачи
Ув. форумчане, можете проверить, правильно ли я решил данную задачу: Если я поеду автобусом (А),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru