Найти всех матерей, имеющих менее трех детей - Prolog
Формулировка задачи:
Здравствуйте. Нужна помощь. Есть задание: Требуется сформировать исходный список структур.Определены структуры "ФИО", "дети" (в виде списка [имя_1, имя_2,...,имя_M]), "семья" (ФИО,ФИО,дети). Найти всех матерей, которые имеют менее трех детей.
Не получается определить матерей.
Листинг программы
- domains
- fio=f(string,string,string)
- list=string*
- family=s(fio,fio,list)
- predicates
- semya(family)
- search(family,integer)
- dlina(list,integer)
- clauses
- semya(s(f("Ivanov","Petr","Ilich"), f("Ivanova","Maria","Ivanovna"), ["Vanya","Olya","Anya"])).
- semya(s(f("Petrov","Oleg","Vladimirovich"), f("Sidorova","Oksana","Vladimirovna"), [])).
- search(s(X,Y,L),K):- semya(s(X,Y,L)),dlina(L,K1), K1<3.
Решение задачи: «Найти всех матерей, имеющих менее трех детей»
textual
Листинг программы
- dlina([], 0).
- dlina([_|T], N) :- dlina(T, NT), N=NT+1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д