Написать программу, которая бы перебирала базу данных об именах - Prolog
Формулировка задачи:
написать программу, которая бы перебирала базу данных об именах и выводила бы первые 5 у которых длина менее 3 символов. (Длина сроки визначаетьься с помощью предиката len (string))
Решение задачи: «Написать программу, которая бы перебирала базу данных об именах»
textual
Листинг программы
name(alex). name(kljlk). name(jkljkew). name(hhj). name(w). name(q). name(oiio). name("ej"). name(p). name(qq). name(g). name(nm). len([],0):-!.%вычисление длины списка (слова) len([_|T], L) :- len(T, L1), L is L1 + 1. get3(X) :- findall(X, (name(X), atom_length(X, LX), LX < 3), X).%получение всех атомов (имен) с сдлиной менее 3 gn(0, _, []) :- !.%получение n первых элементов списка gn(N, L, L):- len(L, LL), N > LL, !. gn(N, [H|T], [HStr|NewList]):- not(atomic(H)), string_to_list(HStr, H), N1 is N - 1, gn(N1, T, NewList). gn(N, [H|T], [H|NewList]):- N1 is N - 1, gn(N1, T, NewList). getWordList(X) :- get3(AllWords), gn(5, AllWords, X).%получение требуемого результата
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д