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

Ребята, надо поменять с turbo prolog на swi prolog. я могу только знак "=" на "is" поменять. А дальше не понятно

22.11.2020, 23:59. Показов 589. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот код и задача, она на turbo prolog, а надо на swi. я могу только знак "=" на "is" поменять. А дальше не понятно\

Игра Баше – 23 спички. На столе 23 спички, 2 игрока по очереди берут от 1 до 3 спичек, проигравшим считается тот, кто возьмет последнюю спичку.

Prolog
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
Predicates
 
play_the_game
 
do_windows
 
play(integer,integer,integer)
 
play_it_again(integer,integer,integer)
 
real_int(real,integer)
 
Clauses
 
play_the_game:-do_windows,play(23,0,0).
 
/*правило для образования окон*/
 
do_windows:-makewindow(1,7,7,"",0,0,25,80),
 
makewindow(2,7,7,"Игра 23 спички", 1,5,22,40),
 
nl, write("Добро пожаловать!"),
 
M=23, H=0, C=0,
 
nl, write("Всего ",M," спички" ),
 
nl, write("По очереди мы будем перемещать " ),
 
nl, write("спички в свои кучки"),
 
nl, write("За раз можно взять 1, 2, 3 спички"),nl,
 
nl, write("Проиграет, тот кто заберет последнюю спичку"),
 
nl, write("Итак, начнем, всего ", M, "сп."),nl,
 
nl, write("я взял ",C," сп. Вы взяли ",H, " сп."),nl.
 
play(M,H,C):-play_it_again(M,H,C).
 
/*правило определения победителя*/
 
play_it_again(M,_,_):-
 
M<=0,
 
nl, write("Вы выиграли!"),
 
nl, write("Нажмите любую клавишу для выхода"),
 
readchar(_), clearwindow,!,exit.
 
play_it_again(1,_,_):-
 
nl, write("Я выиграл!"),
 
nl, write("Нажмите любую клавишу для выхода"),
 
readchar(_), clearwindow,!,exit.
 
play_it_again(M,_,_):-
 
nl, write("Ваш ход"),
 
nl, write("Сколько спичек вы хотите взять?"),
 
readint(Hn),
 
M2=M-Hn, H3=Hn,
 
write("Осталось ",M2,"сп."),
 
nl,write("Мой ход"),
 
random(F), Rea=1+3*F,
 
real_int(Rea,Rint),
 
M3=M2-Rint,
 
nl, write("Я беру ",Rint," сп."),
 
nl, write("Осталось ",M3, " сп."),nl,
 
M7=M3,H7=H3,C7=Rint,
 
play_it_again(M7,H7,C7).
 
/*вспомогательное правило*/
 
real_int(Re,In):-In=trunc(Re).
 
Goal
 
play_the_game
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2020, 23:59
Ответы с готовыми решениями:

Как переделать программу написанную на Turbo-Prolog в SWI-Prolog?
Ребята подскажите пожалуйста как переделать эту программу написанную на Turbo-Prolog в SWI-Prolog? domains i=integer il=i* ...

В Turbo-Prolog есть возможность описать Goal. Как это реализовано в SWI-Prolog
Здравствуйте. в Turbo-Prolog есть возможность описать Goal: Goal father(X,_), write(X). И ответ мы получим сразу при запуске...

Программа для Turbo Prolog не работает в SWI Prolog
Скажите пожалуйста как работать в SWI Prolog...я работал на турбопролог, вот например есть там решенная задачка: PREDICATES ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2020, 23:59
Помогаю со студенческими работами здесь

Перенос программы из Turbo Prolog в SWI-Prolog
Здравствуйте, не могу переписать данный код под SWI-Prolog. Сильно уж версия от Borland отличается. Буду очень благодарен. Программа была...

Перевод программы из Turbo Prolog в SWI-Prolog
Здравствуйте! У меня есть программа по определению внука Петра III, она написана на Turbo Prolog. Я пытался перевести её на SWI-Prolog,...

Поменять местами диагонали матрицы (SWI-Prolog)
Здравствуйте, помогите, пожалуйста, с задачей, совсем недавно начала изучать Prolog, и никак не могу решить: нужно поменять местами...

"Два игрока" - перевод программы из Turbo Prolog в SWI-Prolog
Здравствуйте! У меня есть программа &quot;Два игрока&quot;, она написана на Turbo Prolog. Я пыталась перевести её на SWI-Prolog, но пока это не...

SWI prolog Поменять n-ый элемент списка на первый. Число n задается в запросе
Поменять n-ый элемент списка на первый. Число n задается в запросе, так же как и начальный список. То есть в функции как я понял должно...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru