Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Помогите пожалуйста написать лабу по ФАЙЛАМ И РАЗДЕЛАМ БАЗ ДАННЫХ НА ARITY32
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию Помогите пожалуйста написать лабу по ФАЙЛАМ И РАЗДЕЛАМ БАЗ ДАННЫХ НА ARITY32 - 22.10.2011, 03:40

Помогите пожалуйста написать лабу по ФАЙЛАМ И РАЗДЕЛАМ БАЗ ДАННЫХ НА ARITY32
Суть задания:
104. В двух разделах БД хранятся произвольные термы. Переписать в третий раздел только те термы, которые содержатся в первом разделе, но не содержатся во втором.
Аргументы: имя первого раздела БД;
имя второго раздела БД;
имя третьего раздела БД.
?- recorded(test1,X,_).
X = a -> ;
X = v -> ;
X = t -> ;
X = 7 -> ;
no
?- recorded(test2,X,_).
X = 4 -> ;
X = 6 -> ;
X = a -> ;
X = x -> ;
no
?- pred(test1,test2, test3).
yes
?- recorded(test3,X,_).
X = v -> ;
X = t -> ;
X = 7 -> ;
no
?-
Ответить с цитированием
  (#2 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию 25.10.2011, 04:32

help help help, Ребят в пятницу сдавать неужели никто не знает???
Ответить с цитированием
  (#3 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 25.10.2011, 17:12

С Вашим чудо-прологом не знаком. На пальцах:

предикат:-
очередной Х из тест1,
этого Х нету в тест2,
помещаем Х в тест3,
фэйл.
предикат.
Ответить с цитированием
  (#4 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,263
Сказал(а) спасибо: 27
Поблагодарили 51 раз(а) в 51 сообщениях
Регистрация: 16.10.2005
По умолчанию 25.10.2011, 19:19

То есть как-то так:
prolog Код:
pred(T1,T2,T3):-
    recorded(T1,X,_),
    not(recorded(T2,X,_)),
    recordz(T3,X,_),
    fail.
Ответить с цитированием
  (#5 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию 25.10.2011, 20:56

Что-то не работает, нельзя поподробнее??
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,263
Сказал(а) спасибо: 27
Поблагодарили 51 раз(а) в 51 сообщениях
Регистрация: 16.10.2005
По умолчанию 25.10.2011, 22:26

Цитата:
Сообщение от Евгений0110 Посмотреть сообщение
Что-то не работает
Так напишите, что именно не работает.
И как Вы определили, что оно не работает.

Цитата:
Сообщение от Евгений0110 Посмотреть сообщение
нельзя поподробнее??
Задавайте более конкретные вопросы
Ответить с цитированием
  (#7 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию 25.10.2011, 23:08

компилируется все без ожибок, но не выполняются команды:
?- recorded(test1,X,_).
X = a -> ;
X = v -> ;
X = t -> ;
X = 7 -> ;
no
?- recorded(test2,X,_).
X = 4 -> ;
X = 6 -> ;
X = a -> ;
X = x -> ;
no
?- pred(test1,test2, test3).
yes
?- recorded(test3,X,_).
X = v -> ;
X = t -> ;
X = 7 -> ;
no
?-
Ответить с цитированием
  (#8 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию 25.10.2011, 23:10

в том плане что когда мы вводим ?- recorded(test1,X,_).
нам должно выводится
X = a -> ;
X = v -> ;
X = t -> ;
X = 7 -> ;
no
ну или что-то вроде того
И так далее
Ответить с цитированием
  (#9 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,263
Сказал(а) спасибо: 27
Поблагодарили 51 раз(а) в 51 сообщениях
Регистрация: 16.10.2005
По умолчанию 26.10.2011, 11:20

Вопрос был написать предикат pred, который перезаписывает термы.

То, что спрашиваете Вы, - это уже антураж для проверки работы этого предиката.
Для этого нужно сначала загнать термы в базу, чтобы они там были.
Самое простое - в командной строке последовательно их вбить:
prolog Код:
recordz(test1,a,_).
recordz(test1,v,_).
Ответить с цитированием
  (#10 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию 26.10.2011, 14:50

а можно наглядный пример ???
Ответить с цитированием
  (#11 (permalink)) Старый
Евгений0110 Евгений0110 вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.10.2011
По умолчанию 27.10.2011, 22:50

Спасибо разобрался со всем))) Стормозил немного. В целом для моих целей лаба вот так выглядеть должна:
:-recordz(test1,a,_).
:-recordz(test1,v,_).
:-recordz(test1,t,_).
:-recordz(test1,7,_).
:-recordz(test2,4,_).
:-recordz(test2,6,_).
:-recordz(test2,a,_).
:-recordz(test2,x,_).
pred(test1,test2,test3):-
recorded(test1,X,_),
not(recorded(test2,X,_)),
recordz(test3,X,_),
fail.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста написать лабу на Arity 32 Евгений0110 Prolog 3 27.12.2012 18:16
Помогите перевести лабу в maple или matlab ASap Задания за деньги 0 22.12.2011 01:03
Помогите пожалуйста написать прогу mighty Pascal 1 14.12.2011 17:59
помогите пожалуйста написать программу!! AlyonaZvereva Любые вопросы от новичков 0 03.12.2011 14:57
помогите сделать лабу..... Анна ПМ-12 Pascal 1 07.10.2011 11:11
Помогите написать лабу Евгений0110 Prolog 3 06.10.2011 15:01
Пожалуйста помогите написать программу mev Pascal 1 04.04.2008 06:24
Как правильно написать директории к библиотекам и к файлам INCLUDE omon17 Вопросы начинающих программистов 3 15.10.2007 18:51
Задачка по файлам. Пожалуйста помогите закончить семестр!!! temnaja Pascal 7 19.06.2006 11:53
Помогите, пожалуйста, написать лабу на Jave Script.. Срочно! Зуленька Задания за деньги 4 26.12.2005 01:50



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов