Get0(X)

Предикат вызывает считывание одного символа с клавиатуры. Если переменная X неконкретизирована, то X принимает значение кода символа. Если же переменная X конкретизирована, то вводи­мый символ сопоставляется с X. Целевое утверждение будет успешно доказано только в том случае, если символ сопоставим с X.

Get(X)

Предикат вызывает считывание одного или нескольких символов с клавиатуры до тех пор, пока не будет считан символ пробела. Если переменная X неконкретизирована, то код символа отождествляется с X и доказательство утверждения заканчивается успехом. Если же переменная X конкретизирована, целевое утверждение будет дока­зано только в случае, если вводимый символ сопоставим с X.

Skip(X)

Предикат считывает символы с клавиатуры или из текущего входного файла, пока не встретится символ с кодом X, тогда доказа­тельство цели заканчивается успешно. Переменная X может быть целочисленным выражением.

Запись символов

Для вывода символов используются системные предикаты: put(X), tab(X) nl. Они определяются следующим образом.

Put(X)

Символ с кодом X записывается на терминал. Допускается, что­бы X был целочисленным выражением. Доказательство целевого ут­верждения put(X) всегда заканчивается успехом. X может быть ко­дом как управляющего, так и алфавитно-цифрового символа.

Tab(X)

На терминал выводится X пробелов. X может быть целочислен­ным выражением.

nl

Происходит переход на новую строку терминала.

Рассмотрим примеры:

put(65) на терминал выводится символ А

(подразумевается ASCII код)

put(66+32) выходится символ b

put('C') выводится символ С

put([100]) выводится символ d

put(‘e’+’A’-‘a’) выводится символ Е

put(a(b)) выдается сообщение об ошибке

Считывание термов

Предикаты

read(X), readb(X) и read(X,Y)

служат для считывания термов. Приведем их определение.

Read(X)

Если переменная неконкретизирована, то она означивается тер­мом, считанным с терминала. Попытка пользователя напечатать вы­ражение, не являющееся термом, приведет к ошибке. Вводимая ин­формация должна заканчиваться точкой. В случае, если переменная X конкретизирована термом, попытка доказать целевое утверждение заканчивается успехом только при условии, что вводимый с терми­нала терм сопоставим с X. В противном случае попытка доказатель­ства завершается неудачей.

Readb(X)

Данный предикат аналогичен предикату read(X), но вводимый терм не должен заканчиваться точкой.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: