17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
1

Как запустить эту программу в Lisp?

08.12.2014, 15:00. Показов 6079. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как запустить данную программу в Lisp?


Кликните здесь для просмотра всего текста
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
; Вводим исходные данные (в соответствие с вариантом)
(setq razmer 1.0)
(setq objects 3)
(setq krit BAYESA)
(setq object1 OLKHON)
(setq object2 BAYKALSK)
(setq object3 LISTVYANKA)
 
(setq factors 3)
(setq factor1 KACHESTVO_OBSLUJIVANIYA)
(setq factor2 INFRASTRUKTURA)
(setq factor3 KULTURNOE_MNOGOOBRAZIE)
 
; Матрица значений сценариев
(setq sc11 0.5)
(setq sc12 0.25)
(setq sc13 0.3)
(setq sc21 0.3)
(setq sc22 0.45)
(setq sc23 0.1)
(setq sc31 0.2)
(setq sc32 0.3)
(setq sc33 0.6)
 
;функция ввода данных в таблицу
(defun check (x) 
 (
  (print x)
  (setq p (read))
  (cond ((> p razmer) (return (check 'Vvedennie Vami dannie neverni!vvedite snova: ))) 
    (x (terpri) (return p)) 
)))
 
; Функция для создания главного меню
(DEFUN GLMENU (
    NUM LEFT-COLUMN DEF )
  (SETQ DEF 0)
  (LOOP
    (SETQ *AUTO-NEWLINE* T)
    (CLOSE-INPUT-FILE)
    (CLOSE-OUTPUT-FILE)
    (CLEAR-SCREEN)
    (background-color 15)
    (foreground-color 1)
    (clear-screen)
    (CENTER "============= MENU =============")
    (SETQ LEFT-COLUMN (MAX 0 (- (TRUNCATE (CADDDR (MAKE-WINDOW)) 2) 22)))
    (SET-CURSOR 2 LEFT-COLUMN)
    (CENTER "0 - PROSMOTR ZADANIYA   ")
    (TERPRI)
    (CENTER "1 - VVOD ISHODNIH TABLIC")
    (TERPRI 2)
    (foreground-color 5)
    (PRINC "Najmite neobhodimyu klavishu ili \"Q\" ")
    (PRINC "dly vyhoda: ")
    (SETQ DEF (checked (LIST* DEF 'Q '( 0 1 ))))
    ((EQ DEF 'Q)
     RESTART)
    (MENU (CAR DEF)))) 
 
; Функция, представляющая вычисление средней оценки по критерию Байеса для 2 значений
(defun sred  (a b )
( 
(setq  z (/ (+ a b) 2))
))
 
; Функция, для подсчета средних суммарных оценок по объектам
(defun sr_sum  (a b q e r t)
( 
(setq  x (+ (* a b) (* q e) (* r t)))
))
 
; Функция, для подсчета итоговых оценок для объектов по критерию Байеса
(defun itog (a b p e )
( 
(setq  x (* a (+ b p e)))
))
 
; Функция сравнения и вывода наилучшего объекта
 (defun out ( p1 p2 p3)
 ((cond ((and (= p1 p2) (= p2 p3)) 'ocenki_mest_ravnoznachni)
     ((cond ((and (= p1 p2) (> p1 p3)) 'OLKHON_i_BAYKALSK_ravnoznachni)
     ((cond ((and (= p1 p3) (> p1 p2)) 'OLKHON_i_LISTVYANKA_ravnoznachni  )
     ((cond ((and (= p2 p3) (> p2 p1)) 'BAYKALSK_i_LISTVYANKA_ravnoznachni  )
     ((cond ((and (= p1 p2) (< p1 p3)) 'LISTVYANKA)
     ((cond ((and (= p1 p3) (< p1 p2)) 'BAYKALSK  )
     ((cond ((and (= p2 p3) (< p2 p1)) 'OLKHON  )
 (if (not(= p1 p2)) 
 (if (not(= p1 p3)) 
 (if (not(= p2 p3))
 (if ( > p1 p2)(if ( > p1 p3)'OLKHON 'LISTVYANKA) 
  (if ( > p2 p3)  'BAYKALSK 'LISTVYANKA)
                     ) ) ) )
 ))  ))  ))  ))  ))  ))  ))         
)
 
; Функция вывода строки с 3 значениями
(defun table (a b c ) (print (list a b c )))
 
; Функция для перехода к соответствующему пункту меню
;РЕКУРСИВНАЯ ФУНКЦИЯ
 
(dEFUN menu (N)  (COND ((= N 0) (PUNCT0))
                       ((= N 1) (PUNCT1))
                       ((> N 1) (MENU (CAR 0)))))
 
; Функция для перехода к выставлению экспертных оценок
(defun punct1 ()
(SETQ R RAZMER)
(clear-screen)
(CENTER "-----========== VVOD ISHODNIH TABLIC ==========-----")
(TERPRI 2)
    (PRINC "Expertnie ocenki vistavlyutsy dla factorov i obektov  ")
    (PRINC "v zavisimosti ot ih znachimosti v sootvetstvie so shkaloi razmernosti.")
    (TERPRI)
    (PRINC  "Ustanovlennay razmernost = ") 
    (PRINT R) 
    (TERPRI 2)
(PRINC "Vvedite neobhodimyu ocenky dla factorov: ")
    (TERPRI)
 
(print -----------------------------KRITERII-----------------------------------)
(setq a12 (check vvedite_kachestvo_obslujivaniya_k_infrastructure))
(setq a13 (check vvedite_kachestvo_obslujivaniya_k_kulturnomu_mnogoobraziyu))
 
(setq a21 (check vvedite_infrastructura_k_kachestvu_obslujivaniya))
(setq a23 (check vvedite_infrastructura_k_kulturnomu_mnogoobraziyu))
 
(setq a31 (check vvedite_kulturnoe_mnogoobrazie_k_kachestvu_obslujivaniya))
(setq a32 (check vvedite_kulturnoe_mnogoobrazie_k_infrastructure))
 
(print -----------------------------KACHESTVO_OBSLUJIVANIYA------------------------)
(setq b12 (check vvedite_otnoshenie_OLKHON_k_BAYKALSKU))
(setq b13 (check vvedite_otnoshenie_OLKHON_k_LISTVYANKE))
(setq b21 (check vvedite_otnoshenie_BAYKALSK_k_OLKHONU))
(setq b23 (check vvedite_otnoshenie_BAYKALSK_k_LISTVYANKE))
(setq b31 (check vvedite_otnoshenie_LISTVYANKA_k_OLKHONU))
(setq b32 (check vvedite_otnoshenie_LISTVYANKA_k_BAYKALSKU))
(print -----------------------------INFRASTRUCTURA-------------------------) 
(setq i12 (check vvedite_otnoshenie_OLKHON_k_BAYKALSKU))
(setq i13 (check vvedite_otnoshenie_OLKHON_k_LISTVYANKE))
(setq i21 (check vvedite_otnoshenie_BAYKALSK_k_OLKHONU))
(setq i23 (check vvedite_otnoshenie_BAYKALSK_k_LISTVYANKE))
(setq i31 (check vvedite_otnoshenie_LISTVYANKA_k_OLKHONU))
(setq i32 (check vvedite_otnoshenie_LISTVYANKA_k_BAYKALSKU))(print -----------------------------KULTURNOE_MNOGOOBRAZIE--------------------------)
(setq d12 (check vvedite_otnoshenie_OLKHON_k_BAYKALSKU))
(setq d13 (check vvedite_otnoshenie_OLKHON_k_LISTVYANKE))
(setq d21 (check vvedite_otnoshenie_BAYKALSK_k_OLKHONU))
(setq d23 (check vvedite_otnoshenie_BAYKALSK_k_LISTVYANKE))
(setq d31 (check vvedite_otnoshenie_LISTVYANKA_k_OLKHONU))
(setq d32 (check vvedite_otnoshenie_LISTVYANKA_k_BAYKALSKU))
 
;обращение к функции, вычисляющей среднюю оценку по критерию Байеса
(setq sr1 (sred  a12 a13))
(setq sr2 (sred  a21 a23))
(setq sr3 (sred  a31 a32))
 
(setq sb1 (sred  b12 b13))
(setq sb2 (sred  b21 b23))
(setq sb3 (sred  b31 b32))
 
(setq si1 (sred  i12 i13))
(setq si2 (sred  i21 i23))
(setq si3 (sred  i31 i32))
 
(setq sd1 (sred  d12 d13))
(setq sd2 (sred  d21 d23))
(setq sd3 (sred  d31 d32))
 
(setq sum_1 (sr_sum sr1 sb1 sr2 si1 sr3 sd1))
(setq sum_2 (sr_sum sr1 sb2 sr2 si2 sr3 sd2))
(setq sum_3 (sr_sum sr1 sb3 sr2 si3 sr3 sd3))
 
 
(setq res1 (itog sum_1 sc11 sc12 sc13))
(setq res2 (itog sum_2 sc21 sc22 sc23))
(setq res3 (itog sum_3 sc31 sc32 sc33))
 
(setq vivod (out res1 res2 res3))
 
; Оформление результата
(CENTER "-----========== RESULTAT ITOGOVOY FUNKCII==========-----")
(TERPRI 2)
(table object1  object2  object3)
(table res1     res2      res3)
(TERPRI 2)
(CENTER "-----========== VIVOD LUCHSHEGO RESULTATA==========-----")
(print vivod )
 
 
(PRINC "Vvedite 1-MENU, \"Q\"-")
(PRINC "Vihod: ")
(SETQ zn (checked (LIST* zn 'Q '( 1 ))))
((EQ zn 1)
(GLMENU))
(restart))
 
 ; Функция для итогового подсчета               
(defun punct0 () (clear-screen)
(CENTER "====================*** INFORMACIYA***====================")
(TERPRI 3)
(CENTER "-----========== ISHODNIE ZNACHENIYA ==========-----")
(TERPRI 2)
    (PRINc  "Ustanovlennaya razmernost = ") 
    (PRINT  RAZMER) 
    (PRINc "Kolichestvo rassmatrivaemih factorov = ")
    (PRINT  factors)
    (PRINc "Kolichestvo rassmatrivaemih obectov = " )
    (PRINT  objects)
    (PRINc  "Kriteriy prinyatiya resheniya - ") 
    (PRINT  krit) 
    (PRINc  "Kolichestvo vozmojnih scenariev = 3") 
    (TERPRI 2)
    (PRINc  "Raspredelenie veroyatnostey po scenariyam: ") 
    (TERPRI 2)
   (PRINc  "scanariy #1 :")
   (table sc11     sc21      sc31)
   (PRINc  "scanariy #2 :")
   (table sc12     sc22      sc32)
   (PRINc  "scanariy #3 :")
   (table sc13     sc23      sc33)
 
 
    (SETQ zn 0)
    (PRINC "Vvedite 1-MENU, \"Q\"-")
    (PRINC "Vihod: ")
    (SETQ zn (checked (LIST* zn 'Q '( 1 ))))
    ((EQ zn 1)
     GLMENU)
    (restart))
 
; Функция для считывания данных, введенных пользователем
(DEFUN checked (LST
    CHAR)
  (CLEAR-INPUT T)
  (LOOP
   (SETQ CHAR (CHAR-UPCASE (ASCII (READ-BYTE T))))
   (IF (<= 48 (ASCII CHAR) 57)
  (SETQ CHAR (- (ASCII CHAR) 48)))
    ((MEMBER CHAR LST)
     (PRINC CHAR)
      CHAR )
    ((EQ CHAR '" ")
      (PRINC (CAR LST))
      (CAR LST) )
    ( ((EQ CHAR (ASCII 10)))
      ((EQ BELL))
      (WRITE-BYTE 7) ) ) )
 
; Функция для создания заголовков
 
(DEFUN CENTER (MSG)
  (SET-CURSOR (ROW) (TRUNCATE (- (CADDDR (MAKE-WINDOW)) (LENGTH MSG)) 2))                                                                                                                                       
  (WRITE-STRING MSG) )
 
;Осуществляем вызов функции меню 
(GLMENU)


0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2014, 15:00
Ответы с готовыми решениями:

Не могу запустить lisp программу
Здравствуйте. Сильно не ругайте, я начинающий) Есть старая программа FORMAT на lisp для автокада,...

Не получается запустить эту программу
package ss; public class MoonProga { static void main(String args) { double weight =...

В чём можно запустить эту программу?
В чём это можно запустить {uses crt;} const n=100; type used=array of boolean; var ...

У меня есть программа и ее исходник. Хочу запустить эту программу в Builder C++...
Добрый вечер! У меня есть программа и ее исходник. Хочу запустить эту программу в Builder C++. В...

17
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
08.12.2014, 16:11 2
Ну, как... Сохранить в файл с расширением ".lsp", запусить Лисп и ввести:

Lisp
1
(load "Имя_файла.lsp")
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
08.12.2014, 16:16  [ТС] 3
подскажите где взять нормальный lisp для windows 8
0
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
08.12.2014, 16:22 4
По всей видимости, у вас программа на ненормальном:
Цитата Сообщение от иван я Посмотреть сообщение
background-color
Цитата Сообщение от иван я Посмотреть сообщение
SET-CURSOR
этого в стандарте ANSI CL нет, так что либо расширения, либо библиотеки (непонятно какие), либо (кажется наиболее вероятным) какой-нибудь странный диалект.
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
08.12.2014, 16:32  [ТС] 5
и что делать? просто я в lisp вообще не шарю

Добавлено через 9 минут
я попробовал запустить ее программа мне выдала "Assoc: Символ BAYESA не имеет значения(не связан)"
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
08.12.2014, 16:36 6
Это программа должна запускаться в muLisp:
Миниатюры
Как запустить эту программу в Lisp?  
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
08.12.2014, 16:37 7
Цитата Сообщение от иван я Посмотреть сообщение
я попробовал запустить ее программа мне выдала "Assoc: Символ BAYESA не имеет значения(не связан)"
- а это HomeLisp. Под HomeLisp программу придется переделать.
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
08.12.2014, 17:44  [ТС] 8
а где скачать mulisp?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
08.12.2014, 17:58 9
Вот:
Вложения
Тип файла: zip MULISP87.ZIP (202.6 Кб, 42 просмотров)
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
08.12.2014, 19:02  [ТС] 10
а какой файл запускать? а то какие файлы я не запускаю он у меня открывается как HOME Lisp
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
08.12.2014, 19:41 11
Распакуй архив в папку с коротким именем, скопируй свой файл в эту папку, запусти cmd.exe и в нем start.bat, после вывода приглашения "$" вводи команду load.
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
09.12.2014, 07:46  [ТС] 12
можете скинуть скриншот как запустить через cmd а то я в cmd прописал start.bat вылезла ошибка "Не удается найти .bat. Проверьте, правильно ли указано имя и повторите попытку". У меня стоит windows8.1. Может поэтому вылазит такая ошибка?

Добавлено через 11 минут
и в этой папке в которую я распаковал нет .bat файла
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
09.12.2014, 11:38 13
Цитата Сообщение от иван я Посмотреть сообщение
и в этой папке в которую я распаковал нет .bat файла
Создай его. Он состоит из единственной строки:

Код
L.com common.lsp
А потом запускай cmd.exe, в нем переходи в дир. muLisp, и там запускай start.bat
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
09.12.2014, 14:52  [ТС] 14
у меня ругается на то что система 64 разрядная
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
09.12.2014, 16:07 15
Цитата Сообщение от иван я Посмотреть сообщение
у меня ругается на то что система 64 разрядная
- покажи картинку.
0
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
09.12.2014, 16:23  [ТС] 16
вот что показывает
Миниатюры
Как запустить эту программу в Lisp?  
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36587 / 20317 / 4218
Регистрация: 12.02.2012
Сообщений: 33,614
Записей в блоге: 13
09.12.2014, 16:56 17
Тогда единственный совет - ставь DOS-BOX. Или перерабатывай программу под Common Lisp (или HomeLisp).
1
castorsky
09.12.2014, 21:07     Как запустить эту программу в Lisp?
  #18

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
Тогда единственный совет
идти учиться на юриста - много думать не надо, и вопросами в судах засыпать можно по полной.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2014, 21:07

Как запустить эту прогу?
Как запустить эту прогу? codeproject . com/Articles/7293/Pocket-1945-A-C-NET-CF-Shooter В...

Как запустить эту програмку в CodeBlock
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;vector&gt; #include &lt;locale&gt;...

Подскажите, как доработать программу на Lisp с использованием базовых примитивов
Запрограммируйте интерпретатор ВЫЧИСЛИ, который преобразует инфиксную запись операций (например,...

как написать эту программу
Информация о студенте включает: ФИО, учебный шифр, дату рождения, телефон. Информация о студентах...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

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