Программирование на Турбо-Прологе


Программирование на Турбо-Прологе - стр. 12


     В предикате  write  можно  использовать символы,  начинающиеся со
знака \. Они имеют специальные значения:
     \k - символы, имеющие ASCII код числа k;
     \n - возврат каретки и перевод строки;
     \t - табуляция.
     Файлы могут обрабатываться только последовательно.
     Каждый запрос на чтение из входного файла приводит к чтению в текущей позиции  текущего  входного потока.  После этого текущая позиция
будет перемещена на следующий, еще не прочитанный элемент данных. Следующий запрос  на  чтение приведет к считыванию,  начиная с этой новой
текущей позиции.
     Запись производится точно так же: каждый запрос на вывод информации приведет к тому,  что она будет присоединена к концу текущего  выходного потока.
      Пример 3.  Запись символов в файл myfile.f,  который создается на текущем диске.
     domains
        file=myfile
     /* объявляется логическое имя файла myfile */
     predicates
        read_in_loop
     goal
        openwrite(myfile,"myfile.f"),  writedevice(myfile), not(read_in_loop),
        closefile(myfile), writedevice(screen),
        write("\n запись в файл myfile.f произведена \n ").
     clauses
        read_in_loop:- readchar(X), X<>'#',!, write(X), read_in_loop.
     Пример 4. Чтение символа из файла и вывод его на экран дисплея.
     domains
        file=infile
     predicates
        position
     goal
        write(" С каким файлом Вы хотите работать ? \n "),
        readln(Fname), openread(infile,Fname), position.
     clauses
        position:- readdevice(keyboard), nl,write("Введите
номер
позиции: "),
                readreal(X), readdevice(infile), filepos(infile,X,0),
                readchar(Y), write(" Здесь записан символ:",Y), position.
3.2.Форматный вывод writef.
     writef(Format,Arg1,...,Argn) -  подобен  write,  но  осуществляет
форматированный вывод  в  соответствии  с  параметром Format,  который



- Начало -  - Назад -  - Вперед -