Алфавитный список предикатов


asserta(<факт>) (dbasedom): (вх)
заносит факт (утверждение) в начало резидентной БД (домен, обозначенный как dbasedom, автоматически объявляется для каждого предиката из раздела database)

assertz(<факт>) (dbasedom): (вх)
заносит факт (утверждение) в конец резидентной БД 

attribute(Attr) (integer): (вх),(вых)
(вх): устанавливает значение атрибута
(вых): присваивает переменной Attr установленное по умолчанию значение атрибута

back (Step) (integer): (вх)
сдвигает экранное перо на несколько позиций назад. Величина сдвига задается значением параметра Step. Если результирующая позиция находится за пределами экрана, то данный предикат неуспешен

beep (вх)
при вызове этого предиката раздается звуковой сигнал
bios(InterruptNo,RegsIn,RegsOut) (integer,regdom,regdom): (вх,вх,вых)
происходит обращение к подпрограммам системы прерываний. InterruptNo задает номер прерывания, Regsln содержит новые значения регистров, а RegsOut — старые. Тип regdom считается в Турбо-Прологе предописанным. Его описание выглядит так:
regdom = (integer, integer, integer, integer, integer, integer, integer, integer)
Компоненты типа integer соответствуют регистрам микропроцессора АХ, ВХ, СХ, DX, SI, DI, DS и ES

bound (Variable) (<произвольная переменная>): (вх) предикат успешен в случае, если переменная означена

char_int(CharParam,IntParam) (char,integer): (вх,вых), (вых,вх), (вх,вх)
(вх,вых): присваивает переменной IntParam код ASCII значения IntParam (вых,вх): присваивает CharParam символ, код которого равен значению IntParam
(вх,вх): предикат успешен, если код символа CharParam совпадает со значением IntParam

clearwindow
очищает активное в настоящий момент текстовое окно, заполняя его цветом фона

closefile(SymbolicFileName) (file): (вх)
закрывает физический файл, отождествленный с логическим файлом SymbolicFileName. Предикат успешен даже в том случае, если этот файл уже был закрыт

comline(Line) (string): (вых)
позволяет считать управляющие параметры вашей программы

concat(Stringl,String2,String3) (string,string,string): (вх,вх,вых), (вых,вх,вх),
(вх,вых,вх), (вх,вх,вх)
(вх,вх,вых): создает StringS путем склеивания Stringl и String2 (вых,вх,вх): если значением String2 является часть строки StringS, то Stringl означивается оставшейся частью
(вх,вых,вх): если значением Stringl является часть строки StringS, то String2 означивается оставшейся частью
(вх,вх,вх): предикат успешен, если значение StringS совпадает с результатом конкатенации Stringl и String2

cursor(DOS_FileName) (string): (вх)
загружает в память файл БД DOS_FileName (файл должен быть текстовым)

*fcursor(Row,Column) (integer,integer): (вх,вх), (вых.вых)
(вх.вх): помещает курсор в позицию с координатами (Row, Column) (вых,вых): присваивает переменным Row и Column значения текущих координат курсора

cursorform(Startline,EndIine) (integer,integer): (вх,вх)
определяет высоту и вертикальное положение курсора в пределах отведенной ему области из 14 линий точек (величины могут лежать в пределах от 1 до 14 )

date (Year, Month,Day) (integer,integer,integer): (вх,вх,вх), (вых,вых,вых)
(вх,вх,вх): устанавливает новое значение текущей даты при помощи переменных Year (год), Month (месяц), Day (день).
(вых,вых,вых): считывает текущую дату, которая определяется по показаниям встроенных часов компьютера

deletefile(DOS_FileName) (string): (вх)
удаляет из текущей директории файл с заданным именем

dir(Pathname,FileSpecString,DOS_FileName) (string,string,string): (вх,вх,вых) активизирует средства Турбо-Пролога для работы с файлами. Значения входных переменных Pathname и FileSpecString определяют путь доступа и расширения файлов, имена которых появятся в окне каталога директории. Имя выбранного пользователем в каталоге файла будет присвоено переменной DOS_FileName

disk(DOS_Path) (string): (вх.вых)
вх: определяет новый текущий диск и новый текущий путь доступа. Предикат успешен, если диск и путь заданы правильно вых: присваивает переменной DOS_Path значения заданных по умолчанию имени диска и пути доступа

display (String) (string): (вых)
высвечивает значение переменной String в том окне, которое активно в настоящий момент

dot (Row, Column.Color) (integer,integer,integer): (вх,вх,вх), (вх,вх,вых)
(вх,вх,вх): рисует на экране точку (небольшой пиксель) цвета Color в позиции с координатами (Row.Column), если дисплей находится в графическом режиме
(вх,вх,вых): переменная Color получает номер цвета пикселя, координаты которого задаются переменными Row и Column

edit(InputString,OutputString) (string,string): (вх.вых)
активизирует радактор Турбо-Пролога, что дает возможность отредактировать строку InputString; новая редакция будет присвоена переменной Outputs tring

editmsg(InStr,OutStr,LeftHeader,RightHeader,Message,HelpFileName,Position,Code)
(string,string,string,string,string,string,integer,integer):
(вх,вых,вх,вх,вх,вх,вх,вых)
вызывает редактор Турбо-Пролога. Позволяет отредактировать входную строку InStr, исправленный вариант которой будет содержать переменная OutStr. LeftHeader и RightHeader содержат тексты заголовков, Position задает расположение курсора. HelpFileName указывает имя файла, загружаемого по нажатию функциональной клавиши Fl(Help). Code определяет клавишу для завершения процесса редактирования (0 — функциональная клавиша F10, 1 — Esc)

eof(SymbolicFileName) (file): (вх)
предикат успешен, если указатель файла стоит на метке конца файла SymbolicFileName

existfile(DOS_FileName) (string): (вх)
предикат успешен, если в текущей директории существует файл с именем, задаваемым переменной DOS_FileName

exit
прекращает выполнение программы и передает управление системе Турбо-Пролог, если программа запускалась в среде Турбо-Пролога, или DOS, если запуск производился вне рамок этой системы

fail
вызывает откат ввиду неуспеха данного предиката
field_attr(Row,Column,Length,Attr) (integer,integer,integer,integer) »: (вх,вх,вх,вх), (вх,вх,вх,вых)
(вх,вх,вх,вх): создает поле символов длиной Length, имеющее атрибут Attr и начинающееся в позиции с координатами (Row.Column) в пределах активного окна (окно должно соответствовать заданным значениям длины и координат)
(вх,вх,вх,вых): присваивает Attr значение атрибута поля, длина которого есть Length, а начальная позиция определяется координатами (Row, Column)

field_str(Row,Column,Length,String) (integer,integer,mteger,string): (вх.вх,вх,вх), (вх,вх,вх,вых)
записывает в активное окно экрана Length символов из строки String, начиная с позиции с координатами (Row, Column) (заданное поле чтения должно находиться в пределах активного в настоящий момент окна)

filemode(SymbolicFileName,FileMode) (file,integer): (вх,вх), (вх,вых)
(вх,вх): позволяет получить доступ к двоичному файлу. SymbolicFileName задает имя файла, a FileMode — его тип (0 — текстовой, 1 — двоичный) (вх,вых): возвращает значение FileMode для файла SymbolicFileName
fflepos(SymbplicFileName,FilePosition,Mode) (file,integer,integer): (вх,вх,вх),(вх,вых,вх)
(вх,вх,вх): задает в файле SymbolicFileName позицию, из которой будет считан или в которую будет записан очередной символ (Mode=0 ука-
зывает на то, что смещение будет отсчитываться от начала файла, Mode=l — от текущей позиции, Mode=2 — от конца файла)
(вх,вых,вх): переменная FilePosition получает значение смещения текущего положения указателя файла. Смещение берется относительно начала файла

file_str(DOS_FileName,StringVariab!e) (string.string): (вх,вх), (вх,вых)
(вх,вх): записывает строку StringVariable в файл DOS_FileName (максимум 64К)
(вх.вых): считывает в строку StringVariable символы, содержащиеся в файле DOS_FileName (до 64 Кб)

findall (Variable, <предикат>, ListVariable)
записывает значение объекта Variable в список ListVariable. Variable должен являться одним из аргументов указанного предиката

flush (SymbolicFileName) (file): (вх)
вызывает вывод на текущее выводное устройство writedevice содержимого, находящегося в оперативной памяти буфера файла

forward (Step) (integer): (вх)
в графическом режиме forward сдвигает экранное перо на Step позиций вперед

free (Variable) (<переменная>): (вых)
успешен, если переменная Variable не означена

frontchar (String, FrontChar,RestString) (string,char,string): (вх,вых,вых), (вх,вх,вых), (вх,вых,вх), (вх,вх,вх), (вых,вх,вх)
(вх,вых,вых): присваивает первый символ строки String переменной FrontChar, а остаток строки — переменной RestString
Возможны и другие комбинации входных и выходных параметров; важно лишь то, чтобы либо была означена переменная String, либо переменные FrontChar и RestString одновременно

frontstr (NumberOfChars.Stringl,StartStr,String2) (integer,string,string, string): (вх,вх,вых,вых)
присваивает первые NumberOfChars символов строки Stringl переменной
StertStr, а остаток — переменной String2

fronttoken(String,Token,RestString) (string,string,string): (вх,вых,вых), (вх,вх,вых), (вх,вых,вх), (вх,вх,вх), (вых,вх,вх)
(вых,вх,вх): переменной String присваивается результат конкатенации Token и RestString. Token может быть либо группой символов, задающих допустимое в Турбо-Прологе имя, либо символьным представлением целого или действительного числа, либо одиночным символом, отличным от пробела.
В любых других комбинациях входных и выходных параметров должны
быть означены по крайней мере два аргумента предиката

gotowindow(WindowNo) (integer): (вх)
осуществляет очень быстрый переход из одного окна в другое, если эти два окна не пересекаются. Может также быть использован для перехода в окно, находящееся позади активного в настоящий момент окна

graphics(ModeParam,Palette,Background) (integer,integer,integer): (вх,вх,вх) активизирует графические средства Турбо-Пролога и устанавливает номер режима работы (ModeParam), палитры (Palette) и цвета фона (Background)

isname(StringParam) (string): (вх)
предикат успешен, если значением аргумента StringParam является допустимое в Турбо-Прологе имя

keypressed (StringParam) (string): (вх)
успешен, если будет нажата произвольная клавиша

line(Rowl,Coll,Row2,Col2,Color) (integer,integer,integer,integer): (вх,вх,вх,вх,вх) в графическом режиме рисует линию между точками с координатами (Rowl,Coll) и (Row2,Col2), номер цвета задается аргументом Color

makewindow(WindowNo,ScrAtt,FrameAttr,Header,Row,Col,Height,Width) (integer,integer,integer,string,integer,mteger,integer,integer): (вх,вх,вх,вх,вх, вх,вх,вх), (вых,вых,вых,вых,вых,вых,вых.вых)
создает окно, номер которого задается WindowNo. Координаты окна задаются аргументами Row и Col, высота и ширина — Height и Width. Окно должно умещаться на экране. Если FrameAttr отличен от 0, вокруг окна появится бордюр. Header задает название окна

membyte (Segment, Off set, Byte) (integer,integer,integer): (вх,вх,вх), (вх,вх,вых) (вх,вх,вх): записывает значение Byte (1 байт) в память по адресу, задаваемому при помощи Segment и Offset
(вх,вх,вых): считывает в переменную Byte из памяти байт, адрес которого задается аргументами Segment и Offset В обоих случаях адрес вычисляется по формуле Segment* 16+Offset

memword(Segment,Offset,Word) (inleger,integer,integer): (вх,вх,вх), (вх,вх,вых) (вх,вх,вх): записывает значение Word (1 слово) в память по адресу, задаваемому при помощи Segment и Offset
(вх,вх,вых): считывает в переменную Word из памяти слово, адрес которого задается аргументами Segment и Offset
В обоих случаях адрес вычисляется по формуле Segment* 16+Offset nl
посылает на текущее устройство writedevice комбинацию спецсимволов «возврат каретки» и «перевод строки»

not (<утверждение>)
успешен, если <утверждение> представляет собой цель, оказавшуюся при доказательстве неуспешной

openappend(SymbolicFileName,DOS_FileName) (file.string): (вх,вх)
открывает для дозаписи файл DOS_FileName и отождествляет его с логическим файлом SymbolicFileName

openmodify(SymbolicFileName,DOS_FileName) (file,string): (вх,вх)
открывает для чтения и записи файл DOS_FileName и отождествляет его с логическим файлом SymbolicFileName

openread (SymbolicFileName, DOS_Fi,leName) (file,string): (вх,вх)
открывает для чтения файл DOS_FileName и отождествляет его с логическим файлом SymbolicFileName

openwrite(SymbolicFileName,DOS_FileName) (file.string): (вх,вх)
открывает для записи файл DOS_FileName и отождествляет его с логическим файлом SymbolicFileName

pencolor (Color) (integer): (вх)
задает цвет, в который будет окрашено графическое экранное перо. Применим только в графическом режиме

pendown
после выполнения этого предиката становится возможным рисование линий при помощи предикатов forward и back

penpos(Row,Column, Direction) (integer,integer,integer): (вх,вх,вх), (вых,вых, вых)
(вх,вх,вх): помещает графическое перо в позицию с координатами (Row, Column) и ориентирует его в направлении, задаваемом аргументом Direction
(вых,вых,вых): присваивает переменным координаты текущей позиции пера и номер его направления

penup
прекращает рисование, то есть выполняет действие, обратное действию предиката

pendown
portbyte(PortNo,Value) (integer.integer): (вх.вх), (вх,вых)
(вх.вх): значение Value посылается в порт ввода-вывода номер PortNo (вх,вых): присваивает Value десятичный эквивалент значения байта из порта ввода-вывода номер PortNo

ptr_dword(StringVar,Segment,Offset) (string,integer,mteger): (вх,вых,вых),
(вых,вх,вх)
(вх,вых,вых): выдает номер сегмента (Segment) и смещение (Offset) озна
ченной переменной StringVar i.
(вых,вых,вх): присваивает переменной StringVar строку символов, располагающуюся по адресу, задаваемому аргументами Segment и Offset. Адрес вычисляется по формуле Segment* 16+Offset. Конец строки определяется пустым (null) битом

readchar (CharVariable) (char): (вых)
считывает символ с текущего устройства чтения readdevice

readdevice(SymbolicFileName) (symbol): (вх), (вых)
(вх): назначает для чтения файл с логическим именем SymbolicFileName (вых): переменная SymbolicFileName означивается логическим именем текущего устройства чтения

readint(IntVariable) (integer): (вых)
считывает с текущего устройства чтения readdevice целое число

readln(StringVariable) (string): (вых)
считывает с текущего устройства чтения readdevice символьную строку

readreal (RealVariable) (real): (вых)
считывает с текущего устройства чтения readdevice действительное число

readterm(Domain,Term) (<имя домена>,<переменная>): (вх,вых)
позволяет считать из открытого файла любой объект, записанный туда при помощи предиката write. Объект присваивается переменной Term, коль скоро он соответствует описанию домена этой переменной

removewindow
удаляет текущее окно

renamefile(01dDOS_FileName,NewDOS_FileName) (string,string): (вх,вх)
переименовывает файл с именем OldDOS_FileName, новое имя задается переменной NewDOS_FileName

save(DOS_FileName) (string): (вх)
сохраняет утверждение динамической базы данных в текстовом файле DOS_FileName

scr_attr(Row,Col,Attr) (mteger,integer,integer): (вх,вх,вх), (вх,вх,вых) (вх,вх,вх): определяет значение атрибута позиции экрана с координатами (Row.Col)
(вх,вх,вых): присваивает переменной Attr значение атрибута позиции экрана с координатами (Row,Col)

scr_char(Row,Column,Char) (mteger,integer,char): (вх,вх,вх), (вх,вх,вых) (вх,вх,вх): записывает символ Char в позицию экрана с координатами (Row, Column)
(вх,вх,вых): означивает переменную Char символом из позиции экрана с координатами (Row, Column)

scroll(NoOfRows,NoOfCols) (integer,integer): (вх,вх)
смещает активное окно вверх или вниз на количество строк, задаваемое параметром NoOfRows, влево или вправо на количество колонок, задаваемое параметром NoOfCols. Смещение вверх и влево соответствует отрицательным числам, вниз и вправо — положительным

shiftwindow(WindowNo) (integer): (вх,вых)
(вх): активизирует окно с номером WindowNo, а также сохраняет содержимое окна, активного в момент вызова предиката (вых): присваивает переменной WindowNo номер активного в настоящий момент окна

sound (Duration,Frequency) (integer,integer): (вх,вх)
вызывает звучание ноты частоты Frequency и длительности Dur (длительность задается в сотых долях секунды)

storage(StackSize,HeapSize,TrailSize) (real,real,real): (вых,вых,вых)
выдает доступный объем (в Кб) трех динамических областей памяти

str_char(StringParam,CharParam) (string.char): (вх,вых), (вых,вх), (вх.вх) (вх,вых): присваивает CharParam символ, заданный при помощи StringParam
(вых.вх): присваивает StringParam символ, заданный при помощи CharParam
(вх,вх): успешен, если StringParam и CharParam представляют один тот же символ

str_int(StringParam,IntParam) (string.integer): (вх,вых), (вых,вх), (вх,вх) (вх,вых): присваивает IntParam двоичный эквивалент десятичного символьного представления целого числа StringParam
(вых,вх): присваивает StringParam строку, являющуюся десятичным символьным представлением целого числа IntParam
(вх,вх): успешен, если StringParam и IntParam представляют одно и то же число

str_len(String,Length) (string.integer): (вх,вх), (вх.вых)
(вх.вх): успешен, если в строке String содержится Length символов (вх,вых): присваивает переменной Length количество символов, содержащихся в строке String

str_real(StrmgParam,RealParam) (string.real): (вх,вых), (вых,вх), (вх,вх)
(вх,вых): присваивает RealParam двоичный эквивалент десятичного символьного представления действительного числа StringParam (вых,вх): присваивает
StringParam строку, являющуюся десятичным символьным представлением действительного числа RealParam (вх,вх): успешен, если StringParam и RealParam представляют одно и то же число

system (DOS_CommandString) (string): (вх)
позволяет исполнить команду операционной системы, представленную в виде символьной строки

text
возвращает экран в алфавитно-цифровой режим
time(Hours,Minutes,Seconds,Hundreds) (integer,integer, mteger,mteger): (вх,вх,вх,вх), (вых,вых,вых,вых)
(вх,вх,вх,вх): устанавливает системные часы: Hours — часы, Minutes -минуты, Seconds — секунды, Hundreds — сотые доли секунды (вых,вых,вых,вых): присваивает переменным показания системных часов

trace (Status) (symbol): (вх,вых)
(вх): внесение предиката trace (on) в самое начало программы задает пошаговое ее выполнение — трассировку. Выключение трассировки осуществляется при помощи trace (off). Аналогичные функции имеет и предикат shorttrace с той лишь разницей, что несколько меньшим становится количество информации, выдаваемой в окно трассировки (Trace Window), (вых): присваивает переменной Status значение on или off в зависимости от режима выполнения программы

upper_lower(StringInUpperCase,StringInLowerCase) (string,string): (вх,вых),
(вых,вх), (вх.вх)
(вх,вых): присваивает переменной StringlnLowerCase эквивалент строки StringlnUpperCase, в котором все большие буквы заменены на маленькие (вых,вх): присваивает переменной StringlnUpperCase эквивалент строки StringlnLowerCase, в котором все маленькие буквы заменены на большие
(вх,вх): успешен, если переменные StringlnLowerCase и StringlnUppei представляют соответственно нижнерегистровую и верхнерегистровую сии одной и той же строки

window_attr(Attr) (integer): (вх)
приводит в соответствие со значением Attr атрибут активного окна

window_str(ScreenString) (string): (вх), (вых)
(вх): высвечивает в активном окне экрана значение переменной
ScreenString
(вых): присваивает переменной ScreenString строку, высвеченную в активном окне

write(el,e2,e3,…,eN) ((вх)*)
осуществляет вывод на текущее устройство writedevice констант или значений. Число аргументов произвольно; это могут быть либо константы; либо переменные, значения которых относятся к одному из стандартных доменных типов

writedevice(SymbolicFileName) (symbol): (вх), (вых)
(вх): если файл с логическим именем SymbolicFileName открыт, то ный предикат переназначает на него устройство вывода writedevice (вых): присваивает переменной SymbolicFileName логическое writedevice

writef(FormatStrmg,Argl,Arg2,Arg3,… ) (вх,(вх)ф)
осуществляет форматированный вывод информации. Форматы задают виде строки FormatString обычного текста, где маркеры % отмечают положение аргументов. Допустимые спецификации формата — это «-«, «р», «m», «f», «e», «g». «-» означает выравнивание слева; целые числа, следующие за «m» и «р», задают количество цифр слева и справа от десятичной точки. Спецификации «f» и «е» определяют мантиссу и пoрядок числа. Спецификация «g» задает печать в максимально короткой форме.

Загрузка...