Создать динамическую базу предложений строки - Prolog

Узнай цену своей работы

Формулировка задачи:

Пожалуйста,помогите решить задачку: Дана строка (до 64 Кбайт) в текстовом файле. Создать динамическую базу предложений данной строки. По номеру предложения выдавать его на экран. Для создания интерфейса использовать стандартные средства. Необходимо написать на turbo prolog

Решение задачи: «Создать динамическую базу предложений строки»

textual
Листинг программы
  1. domains
  2.  
  3.               file = datafile
  4.  
  5.             predicates
  6.  
  7.               create_a_random_access_file
  8.               write_read_more(real,real,string)
  9.               pad_string(string,string,integer)
  10.  
  11.             goal
  12.  
  13.               create_a_random_access_file.
  14.  
  15.             clauses
  16.  
  17.               create_a_random_access_file :-
  18.  
  19.                 write("Please enter filename:"),nl,
  20.                 readln(Filename),
  21.                 openwrite(datafile,Filename),
  22.                 closefile(datafile),
  23.                 openmodify(datafile,Filename),
  24.                 write("Type in data string."),nl,
  25.                 readln(Dstring),
  26.                 write_read_more(1,0,Dstring),
  27.                 closefile(datafile).
  28.  
  29.               write_read_more(_,_,"done") :-
  30.                 nl, write(" Press the space bar."),
  31.                 readchar(_),exit.
  32.  
  33.               write_read_more(Num,Index,Dstring) :-
  34.                 writedevice(datafile),
  35.                 filepos(datafile,Index,0),
  36.                 pad_string(Dstring,Padstring,38),
  37.                 str_int(Numstring,Num),
  38.                 concat(Numstring,". ",Fstring),    
  39.                 concat(Fstring,Padstring,Kstring),
  40.                 concat(Kstring,"\10\13",Lstr),
  41.                 write(Lstr),
  42.                 writedevice(screen),
  43.                 write("Type in data string"),nl,
  44.                 readln(Dstring1),
  45.                 Num1 = Num + 1,
  46.                 Index1 = Index + 40,
  47.                 write_read_more(Num1,Index1,Dstring1).
  48.  
  49.               pad_string(Instring,Instring,Length) :-
  50.                 str_len(Instring,Testlength),
  51.                 Testlength >= Length,!.
  52.               pad_string(Instring,Padstring,Length) :-
  53.                 concat(Instring," ",Newstring),
  54.                 pad_string(Newstring,Padstring,Length).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы