Презентация Синтаксис языка Prolog онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Синтаксис языка Prolog абсолютно бесплатно. Урок-презентация на эту тему содержит всего 42 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Синтаксис языка Prolog
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:42 слайда
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:204.50 kB
- Просмотров:71
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Основные элементы языка](/documents_6/bed408984fbc5fed90beae09557c7dcc/img1.jpg)
Содержание слайда: Основные элементы языка Пролог
Алфавит языка Пролог включает следующие символы:
A, B, C, …, Z, a, b, c,…,z — прописные и строчные буквы латинского алфавита.
0,1,2,3,4,5,6,7,8,9 — цифры.
+ - = * / < > [ ] : ; , | . —специальные знаки.
Основные конструкции логического программирования - термы и утверждения.
№4 слайд
![Числовые константы Числа в](/documents_6/bed408984fbc5fed90beae09557c7dcc/img3.jpg)
Содержание слайда: Числовые константы
Числа в языке Пролог используются целые и вещественные.
Целые числа записываются так же, как в любом другом языке программирования; целые отрицательные числа записываются со знаком, в записи положительных чисел знак можно опустить, например, 135, 0, -89.
Вещественные константы могут быть представлены в форме с фиксированной точкой и с плавающей точкой, например, 135.712 и 0.135712E+3,соответственно.
№6 слайд
![Переменные Имя переменной в](/documents_6/bed408984fbc5fed90beae09557c7dcc/img5.jpg)
Содержание слайда: Переменные
Имя переменной в Прологе — это последовательность латинских букв, цифр и знака подчеркивания, начинающаяся с прописной буквы или знака подчеркивания.
Например, X, All, S1 — переменные.
Переменные используются для представления объектов, значения которых определяются в ходе решения задачи. Переменные записываются в качестве аргументов предикатов в Пролог-программе и в запросах.
№12 слайд
![Представление фактов](/documents_6/bed408984fbc5fed90beae09557c7dcc/img11.jpg)
Содержание слайда: Представление фактов (продолжение)
Факт представляет собой утверждение о том, что соблюдается некоторое отношение. С их помощью можно выражать произвольные отношения между объектами.
Например, student(‘Иванов’,’МГГУ’).
Этот факт определяет отношение между термами, первым из которых является фамилия студента, а вторым место его учебы.
№17 слайд
![Представление правил Правила](/documents_6/bed408984fbc5fed90beae09557c7dcc/img16.jpg)
Содержание слайда: Представление правил
Правила это средство определения новых утверждений с помощью уже существующих в Пролог-программе утверждений (фактов и правил).
С точки зрения синтаксиса языка Пролог правило это утверждение вида
A: B1,B2,…Bn. (n0)
где A заголовок правила, а конъюнкция предикатов B1,B2,…Bn
называется телом правила.
№18 слайд
![Переменные в правилах В](/documents_6/bed408984fbc5fed90beae09557c7dcc/img17.jpg)
Содержание слайда: Переменные в правилах
В правилах, так же как и в фактах, переменные неявно связаны квантором всеобщности.
Например, утверждение «Точка с координатами (X,Y) принадлежит окружности с радиусом, равным 2, и с центром в точке начала координат, если X2+Y2=4.»
На Прологе будет записано следующим образом:
circle(X,Y): X*X+Y*Y=4.
что означает для любых X и Y, таких что X*X+Y*Y*=4, точка (X,Y) принадлежит окружности с радиусом, равным 2, и с центром в точке начала координат.
№19 слайд
![Процедуры Набор правил,](/documents_6/bed408984fbc5fed90beae09557c7dcc/img18.jpg)
Содержание слайда: Процедуры
Набор правил, заголовки которых имеют одно и то же имя и арность (число аргументов), описывает одно и то же отношение и называется процедурой.
Правила, составляющие одну и ту же процедуру, должны следовать в тексте программы подряд. В процедуру нельзя включать правила с другим заголовком.
№22 слайд
![Подстановки и конкретизация](/documents_6/bed408984fbc5fed90beae09557c7dcc/img21.jpg)
Содержание слайда: Подстановки и конкретизация переменных
Результат применения подстановки к утверждению A обозначается A и получается путем замены каждого вхождения в A каждой переменной Xi на соответствующий терм ti.
С помощью подстановок производится конкретизация переменных (аналог присвоения значений) .
№23 слайд
![Примеры утверждений](/documents_6/bed408984fbc5fed90beae09557c7dcc/img22.jpg)
Содержание слайда: Примеры утверждений
Утверждение B является примером утверждения A, если найдется такая подстановка , что B=A. Например, факт summa(1,2,3), которое означает, что 1+2=3, является примером утверждения summa(X,Y,3) при применении подстановки ={X=1,Y=2}.
Утверждение С называется общим примером утверждений A B, если найдутся такие подстановки 1 и 2, что C=A1 и C=B2, т.е. C является примером A и B одновременно. Например, факт summa(1,2,3) является общим примером утверждений summa(X,2,Z) и summa(1,Y,Z) при применении подстановок 1={X=1,Z=3} и 2={Y=2,Z=3}.
№25 слайд
![Вопросы запросы . Вопрос](/documents_6/bed408984fbc5fed90beae09557c7dcc/img24.jpg)
Содержание слайда: Вопросы (запросы).
Вопрос (целевое утверждение) это средство извлечения информации из логической программы.
С помощью вопроса выясняется, истинно ли некоторое утверждение или нет. С точки зрения логики поиск ответа на вопрос состоит в определении того, является ли утверждение (вопрос) логическим следствием программы или нет.
№29 слайд
![Переменные в вопросах Вопрос](/documents_6/bed408984fbc5fed90beae09557c7dcc/img28.jpg)
Содержание слайда: Переменные в вопросах
Вопрос
Goal: p(X1,X2,…Xn).
где X1,X2,…Xnпеременные, предполагает утвердительный ответ, если существует такой набор термов t1,t2,…tn, что подстановка {X1=t1,X2=t2,…Xn=tn} в предикат p дает результат “истина”.
Если существует, хотя бы одна такая подстановка, то вопрос
Goal: p(X1,X2,…Xn).
выводим из логической программы, т.е. является логическим следствием программы.
№32 слайд
![Отношение parent Родственные](/documents_6/bed408984fbc5fed90beae09557c7dcc/img31.jpg)
Содержание слайда: Отношение parent
Родственные отношения можно записать с помощью
фактов, соответствующие отношению
parent(<имя родителя>,<имя ребёнка>)
parent(‘Памелла’,’Джон’).
parent(‘Памелла’,’Элизабет’).
parent(‘Том’,’Джон’).
parent(‘Том’,’Элизабет’).
parent(‘Джон’,’Анна’).
parent(‘Джон’,’Пат’).
parent(‘Элизабет’,’Эд’).
parent(‘Пат’,’Джим’).
№33 слайд
![Отношение person Расширим эту](/documents_6/bed408984fbc5fed90beae09557c7dcc/img32.jpg)
Содержание слайда: Отношение person
Расширим эту программу фактами, определяемыми
схемой отношения person(<имя>,<пол>,<возраст>):
person(‘Памелла’,’ж’,72).
person(‘Том’,’м’,78).
person(‘Джон’,’м’,42).
person(‘Элизабет’,’ж’,35).
person(‘Эд’,’м’,14).
person(‘Анна’,’ж’,20).
person(‘Пат’,’ж’,25).
person(‘Джим’,’м’,3).
Отношение person определяет характеристики
человека
№36 слайд
![Примеры вопросов к программе](/documents_6/bed408984fbc5fed90beae09557c7dcc/img35.jpg)
Содержание слайда: Примеры вопросов к программе «Родственники»
Вопрос 1.
Вопрос ”Является ли Пат родителем Джима? ” на Прологе можно задать следующим образом:
? - parent(‘Пат’,’Джим’).
Пролог-система будет искать в программе факт, совпадающий с вопросом, и, обнаружив такой факт, система выдаст ответ ‘YES’.
В случае, когда соответствующий факт не обнаружен, система выдаст ответ ‘NO’.
№37 слайд
![Примеры вопросов к программе](/documents_6/bed408984fbc5fed90beae09557c7dcc/img36.jpg)
Содержание слайда: Примеры вопросов к программе «Родственники»
Вопрос 2.
Вопрос ”Кто отец Элизабет и сколько ему лет? ” на Прологе можно задать следующим образом:
? - parent(Х,’Элизабет’),person(X,'м', Y).
Пролог-система выдаст ответ:
X=Том
Y=78
YES
Если возраст не интересует пользователя, то в вопросе используется анонимные переменные, обозначаемые знаками подчеркивания ‘_’.
№39 слайд
![Примеры вопросов к программе](/documents_6/bed408984fbc5fed90beae09557c7dcc/img38.jpg)
Содержание слайда: Примеры вопросов к программе «Родственники»
Вопрос 3.
Приведенные примеры вопросов относятся к
программе, состоящей из одних фактов. Для того
чтобы сократить и упростить вопросы в Пролог
программах задаются правила.
Вопрос 3 можно упростить, если задать следующее
правило:
“X является отцом Y, если X является родителем Y,
и X – мужчина.”
На языке Пролог это правило записывается так:
father(X,Y):-parent(X,Y),person(X,’м’,_).
№41 слайд
![Лабораторная работа .](/documents_6/bed408984fbc5fed90beae09557c7dcc/img40.jpg)
Содержание слайда: Лабораторная работа № 1. Простейшая программа на языке Пролог.
Необходимо выполнить следующие действия:
1. Описать с помощью фактов 4-уровневовое
генеалогическое дерево в Прологпрограмме
“Родственники”, включающей предикаты parent и
person.
2. Написать правила, определяющие следующие
отношения:
“X является отцом Y” .
“X является бабушкой Y” .
“X является сестрой Y” .
“X является племянником Y” .
“X является племянницей Y” .
№42 слайд
![Лабораторная работа .](/documents_6/bed408984fbc5fed90beae09557c7dcc/img41.jpg)
Содержание слайда: Лабораторная работа № 1. Простейшая программа на языке Пролог.
“X является родителем родителя Y” .
“X является прадедушкой Y” .
“X является двоюродным братом Y” .
3. Отладить программу с помощью интерпретатора SWI Prolog.
4. Продемонстрировать работу программы с помощью вопросов.
5. Составить отчет по лабораторной работе.
Скачать все slide презентации Синтаксис языка Prolog одним архивом:
Похожие презентации
-
Синтаксис внешних объявлений. Верхний уровень грамматики языка С
-
Семантика языка Prolog
-
Общий синтаксис языка Си
-
Основы синтаксиса. Элементы языка PHP
-
Синтаксис и алфавит языка Си. (Лекция 2)
-
Основы языка Visual Prolog
-
Синтаксис языка Ассемблера
-
Синтаксис оператора
-
Основные конструкции языка программирования. Турбо Паскаль (тестирование). 10 -11 класс
-
Кодирование основных типов алгоритмических структур на языках объектно — ориентированного и процедурного программирования