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

Как проверить все факты

03.11.2015, 00:46. Показов 1387. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть например факты
Prolog
1
2
3
like(tom, tennis)
like(ann, tennis)
like(bob, football)
Как можно написать отношение, которое проверяет, ВСЕ ли любят тенис?
Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.11.2015, 00:46
Ответы с готовыми решениями:

Удалить все дублирующиеся факты с выводом соответствующих сообщений.
Помогите пожалуйста в написании проги, или хотябы растолкуйте задание...... Цель: описать логически реляционную базу данных. ...

Sony VAIO VPC-F23X1R. Отзывы. Мнения. Факты. Пишите, всё что знаете
Sony VAIO VPC-F23X1R (ntel i5-2430M / RAM 4GB / HDD 640GB / Blu-Ray / 16"FullHD 3D LED / GF GT540M(2048) / WiFi / BT / WebCam / Win7HP(64))...

Как проверить ВСЕ входящие данные?
Доброе утро форумчане. Собственно сабж. Уточнение: я хочу отфильтровать весь массив GET и POST, т.е написать универсальный класс(функцию)...

2
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
03.11.2015, 06:13
Вы поднимаете интересный вопрос, о который часто спотыкаются начинающие.
Всё дело в том, что пролог в принципе не может проверить, ВСЕ ли любят теннис.
Он не умеет строить "юниверсум", всеобщее пространство поиска решений.
Каждый раз нужно явно указывать пространство поиска.
Например, это может быть такой предикат:
Prolog
1
2
3
people(tom).
people(ann).
people(bob).
Или, скажем, такой предикат:
Prolog
1
people(X) :- like(X, _).
Вот когда задан "юниверсум", дальше проще:
Prolog
1
all_like(Y) :- not((people(X), not(like(X,Y)))).
Для большей читаемости можно попробовать cделать промежуточный предикат:
Prolog
1
2
dislike(X, Y) :- people(X), not(like(X,Y)).
all_like(Y) :- not(dislike(_, Y)).
1
 Аватар для arlat
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
03.11.2015, 10:03
Цитата Сообщение от Black Fregat Посмотреть сообщение
Всё дело в том, что пролог в принципе не может проверить, ВСЕ ли любят теннис.
Да, но по аналогии с приведённым решением можно тупо
Prolog
1
? not((like(_,Y), not(Y=tennis))).
нет такого человека, который не любит теннис.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.11.2015, 10:03
Помогаю со студенческими работами здесь

Как проверить все разделы в реестре?
Как сделать проверку нужных мне разделов реестра и если изменён какой-либо параметр в этих разделах выполнить команду! Список разделом: ...

Как проверить отмечены ли все radio в тесте?
Уже вынес себе весь мозг, решил, что пора обратиться к специалистам за подсказкой. Создаю тест формата: Вопрос 1: Ответ 1 Ответ...

Как проверить были ли все кликнуты элементы?
есть picturebox и на нем по координатам расположены выделенные объекты,как проверить что все элементы были кликнуты? вот часть кода: ...

Как проверить в строке все вхождения символа?
Как проверить в строке все вхождения символа и запомнить кусок строки между двумя его вхождениями?

Как проверить все значения реестра? (с условиями)
В результате чтения значений реестра должна выполниться команда. Если один из перечисленных ключей не равен нужному значению, отменить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru