![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 29.11.2013
Сообщений: 3
|
![]()
помогите с написанием программы на прологе...
слева должна быть программа на паскале о том, что собака является собакой... а справа на прологе.... как-то так. Реализации задачи "Dogs" 1. Пролог-описание задачи "Dogs": domains name = symbol predicates dog ( name ) parent (name, name ) clauses dog ( rex ). /* 1 */ dog ( X ) :- /* 2 */ parent ( X, Y ), dog ( Y ). parent ( larsy, rex ). /* 3 */ parent ( dick, rex ). /* 4 */ 2. Паскаль-реализация усеченной задачи "Dogs": program dogs_Dano; type sobaki=(Rex, Larsy, Dick); izvestno=(dogDano, parentDano); dogDef=record case Dano: izvestno of dogDano: (dog: boolean); parentDano: (parent: sobaki); end; var data: array[sobaki] of dogDef; Klichki: array[sobaki] of string; X: sobaki; function dog (Y: dogDef): boolean; begin if Y.Dano = dogDano then dog := Y.dog else dog := dog(data[Y.parent]); end; begin Klichki[Rex] := 'Rex'; Klichki[Larsy] := 'Larsy'; Klichki[Dick] := 'Dick'; with data[Rex] do begin Dano := dogDano; dog := true; end; with data[Larsy] do begin Dano := parentDano; parent := Rex; end; data[Dick] := data[Larsy]; for X := Rex to Dick do if dog (data[X]) then writeln (Klichki[X]); readln; END. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пролог | UCSRfyRFtF | Фриланс | 0 | 26.11.2012 19:56 |
ПРОЛОГ! | _Таша_ | Помощь студентам | 0 | 23.05.2010 19:06 |
Пролог | Dog | Помощь студентам | 0 | 29.11.2009 14:58 |