|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Основные конструкции языка Visual PROLOGВ структуре программы на Прологе можно выделить три раздела описания и раздел цели (рис.). Раздел domains содержит описания объектов и переменных, называемых доменами, которые бывают следующих типов:
1) символы (char) - все возможные одиночные символы, заключенные в апострофы: ’a’,’b’,…’З’,’%’,…; 2) целые числа (integer) в пределах от -32768 до 32767; 3) строки (string) – последовательность символов не более 250, например '' to day '', ’ 123 ’; 4) действительные числа (real) в пределах от ; 5) символьные имена (symbol) – последовательность строчных английских букв (man, ab, cd), цифр и подчеркиваний или последовательность любых символов (не более 250), заключенная в кавычки, например ''лодка'', ''star'', ''Иван да Марья''. Раздел predicates служит для описания используемых предикатов. В разделе сlauses находятся факты и правила, известные заранее. В разделе goa 1 формируется одна или несколько целей. Пролог обеспечивает возможность включения в любое место программы комментариев, заключенных между символами /* и */. Опишем переменные или объекты, называемые доменами и используемые в предикатах. Имя предиката и его аргументы записываются строчными буквами или именами на английском языке. Переменные записываются прописными буквами () или символьными именами (List), начинающиеся с большой буквы. Составим программу на Прологе (телефонный справочник), описывающие факты (2).
Алгоритм решения базируется на известном правиле резолюций. Решение состоит в доказательстве истинности заключения или цели goa 1, которой может быть нахождение: 1) номера (X) телефона Иванова - tel (''Иванов'', Х); 2) владельца (Y) телефона с номером 72-41-41 - tel (Y, ''72-41-41''). Здесь X,Y – переменные, значения которых требуется определить; ''Иванов'', ''72-41-41'' – константы или заранее заданные значения переменных. Переменные обозначаются прописными буквами. Опишем алгоритм решения. Последовательно просматриваются факты и сопоставляются с целью 1. Процедура сопоставления цели с первым фактом выглядит так. Вначале сравниваются предикаты цели и факта 1. Если они имеют одинаковые имена, то сравниваются, то сравниваются соответствующие аргументы. Первым аргументом цели является константа ''Иванов'', а факта 1 – константа ''Арбузов''. Сопоставление считается неуспешным (константы ''Иванов'' и ''Арбузов'' различаются) и осуществляется переход к следующему факту. Успешным будет сопоставление цели 1 и факта 2, поскольку первые аргументы в цели и факте одинаковы. Цель 1 доказана, ответом будет конкретизация Х = 74-11-93. Для цели 2 успешным будет сопоставление с фактом 4, у которого второй аргумент – константа совпадает с анологичным в цели. В результате переменная Y приобретает значение ''Бабкина''. Рассмотрим более сложную Пролог-программу, содержащую факт (1), правило (9) и соответственно одноместные предикаты человек (*) и mortal (*) – cмертен (*). Целью может быть вопрос «Иван смертен?», или mortal (”Иван”) Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |