logo
TurboProlog / Документация / TOM_2

Putpixel/3 Графика

Назначение Рисует пиксел в указанном расположении

Обращение putpixel(X,Y,Пикселцвет)

Домены (integer,integer,integer)

Шаблоны описания (вх,вх,вх)

аргументов

Описание putpixel рисует пиксел в точке (X,Y) с цветом

Пикселцвет.

Смотри getpixel,putimage

random/1

Назначение Генерирует случайное число с плавающей точкой

Обращение random(ВеществСлучайное)

Домены (real)

Шаблоны описания (вых)

аргументов

Описание random/1 выдает значение случайного вещественного

числа; random(Х) связывает Х со значением случайного

числа с плавающей точкой, таким что 0 <= Х < 1.

Неудачное Никогда не дает.

завершение

Ошибки Нет ошибок.

Пример

Goal: random(X)

X=0.438218271

1 Solution

Goal: random(X)

X=0.36520984623

1 Solution

Goal: random(X)

X=0.16827983629

1 Solution

random/2

Назначение Генерирует случайное целое число

Обращение random(МаксЗначение,ЦелоеСлучайное)

Домены (integer)

Шаблоны описания (вх,вых)

аргументов

Описание random/2 выдает значение случайного целого числа;

random(Макс,Целое) связывает Целое со значением

случайного целого числа, таким что 0 <= Целое < Макс.

Неудачное Никогда не дает.

завершение

Ошибки Нет ошибок.

Пример

Goal: random(15,X)

X=4

1 Solution

Goal: random(15,X)

X=7

1 Solution

readchar/1

Назначение Читает единственный символ с текущего устройства

ввода

Обращение readchar(СимволПеременной)

Домены (char)

Шаблоны описания (вых)

аргументов

Описание Читает единственный символ с текущего устройства

ввода (которым является по умолчанию клавиатура, пока

оно не будет изменено с помощью readdevice). Когда

чтение выполняется с клавиатуры, значения

функциональных клавиш и клавиш управления курсором,

будут возвращать два символа, где первый является

ASCII 0.

Неудачное Когда во время ввода файла встретился знак конца

завершение файла.

Ошибки Нет ошибок.

Пример

goal

write("\nВведите символ: "),

readchar(CH1),

write("\nБыл символ: ",CH1),

CH1=0,

write("\nЭто была функциональная клавиша"),

readchar(CH2),

writef("\nКод1 клавиши=%d:'%c',

Код2 клавиши= %d:'%c'",CH1,CH1,CH2,CH2).

readdevice/1

Назначение Устанавливает или выдает текущее устройство ввода

Обращение readdevice(СимволичИмяФайла)

Домены (symbol)

Шаблоны описания (вх) , (вых)

аргументов

Описание (вх)

Переназначает текущее устройство ввода на открытый

файл с данным СимволичИмяФайла. Открываемый файл

может быть один из стандартных файлов или любой файл

пользователя с символическим именем, открытый для

чтения или модификации.

(вых)

Связывает СимволичИмяФайла с именем текущего

устройства ввода.

Стандартные файлы, которые могут быть открыты для

ввода:

com1 чтение из последовательного порта связи

keyboard чтение с клавиатуры (по умолчанию)

stdin чтение из стандартного ввода DOS

Неудачное Никогда не дает.

завершение

Ошибки 1011 Попытка назначить устройство ввода в файл,

находится ни в режиме ввода ни в режиме

модификации.

Пример

domains

file = input

goal

openread(input,"dd.txt"),

readdevice(input),

readln(L1),write(L1),nl,

readln(L2),write(L2),nl,

readdevice(keyboard),

write("Введите текст: "),

readln(L3),write(L3),nl.

readint/1

Назначение Читает целое число

Обращение readint(ПеременнаяЦел)

Домены (integer)

Шаблоны описания (вых)

аргументов

Описание readint читает целое число c текущего устройства,

ввода, которым является по умолчанию клавиатура, пока

оно не будет изменено с помощью readdevice.

Преобразование символов не осуществляется пока

readint не встретит символ возврат каретки (ASCII

13). Если нажат Esc (Ключ), то readint немедленно

не согласуется. readint также не согласуется, если

символы не образуют правильное целое, или если они

определяют целое, превышающее границы ( > 32767 или

<- 32768 ).

Неудачное Если читаемая строка не является целым.

завершение При нажатии Esc во время ввода с клавиатуры.

Во время ввода файла встретился знак конца файла.

Ошибки Нет ошибок.

Пример

Goal: readint(X)

111

X=111

1 Solution

Goal: readint(X)

-123

X=-123

1 Solution

Goal: readint(X)

999999

No Solution

Goal: readint(X)

aaa

No Solution

readln/1

Назначение Читает строку символов

Обращение readln(ПеременнаяСтр)

Домены (o)

Шаблоны описания (вых)

аргументов

Описание readln читает символы с текущего устройства ввода,

пока не прочитает символ возврат каретки (ASCII 13).

Текущим устройством ввода является по умолчанию

клавиатура, пока оно не будет изменено с помощью

readdevice. Если нажат Esc (ключ), readln немедленно

не согласуется.

Неудачное Если был нажат Esc (ключ) во время ввода с

завершение клавиатуры. Если во время ввода файла встретился

знак конца файла.

Ошибки Нет ошибок.

Пример

Goal: readln(L)

Это строка

L=Это строка

1 Solution

Goal: readln(L)

Эта строка так длинна, что сворачивается в окне.

Самая большая строка, которая может быть прочитана на

экране. (147 символов) !

L=Эта строка так длинна, что сворачивается в окне.

Самая большая строка, которая может быть прочитана на

экране . (147 символов)!

1 Solution

Goal: readln(L)

No Solution <---- Нажат Esc (Ключ)

Goal: readln(L)

<--- Пустая строка(нажат только Enter (Ввод))

это не тоже самое как Esc

L=

1 Solution

readreal/1

Назначение Читает вещественное число

Обращение readreal(ПеременнаяВещ)

Домены (real)

Шаблоны описания (вых)

аргументов

Описание readreal читает вещественное число с текущего

устройства ввода, пока не прочитает символ возврат

каретки, после этого выполнение прекратится. Текущим

устройством ввода является по умолчанию клавиатура,

пока не будет изменено с помощью readdevice.

Преобразования символов не выполняется пока readreal

не встретит символ возврат каретки (ASCII 13). Если

нажат Esc (ключ), readreal немедленно не согласуется.

readreal так же не согласуется, если символы не

образуют правильное вещественное число, или если они

определяют вещественное число, превышающее границы

вещественного числа.

Неудачное Если читаемая строка не является вещественным числом.

завершение При нажатии Esc во время ввода с клавиатуры.

Если во время ввода файла встретился знак конца

файла.

Ошибки Нет ошибок.

Пример

Goal:readreal(X)

123

X=123

1 Solution

Goal: readreal(X)

-123.456E-5

X=-0.00123456

1 Solution

Goal: readreal(X)

.56

X=0.56

1 Solution

Goal: readreal(X)

No Solution <--- Был нажат Esc (Ключ)

Goal: readreal(X)

aaaa

No Solution

readterm/2

Назначение Читает терм из указанного домена

Обращение readterm(Домен,Терм)

Домены (<domain>,<term>)

Шаблоны описания (вх,*)

аргументов

Описание readterm может читать терм из любого домена. Однако

терм должен быть точно такого формата, как если бы он

был записан предикатом write с одной переменной.

readterm обычно используется при обращении (доступе)

к фактам, находящимся на диске.

Неудачное Когда был нажат Esc во время ввода с клавиатуры.

завершение Когда во время ввода файла встретился знак конца

файла.

Ошибки 1101 Предполагается целое (при чтении файла).

1102 Предполагается вещественное (при чтении файла).

1103 Предполагаются двойные кавычки (при чтении

файла).

1104 Предполагаются кавычки (при чтении файла).

1105 Предполагается начало списка (при чтении файла).

1106 Предполагается конец списка (при чтении файла).

1107 Функтор не найден в домене (при чтении файла).

1108 Предполагается ( (при чтении файла).

1109 Предполагается , или ) (при чтении файла).

Пример

domains

file = dbase

database - mydbase

...

predicates

my_consult(string)

repeat(file)

clauses

my_consult(FileName) :-

openread(dbase, FileName),

readdevice(dbase),

repeat(dbase),

readterm(mydbase, Term),

assertz(Term),

fail.

my_consult(_).

repeat(_).

repeat(File) :- not(eof(File)), repeat(File).

readtermerror/2

Назначение Возвращает информацию о синтаксических ошибках в

readterm

Обращение readtermerror(Строка,ПозСтр)

Домены (string,integer)

Шаблоны описания (вых,вых)

аргументов

Описание readtermerror будет возвращать переменную Строка -

строку, которая имеет синтаксическую ошибку, и

переменную ПозСтр - место в строке, где была найдена

синтаксическая ошибка.

Пример

goal: readtermerror(Line,Pos)

Line=p(symb,5),Pos=3 /* symb необходимы

двойные кавычки */