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 необходимы
двойные кавычки */
- Справочное руководство по турбо прологу 2.0
- Глава 2. Элементы языка 50
- Глава 3. Интерфейс с другими языками 75
- Часть 2. Стандартные предикаты 91
- Часть 3. Приложения 250
- Введение
- Дистрибутивные диски
- Рекомендуемая литература:
- Часть 1. Руководство программиста по турбо прологу глава 1. Система меню турбо пролога
- Пользователям Турбо Пролога 1.X
- Структура меню Турбо Пролога
- Выбор элементов меню.
- "Горячие" клавиши.
- Системные окна и строки помощи
- Окно редактирования.
- Как войти в окно редактирования
- Компоненты окна редактирования
- Как выйти из окна редактирования.
- Окно трассировки
- Окно сообщений
- Диалоговое окно
- Строка помощи
- Главное меню.
- Окно редактирования.
- Окно вспомогательного редактирования (Xedit).
- Окно просмотра.
- Изменение размера окон.
- Просмотр окон
- Создание нового файла.
- Загрузка существующего файла.
- Команды редактора.
- Сохранение исходного текста в файле.
- Запись исходного текста на диск
- Вспомогательный редактор
- Меню и команды
- Меню файлов (Files)
- Загрузка файлов (Load)
- "Указка" (Pick)
- Новый (New)
- Выход (Quit)
- Команда редактирования (Edit)
- Команда запуска (Run)
- Меню компиляции (Compile)
- Память (Memory)
- Меню опций (Options)
- Опции компоновки (Link Options)
- Стек (Stack)
- Область ссылок (Trail Array)
- "Куча" (Heap)
- Контроль во время исполнения (Run-time check)
- Цвета (Colors)
- Размер окна (Window size)
- Каталоги
- Текущий каталог (Current directory)
- Авто-загрузка сообщений (Avto-Load Message)
- Режим экрана (Screen mode)
- Конфигурация клавиатуры (Keyboard Configuration)
- Перемещение курсора (Cursor movement)
- Глава 2. Элементы языка
- Ключевые слова.
- Специальные предикаты.
- Разделы программы.
- Раздел доменов (domains).
- Стандартные домены.
- Списковые домены.
- Домены составных объектов.
- Файловый домен.
- Специально заданные предопределенные домены.
- Сокращение объявлений доменов.
- Объявление ссылочных доменов.
- Раздел предикатов (predicates).
- Раздел базы данных (database).
- Раздел предложений (clauses).
- Простые константы.
- Переменные.
- Составные объекты.
- Списки - Специальный вид составных объектов.
- Раздел констант.
- Условная компиляция.
- Включение файлов в вашу программу.
- Директивы компилятора.
- Управление памятью в Турбо Прологе.
- Экономия ресурсов памяти.
- Управление распределением памяти.
- Генерирование выполняемых программ.
- Модульное программирование.
- Проекты.
- Глобальные объявления.
- Глобальные домены.
- Глобальная база данных.
- Глобальные предикаты.
- Компиляция и компоновка модулей.
- Пример.
- Глава 3. Интерфейс с другими языками
- Вызов других языков из Турбо Пролога.
- Что делать перед вызовом.
- Объявление внешних предикатов.
- Вызов соглашений и передача параметров.
- Соглашение об обозначениях
- Использование ключевого слова as
- Вызов процедуры, написанной на Си из Пролога.
- Опции компилятора Турбо Си и компоновка.
- Вызов программ на языке ассемблера из Турбо Пролога.
- Использование внутреннего ассемблера Турбо Си.
- Вызов Турбо Пролога из других языков.
- Динамическое распределение памяти.
- Передача составных объектов в другие языки.
- Передача списков.
- Передача структур.
- Примеры.
- Обработка списков.
- Программирование на низком уровне.
- Часть 2. Стандартные предикаты
- Arc/5 Графика
- Bar/4 Графика
- Bt_close/2 Внешняя База Данных
- Bt_create/5 Внешняя База Данных
- Bt_delete/2 Внешняя База Данных
- Bt_open/3 Внешняя База Данных
- Bt_statistics/8 Внешняя База Данных
- Chain_delete/2 Внешняя База Данных
- Chain_first/3 Внешняя База Данных
- Chain_inserta/5 Внешняя База Данных
- Chain_insertafter/5 Внешняя База Данных
- Chain_insertz/5 Внешняя База Данных
- Chain_last/3 Внешняя База Данных
- Chain_next/3 Внешняя База Данных
- Chain_prev/3 Внешняя База Данных
- Chain_terms/5 Внешняя База Данных
- Circle/3 Графика
- Cleardevice/0 Графика
- Clearviewport/0 Графика
- Closegraph/0 Графика
- Db_btrees/2 Внешняя База Данных
- Db_chains/2 Внешняя База Данных
- Db_close/1 Внешняя База Данных
- Db_create/3 Внешняя База Данных
- Db_delete/2 Внешняя База Данных
- Db_flush/1 Внешняя База Данных
- Db_garbagecollect/1 Внешняя База Данных
- Db_open/3 Внешняя База Данных
- Db_openinvalid/3 Внешняя База Данных
- Db_statistics/5 Внешняя База Данных
- Detectgraph/2 Графика
- Drawpoly/1 Графика
- Ellipse/6 Графика
- Fillellipse/4 Графика
- Fillpoly/1 Графика
- Floodfill/3 Графика
- Getarccoords/6 Графика
- Getaspectratio/2 Графика
- Getbkcolor/1 Графика
- Getcolor/1 Графика
- Getdefaultpalette/1 Графика
- Getdrivername/1 Графика
- Getfillpattern/1 Графика
- Getfillsettings/2 Графика
- Getgraphmode/1 Графика
- Getimage/6 Графика
- Getlinesettings/3 Графика
- Getmaxcolor/1 Графика
- Getmaxx/1 Графика
- Getmaxy/1 Графика
- Getmaxmode/1 Графика
- Getmodename/2 Графика
- Getmoderange/3 Графика
- Getpalette/1 Графика
- Getpalettesize/1 Графика
- Getpixel/3 Графика
- Gettextsettings/5 Графика
- Getviewsettings/5 Графика
- Getx/1 Графика
- Gety/1 Графика
- Graphdefaults/0 Графика
- Graphresult/1 Графика
- Imagesize/5 Графика
- Initgraph/5 Графика
- Key_current/4 Внешняя База Данных
- Key_delete/4 Внешняя База Данных
- Key_first/3 Внешняя База Данных
- Key_insert/4 Внешняя База Данных
- Key_last/3 Внешняя База Данных
- Key_next/3 Внешняя База Данных
- Key_prev/3 Внешняя База Данных
- Key_search/4 Внешняя База Данных
- Line/4 Графика
- Linerel/2 Графика
- Lineto/2 Графика
- Moverel/2 Графика
- Moveto/2 Графика
- Outtext/1 Графика
- Outtextxy/3 Графика
- Pieslice/5 Графика
- Pieslicexy/6 Графика
- Putimage/4 Графика
- Putpixel/3 Графика
- Rectangle/4 Графика
- Restorecrtmode/0 Графика
- Setactivepage/1 Графика
- Setallpalette/1 Графика
- Setaspectratio/2 Графика
- Setbkcolor/1 Графика
- Setcolor/1 Графика
- Setfillpattern/2 Графика
- Setfillstyle/2 Графика
- Setgraphmode/1 Графика
- Setgraphbufsize/1 Графика
- Setlinestyle/3 Графика
- Setpalette/2 Графика
- Setrgbcolor/4 Графика
- Settextjustify/2 Графика
- Settextstyle/3 Графика
- Setusercharsize/4 Графика
- Setviewport/5 Графика
- Setvisualpage/1 Графика
- Setwritemode/1 Графика
- Term_delete/3 Внешняя База Данных
- Term_replace/4 Внешняя База Данных
- Textheight/2 Графика
- Textwidth/2 Графика
- Часть 3. Приложения приложение а. Введение вdos
- Что такое dos
- Как загрузить программу?
- Каталоги
- Подкаталоги
- Avtoexec.Bat-файл
- Команда path
- Смена каталогов
- Приложениеb. Интерактивный редактор турбо пролога
- Быстрый вход, быстрый выход
- Служебная строка окна редактора
- Основные команды редактора
- Команды Редактора, совпадающие с командами WordStar Основные команды работы с курсором
- Команды быстрого движения курсора
- Команды вставки и удаления
- Команды работы с блоками
- Остальные команды редактора
- Старые команды
- Поиск и замена
- Редактор Турбо Пролога по сравнению с WordStar
- Корректировка файла на диске.
- Приложение c. Сообщения об ошибках
- Приложение d. Различия между версиями 1.1 и 2.0
- Файл определения проекта
- Новые ограничения по именам
- Новые предопределенные домены
- Контроль состава параметров шаблона (flow pattern)
- Поддержка старых командных клавиш редактора
- Ошибочные ситуации в стандартных предикатах
- Расширение Турбо Пролога 2.0
- Системные расширения
- Приложениеe. Словарь специальных терминов
- Приложение f. Географическая база данных (Geobase)
- Использование Geobase
- Системы с 2-мя флоппи-дисковыми устройствами
- Компиляция Geobase
- Создание автономной программы
- Главное меню Geobase
- Справка
- Команды dos
- Редактор
- Запросы к базе данных
- Просмотр языка
- Корректировка языка
- Принципы Geobase
- Использование принципа Geobase
- Создание вашей базы данных
- Преобразование Geobase
- Предикат "ent"
- Предикат "db"
- Трансляция запросов на естественном языке
- Внутренние имена объектов
- Внутренние имена связей
- Определение структуры предложений
- База данных языка
- Грамматический разбор с помощью разделения списков
- Заключение
- Приложение g. Анализатор предложений на турбо прологе
- Использование анализатора предложений
- Помощь пользователя
- Операционная система
- Редактирование базы данных
- Загрузка базы данных из файла
- Сохранение базы данных
- Анализ предложений
- «Показать/изменить словарь»
- Приложениеh.Geni: оболочка экспертной системы
- Использование geni
- Запросы geni
- Просмотр знаний
- Корректировка базы знаний
- Сохранение базы знаний
- Создание новой базы знаний
- Чистка текущей базы знаний
- Проектирование новой базы знаний
- Приложение I. Tlib: библиотека турбо
- Компоненты командной строки tlib
- Компонент «описание»
- Список операций
- Имена файла и модуля
- Операции tlib
- Создание библиотеки
- Использование файла ответа
- Расширенные возможности: опция /с
- Примеры
- Приложение j. Tlink: компоновщик турбо
- Активизация tlink
- Использование ответных файлов
- Компоновка модулей Турбо Пролога и Турбо Си.
- Модуль инициализации
- Библиотеки
- Опции tlink
- Опция /c
- Опция /d
- Опция /I
- Опция /l
- Опции /m, /s, /X
- Опция /m
- Опция /s
- Опция /X
- Опция /n
- Ограничения
- Сообщения об ошибках
- Предупреждения
- Нефатальные ошибки
- Фатальные ошибки
- Приложение k. Метапрограммирование Введение
- Пролог/Турбо: развитие и философские установки
- Конструкторские решения в Турбо Прологе
- Чем Турбо зарядило Турбо Пролог
- Интерпретатор правил с обратной цепочкой рассуждений
- Термы (горючее для интерпретатора правил)
- Статические термы: область sTerm (статических термов)
- Интерпретирование области термов.
- Что такое интерпретатор?
- Интерпретация правил в Прологе
- Использование sTerm и aTerm для моделирования интерпретатора правил
- Переменные и среда
- Процесс унификации
- Унификация статических и действительных термов
- Интерпретация тела правила
- Выполнение выполняемых термов: предикат call.
- Встроенные предикаты
- Сканнер и транслятор
- Операторы традиционного Пролога
- Использование операторов в Турбо Прологе
- Интерпретатор Пролога
- Реализация трассировки
- Теперь объединим все вместе
- Расширения экспертной системы
- Цепочка с прямым порядком рассуждений
- Стандартные предикаты, реализованные в pie
- Заключение