Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic tasks on TurboProlog.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.27 Mб
Скачать

Заключение

В результате выполнения данной лабораторной работы, были изучены основы языка программирования высокого уровня Turbo Prolog и интерфейс соответствующего пакета программ, разработанного компанией Borland International. Была решена выданная задача поиска соответствия среди друзей на предмет сопоставления имени с занятым призовым местом, национальной принадлежностью и предпочитаемым видом спорта на аналог задаче Эйнштейна (задача сопоставления).

  1. Ivan has the red color car, Peter has not black, not dark blue, not blue, Maxim has black and dark blue, Alexander has all listed colors cars, Boris has cars of white and dark blue colors. What color cars have the friends, if all drive cars of different colors?

Задание

На языке Turbo Prolog реализовать решение задачи: У Ивана машина красная, у Петра не черная, не синяя, не голубая, у Максима черная и синяя, у Александра есть машины любого цвета (из перечисленных), у Бориса машины белого и синего цветов. У кого какого цвета машины, если все водители ехали на машинах разных цветов?

Описание программы

В процессе выполнения задания была написана программа, которая позволяет определить у кого какого цвета машины (Рис. 1).

Рис. – Выполнение программы

Код программы:

domains

s=symbol

slist=s

predicates

colour(s)

colour_or_colour(s,s,s)

solve(s,s,s,s,s)

clauses

colour("red").

colour("black").

colour("blue").

colour("darkblue").

colour("white").

colour_or_colour(A,B,C):-C=A;C=B.

solve(Ivan,Petr,Maxim,Aleksandr,Boris):-Ivan="red",

colour(Petr),Petr<>Ivan,Petr<>"black",Petr<>"darkblue",Petr<>"blue",

colour(Petr),Petr<>Ivan,Petr<>"black",Petr<>"darkblue",Petr<>"blue",

colour_or_colour("black","blue",Maxim),Maxim <>Ivan,Maxim<>Petr,

colour(Aleksandr),Aleksandr<>Ivan,Aleksandr<>Petr,Aleksandr<>Maxim,

colour_or_colour("white","darkblue",Boris),

Boris<>Ivan,Boris<>Petr,Boris<>Maxim,Boris<>Aleksandr.

print:-solve(Ivan,Petr,Maxim,Aleksandr,Boris),

write("Ivan car - ",Ivan,"\n","Petr car - ",Petr,"\n","Maxim car - ", Maxim,"\n","Aleksandr car - ",Aleksandr,"\n","Boris car - ",Boris,"\n"),nl.

goal

print

Заключение

В результате выполнения данной лабораторной работы, были изучены основы языка программирования высокого уровня Turbo Prolog и интерфейс соответствующего пакета программ, разработанного компанией Borland International. Была решена выданная задача поиска цвета машины.

  1. Three friends of a different nationality got at competitions 1, 2, 3 places. Friends have different names and they also are engaged in different kind of sports. Michael prefers basketball and plays better the American. Englishman Simon plays better the tennis player. The player in cricket took 1 place. Who is the Australian? What place has occupied Sigurd?

Задание

На языке Turbo Prolog реализовать решение задачи: Три друга разной национальности на соревнованиях заняли 1, 2, 3 места. Зовут друзей по-разному и занимаются они разными видами спорта. Майкл предпочитает баскетбол и играет лучше американца, англичанин Саймон играет лучше теннисиста. Игрок в крикет занял 1-е место. Кто является австралийцем? Какое место занял Сигурд?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]