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

Предикат и список чисел

09.01.2019, 11:25. Показов 1259. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать предикат anyTrue(Preds,Nums). Здесь Preds - список унарных предикатов зависящих от числа, а Nums - список чисел. Предикат истинен хотя бы на одном из списка Nums.

Добавлено через 1 час 21 минуту
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
any(_,[]):-fail,!.
any(Pred,[H|_]):-
    call(Pred,H),!.
any(Pred,[_|T]):-
    any(Pred,T).
    
 
any2([],_):-fail,!.
any2([H|_],lst):-
    any(H,lst),!.
any2([_|T],lst):-
    any2(T,lst).
В чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2019, 11:25
Ответы с готовыми решениями:

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

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

Предикат, порождающий список, состоящий из натуральных чисел от N до 1
Создайте предикат,порождающий по заданному натуральному числу N список, состоящий из натуральных...

Создайте предикат, упорядочивающий список целых чисел по возрастанию
2. Создайте предикат, упорядочивающий список целых чисел по возрастанию (список одноуровневый).

4
797 / 600 / 157
Регистрация: 07.10.2013
Сообщений: 1,327
09.01.2019, 13:48 2
Цитата Сообщение от LakVol Посмотреть сообщение
В чем ошибка?
Переменные пишутся обязательно с большой буквы.
Смысл Вашего кода в принципе ускользает
Цитата Сообщение от LakVol Посмотреть сообщение
Написать предикат anyTrue(Preds,Nums).
Хорошо.
Цитата Сообщение от LakVol Посмотреть сообщение
Здесь Preds - список унарных предикатов зависящих от числа, а Nums - список чисел.
Где эти предикаты и список чисел?
Конструкция fail, !. не имеет смысла, fail дает всегда неудачу и до !. программа никогда не дойдет...
Дайте оригинал постановки задачи и данные для тестирования.
Цитата Сообщение от LakVol Посмотреть сообщение
Предикат истинен хотя бы на одном из списка Nums.
На одном чем? Числе, так так и пишите.
Ну далее в этом роде...
0
797 / 600 / 157
Регистрация: 07.10.2013
Сообщений: 1,327
09.01.2019, 14:18 3
Это?
call_pred(Pred, Nums)
Миниатюры
Предикат и список чисел  
0
797 / 600 / 157
Регистрация: 07.10.2013
Сообщений: 1,327
09.01.2019, 14:31 4
Для непонятливых
Миниатюры
Предикат и список чисел  
0
797 / 600 / 157
Регистрация: 07.10.2013
Сообщений: 1,327
09.01.2019, 14:47 5
А в принципе Вы были на правильном пути
lst -> Lst
И проверку на пустой список везде убрать, Пролог и так выдаст неудачу при попытке разделить список на хвост и голову при пустом списке.

Добавлено через 46 секунд
А данные для теста все-таки надо на форум предоставлять...
0
09.01.2019, 14:47
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2019, 14:47
Помогаю со студенческими работами здесь

Предикат, порождающий по заданным числам N, M, K список, состоящий из N случайных натуральных чисел
Для данной программы, нужно сделать так, чтобы на выходе в списке не было повторяющихся элементов...

Предикат: перевод списка цифр от 0 до 9 в список соответствующих им римских чисел (Turbo Prolog)
Не знаю,как это написать. Помогите,пожалуйста,создать предикат,переводящий список цифр от 0 до 9 в...

Предикат range(?M, ?N, ?L), истинный тогда и только тогда, когда L - список целых чисел
Доброго времени суток. Помогите, пожалуйста со следующей задачей: Напишите предикат range(?M,...

Напишите предикат p(+S,+L,–N), который вычисляет, сколько раз список S входит в список L
Приветствую. Прошу помощи у знающих людей. У меня есть задача: Напишите предикат p(+S,+L,–N),...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru