Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 10.10.2018
Сообщений: 39

Логическая задача про животных Turbo Prolog

16.02.2019, 21:27. Показов 2054. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задана база знаний «Животные»: Живой - пес. Рекс - собака. Белка - кошка. 16 Быстрый - лошадь. Живой - черный. Белка - белая. Рекс - рыжий. Быстрый - белый. Домашние животные - собака или кошка. Животные - или лошадь, или домашние животные. Том обладает тем, кто пес и нечерого цвета. Мери обладает тем, кто или черного цвета, или лошадь. Написать программу на Prolog и ответить на вопрос: Кем является Белка? Вывести всех животных белого цвета. Вывести клички всех домашних животных

Вот код но он не работает помогите пожалуйста исправить:

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
domains
  man_d = tom keyt
  nickname_d = reks,belka, bistraya, rezvii
  animal_d = dog, cat, horse
  color_d = black, white, red 
 
  struct_animal_d = struct_animal(nickname_d, animal_d, color_d)
  struct_owner_d = struct_owner(man_d, struct_animal_d)
 
  animals_d = struct_animal_d*
  owners_d = struct_owner_d*
predicates
  nondeterm pet(animal_d)
  nondeterm animal(animal_d)
  nondeterm animal_option(struct_animal_d)
  nondeterm check(man_d, struct_animal_d)
  nondeterm owners(owners_d) 
  pet(dog).
  pet(cat).
  animal(Animal):-
  pet(Animal).
  animal(horse).
  animal_option(struct_animal(rezvii, dog, black)).
  animal_option(struct_animal(reks, dog, red)).
  animal_option(struct_animal(belka, cat, white)).
  animal_option(struct_animal(bistraya, horse, white)).
  check(keyt, struct_animal(_, _, black)).
  check(keyt, struct_animal(_, horse, _)).
  check(tom, struct_animal(_, dog, Color)):-
  NOT(Color = black).
  owners([
    struct_owner(keyt, KeytAnimal),
    struct_owner(tom, TomAnimal)
  ]):-
    animal_option(KeytAnimal),
    animal_option(TomAnimal),
    NOT(KeytAnimal = TomAnimal),
 
    check(keyt, KeytAnimal),
    check(tom, TomAnimal).
goal 
  findall(Animal, animal_option(Animal), Animals),
  owners(Owners).
nickname_d = reks,belka, bistraya, rezvii здесь ошибка - 104 Syntax error: = or , expected
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2019, 21:27
Ответы с готовыми решениями:

Поездная бригада состоит из кондуктора, проводника, машиниста и помощника машиниста
Может у кого есть исходни на Prolog ЗЫ заранее спаисбо)

Задача про животных в prolog
Решить задачку на prolog, в Dos приложении. Имеются факты: медведь -большой, слон-большой, кот-маленький, медведь-коричневый, ...

У трех подруг: Оли, Кати и Светы - очень красивые куртки [Turbo Prolog]
Помогите, пожалуйста, решить. У трех подруг - Оли, Кати и Светы - очень красивые куртки - синяя и красная с капюшонами и синяя без...

1
1 / 1 / 0
Регистрация: 10.10.2018
Сообщений: 39
17.02.2019, 14:26  [ТС]
я не могу понять как ответить на вопрос Кем является Белка?:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
domains
    animal=symbol
predicates
    dog(animal)
    cat(animal)
    bilka(animal)
    horse(animal)
    white(animal)
    black(animal)
    rufous(animal)
    animal_house(animal)
    animal_z(animal)
    tom_v(animal)
    meri_v(animal)
 
clauses
    dog(zhavii).
    dog(reksh).
    cat(bilka).
    white(shidkii).
    white(bilka).
    horse(shidkii).
    bilka(cat).
    black(zhavii).
    rufous(reksh).
    animal_house(X):- cat(X).
    animal_house(X):- dog(X).
    animal_z(X):- horse(X).
    animal_z(X):- animal_house(X).
    tom_v(X) if dog(X) and not(black(X)).
    meri_v(X):- black(X).
    meri_v(X):- horse(X).
goal
    white(X) and
    write( "White animals: ",X) and nl.
    animal_house(X) and
    write( "Animals house: ",X) and nl,
    bilka(X) and
    write("Bilka is ",X) and nl.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2019, 14:26
Помогаю со студенческими работами здесь

Студенты Дина, Соня, Коля, Рома и Миша учатся в иституте [Turbo Prolog]
Решите пожалуйста задачу! Студенты Дина, Соня, Коля, Рома и Миша учатся в иституте. Их фамилии - Бойченко, Савченко, Карпенко, Лысенко и...

Сколько серых мышей у Йозефа? [Turbo Prolog]
У Йозефа 100 мышей, некоторые-серые. Известно, что хотябы одна мышь серая, а из двух мышей хотя бы одна-белая. ? Сколько серых мышей...

Логическая задача Turbo prolog: Кто самый младший?
Пожалуйста помогите решить в турбо прологе!!!!Буду очень Вам признательна!!!!Заранее спасибо!!! Три мальчика А, В и С выступали на...

Задача про отель (Turbo prolog 2.0)
Помогите пожалуйста с решением задачи. Вроде на форуме была похожая, но с более сложными условиями, не получается упростить. написать...

Задача про трех дочерей на Turbo Prolog
Имеется задача про трех дочерей класса для второго. Нужно решить ее на Турбо Прологе без использования списков и с ними. Вот сама задача:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru