Написать программу, которая бы перебирала базу данных об именах - 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).%получение требуемого результата
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д