Турбо-Пролог имеет 6 встроенных типов доменов: символы, целые числа, действительные числа, строки, символические имена и файлы. Тип каждого из доменов должен быть объявлен в разделе программы domains.
Таблица1. Типы доменов
Тип данных | Ключевое слово | Диапазон значений | Примеры использования в Турбо-Прологе |
Символы | char | Все возможные символы | 'a', 'b', '#', 'B', '\13', '%' |
Целые числа | integer | от -32768 до 32767 | -63, 84, 2349, 32763 |
Действи- тельные числа | real | от +1Е-307 до +1Е308 | -42769, 8324, 360, 093, 1.25Е23, 5.15Е-9 |
Строки | string | Последовательность символов (не более 250) | "today", "123", "just_a_reminder" |
Символические имена | symbol | 1. Последовательность букв, цифр и подчерков; первый символ - строчная буква | pay_check, school_day, flower |
2. Последовательность любых символов, заключенная в кавычки | "Stars and Stripes", "singing in the rain" | ||
Файлы | file | Допустимое в DOS имя файла | mail.txt, BIRDS.DBA |
Следующий предикат иллюстрирует использование доменов различных типов:
payroll(employee_name, payrate, weeklyhours)
|
|
Этот предикат требует такого описания доменов:
employee_name = symbol
pay_rate = integer
weekly_hours - = real
Описание домена employee_name показывает, что объекты этого домена являются символическими именами. Аналогично объекты домена pay_rate — это целые числа, а домена weekly_hours — действительные. Примером корректных утверждений, использующих предикат payroll, могут служить
payroll("John Walker",16,45.25).
payrol1("Arthur Веrman",28,32.50).
payroll("Sandy Taylor",23,40.00).