Различают декларативную и процедурную семантику (смысл, понимание) пролог-программ.
Рассмотрим декларативный смысл более подробно.
Декларативный смысл, касается только отношений, определенных в программе.
Декларативная семантика определяет, что должно быть результатом работы про- граммы, не вдаваясь в подробности, как это достигается.
Пусть задано P:-Q, R.
где P, Q, R -термы.
Тогда с точки зрения декларативного смысла это предложение читается:» P-истиино, если Q R истинны.» Или » Из Q и R cледует Р.» Т.е. определяются логические связи между головой предложения и целями в его теле.
Таким образом , декларативный смысл программы определяет, является ли данная цель истинной (достижимой), и если — да, то при каких значениях переменных она достигается.
Конкретизацией I предложения С называется результат подстановки в него на место каждой переменной некоторого терма.
Заметим , что это отличается от конкретизации переменной.
Работа с программой ПРОЛОГ
haschild( X ):-parent( X ,Y).
Предложение С.
Пусть дана некоторая программа и цель G , тогда в соответствии с декларативной семантикой, можно утверждать, что:
Цель G истинна (т, е. достижима или логически следует из программы) тогда и только тогда, когда
(1) В программе существует предложение С , такое, что
(2) существует такая его (С) конкретизация I , что
(а) голова I cовпадает с G и
(b) все цели в теле I истинны.
mother(ann):-parent(ann, Y), female(ann).
mother(X) :-parent(X, Y), female(X).
Это определение можно распространить на вопросы следующим образом. В общем случае вопрос — список целей, разделенных запятыми.
Список целей называется истинным (достижимымм) , если все цели в этом списке истинны, достижимы, при одинаковых конкретизациях переменных.
Запятая между целями означает конъюнкцию целей, и они должны быть все истинны.
Возможна дизъюнкция целей: истинна должна быть по крайней мере одна из целей.
Дизъюнкция обозначается точкой с запятой » ; «.
Читается: Р истина, если Q — истина или R — истинна.
Т.е это то же самое, что
Запятая связывает цели сильнее, чем точка с запятой.
Таким образом предложение
3.3 Процедурная семантика
Процедурная семантика (процедурный смысл) пролог-программы определяет , как пролог-программа отвечает на вопросы.
Ответитиь на вопрос -зто значит удовлетворить цели.
Поэтому процедурная семантика пролога -это процедура вычисления списка целей с учетом программы.
Рассмотрим программу и на ее примере — процедуру вычисления списка целей.
1.большой(медведь).
2.большой(слон).
3.маленький (кот).
4.бурый(медведь).
5.черный(кот).
6.серый(слон).
7.темный(Z):-черный(Z).
7.1
8.темный(Z):-бурый(Z).
8.1
9.?-темный(X),большой(X).
Три примера решения задачек на Прологе
9.1 9.2
Предложения пронумерованы для удобства
Таким образом для вычисления целей потребовалось 7 сопоставлений и один откат.
Пусть список целей
1 .Если список целей пуст, вычисление дает успех, если нет, то выполнятся пункт 2.
2 .Берется первая цель G1 из списка. Пролог выбирает в базе данных, просматривая сначала, первое предложение С ,
С: H :- B1, B2, . Bn .
голова которого, сопоставляется с целью G1 .
Если такого предложения нет, то неудача.
Если есть, то переменные конкретизируются и цель G1 заменяется на список целей
с конкретизированными значениями переменных.
3 .Рассматривается рекурсивно через п.2 новый список целей.
Если С -факт, то новый список короче на одну цель.(n=0)
Если вычисление нового списка оканчивается успешно, то и исходный список целей выполняется успешно.
Если нет, то новый список целей отбрасывается, снимается конкретизация переменных и происходит возврат к просмотру программы, но начиная с предложения следующего за предложением С .
Описанный процесс возврата называется бэктрекинг . (backtracking) .
Создавая пролог программы всегда надо помнить о процедурном и декларативном смысле .
Декларативный смысл касается отношений , определенных в программе. Т.е. декларативный смысл определяет, что должно быть результатом программы.
С другой стороны, процедурный смысл определяет , как этот результат может быть достигнут, т.е., как реально отношения обрабатываются прологом.
(c) M.N.Morozov, 1999.
Источник: www.mari-el.ru
Подготовка отчетов в программе ПРОЛОГ
➀ Подготовка отчетов энергопотребления в программе ПРОЛОГ ➤ Шаблоны отчетных форм для тепловычислителей СПТ и корректоров газа СПГ (Логика) ➤ Редактор отчетов «Пролог Дизайнер» ➤ Экспорт данных в Excel
Одна из основных задач программы ПРОЛОГ – облегчение и ускорение работы при подготовке отчетов об энергопотреблении. Для этого пользователю предоставлен механизм вывода данных по шаблонам. Всю работу по подготовке отчета можно разделить на три основных этапа: редактирование (создание) шаблона, назначение шаблона узлу и вывод отчета на печать. Рассмотрим эти этапы подробнее.
Стандартные отчеты
Согласно руководства тепловычислителей СПТ и газовых корректоров СПГ сообщает, что в программе Пролог (Логика) имеются типовые отчетные формы, готовые к распечатке. Кроме непосредственного применения, их удобно использовать как основу для создания собственных шаблонов. В большинстве случаев этих отчетных ведомостей будет достаточно для передачи отчетности по потреблению тепловой энергии, расхода теплоносителя и газа в ресурсоснабжающую организацию. Все общие шаблоны отчетов хранятся в C:Program Files (x86)PrologTemplate, директории, куда была установлена программа. Шаблоны отчетов хранятся с расширением .ref.
⚠ Рекомендуется не изменять общие шаблоны, а редактировать их копии предварительно сохраненные под другим именем.
- Тепловычислители: СПТ 940, СПТ 941, СПТ 941.10(11), СПТ 941.20, СПТ 942, СПТ 943, СПТ 944, СПТ 961, СПТ 961.1.2, СПТ 961.1.2М, СПТ 961М, СПТ 962, СПТ 963.
- Корректоры газа: СПГ 740, СПГ 741, СПГ 742, СПГ 761, СПГ 761.1.2, СПГ 762, СПГ 762.1.2, СПГ 763, СПГ 763.1.2
В набор предустановленных отчеты входят следующие типы шаблонов (например для СПТ 940):
- БД прибора
- Ведомость v.QR
- Ведомость учета отпуска
- Изменения БД
- месячный отчет KRR
- месячный отчет о работе системы теплоснабжения
- месячный отчет о работе системы ХВС
- отчет по НС
- суточный отчет о работе системы теплоснабжения
- суточный отчет о работе системы ХВС
- СПТ 940_tect
Редактирование шаблона
Все операции по редактированию (созданию) шаблона выполняются в окне «ПРОЛОГ дизайнер». В этом окне предоставлен широкий набор инструментов, важнейшими из которых являются вставка данных из таблиц узла учета, вставка текста и вставка математических функций.
Чтобы отредактировать стандартный отчет ПРОЛОГ и открыть дизайнер отчета нужно:
- Выбрать требуемый узел учета.
- Правой кнопкой «мыши» вызвать меню «СВОЙСТВА».
- Указатель мыши навести на «ШАБЛОНЫ ОТЧЕТОВ» и нажать «НАЗНАЧИТЬ».
- Во всплывающем окне выбрать редактируемый отчет и нажать «РЕДАКТИРОВАТЬ ШАБЛОН».
Дизайнер шаблонов ПРОЛОГ предоставляет пользователю удобные средства для разработки внешнего вида отчета и позволяет сразу выполнить предварительный просмотр. Интерфейс дизайнера отчетов выполнен на современном уровне с использованием панелей инструментов (toolbars), расположение которых можно изменять по своему вкусу.
Информация о расположении панелей запоминается в реестре, и при следующем запуске восстанавливается. Также запоминаются остальные настройки дизайнера.
Назначение шаблонов
На этом этапе пользователь выбирает, какие шаблоны из имеющихся будут использоваться для вывода отчетов об энергопотреблении данного узла. Выбор осуществляется в окне «Шаблоны отчетов», которое вызывается одноименной командой из контекстного меню выбранного узла учета или таблицы данных.
В этом окне пользователь имеет возможность выполнить одно из действий с шаблоном отчета:
- создать новый;
- удалить;
- отредактировать шаблон;
- отредактировать свойства (название) шаблона;
- открыть шаблон для просмотра;
- назначить шаблон узлу;
- снять назначение.
Эти действия доступны по командам меню, «быстрым» кнопкам или из контекстного меню.
Окно содержит две таблицы. В верхней отображается перечень общих, доступных для назначения узлу, шаблонов, в нижней – список шаблонов, уже назначенных узлу. Любой из общих шаблонов может быть назначен узлу, и наоборот, любой из назначенных шаблонов может быть переведен в общие.
Так, например, если пользователь создал шаблон для конкретного узла, то этот шаблон можно использовать на другом узле учета, с тем же типом прибора. Для этого его надо перевести в «общие шаблоны», после чего он станет доступным для всех узлов.
⚠ Общие шаблоны хранятся в виде отдельных файлов в директории Template каталога, куда установлена программа. Такая организация позволяет добавлять новые шаблоны простым копированием файлов из различных источников, однако следует помнить, что шаблоны сделанные в разных версиях программы ПРОЛОГ могут оказаться несовместимы.
Вывод на печать, предварительный просмотр
После того, как для конкретного узла назначены шаблоны, для вывода данных на печать необходимо сообщить программе следующие сведения:
- данные какого узла выводить в отчете (выделив мышкой узел учета или таблицу данных);
- какой шаблон использовать при печати (выбрав наименование отчета из контекстного меню);
- за какой период должны быть представлены данные.
Последний пункт указывается в окне «Параметры отчета». При необходимости в этом же окне вводятся данные по расчетному дню или часу. Если пользователь выбирает расчетный час и расчетный день, отличающиеся от назначенных в приборе учета, значения в итоговой строке отчета будут рассчитаны программой.
Просмотр данных в графическом виде
Дополнительный сервис, предоставляемый пользователю — просмотр значений параметров, содержащихся в отчете в виде графиков, что позволяет визуально оценивать корректность данных. Для этого в окне «Параметры отчета» предусмотрена кнопка «График».
В открывающемся после нажатия этой кнопки окне, представлены собственно графики, легенда и ползунок для масштабирования по оси абсцисс. Наряду с ползунком для изменения масштаба можно использовать клавиши управления курсором.
Имеется также возможность увеличения масштаба любой части графика с помощью мани- пулятора мышь. Для этого следует «протянуть» прямоугольник, ограничивающий участок графика, который требуется увеличить из верхнего левого угла вниз и вправо при удержании левой клавиши. Для возврата к исходному масштабу прямоугольник «протягивается» в противоположном направле- нии, то есть из правого нижнего угла вверх и влево.
Перемещать график можно с помощью мыши при удержании правой клавиши. Щелчок левой клавишей мыши на любом из пунктов легенды позволяет выделять и снимать вы- деление с соответствующих линий графика.
Экспорт данных
Данные из таблиц за любой интервал времени можно экспортировать в один из следующих форматов: на лист EXCEL, в форматы XML, HTML, DBF, RTF, CSV, SQL, или в буфер обмена Windows.
Для экспорта данных следует выделить название таблицы в панели базы данных и нажать кнопку на панели инструментов.
В появляющихся окнах выбираются: период времени, за который будут экспортированы данные, формат экспорта и, при необходимости, дополнительные опции.
Возможности по экспорту текстовых документов ограничены только сохранением текстового файла.
⚠ Скачать бесплатно программное обеспечение для считывания показаний и формирования отчетных форм тепловычислителей и корректоров газа ЛОГИКА можно по ссылке на сайте kipkatalog.ru
⇨ Рекомендуем ознакомиться с дополнительной информацией по данной программе:
- Требования к программе и установка
- Настройка программы Пролог (Видео-инструкция)
- Загрузка данных из приборов учета
- Поддержка более 370 типов приборов учета тепла, воды, электроэнергии и др.
- Автоматический и ручной опрос GSM/GPRS модемов, УСПД
- АРМ + WEB-интерфейс + мобильное приложение (Android / iOS)
- Таблицы, графики, отчеты, карты, мнемосхема, журналы работ, профиль мощности, анализ данных и НС
- Без абонентской платы, бесплатная лицензия
Источник: kipkatalog.ru
Лабораторная работа — Ознакомление с языком программирования Prolog
Цель: Первоначальное ознакомление с выбранной системой программирования на языке Пролог, реализация предикатов обработки списков в различных представлениях.
Задача:
1. Ознакомится с одной из систем программирования на языке Пролог на персональной или мини-ЭВМ (J#, GNU Prolog, BinProlog, Cprolog, AMZI Prolog, Visual Prolog, TurboProlog, JLog или др. ), освоить операции загрузки простейших пролог-программ и формулирования запросов.
2. Проверить наличие в системе программирования встроенных стандартных предикатов обработки списков, отразить их применение в протоколе.
3. Реализовать свои версии стандартных предикатов обработки списков, рассмотренные на занятии (length, member, append, remove, permute,sublist), и убедиться в их работоспособности на ряде различных запросов. Результат отразить в протоколе.
4. Реализовать специальный предикат обработки списка в соответствии с вариантом задания двумя способами: на основе стандартных предикатов обработки списков и без их использования. Отразить в протоколеразличные варианты использования предиката на модельных запросах. Вариант задания определяется как n mod 20 + 1, где n порядковый номер студента в группе (
9. Добавление элемента в конец списка).
5. Реализовать указанный в задании предикат обработки для порядковогопредставления списка.
6. Реализовать предикат обработки числового списка (списков) для стандартного и порядкового представлений в соответствии с вариантом задания и отразить результат его работы в протоколе (
9. Вычисление числа вхождения 1-го элемента ).
7. Привести какой-нибудь содержательный пример совместного использования предикатов, реализованных в пунктах 3 и 4.
При выполнении этой лаборатороной работы я познакомился с языком логического программирования Prolog. Мной была выбрана его реализыция Strawberry Prolog. Могу объяснить свой выбор простой только использования. Сам по себе пролог весьма необычный язык программирования. Не могу сказать что он мне понравился, но было интересно.
Важно заметить, что для изучения он значительно проще чем язык функционального программирования Lisp.
Работа выполнена на языке Prolog (стандарт ISO) в системе Strawberry-prolog
Отчет в формате — PDF
МАИ.
Факультет прикладной математики.
Кафедра вычислительной математики и программирования.
Смотрите также
Братко И. Алгоритмы искусственного интеллекта на языке Prolog
- формат pdf
- размер 21.05 МБ
- добавлен 11 февраля 2010 г.
3-е издание. : Пер. с англ. — М. : Издательский дом «Вильяме», 2001. 640 с. : ил. В книге известного специалиста по программированию приведены основные сведения о языке Prolog, описан процесс разработки программ на этом языке и показано применение языка Prolog во многих областях искусственного интеллекта, включая решение задач и эвристический поиск, программирование в ограничениях, представление знаний и экспертные системы, планирование, машинно.
Курсовой проект — Написание программ на языке Prolog
- формат doc
- размер 77.95 КБ
- добавлен 02 мая 2007 г.
Знакомство с основами логического программирования (Prolog). Написать программу, реализующую калькулятор на четыре арифметических действия (без скобок). Для удобства работы реализовать меню с соответствующими пунктами. Подсчитать, сколько раз встречается некоторая буква в строке. Строка и буква должны вводиться с клавиатуры.
Лабораторная работа — Решение простых логических задач на языке Prolog
- формат zip
- размер 694.84 КБ
- добавлен 25 октября 2009 г.
МАИ. → Факультет прикладной математики. Кафедра вычислительной математики и программирования. Написать и отладить Пролог-программу (используя любую систему) решения логической задачи в соотвестсвии с вариантом. Один из пяти братьев разбил окно. Андрей сказал: Это или Витя, или Коля . Витя сказал: Это сделал не я и не Юра . Дима сказал: Нет, один из них сказал правду, а другой неправду . Юра сказал: Нет, Дима ты не прав . Их отец, кото.
Лабораторная работа №1
- формат doc
- размер 84.5 КБ
- добавлен 01 декабря 2008 г.
«Ознакомление со средой программирования Visual Prolog 5.2. Логический вывод и логическое следствие. Унификация и сопоставление».Содержит кратко теорию и выполненую лабораторную работу.
Лабораторная работа №1
- формат doc
- размер 4.69 КБ
- добавлен 19 ноября 2008 г.
Отчет по лабораторной работе на тему: «Основы работы в системе Visual prolog 5.2. «. Содержит листинг программы.rn
Лабораторная работа №6
- формат doc
- размер 60 КБ
- добавлен 01 декабря 2008 г.
«Разработка экспертных систем (с демонстрацией поиска с возвратом, использованием БД и предиката not). Кратко теория и лабораторная работа на Visual Prolog 5/2
Лабораторная работа №7
- формат doc
- размер 48.5 КБ
- добавлен 01 декабря 2008 г.
«Файловая система Visual Prolog и обработка строк». Кратко теория и лабораторная работа
Лебедева Н.С. Методическое пособие по программированию на Turbo Prolog
- формат pdf
- размер 659.49 КБ
- добавлен 27 января 2009 г.
Данное учебное пособие предназначено для студентов компьютерных специальностей, изучающих курс «Логическое программирование». Рассмотрены основы логического программирования. Дается описание, синтаксические элементы и основы программирования на Турбо Прологе. Рассмотрена работа с базами данных и с системными предикатами, необходимыми для программирования.
Изложение иллюстрируется примерами программ. Содержатся варианты контрольных заданий для вып.
Реферат — История создания и развития языка Prolog
- формат docx
- размер 679.52 КБ
- добавлен 08 ноября 2010 г.
История создания и развития языка Prolog. Сферы использования. Среда разработки «SWI-Prolog». Среда разработки «Тurbo Prolog». Среда разработки » Visual Prolog «. Количество страниц 35.rn
Хачатрян В.Е., Лыхин Е.В., Шатров Д.В. Логическое программирование
- формат doc
- размер 160.5 КБ
- добавлен 17 октября 2010 г.
Методические указание к выполнению лабораторных работ для студентов специальности 220400 – Программное обеспечение вычислительной техники и автоматизированных систем Оглавление Введение Лабораторная работа № 1. Ознакомление с оболочкой AMZI! Prolog. Изучение основ программирования на языке Пролог. Отношения между данными Лабораторная работа № 2. Использование рекурсивных правил и структурированных данных Лабораторная работа № 3. Работа со спи.
Источник: www.studmed.ru