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

Программа типа "doctor"

17.11.2011, 03:21. Показов 1089. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нашёл в сети пример программы
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
   ; Modelirovanie psihiatra ;
   (DEFUN DOCTOR (LAMBDA NIL
      (PRINT 'govorite!)
      (SETQ FLAG NIL)
      (LOOP
         (SETQ S (READ))
         (COND ( (MATCH '(menya volnuet *L) S)
                   (PRINT (APPEND '(kak davno vas volnuet)
                                   L)) )
               ( (MATCH '(* ‹…’) S)
                   (SETQ FLAG T)
                   (PRINT (APPEND '(rasskazhite bolshe o)
                                   L)) )
               ( (MATCH '(* komputery *) S)
                   (PRINT (APPEND '(komputery pugayut)
                                   L)) )
               ( (OR (MATCH '(net) S) (MATCH '(da) S))
                   (PRINT '(pozhaluysta ne budte kratki)) )
               ( MOTHER
                   (SETQ FLAG NIL)
                   (PRINT (LIST '(vy govorili o) L)) )
               ( T (PRINT '(prodolzhim nash dialog!)) )
         )
      )
   ))
   ; ---------------------- ;
   (DEFUN MATCH (LAMBDA (P D)
      (COND  ( (AND (NULL P) (NULL D))  T  )
             ( (OR  (NULL P) (NULL D)) NIL )
             ( (OR (EQ (CAR P) '?) (EQ (CAR P) (CAR D)))
                 (MATCH (CDR P) (CDR D)) )
             ( (AND (ATOM (CAR P)) (EQ (ATOMCAR (CAR P)) '>)
                  (MATCH (CDR P) (CDR D)))
                 (SET (ATOMCDR (CAR P)) (CAR D)) T )
             ( (EQ (CAR P) '*)
                 (COND ( (MATCH (CDR P) (CDR D)) )
                       ( (MATCH P (CDR D))) ) )
             ( (AND (ATOM (CAR P)) (EQ (ATOMCAR (CAR P)) '*))
                 (COND ( (MATCH (CDR P) (CDR D))
                          (SET (ATOMCDR (CAR P))
                               (LIST (CAR D))) T)
                       ( (MATCH P (CDR D))
                          (SET (ATOMCDR (CAR P))
                               (CONS (CAR D)
                                   (EVAL (ATOMCDR (CAR P))))
                          ) T ) ) )
      )
   ))
   ; ---------------------- ;
   (DEFUN ATOMCAR (LAMBDA (X)
   ; Vydelenie pervogo simvola literaturnogo atoma ;
      (CAR (UNPACK X))
   ))
   ; ---------------------- ;
   (DEFUN ATOMCDR (LAMBDA (X)
   ; Vydelenie hvosta imeni literaturnogo atoma ;
      (PACK (CDR (UNPACK X)))
   ))
   ; ----------------------------- ;
   (DEFUN APPEND (LAMBDA (LST1 LST2)
      (COND ( (NULL LST1) LST2 )
            ( (NULL LST2) LST1 )
            (  T  (CONS (CAR LST1)
                        (APPEND (CDR LST1) LST2)) )
      )
   ))
(DOCTOR)
Но у меня она не работает (
При запуске (DOCTOR) выводится первая фраза "ГОВОРИТЕ!", но при любом ответе программа переходит на последнюю стадию (ВЫ ГОВОРИЛИ О), причем 3 раза и зацикливается.
Скриншот работы программы
Никак не могу найти ошибку - подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2011, 03:21
Ответы с готовыми решениями:

Doctor Web.evt
Что это за файл Doctor Web.evt, который находится в C:/Windows/system32/config и не опасен ли он,...

Описать класс doctor
Добрый день. Нужна помощь,не получается сделать задачу.Класс с именем DOCTOR, содержащий ...

Вопрос по FuseBit Doctor
Доброго времени суток, вопрос всем собравшим себе FuseByt Doctor и хорошо вкурившим его работу. В...

Time Doctor - за и против
Всем привет. Вкратце что представляет из себя сей софт - грубо говоря, эта тулза шпионит за...

0
17.11.2011, 03:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2011, 03:21
Помогаю со студенческими работами здесь

Аналог Kerish Doctor
Помогите добрые люди.Хотелось бы Аналог Kerish Doctor но бесплатную

Doctor Web как удалить?
Приветствую форумчан. Скачивал на флэшку Doctor Weber ,на комп не ставил ,но он кое где...

Smart Doctor и ASUS Radeon HD 5670
Есть вопросы по работе с этой программой Купил с рук пк,а там при загрузке запускается эта...

Не загружается Windows 10 после partition table doctor
Здравствуйте, Сразу прошу прощения если что не так. Это мой первый опыт обращения за помощью в...

Пропал диск D после partition manager doctor
Всем здравствуйте! Возникла такая проблема, пробовал восстановить работу внешнего жесткого диска с...

Антивирус Doctor Web перестал видеть команду автообновления
Доброго времени суток. У меня не давно возникла проблема с антивирусом доктор Веб. Он перестал...

Система не грузится после пользования partition table doctor 3.5
Добрый вечер. Такая проблема, запустил partition table doctor 3.5, он выдал сообщение не помню...


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

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