Поиск по списку структур, задача - Prolog
Формулировка задачи:
Все доброго времени суток. Задача:
Есть структура мальчик, которая выглядит так
Пирог принимает значение ест\не_ест. То есть определяем, ест ли мальчик пирог.
Есть три мальчика и каждый из них может есть, а может и не есть пирог. Нужно написать предикат, который будет подсчитывать количество нужных структур.
Сейчас код ищет только одно вхождение. Нужно как то это исправить.
Очень буду благодарен за помощь.
Результат сейчас: Кол= 1Мальчики=[человек("ваня","ест"),человек("володя","ест"),человек("миша","ест")]
А должно быть: Кол= 3Мальчики=[человек("ваня","ест"),человек("володя","ест"),человек("миша","ест")]
Решение задачи: «Поиск по списку структур, задача»
textual
Листинг программы
count_member(Мальчики,человек(_,ест),0,Количество),
Объяснение кода листинга программы
- Задана структура данных
человек(_,ест)
и список структур данныхМальчики
. - Переменная
Количество
инициализирована нулем. - Функция
count_member
вызывается с аргументамиМальчики
,человек(_,ест)
,0
иКоличество
. - Функция
count_member
выполняет поиск структур данныхчеловек(_,ест)
в списке структур данныхМальчики
. - При каждом обнаружении структуры данных
человек(_,ест)
в списке структур данныхМальчики
, функция увеличивает значение переменнойКоличество
на единицу. - После завершения поиска, функция возвращает значение переменной
Количество
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д