Moveto/2 Графика
Назначение Передвигает текущую позицию в точку (X,Y)
Обращение moveto(X,Y)
Домены (integer,integer)
Шаблоны описания (вх,вх)
аргументов
Описание moveto передвигает текущую позицию в точку с
координатами X и Y.
Смотри moverel
nl/0
Назначение Переход на новую строку
Обращение nl
Описание nl вызывает команду возврат каретки/установить
перевод строки в текущем устройстве вывода. Если
переход на новую строку с использованием предиката nl
будет выполняться вместе с другой операцией вывода,
то использование знака '\n' как единственного символа
или как части строки делает то же самое.
Неудачное Такое же, как во write.
завершение
Ошибки Такие же, как во write.
Пример
goal
write("Привет"),nl,write("здесь"),nl.
not
Назначение Согласуется, если отрицаемая подцель ложна и
не cогласуется, если отрицаемая подцель истинна.
Обращение not(<ВызывПредикат>)
Описание not согласуется если <ВызывПредикат> представляет
цель, которая при проверке оказывается ложной.
Идентификация выходных переменных не выполняется при
обращении к not, потому что переменные не могут быть
связаны при выполнении not. Предикат not
несогласован, если условие истинно или согласован,
если условие ложно.
Неудачное Если обращение в ВызывПредикат согласуется.
завершение
Ошибки Нет ошибок.
Пример
Goal:not(2>3)
Yes
Goal: not(2<3)
yes
Goal: not(concat("aaa","bbb","aaa-bbb"))
Yes
Goal: not(not(concat("aaa","bbb","aaa-bbb")))
No
Goal: not(concat("aaa","bbb",X))
704 Свободная переменная недопустима в
'not' or 'retractall'.
openappend/2
Назначение Открывает файл для добавления (записи в конец файла)
Обращение openappend(СимволичИмяФайла,ИмяФайлаДос)
Домены (file,string)
Шаблоны описания (вх,вх)
аргументов
Описание openappend открывает дисковый файл с именем
ИмяФайлаДос для добавления. Он также связывает
СимволичИмяФайла с открываемым файлом для будущих
ссылок внутри программы, которая содержит обращение к
openappend.
Неудачное Такое же, как в openread.
завершение
Ошибки Такое же, как в openread.
Пример
domains
file=myfile
goal
file_str("dd.txt", "Создаем файл только с одной
строкой\n"),
openappend(myfile, "dd.txt"),
writedevice(myfile),
write("это вторая строка в файле\n"),
closefile(myfile),
file_str("dd.txt", STR1),
display(Str1).
openmodify/2
Назначение Открывает файл для модификации
Обращение openmodify(СимволичИмяФайла,ИмяФайлаДос)
Домены (file,string)
Шаблоны описания (вх,вх)
аргументов
Описание openmodify открывает дисковый файл с именем
ИмяФайлаДос для двух операций чтения и записи. Он
также связывает СимволичИмяФайла с открываемым файлом
для будующих ссылок внутри программы, которая
содержит обращение в openmodify. Этот предикат может
быть использован в сочетании с filepos для
установления прямого доступа к файлу (смотри
следующий пример).
Неудачное Такое же, как в openread.
завершение
Ошибки Такое же, как в openread.
Пример
domains
file=myfile
goal
file_str("dd.txt", "Создаем файл только с\nдвумя
строчками\n"),
openmodify(myfile, "dd.txt"),
readdevice(myfile),
readln(L),
filepos(myfile,FilePos,0),
writedevice(myfile), % Перемещаем указатель
файла в конец
filepos(myfile,FilePos,0),
write("Здесь удалится вторая строкаe\n"),
closefile(myfile),
file_str("dd.txt", STR1),
display(Str1).
openread/2
Назначение Открывает файл для чтения.
Обращение openread(СимволичИмяФайда,ИмяФайлаДос)
Домены (file,string)
Шаблоны описания (вх,вх)
аргументов
Описание openread открывает дисковый файл с именем ИмяФайлаДос
для чтения. Он также связывает СимволичИмяФайла с
открываемым файлом для будущих ссылок внутри
программы, которая содержит обращение в openread.
Неудачное Никогда не дает.
завершение
Ошибки 1010 Попытка открыть предварительно открытый файл.
1027 Невозможно открыть файл.
Пример
domains
file=input
predicates
repfile(file)
clauses
repfile(_).
repfile(F):-
not(eof(F)),
repfile(F).
goal
openread(input,"dd.txt"),
readdevice(input),
repfile(input),
readln(L),write(L),nl,
fail.
openwrite/2
Назначение Открывает файл для записи
Обращение openwrite(СимволичИмяФайла,ИмяФайлаДос)
Домены (file,string)
Шаблоны описания (вх,вх)
аргументов
Описание openwrite открывает дисковый файл с именем
ИмяФайлаДос для записи. Он также связывает
СимволичИмяФайла с открываемым файлом для будущих
ссылок внутри программы, которая содержит обращение в
openwrite.
Если файл, названный СимволичИмяФайла, уже имеется на
диске, openwrite уничтожит его содержимое.
Неудачное Никогда не дает.
завершение
Ошибки 1010 Попытка открыть предварительно открытый файл.
1027 Невозможно открыть файл.
Пример
domains
file=myfile
goal
openwrite(myfile, "dd.txt"),
writedevice(myfile),
write("строка 1\n"),
write("строка 2\n"),
write("строка 3\n"),
closefile(myfile),
file_str("dd.txt", STR1),
display(Str1).
- Справочное руководство по турбо прологу 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
- Заключение