Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Файлы(программы).docx
Скачиваний:
2
Добавлен:
27.09.2019
Размер:
29.27 Кб
Скачать

5)Извлечение из файла строки, заканчивающиеся точкой

domains

file=df;tf

predicates

read_write

point(file,file)

clauses

point(df,tf):-eof(df).

point(df,tf):-not(eof(df)),readln(Str),

str_len(Str,L),L2=L-1,

frontstr(L2,Str,_,P),P=".",

write(Str,"\10"),point(df,tf).

point(df,tf):-not(eof(df)),readln(Str),

str_len(Str,L),L2=L-1,

frontstr(L2,Str,_,P),P<>".",

point(df,tf).

read_write:-write("Enter df name:"),nl,

readln(F1),

write("Enter tf name:"),nl,

readln(F2),

openread(df,F1),

openwrite(tf,F2),

readdevice(df),

writedevice(tf),

point(df,tf),

closefile(df),

closefile(tf),

file_str(F1,Str2),

write(Str2),

file_str(F2,Str3),

write(Str3).

goal

clearwindow,

read_write.

____________________________________________________________

6)Все строки файла усечь до заданной длины

domains

file=df;tf

predicates

read_write

usech(file,file,integer)

clauses

usech(df,tf,N):-eof(df).

usech(df,tf,N):-not(eof(df)),readln(Str),

frontstr(N,Str,Usech,_),

write(Usech,"\10\13"),usech(df,tf,N).

read_write:-write("Enter df name:"),nl,

readln(F1),

write("Enter tf name:"),nl,

readln(F2),

write("Enter new lenth:"),nl,

readint(N),

openread(df,F1),

openwrite(tf,F2),

readdevice(df),

writedevice(tf),

usech(df,tf,N),

closefile(df),

closefile(tf),

file_str(F1,Str2),

write(Str2).

goal

clearwindow,

read_write.

_______________________________________________________________

7)Из файла извлечь сроки длина которых > заданной

domains

file=df;tf

predicates

read_write

izvlrch(file,file,integer)

clauses

izvlrch(df,tf,N):-eof(df).

izvlrch(df,tf,N):-not(eof(df)),readln(Str),

str_len(Str,L),

L > N,

write(Str,"\10\13"),izvlrch(df,tf,N).

izvlrch(df,tf,N):-not(eof(df)),readln(Str),

str_len(Str,L),

L <= N,

izvlrch(df,tf,N).

read_write:-write("Enter df name:"),nl,

readln(F1),

write("Enter tf name:"),nl,

readln(F2),

write("Enter lenth:"),nl,

readint(N),

openread(df,F1),

openwrite(tf,F2),

readdevice(df),

writedevice(tf),

readln(Str),

izvlrch(df,tf,N),

closefile(df),

closefile(tf),

file_str(F1,Str2),

write(Str2),

file_str(F2,Str3),

write(Str3).

goal

clearwindow,

read_write.

8)Соединение 2-ух файлов

domains

file=tf;df1;df2

predicates

read_write

clauses

read_write:-write("Enter df1 name:"),nl,

readln(F1),

write("Enter df2 name:"),nl,

readln(F2),

write("Enter tf name:"),nl,

readln(F),

openread(df1,F1),

openread(df1,F2),

openwrite(tf,F),

writedevice(tf),

closefile(df),

file_str(F1,Str1),

file_str(F2,Str2),

concat(Str1,Str2,Str),

write(Str),

closefile(tf).

goal

clearwindow,

read_write.

_______________________________________________________________

9)Из входной строки, содержащей последовательность слов (например, женские имена), разделенных пробелами, получить предложения с заданным именем функтора (например, женщина), аргументом которого являются слова входной строки. Каждое предложение должно располагаться в отдельной строке и заканчиваться точкой. Предложения записать в файл, а затем из файла вывести на экран дисплея.

domains

file=df

kstr,fstr=string

predicates

words(string)

print

create_a_file

clauses

create_a_file:-clearwindow,

write("Input file name"),nl,

readln(F1),

write("Input a string :"),nl,

readln(Str),

openwrite(df,F1),

writedevice(df),

words(Str),

closefile(df),

openread(df,F1),

readdevice(df),

print,

closefile(df).

words("").

words(Str):-fronttoken(Str,Word,Ost),

concat("women(",Word,Temp),

concat(Temp,").\13\10",Fword),

write(Fword),

words(Ost).

print:- eof(df).

print:- readln(Str),write(Str),nl,print.

goal

create_a_file.

__________________________________________________