Advertisement
Gistrec

ИИ 6 лаба

Jun 2nd, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.99 KB | None | 0 0
  1. domains
  2.     file=input
  3. predicates
  4.     nondeterm has_second_e(string)
  5.     nondeterm has_max_length(string,string)
  6.     nondeterm search(string)
  7.     nondeterm search(string,string,string)
  8.     nondeterm test(string)
  9. clauses
  10.     has_second_e(String):-
  11.         frontchar(String,_,Rest),
  12.         frontchar(Rest,101,_).
  13.     has_max_length(New,Old):-
  14.         str_len(New,N),
  15.         str_len(Old,M),
  16.         N>=M.
  17.     search(String):-
  18.         search(String,"",""),!.
  19.     search("",Token,""):-
  20.         has_second_e(Token),
  21.         write(Token);
  22.         write("Can`t found!"),!.
  23.     search(String,"",""):-
  24.         fronttoken(String,Token,Rest),
  25.         search(Rest,Token,""),!.
  26.     search(String,Token,Last):-
  27.         has_max_length(Token,Last),
  28.         has_second_e(Token),
  29.         search(String,"",Token),!.
  30.     search(String,_,Last):-
  31.         fronttoken(String,Token,Rest),
  32.         search(Rest,Token,Last),!.
  33.     search("",_,Last):-
  34.         write(Last),!.
  35.     test(Filename):-
  36.         openread(input,Filename),
  37.         readdevice(input),
  38.         readln(String),
  39.         closefile(input),
  40.         search(String),
  41.         nl.
  42. goal
  43.     search("belka strelka testsss"),nl.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement