в которой реализованы основные операции
Таблица 24.2
Действия при выполнении программы
Вызов предиката |
Подстановки |
Хвостовые вычисления |
Результаты вычислений |
Prod([1, 2,3], [7,8,9], Res) |
X=1, Y=7, Xs=[2,3], Ys=[8,9], Res=S |
S=X*Y+Sp |
S=1*7+43=50 |
Prod([2,3],[8,9],Sp) |
X'=2, Y'=8, Xs'=[3], Ys'=[9], S=Sp |
Sp=X'*Y'+Sp' |
Sp=2*8+27=43 |
Prod([3],[9],Sp') |
X"=3, Y"=9, Xs"=[], Ys"=[], Sp=Sp' |
Sp'=X"*Y"+Sp" |
Sp'=3*9+0=27 |
Prod([],[],Sp") |
Xs"=[],Ys"=[], Sp"=0 |
|
Sp"=0 |
Ниже приведен текст Пролог-программы, в которой реализованы основные операции над списками целых чисел: создание списка, добавление элементов в список, распечатка содержимого списка, удаление элемента из списка, упорядочивание элементов в списке. В программе реализован оконный интерфейс и используется модель общения типа выбора из меню.
domains
Sp1, Sp= integer*
P, U, Z, Z1, N1, N, N2, X, F, P1, Q = integer
predicates
edit_list window(Sp, P) view_list(Sp)
make_list(Sp) delete_list(Sp)
process(X,Sp,P) insert_sort(Sp,Sp)
322
attent_windowcreate(N,Sp,Z)
list(Sp,integer) insert(integer,Sp,Sp) inversion(Sp,Sp)
split(integer,integer,Sp,Sp,Sp)connect(Sp,Sp,Sp)
add_list(Sp) goto(Sp,integer) prt(char,Sp)
qrt(char,Sp) delete(integer,Sp) sound1 sound2
goal
edit_list.
clauses
/*------------------------------------ОСНОВНОЕ МЕНЮ------------------------------------*/
edit_list:-window([],0).
window(Sp,P):-makewindow(1,31)7l"MEHЮ
РЕДАКТОРА",0, 0, 25, 80), cursor(5,15),
write(" СОЗДАНИЕ СПИСКА -1 "),cursor(7,15),
write(" ПPOCMOTP СОДЕРЖИМОГО СПИСКА - 2"),cursor(9,15),
write("КОНКАТЕНАЦИЯ СПИСКА И ЭЛЕМЕНТА - 3"),cursor(11,15),
write("УДАЛЕНИЕ - 4"),cursor( 13,15),
write("УПОРЯДОЧИВАНИЕ СПИСКА ПО ВОЗВРАСТАНИЮ-5"),cursor(15,15),
write("BЫХОД ИЗ РЕДАКТОРА - 6"),cursor(20,10),
write("Введите номер пункта меню:"),sound1,
readint(X),sound(8, 2000), X
process(1 ,Sp,0):-make_list(Sp).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий