Лабораторная работа «Составные объекты»

Тема: составные объекты.

Цель работы: изучить виды объектов, правила использования.

Простые и составные объекты

До сих пор мы рассмотрели только несколько видов объектов данных Visual Prolog, таких как числа, идентификаторы и строки. В этой главе мы обсудим все типы объектов данных, которые Visual Prolog может создавать, от простых до составных.

Простые объекты данных

Простой объект данныхэто переменная или константа. Не путайте это значение слова "константа" с символьными константами, которые вы определяете в разделе constants программы. То, что мы здесь называем константой, это нечто, идентифицирующее объект, который нельзя изменять: символ (char), число (integer или real) или атом (symbol ИЛИ string).

Символыимеют тип char. Печатные символы (ASCII 32—127) — это цифры (0—9), прописные буквы A—Z, строчные буквы a—z, символы пунктуации и специальные символы. Литеры вне этого диапазона могут быть непереносимыми с одной платформы на другую; в особенности, литеры, меньшие ASCII 32 (пробел) и управляющие символы, традиционно используемые терминалами и связующим оборудованием.

Числамогут быть целыми (integer) или вещественными (real). Вещественные хранятся в стандартном формате IEEE и имеют значения от 1е-308 до 1еЗО8 (от 10~308 до 10+308). Примеры целых и вещественных чисел приведены в табл. 12.2.

Атомыимеют тип идентификатор (symbol) или строка (string). Отличие между ними — главным образом вопрос машинного представления и реализации, и, в основном, оно синтаксически не заметно. Когда атом передается в качестве аргумента при вызове предиката, то к какому домену принадлежит атом — symbol или string — определяется по тому, как описан этот аргумент в декларации предиката.

Visual Prolog автоматически преобразует типы между доменами string и symbol, поэтому вы можете использовать атомы symbol в доменах string и наоборот. Однако принято считать, что объект в двойных кавычках принадлежит домену string, а объект, не нуждающийся в кавычках, домену symbol. Атомытипа symbol — это имена, начинающиеся со строчной буквы и содержащие только буквы, цифры и знак подчеркивания.