Из prolog 5.2 в prolog 7.3 и выше
Формулировка задачи:
можете пожалуйста переделать код из prolog 5.2 в prolog 7.3
Решение задачи: «Из prolog 5.2 в prolog 7.3 и выше»
textual
Листинг программы
implement main open core constants className = "main". classVersion = "". clauses classInfo(className, classVersion). GLOBAL FACTS - db1 strings_db1(string,integer) GLOBAL FACTS - db2 strings_db2(string,integer) GLOBAL DOMAINS stringlist=string* file=file_inout class predicates consonant:(char). % Согласная create_db1: (stringlist) nondeterm. %Запись фактов в DB1 create_db2 % Запись фактов в DB2 nondeterm countCh(string,integer,integer) %Подсчет согласных в слове run create_rezult % Создание фактов с результатами вычислений CLAUSES consonant('b').consonant('c').consonant('d').consonant('f'). consonant('g').consonant('h'). consonant('j').consonant('k').consonant('l').consonant('m').consonant('n').consonant('p'). consonant('q').consonant('r').consonant('s').consonant('t').consonant('v').consonant('w'). consonant('x').consonant('z'). run:- %write("Имя файла с исходными строками ? "), %readln(FileIn), openread(file_inout, "с:\\text.txt"), readdevice(file_inout), create_db1(List), readdevice(keyboard), closefile(file_inout), save("с:\\text_1.txt",db1), create_db2, save("c:\\text_2.txt",db2), openwrite(file_inout,"c:\\text_1.txt"), writedevice(file_inout), create_rezult, writedevice(screen), closefile(file_inout). %Создание DB1 create_db1([X|List]):- not(eof(file_inout)),readln(X), assertz(strings_db1(X,0), db1), create_db1(List). create_db1([]). %Создание DB2 create_db2:- retract(strings_db1(X,N),db1), countCh(X,N,M), !, assertz(strings_db2(X,M),db2), fail. create_db2. %Подсчет согласных в слове; М - выходной параметр countCh("", N, M):-M=N,!. countCh(X,N,M) :-frontchar(X,Ch,T), consonant(Ch), N1=N+1, countCh(T,N1,M). countCh(X,N,M) :-frontchar(X,Ch,T), countCh(T,N,M). % Создание выходного файла create_rezult:- retract(strings_db2(X,N),db2), write(X), write(" "),write(N), nl, fail. create_rezult. end implement main goal mainExe::run(main::run).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д