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

Php+prolog

25.02.2015, 23:52. Показов 1565. Ответов 35
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пожалуйста помогите!!!!!
В php хочу вывести строчку в прологе, содержащую русские буквы.
пытаюсь сделать это с помощью $goal = "all_facts2('Программа').";
Но он не хочет распознавать русские буквы, допустим, если я введу $goal = "all_facts2('joof').";
Он мне все выведет. Помогите,как мне справиться с этой проблемой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2015, 23:52
Ответы с готовыми решениями:

Пожалуйста, помоите переделать программу с Turbo Prolog на Visual Prolog
DOMAINS l_i=integer* l_s=string* i=integer s=string c=char structura=str(i,s) %Структура...

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

Из Turbo Prolog в Visual Prolog - где будут отличия в коде?
ребята ,помогите. есть прога на турбо прологе,а нужно отредактировать под visual prolog 7.5. Что...

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

35
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
26.02.2015, 10:37 2
Цитата Сообщение от alinarh Посмотреть сообщение
Но он не хочет распознавать русские буквы
- ОН - это Php или Пролог?
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
26.02.2015, 11:26  [ТС] 3
Catstail, если честно, не знаю. Но думаю, что сам пролог не хочет.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
26.02.2015, 11:37 4
Какая версия Пролога? Он в обычном варианте русские буквы допускает?
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
26.02.2015, 18:23  [ТС] 5
Добавлено через 6 минут
Catstail, У меня SWI-Prolog (Multi-threaded, 64 bits, Version 7.1.29-13-g850889d) вот такая версия.
Допускает русский язык вида country('5','Алжир').
country('6','Ангола').
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
26.02.2015, 18:31 6
Это-то понятно... В текстовых константах все языки допускают русские буквы. А имя предиката может содержать русские буквы?
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
26.02.2015, 18:44  [ТС] 7
Catstail, вы имеете в виду вида факт("4","Алжир").?

Добавлено через 7 минут
Catstail,
Вот смотрите в прологе я изменяю строчку на факты('33','S', 916445) - она выводится в php $goal = "all_facts2('S')."; и все хорошо.
А вот строчка факты('33','Климат', 'Тропический;жаркий;влажный;более умеренный на возвышенностях').
в php $goal = "all_facts2('Климат').";
с правилом
all_facts2(M):- findall(X:Y, факты(X,M,Y), All), write(All). - НЕ ВЫВОДИТСЯ!!!!!!ПО причине того,что не может он читать слово Климат(
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
26.02.2015, 19:37 8
А так: $goal='all_facts2("Климат").' ???
1
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
26.02.2015, 21:15  [ТС] 9
Добавлено через 2 минуты
Catstail, Кстати говоря, он теперь выводит мне все значения, и S и Климат

Добавлено через 31 минуту
Catstail, А должен только один параметр "Климат" =( почему так?

Добавлено через 1 час 2 минуты
Catstail, Там нужны именно одинарные кавычки.
0
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
02.03.2015, 08:59 10
Цитата Сообщение от alinarh Посмотреть сообщение
$goal = "all_facts2('Программа')."
а что выдаёт $goal = "all_facts2(X)." ?
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
02.03.2015, 18:55  [ТС] 11
arlat, всез значения фактов)
0
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
03.03.2015, 09:32 12
Цитата Сообщение от alinarh Посмотреть сообщение
все значения фактов)
и среди них есть X = 'Программа' ?)
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
03.03.2015, 09:34  [ТС] 13
arlat, есть)
0
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
03.03.2015, 09:36 14
Цитата Сообщение от alinarh Посмотреть сообщение
all_facts2(M):- findall(X:Y, факты(X,M,Y), All), write(All). - НЕ ВЫВОДИТСЯ!!!!!!ПО причине того,что не может он читать слово Климат(
не 'Климат', а 'факты' на русском скорей всего. разберитесь с кодировкой, рекомендую utf-8...
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
03.03.2015, 09:40  [ТС] 15
arlat, стоит эта кодировка. Понимаете, когда запрос делается из пхп в пролог кодировка строчки $goal="all_facts('что-то на русском')." Меняется и он не может мне давать результат
0
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
03.03.2015, 09:41 16
так в чем проблема? если есть X = 'Программа', то должно работать, это одно и то же, что и унификация при передаче параметра. подробней приведите ваши тексты кода.

Добавлено через 1 минуту
Цитата Сообщение от alinarh Посмотреть сообщение
когда запрос делается из пхп в пролог
а с помощью чего он делается?
все эти проблемы с кодировкой и конвертацией. надо искать точку, где сбой...
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
03.03.2015, 09:46  [ТС] 17
arlat, Вот здесь весь код.
http://stackoverflow.com/quest... g-from-php
0
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
03.03.2015, 10:04 18
$cmd = "/software/swipl/bin/swipl -f Domain.pl -g ".$goal." -t halt";
а -f почему? 2.4 Command line options
пробуйте -f none -s Script.pl и т.д. и сначала без php

Добавлено через 6 минут
можно посмотреть Predicate encoding/1
вобщем пространства для поиска решения проблемы хватает...
0
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
03.03.2015, 10:05  [ТС] 19
arlat, Последнее,я пробовала - безрезультатно
0
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
03.03.2015, 10:08 20
дело не в php и swi как таковых, а в потоке вывода...
без php пробовали?
0
03.03.2015, 10:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2015, 10:08
Помогаю со студенческими работами здесь

Логическая задача на Turbo prolog или Gui prolog
Может у кого есть исходни на Prolog ЗЫ заранее спаисбо)

[Turbo Prolog] [Visual Prolog] Задача на рекурсию
Здравствуйте, помогите, пожалуйста, с такой задачей... Имеется горсть из N Монет C1,C2,....,Cn...

Перевести код из turbo prolog в visual prolog
не подскажите плиз как будет выглядеть код turbo prolog в Visual Prologe 5.2 turbo prolog: ...

Перевести код из turbo prolog в visual prolog
не подскажите плиз как будет выглядеть код turbo prolog в Visual Prologe 7.3 turbo prolog: ...


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

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