Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

Пользователей: 13,368
новичок: Goosprin
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных студентов на Turbo Pascal (Списки) + Пояснительная записка
Моделирование регулировочного участка цеха на GPSS + Пояснительная записка
Медиа плейер на Delphi + Пояснительная записка

ВВЕДЕНИЕ В СТРУКТУРЫ
Одним из видов термов является структура. Структура - это единый объект (отношение), состоящий из совокупности других объектов (отношений), называемых компонентами. Компоненты группируются в структуру для удобства их использования. Структуру следует рассматривать как средство описания сложного составного объекта или сложного отношения. Например:
'студент'('фио'('Петров','Иван','Ильич'),'дата_рождения'(6,03,1972)).



Здесь в структуру 'студент' объединены два объекта:
'фио'(<фамилия>,<имя>,<отчество>)
'дата_рождения'(<день>,<месяц>,<год>).



В реальной жизни одним из примеров структур является личная карточка студента в деканате, карточка-указатель для библиотечной книги. Например:
'книга'(621026,'автор'('Вигдорчик','Г_В'),
'название'('Основы_программирования_для_СМ_ЭВМ'),
'издательство'('Москва','Финансы_и_статистика'),
'год_издания'(1987)).



Карточка-указатель содержит несколько компонентов: инвентарный номер 621026, сведения об авторе, название книги, дату издания, место издания и т.д. Некоторые из компонентов в свою очередь тоже можно разбить на компоненты. Например, сведения об авторе состоят из фамилии и инициалов, сведения об издательстве - из места издания и названия издательства.
Структура записывается на Прологе с помощью ее функтора (имени структуры ) и компонентов.
<функтор – имя структуры>(<список аргументов - компонентов>).



Компоненты (их не более 255) заключаются в круглые скобки и разделяются запятыми. Функтор (имя структуры) записывается перед открывающей круглой скобкой. Компонентами могут быть любые термы: константы, переменные и в свою очередь структуры.
Например, в структуре:
'любит'(Х,'баскетбол','член_клуба'('ДОСААФ')).
'любит' - функтор, Х - переменная, 'баскетбол' - константа, 'член_клуба'('ДОСААФ') - структура с функтором 'член_клуба'.

Чтобы легче было понять сложную структуру, ее обычно представляют в виде дерева. Каждая ветвь может указывать на другую структуру, например:
'книга'('Анна_Каренина','автор'('Лев','Николаевич','Толстой')).




Две структуры равны, если они имеют один и тот же функтор и одинаковое число аргументов, причем все соответствующие аргументы равны. Например, при согласовании следующего целевого утверждения:
?-'ехать'('Андрей','велосипед')='ехать'('Андрей',Х).



X будет присвоено конкретное значение 'велосипед'.
Структуры могут быть вложены одна в другую на любую глубину. Попытка согласовать следующую цель:
?-'станок'('вал',Х,'деталь'('гайка',F,'операция'('обтачка','резец',J)))='станок'(В,43,'деталь'(G,MXII,'операция'(H,'резец','полная'))).



будет успешной, а переменные B,X,G,F,H,J будут конкретизированы и примут значения 'вал', 43, 'гайка', 'MXII' , 'обтачка', 'полная'.











Опубликовал Kest November 18 2009 08:10:33 · 0 Комментариев · 9681 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Заставка. Изображ...
Turbo Pascal for ...
Простой пример ка...
EditNew
Создание меню на ...
С. Г. Горнаков - ...
Шкрыль А. - Разра...
Усложнённый кальк...
iChat v.7.0 Final...
Исправление проц...
«Философия» прогр...
Игра PackMan
PHP/MySQL для нач...
ActiveX в Delphi
BSButton
isoCanvas (Редакт...
Создание Web-сайт...
Медиа комбайн
RAS
Delphi 2005 для W...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97833
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7373
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Введение
Программирование с...
Казино Вавада
Загрузка кода с пл...
Структура модуля
Как стать издателем
Зять и тёща
более одного раза
Промокоды Фонбет
На чем завершается...
Замена защитного э...
3.1 ЦЕЛЬ: ХРАНЕНИЕ...
Пример сеанса рабо...
UNLINK (ВЫВЕСТИ ИЗ...
Изменение свойств ...
Процедура PutImage...
Видео формат
Стремитесь к нетра...
4.3. Понимание про...
«Это не моя ошибка!»
Редактор плагинов
Подборка крутых го...
Глава 15
Перенос WSUS из Se...
• тип службы (_lda...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?