🗊 Презентация Типовые процедуры обработки списков в программах на языке Пролог

Нажмите для полного просмотра!
Типовые процедуры обработки списков в программах на языке Пролог, слайд №1 Типовые процедуры обработки списков в программах на языке Пролог, слайд №2 Типовые процедуры обработки списков в программах на языке Пролог, слайд №3 Типовые процедуры обработки списков в программах на языке Пролог, слайд №4 Типовые процедуры обработки списков в программах на языке Пролог, слайд №5 Типовые процедуры обработки списков в программах на языке Пролог, слайд №6 Типовые процедуры обработки списков в программах на языке Пролог, слайд №7 Типовые процедуры обработки списков в программах на языке Пролог, слайд №8 Типовые процедуры обработки списков в программах на языке Пролог, слайд №9 Типовые процедуры обработки списков в программах на языке Пролог, слайд №10 Типовые процедуры обработки списков в программах на языке Пролог, слайд №11 Типовые процедуры обработки списков в программах на языке Пролог, слайд №12 Типовые процедуры обработки списков в программах на языке Пролог, слайд №13 Типовые процедуры обработки списков в программах на языке Пролог, слайд №14 Типовые процедуры обработки списков в программах на языке Пролог, слайд №15 Типовые процедуры обработки списков в программах на языке Пролог, слайд №16 Типовые процедуры обработки списков в программах на языке Пролог, слайд №17 Типовые процедуры обработки списков в программах на языке Пролог, слайд №18 Типовые процедуры обработки списков в программах на языке Пролог, слайд №19 Типовые процедуры обработки списков в программах на языке Пролог, слайд №20 Типовые процедуры обработки списков в программах на языке Пролог, слайд №21 Типовые процедуры обработки списков в программах на языке Пролог, слайд №22 Типовые процедуры обработки списков в программах на языке Пролог, слайд №23 Типовые процедуры обработки списков в программах на языке Пролог, слайд №24 Типовые процедуры обработки списков в программах на языке Пролог, слайд №25 Типовые процедуры обработки списков в программах на языке Пролог, слайд №26 Типовые процедуры обработки списков в программах на языке Пролог, слайд №27 Типовые процедуры обработки списков в программах на языке Пролог, слайд №28 Типовые процедуры обработки списков в программах на языке Пролог, слайд №29 Типовые процедуры обработки списков в программах на языке Пролог, слайд №30

Содержание

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

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


Слайд 1


Язык SWI Prolog Типовые процедуры обработки списков в программах на языке Пролог
Описание слайда:
Язык SWI Prolog Типовые процедуры обработки списков в программах на языке Пролог

Слайд 2


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

Слайд 3


Предикат add Предикат add(X,Y,Z) истинен, если список Z получается добавлением терма Х в начало списка Y. Схема отношения этого предиката имеет вид:...
Описание слайда:
Предикат add Предикат add(X,Y,Z) истинен, если список Z получается добавлением терма Х в начало списка Y. Схема отношения этого предиката имеет вид: add(,,).

Слайд 4


Декларативное описание предиката add Декларативное описание предиката add формулируется следующим образом: Терм X является головой списка Z, а список...
Описание слайда:
Декларативное описание предиката add Декларативное описание предиката add формулируется следующим образом: Терм X является головой списка Z, а список Y  хвостом списка Z. Процедура add(X,Y,Z) состоит из факта: add(X,Y,[X|Y]).

Слайд 5


Предикаты revers1 и revers2. Предикаты revers1 и revers2 являются предикатами обращения списков и определяют одно и то же отношение различными...
Описание слайда:
Предикаты revers1 и revers2. Предикаты revers1 и revers2 являются предикатами обращения списков и определяют одно и то же отношение различными способами. Схема отношения этого предиката имеет вид: revers(,).

Слайд 6


Предикаты revers1 и revers2. Процедура revers определяется двумя способами: простым обращением; обращением с накоплением.
Описание слайда:
Предикаты revers1 и revers2. Процедура revers определяется двумя способами: простым обращением; обращением с накоплением.

Слайд 7


Предикаты revers Предикат revers(X,Y) истинен, если список Y содержит все элементы списка Х, которые записаны в списке Y в обратном порядке....
Описание слайда:
Предикаты revers Предикат revers(X,Y) истинен, если список Y содержит все элементы списка Х, которые записаны в списке Y в обратном порядке. Перестановку элементов списка в обратном порядке можно произвести путем многократного выполнения процедуры append.

Слайд 8


Простое обращение. Декларативное определение предика revers1 1) обращенный пустой список есть пустой список; 2) если список Х можно разделить на...
Описание слайда:
Простое обращение. Декларативное определение предика revers1 1) обращенный пустой список есть пустой список; 2) если список Х можно разделить на голову Н и хвост Xs, то Zs есть обращенный список, если Ys обращенный хвост списка X, Zs получен путем присоединения к Ys головы Н списка X.

Слайд 9


Процедура простого обращения Простое обращение выполняется процедурой revers1, которая использует процедуру append и состоит из двух предложений:...
Описание слайда:
Процедура простого обращения Простое обращение выполняется процедурой revers1, которая использует процедуру append и состоит из двух предложений: revers1([ ],[ ]). revers1([H|Xs],Zs): revers1(Xs,Ys), append(Ys,[H],Zs).

Слайд 10


Обращение с накоплением В процедуре revers2 введен дополнительный предикат rev с тремя аргументамисписками, где первый аргумент  исходный список,...
Описание слайда:
Обращение с накоплением В процедуре revers2 введен дополнительный предикат rev с тремя аргументамисписками, где первый аргумент  исходный список, второй аргумент  накапливающийся список, а третий аргумент  результирующий, обращенный список.

Слайд 11


Декларативное определение предиката rev Декларативное определение предиката rev формулируется следующим образом: 1) если первый аргумент есть пустой...
Описание слайда:
Декларативное определение предиката rev Декларативное определение предиката rev формулируется следующим образом: 1) если первый аргумент есть пустой список, то второй и третий аргументы представляют собой один и тот же список;

Слайд 12


Декларативное определение предиката rev 2) первый аргумент непустой список [H|Хs], и его можно разделить на голову Н и хвост Xs; в этом случае...
Описание слайда:
Декларативное определение предиката rev 2) первый аргумент непустой список [H|Хs], и его можно разделить на голову Н и хвост Xs; в этом случае применение предиката rev к списку [H|Хs] и накапливающемуся списку L равносильно применению предиката rev к хвосту списка Xs и списку [H|L]; при этом получается обращенный список Y.

Слайд 13


Процедура revers2 Обращение списка с накоплением выполняется процедурой revers2, состоящей из трех предложений и содержит дополнительный предикат...
Описание слайда:
Процедура revers2 Обращение списка с накоплением выполняется процедурой revers2, состоящей из трех предложений и содержит дополнительный предикат rev: revers2(X,Y):rev(X,[ ],Y). rev([ ],Y,Y). rev([H|Xs],L,Y):rev(Xs,[H|L],Y).

Слайд 14


Предикат delete Предикат delete(X,L,M) принимает значение “истина”, если список M получается в результате удаления первого вхождения терма Х из...
Описание слайда:
Предикат delete Предикат delete(X,L,M) принимает значение “истина”, если список M получается в результате удаления первого вхождения терма Х из списка L. Схема отношения этого предиката имеет вид: delete(,,).

Слайд 15


Декларативное описание предикат delete Декларативное описание предиката next формулируется следующим образом: 1) Если X  голова списка L, то...
Описание слайда:
Декларативное описание предикат delete Декларативное описание предиката next формулируется следующим образом: 1) Если X  голова списка L, то предикат delete(X,L, M) истинен и M есть хвост списка L. 2) Если X принадлежит хвосту списка, то предикат delete необходимо применить к хвосту списка L.

Слайд 16


Декларативное описание предикат delete 3) Если X не принадлежит списку L, то предикат delete(X,L, M) ложен.
Описание слайда:
Декларативное описание предикат delete 3) Если X не принадлежит списку L, то предикат delete(X,L, M) ложен.

Слайд 17


Процедура delete Процедура delete(X,Y,L) состоит из двух правил: delete(X,[X|B],B):!. delete(X,[Y|L],[Y|M]): delete(X,L,M).
Описание слайда:
Процедура delete Процедура delete(X,Y,L) состоит из двух правил: delete(X,[X|B],B):!. delete(X,[Y|L],[Y|M]): delete(X,L,M).

Слайд 18


Предикат number_list Предикат number_list(L) определяет, является ли список X списком числовых термов. Схема отношения этого предиката имеет вид:...
Описание слайда:
Предикат number_list Предикат number_list(L) определяет, является ли список X списком числовых термов. Схема отношения этого предиката имеет вид: number_list().

Слайд 19


Декларативное описание предиката number_list(L) 1) Список L включает один элемент Х. Тогда предикат number_list([X]) истинен, если X числовой терм....
Описание слайда:
Декларативное описание предиката number_list(L) 1) Список L включает один элемент Х. Тогда предикат number_list([X]) истинен, если X числовой терм. 2) Список L можно разделить на голову Н и хвост Xs. Тогда L есть список числовых термов, если H числовой терм и хвост списка есть список числовых термов.

Слайд 20


Процедура number_list Процедура number_list(X,Y) состоит из двух правил: number_list([]): number(X). number_list(X,[_|T]):  number(X),...
Описание слайда:
Процедура number_list Процедура number_list(X,Y) состоит из двух правил: number_list([]): number(X). number_list(X,[_|T]):  number(X), number_list(X,T). Предикат number(X) стандартный предикат системы Arity Prolog, этот предикат истинен, если Х  числовой терм.

Слайд 21


Предикат sumlist Предикат sumlist(L,Sum) определяет сумму элементов числового списка. Схема отношения этого предиката имеет вид: sumlist(,).
Описание слайда:
Предикат sumlist Предикат sumlist(L,Sum) определяет сумму элементов числового списка. Схема отношения этого предиката имеет вид: sumlist(,).

Слайд 22


Декларативное описание предиката sumlist(L) Сумма элементов пустого списка равна нулю. Если исходный список состоит L из головы Н и хвоста Т, то...
Описание слайда:
Декларативное описание предиката sumlist(L) Сумма элементов пустого списка равна нулю. Если исходный список состоит L из головы Н и хвоста Т, то сумма элементов списка L равна сумме элементов хвоста списка T плюс Н.

Слайд 23


Процедура sumlist Процедура sumlist(L,Sum) состоит из двух правил: sumlist([ ],0). sumlist([H|T],Sum): sumlist(T,SumT), Sum is SumT+H.
Описание слайда:
Процедура sumlist Процедура sumlist(L,Sum) состоит из двух правил: sumlist([ ],0). sumlist([H|T],Sum): sumlist(T,SumT), Sum is SumT+H.

Слайд 24


Предикат delrepeat Предикат delrepeat (L,LS) истинен, если список получается из списка S путем удаления всех повторений элементов. Схема отношения...
Описание слайда:
Предикат delrepeat Предикат delrepeat (L,LS) истинен, если список получается из списка S путем удаления всех повторений элементов. Схема отношения этого предиката имеет вид: delrepeat(,).

Слайд 25


Предикат delrepeat Удаление повторений элементов выполняется процедурой delrepeat с накоплением списка, состоящей из четырех предложений и содержит...
Описание слайда:
Предикат delrepeat Удаление повторений элементов выполняется процедурой delrepeat с накоплением списка, состоящей из четырех предложений и содержит дополнительный предикат delrep.

Слайд 26


Декларативное описание предиката delrepeat 1) если первый аргумент есть пустой список, то второй и третий аргументы представляют собой один и тот же...
Описание слайда:
Декларативное описание предиката delrepeat 1) если первый аргумент есть пустой список, то второй и третий аргументы представляют собой один и тот же список; 2) если первый аргумент непустой список [H|Хs], и голова Н принадлежит хвосту списка T, то процедура delrep рекурсивно вызывается с аргументами T и S1; при этом элемент H не включается в накапливающийся список S1;

Слайд 27


Декларативное описание предиката delrepeat 3) если первый аргумент непустой список [H|Хs], и голова Н не принадлежит хвосту списка T, то элемент H...
Описание слайда:
Декларативное описание предиката delrepeat 3) если первый аргумент непустой список [H|Хs], и голова Н не принадлежит хвосту списка T, то элемент H включается в накапливающийся список S1 и получается список S2. Затем процедура delrep рекурсивно вызывается с аргументами T и S2.

Слайд 28


Процедура delrepeat delrepeat(S,SF):-delrep(S,[ ],SF). delrep([ ],S,S). delrep([H|T],S1,SF):-member(H,T),!,delrep(T,S1,SF)....
Описание слайда:
Процедура delrepeat delrepeat(S,SF):-delrep(S,[ ],SF). delrep([ ],S,S). delrep([H|T],S1,SF):-member(H,T),!,delrep(T,S1,SF). delrep([H|T],S1,SF):-append(S1,[H],S2),delrep(T,S2,SF).

Слайд 29


Полный текст процедуры delrepeat delrepeat(S,SF):-delrep(S,[ ],SF). delrep([ ],S,S). delrep([H|T],S1,SF):-member(H,T),!, delrep(T,S1,SF)....
Описание слайда:
Полный текст процедуры delrepeat delrepeat(S,SF):-delrep(S,[ ],SF). delrep([ ],S,S). delrep([H|T],S1,SF):-member(H,T),!, delrep(T,S1,SF). delrep([H|T],S1,SF):-append(S1,[H],S2), delrep(T,S2,SF). member(X,[X|_]). member(X,[Y|T]):-member(X,T). append([],X,X). append([H|T1],X,[H|T2]):-append(T1,X,T2).

Слайд 30


Выполнение процедуры delrepeat % d:/ИИС/Для МИСИС/ПРАКТИКА/delrepeat.txt compiled 0.02 sec, 2,208 bytes 1 ?- delrepeat([1,1,2,2,4,7,4,8],SF). SF =...
Описание слайда:
Выполнение процедуры delrepeat % d:/ИИС/Для МИСИС/ПРАКТИКА/delrepeat.txt compiled 0.02 sec, 2,208 bytes 1 ?- delrepeat([1,1,2,2,4,7,4,8],SF). SF = [1, 2, 7, 4, 8] Yes 2 ?-



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