Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Помогите с логической задачей на Пролог!
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
xenon15 xenon15 вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.10.2011
По умолчанию Помогите с логической задачей на Пролог! - 28.10.2011, 05:51

Очень прошу помочь с задачей для ТурбоПролог... не получается решить=(
вот задание:
Есть три сотрудника - Дима, Саша и Юра. Каждый из них знает ровно два иностранных языка из следующего набора: немецкий, шведский, японский, китайский, французский и греческий, при этом каждым языком владеет только один переводчик.
Известно, что:
1) Ни Дима, ни Юра не знают японского
2) Переводчик со шведского старше переводчика с немецкого
3) Переводчик с китайского, переводчик с французского и Саша родом из одного города
4) Переводчик с греческого, переводчик с немецкого и Юра учились втроем в одном институте
5) Дима - самый молодой из всех троих, и он не знает греческого
6) Юра знает два европейских языка

В ответе запишите первую букву имени переводчика с шведского языка, и через запятую, первую букву имени переводчика с китайского
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,282
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 28.10.2011, 11:00

Visual Prolog Код:
domains
      s=string
      sl=s*
      sll=reference sl*

predicates
      go()
      generate(sll,sl)
      uslovija(sll)
      printresult(sll)
      lang(s,s,sll)
      member(sl,sll)

clauses
go():-
      A=[["Дима",_,_],["Саша",_,_],["Юра",_,_]],
      B=["немецкий", "шведский", "японский", "китайский", "французский", "греческий"],
      generate(A,B),
      uslovija(A),
      printresult(A).
     
generate(_,[]).
generate(A,[H|T]):-
      lang(_,H,A),generate(A,T).
     
uslovija(A):-
%1) Ни Дима, ни Юра не знают японского
    lang(X1,"японский",A),X1<>"Дима",X1<>"Юра",
%2) Переводчик со шведского старше переводчика с немецкого
    lang(X2,"шведский",A),lang(X3,"немецкий",A),X2<>X3,
%3) Переводчик с китайского, переводчик с французского и Саша родом из одного города
    lang(X4,"китайский",A),lang(X5,"французский",A),X4<>X5,X4<>"Саша",X5<>"Саша",
%4) Переводчик с греческого, переводчик с немецкого и Юра учились втроем в одном институте
    lang(X6,"греческий",A),lang(X7,"немецкий",A),X6<>X7,X6<>"Юра",X7<>"Юра",
%5) Дима - самый молодой из всех троих, и он не знает греческого
    lang(X8,"шведский",A),X8<>"Дима",
    lang(X9,"греческий",A),X9<>"Дима",
%6) Юра знает два европейских языка
    lang(X10,"японский",A),X10<>"Юра",
    lang(X11,"китайский",A),X11<>"Юра".
     
printresult(A):-
    lang(X1,"шведский",A),frontchar(X1,C1,_),
    lang(X2,"китайский",A),frontchar(X2,C2,_),
    write(C1,",",C2),nl.
       
member(A,[A|_]).
member(A,[_|X]):-member(A,X).

lang(N,L,A):-
    member([N,L,_],A).
lang(N,L,A):-
    member([N,_,L],A).

goal
      go.
Ответить с цитированием
  (#3 (permalink)) Старый
xenon15 xenon15 вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.10.2011
По умолчанию 28.10.2011, 14:35

А не знаете, как тоже самое написать для Турбо Пролог?..
не могу найти адекватный компилятор по visual prolog=(
Ответить с цитированием
  (#4 (permalink)) Старый
xenon15 xenon15 вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.10.2011
По умолчанию 28.10.2011, 16:26

хмм... хотя уже не надо) спасибо огромное)
Ответить с цитированием
Ads
Ответ

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей kompnet Вопросы начинающих программистов 7 16.10.2011 15:19
ПОЖАЛУЙТА ПОМОГИТЕ с логической моделью базы данных Пруся Вопросы начинающих программистов 0 08.09.2011 21:01
помогите с задачей Murdock Prolog 3 12.05.2011 19:23
Помогите с задачей? tit-stas Prolog 0 10.05.2011 19:26
Нужна помощь с логической задачей wormz3d Prolog 5 20.12.2010 07:34
Помогите с задачей n-andriy Pascal 4 22.06.2010 18:15
Помогите с задачей nice_ape Prolog 2 23.05.2010 20:20
Помогите с логической задачкой Shinkai Prolog 4 22.04.2010 22:40
Пожалуйста,помогите с решением логической задачи!Если можно,не используя спискт pavelr Prolog 10 11.03.2010 17:55
Помогите плз с задачей LOKODRAG Pascal 2 05.11.2009 21:59
Помогите с задачей sokolpunk Prolog 1 13.05.2009 23:19
Помогите с задачей proga Visual Basic 0 06.03.2007 11:46



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