🗊Презентация Стандартные предикаты SWI Prolog

Нажмите для полного просмотра!
Стандартные предикаты SWI Prolog, слайд №1Стандартные предикаты SWI Prolog, слайд №2Стандартные предикаты SWI Prolog, слайд №3Стандартные предикаты SWI Prolog, слайд №4Стандартные предикаты SWI Prolog, слайд №5Стандартные предикаты SWI Prolog, слайд №6Стандартные предикаты SWI Prolog, слайд №7Стандартные предикаты SWI Prolog, слайд №8Стандартные предикаты SWI Prolog, слайд №9Стандартные предикаты SWI Prolog, слайд №10Стандартные предикаты SWI Prolog, слайд №11Стандартные предикаты SWI Prolog, слайд №12Стандартные предикаты SWI Prolog, слайд №13Стандартные предикаты SWI Prolog, слайд №14Стандартные предикаты SWI Prolog, слайд №15Стандартные предикаты SWI Prolog, слайд №16Стандартные предикаты SWI Prolog, слайд №17Стандартные предикаты SWI Prolog, слайд №18Стандартные предикаты SWI Prolog, слайд №19Стандартные предикаты SWI Prolog, слайд №20Стандартные предикаты SWI Prolog, слайд №21Стандартные предикаты SWI Prolog, слайд №22Стандартные предикаты SWI Prolog, слайд №23Стандартные предикаты SWI Prolog, слайд №24Стандартные предикаты SWI Prolog, слайд №25Стандартные предикаты SWI Prolog, слайд №26Стандартные предикаты SWI Prolog, слайд №27Стандартные предикаты SWI Prolog, слайд №28Стандартные предикаты SWI Prolog, слайд №29Стандартные предикаты SWI Prolog, слайд №30Стандартные предикаты SWI Prolog, слайд №31Стандартные предикаты SWI Prolog, слайд №32Стандартные предикаты SWI Prolog, слайд №33

Содержание

Вы можете ознакомиться и скачать презентацию на тему Стандартные предикаты SWI Prolog. Доклад-сообщение содержит 33 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





SWI Prolog
Стандартные предикаты SWI Prolog
Описание слайда:
SWI Prolog Стандартные предикаты SWI Prolog

Слайд 2





Арифметические предикаты

Для выполнения основных арифметических действий можно воспользоваться несколькими предопределенными предикатами: 
X+Y  сложение,
X-Y  вычитание,
X*Y  умножение,
X/Y  деление,
X//Y  целочисленное деление ,
X^Y  возведение в степень,
X/\Y  побитовая конъюнкция (для целых чисел),
X\/Y  побитовая дизъюнкция (для целых чисел),
X<<Y  побитовый сдвиг влево на Y позиций (для целых чисел),
X>>Y  побитовый сдвиг вправо на Y позиций(для целых чисел),
X mod Y  остаток от деления X на Y(для целых чисел),
Описание слайда:
Арифметические предикаты Для выполнения основных арифметических действий можно воспользоваться несколькими предопределенными предикатами: X+Y  сложение, X-Y  вычитание, X*Y  умножение, X/Y  деление, X//Y  целочисленное деление , X^Y  возведение в степень, X/\Y  побитовая конъюнкция (для целых чисел), X\/Y  побитовая дизъюнкция (для целых чисел), X<<Y  побитовый сдвиг влево на Y позиций (для целых чисел), X>>Y  побитовый сдвиг вправо на Y позиций(для целых чисел), X mod Y  остаток от деления X на Y(для целых чисел),

Слайд 3





Арифметические предикаты

abs(X)  абсолютная величина X,
acos(X)  арккосинус X,
asin(X)  арксинус X,
atan(X)  арктангенс X,
cos(X)  косинус X,
sin(X)  синус X,
exp(X)  экспонента X,
log(X)  логарифм натуральный,
log10(X)  логарифм по основанию 10,
sqrt(X)  квадратный корень X,
tan(X)  тангенс X.
Описание слайда:
Арифметические предикаты abs(X)  абсолютная величина X, acos(X)  арккосинус X, asin(X)  арксинус X, atan(X)  арктангенс X, cos(X)  косинус X, sin(X)  синус X, exp(X)  экспонента X, log(X)  логарифм натуральный, log10(X)  логарифм по основанию 10, sqrt(X)  квадратный корень X, tan(X)  тангенс X.

Слайд 4





Арифметические предикаты

Операндами арифметических предикатов 
являются арифметические термы.
Арифметические выражения строятся из атомов
и переменных с помощью арифметических
предикатов. Допускается инфиксная и
префиксная записи арифметический выражений.
Арифметические термы без переменных
являются константами.
Описание слайда:
Арифметические предикаты Операндами арифметических предикатов являются арифметические термы. Арифметические выражения строятся из атомов и переменных с помощью арифметических предикатов. Допускается инфиксная и префиксная записи арифметический выражений. Арифметические термы без переменных являются константами.

Слайд 5





Предикаты сравнения арифметических выражений 
Пусть E1 и E2 ─ арифметические выражения. В
Прологе существуют следующие встроенные
предикаты для сравнения арифметических
выражений:
E1>E2 истинно, если Е1 больше Е2;
E1<E2 истинно, если Е1 меньше Е2;
E1>=E2 истинно, если Е1 больше или равно Е2;
E1=<E2 истинно, если Е1 равно или меньше  Е2;
Описание слайда:
Предикаты сравнения арифметических выражений Пусть E1 и E2 ─ арифметические выражения. В Прологе существуют следующие встроенные предикаты для сравнения арифметических выражений: E1>E2 истинно, если Е1 больше Е2; E1<E2 истинно, если Е1 меньше Е2; E1>=E2 истинно, если Е1 больше или равно Е2; E1=<E2 истинно, если Е1 равно или меньше Е2;

Слайд 6





Предикаты сравнения арифметических выражений 
E1=:=E2 истинно, если Е1 равно Е2,
E1=\=E2 истинно, если Е1 равно Е2,
E1=E2 истинно, если Е1 и Е2 сопоставимы,
E1\=E2 истинно, если Е1 и Е2 не
сопоставимы,
X is E истинно всегда, и 
неконкретизированной переменной X
присваивается значение  Е.
Описание слайда:
Предикаты сравнения арифметических выражений E1=:=E2 истинно, если Е1 равно Е2, E1=\=E2 истинно, если Е1 равно Е2, E1=E2 истинно, если Е1 и Е2 сопоставимы, E1\=E2 истинно, если Е1 и Е2 не сопоставимы, X is E истинно всегда, и неконкретизированной переменной X присваивается значение Е.

Слайд 7





Предикаты сравнения символьных термов 
Пусть E1 и E2 ─ символьные термы. Для
сравнения символьных термов используются
другие встроенные предикаты:
E1@>E2 истинно, если терм Е1 больше терма Е2,
E1@<E2 истинно, если терм Е1 меньше терма Е2,
E1@>=E2 истинно, если терм Е1 больше или равен терму Е2,
Описание слайда:
Предикаты сравнения символьных термов Пусть E1 и E2 ─ символьные термы. Для сравнения символьных термов используются другие встроенные предикаты: E1@>E2 истинно, если терм Е1 больше терма Е2, E1@<E2 истинно, если терм Е1 меньше терма Е2, E1@>=E2 истинно, если терм Е1 больше или равен терму Е2,

Слайд 8





Предикаты сравнения символьных термов 
E1@=<E2 истинно, если терм Е1 равен или меньше терма Е2.
Символьные термы упорядочены в
алфавитном порядке.
Описание слайда:
Предикаты сравнения символьных термов E1@=<E2 истинно, если терм Е1 равен или меньше терма Е2. Символьные термы упорядочены в алфавитном порядке.

Слайд 9





Примеры сравнения арифметических выражений
Описание слайда:
Примеры сравнения арифметических выражений

Слайд 10





Различие между операторами  унификации “=” и арифметического сравнения “=:=”
Различие между операторами  унификации “=” и
арифметического сравнения “=:=” состоит в том,
что при выполнении оператора “=” система не
производит вычислений, а оператор “=:=”
производит вычисление выражений и сравнение и
значений.
Описание слайда:
Различие между операторами унификации “=” и арифметического сравнения “=:=” Различие между операторами унификации “=” и арифметического сравнения “=:=” состоит в том, что при выполнении оператора “=” система не производит вычислений, а оператор “=:=” производит вычисление выражений и сравнение и значений.

Слайд 11





Предикаты определения типов термов.

integer(X) истинно, если X—целое число; 
float(X) истинно, если X—вещественное число; 
number(X) истинно, если X— целое или
вещественное число; 
atom(X) истинно, если X—атом;
Описание слайда:
Предикаты определения типов термов. integer(X) истинно, если X—целое число; float(X) истинно, если X—вещественное число; number(X) истинно, если X— целое или вещественное число; atom(X) истинно, если X—атом;

Слайд 12





Предикаты определения типов термов.

atomic(X) истинно, если X—атом или число; 
compound(X) истинно, если X—составной
терм (структура); 
novar(X) истинно, если X—константа; 
var(X) истинно, если X—переменная.
string(X) истинно, если X—строка.
Описание слайда:
Предикаты определения типов термов. atomic(X) истинно, если X—атом или число; compound(X) истинно, если X—составной терм (структура); novar(X) истинно, если X—константа; var(X) истинно, если X—переменная. string(X) истинно, если X—строка.

Слайд 13





 Предикаты вводавывода термов и символов. 
Предопределенные предикаты стандартного
ввода/вывода являются внелогическими, так
как выходят за рамки модели логического
программирования. 
Такие предикаты в процессе вычисления
запросов порождают побочный эффект.
Описание слайда:
Предикаты вводавывода термов и символов. Предопределенные предикаты стандартного ввода/вывода являются внелогическими, так как выходят за рамки модели логического программирования. Такие предикаты в процессе вычисления запросов порождают побочный эффект.

Слайд 14





 Предикаты вводавывода термов и символов. 
Любой язык программирования должен
обеспечивать средства ввода/вывода
информации. Однако вычислительная
модель Пролога препятствует введению
операций ввода/вывода в виде чистых
компонентов языка.
Описание слайда:
Предикаты вводавывода термов и символов. Любой язык программирования должен обеспечивать средства ввода/вывода информации. Однако вычислительная модель Пролога препятствует введению операций ввода/вывода в виде чистых компонентов языка.

Слайд 15





 Предикаты вводавывода термов и символов. 
В системах программирования на языке
Пролог используются предопределенные
предикаты для ввода/вывода термов и
символов.
Описание слайда:
Предикаты вводавывода термов и символов. В системах программирования на языке Пролог используются предопределенные предикаты для ввода/вывода термов и символов.

Слайд 16





 Предикат ввода термов 
Для ввода термов со стандартного
устройства ввода ПЭВМ (клавиатуры)
используется предикат
read(<терм>). 
Предикат read читает терм, набираемый
пользователем на клавиатуре; после
вводимого терма должна обязательно
следовать точка.
Описание слайда:
Предикат ввода термов Для ввода термов со стандартного устройства ввода ПЭВМ (клавиатуры) используется предикат read(<терм>). Предикат read читает терм, набираемый пользователем на клавиатуре; после вводимого терма должна обязательно следовать точка.

Слайд 17





 Предикат ввода термов 
Если переменная не конкретизирована, то
запрос:  
?read(X).
приведет к вводу терма с клавиатуры, и этот
терм будет присвоен в качестве значения
переменной X.
Описание слайда:
Предикат ввода термов Если переменная не конкретизирована, то запрос: ?read(X). приведет к вводу терма с клавиатуры, и этот терм будет присвоен в качестве значения переменной X.

Слайд 18





 Примеры ввода термов 
?read(X).
125.
X=125
Yes
?read(X).
n.
X=n
Yes
Описание слайда:
Примеры ввода термов ?read(X). 125. X=125 Yes ?read(X). n. X=n Yes

Слайд 19





 Предикат вывода термов write
Для вывода термов на стандартное
устройство вывода ПЭВМ (экран
видеомонитора) используется предикат write(<терм>). 
Предикат write выводит терм на экран.
Описание слайда:
Предикат вывода термов write Для вывода термов на стандартное устройство вывода ПЭВМ (экран видеомонитора) используется предикат write(<терм>). Предикат write выводит терм на экран.

Слайд 20





 Предикат вывода термов write
В качестве термов могут выдавать на экран
константы, значения конкретизированных
переменных и составные термы.  Если
переменная не конкретизирована, то вместо
ее значения будет выдано соответствующее
переменной ссылочное число.
Описание слайда:
Предикат вывода термов write В качестве термов могут выдавать на экран константы, значения конкретизированных переменных и составные термы. Если переменная не конкретизирована, то вместо ее значения будет выдано соответствующее переменной ссылочное число.

Слайд 21





 Предикаты вывода термов  nl и tab
Предикат nl используется для перехода на
новую строку при выдаче данных на экран.
Предикат tab(N) используется для выдачи на
экран N пробелов. Предикаты nl и  tab
применяются только совместно с предикатов
write.
Описание слайда:
Предикаты вывода термов nl и tab Предикат nl используется для перехода на новую строку при выдаче данных на экран. Предикат tab(N) используется для выдачи на экран N пробелов. Предикаты nl и tab применяются только совместно с предикатов write.

Слайд 22





Пример программы с использованием арифметических предикатов.

Пусть требуется определить значение
функции в зависимости от условия.
Описание слайда:
Пример программы с использованием арифметических предикатов. Пусть требуется определить значение функции в зависимости от условия.

Слайд 23





Текст программы.
run:- write('Input A,B, U:'),nl,
      read(A), number(A), read(B), number(B),
      read(U), number(U), func(A,B,U,Y),
      write('Y = '), write(Y),nl. 
func(A,B,U,Y):-U<B,Y is U^2+A.
func(A,B,U,Y):-A=<U,U=<B,Y is B-U.
func(A,B,U,Y):- U>B,Y is (A+B)/(U^2+1).
Описание слайда:
Текст программы. run:- write('Input A,B, U:'),nl, read(A), number(A), read(B), number(B), read(U), number(U), func(A,B,U,Y), write('Y = '), write(Y),nl. func(A,B,U,Y):-U<B,Y is U^2+A. func(A,B,U,Y):-A=<U,U=<B,Y is B-U. func(A,B,U,Y):- U>B,Y is (A+B)/(U^2+1).

Слайд 24





Запросы к программе
?- run.
Input A, B, U:
-1.
3.
-2.
Y = 3 ->
yes
Описание слайда:
Запросы к программе ?- run. Input A, B, U: -1. 3. -2. Y = 3 -> yes

Слайд 25





Запросы к программе
?- run.
Input A, B, U:
-1.
3.
1.
Y = 2 ->
yes
Описание слайда:
Запросы к программе ?- run. Input A, B, U: -1. 3. 1. Y = 2 -> yes

Слайд 26





Запросы к программе
?- run.
Input A, B, U:
-1.
3.
4.
Y = 0.11764706
yes
Описание слайда:
Запросы к программе ?- run. Input A, B, U: -1. 3. 4. Y = 0.11764706 yes

Слайд 27





Пример программ с использованием арифметических предикатов.

Пусть программа должна определять,
попадает ли точка с координатами (X,Y) в
область D, которая задана графически, круг
с центром в точке (0,0) радиуса r =2.
Описание слайда:
Пример программ с использованием арифметических предикатов. Пусть программа должна определять, попадает ли точка с координатами (X,Y) в область D, которая задана графически, круг с центром в точке (0,0) радиуса r =2.

Слайд 28





Заданная область
Описание слайда:
Заданная область

Слайд 29





Текст программы
in_area(X,Y):- number(X), number(Y),(X^2+Y^2)=<4.
out_area(X,Y):- number(X), number(Y),(X^2+Y^2)>4.
otvet(X,Y):-in_area(X,Y),
write(‘заданная точка принадлежит области D’).
otvet(X,Y):-out_area(X,Y),
write(‘заданная точка не принадлежит области D’).
Примечание. В программе используется стандартный предикат вывода на экран write (см. следующие слайды).
Описание слайда:
Текст программы in_area(X,Y):- number(X), number(Y),(X^2+Y^2)=<4. out_area(X,Y):- number(X), number(Y),(X^2+Y^2)>4. otvet(X,Y):-in_area(X,Y), write(‘заданная точка принадлежит области D’). otvet(X,Y):-out_area(X,Y), write(‘заданная точка не принадлежит области D’). Примечание. В программе используется стандартный предикат вывода на экран write (см. следующие слайды).

Слайд 30





Текст программы, использующей предикаты ввода-вывода
run:- write(‘input X: ‘), read(X),  write(‘input Y: ‘), read(Y), number(X), number(Y), otvet(X,Y).
run:-not(number(X)), write(‘Error X’).
run:-not(number(Y)), write(‘Error Y’).
Описание слайда:
Текст программы, использующей предикаты ввода-вывода run:- write(‘input X: ‘), read(X), write(‘input Y: ‘), read(Y), number(X), number(Y), otvet(X,Y). run:-not(number(X)), write(‘Error X’). run:-not(number(Y)), write(‘Error Y’).

Слайд 31





Текст программы, использующей предикаты ввода-вывода
otvet(X,Y):-in_area(X,Y),
write(‘заданная точка принадлежит области D’).
otvet(X,Y):-out_area(X,Y),
write(‘заданная точка не принадлежит области D’).
Описание слайда:
Текст программы, использующей предикаты ввода-вывода otvet(X,Y):-in_area(X,Y), write(‘заданная точка принадлежит области D’). otvet(X,Y):-out_area(X,Y), write(‘заданная точка не принадлежит области D’).

Слайд 32





Примеры запросов к  программе
?- run.
input X: 1.
input Y: 1.
 point in area ->
yes
?- run.
input X: 2.
input Y: 3.
 point out area ->
yes
Описание слайда:
Примеры запросов к программе ?- run. input X: 1. input Y: 1. point in area -> yes ?- run. input X: 2. input Y: 3. point out area -> yes

Слайд 33





Примеры запросов к  программе
?- run.
input X: q.
input Y: 2.
Error X ->
yes
?- run.
input X: 1.
input Y: a.
Error Y ->
yes
?-
Описание слайда:
Примеры запросов к программе ?- run. input X: q. input Y: 2. Error X -> yes ?- run. input X: 1. input Y: a. Error Y -> yes ?-



Похожие презентации
Mypresentation.ru
Загрузить презентацию