ВУЗ:
Составители:
Рубрика:
19
[GLOBAL]DATABASE[-<databasename>]/*раздел определе-
ния данных, хранящихся в оперативной памяти*/
[determ] pred1(....)
pred2(.....)
%Пример:
term(integer,string,real,name)
GLOBAL PREDICATES /* раздел объявления глобальных
"процедур"*/
[determ|nondeterm] pred1(.........) -(i,i,o,..)(i,o,i,..)[language
c|pascal|fortran] [ as "name" ] pred2(........)
%Пример:
main_calc(integer,real,real,string) – (i,i,i,o)
my_predict
make_NewString(string,string,string) – (i,i,o)
PREDICATES /* раздел объявления локальных "процедур"*/
[determ|nondeterm] pred1(.........)
pred2(........)
%Пример:
calc2(integer,real,real,string)
nondeterm calc3(integer,real,real,string)
Goal /*аналог процедуры main в языке C*. Вся программа
может состоять только из раздела Goal /
%Пример:
Goal
InpStr = "Отредактировать эту строку",
edit(InpStr,OutStr),
file_str("primer.txt",InpStr2),
concat(OutStr,InpStr2,S3),
edit(S3,_).
CLAUSES /*раздел правил или определения "процедур"*/
p(....):-p1(...), p2(.....), ... .
20
%Пример1: Только конъюнкция
edit_3(InpStr1,InpStr2,OutStr):-
concat(InpStr1,InpStr2,InpStr),
edit(InpStr,OutStr).
%Пример2: Конъюнкция и дизъюнкция
edit_3(InpStr1,InpStr2,OutStr):-
InpStr2<>"Не присоединять",!,
concat(InpStr1,InpStr2,InpStr),
edit(InpStr,OutStr);
!,edit(InpStr1,OutStr);
include "filename" % включение файла во время компиляции
Пример:
include "modul1.pro"
Отметим, что Turbo Prolog располагает достаточной для ре-
шения большинства задач библиотекой математических функций.
3.2. Свободные и связанные переменные
Вызывая некоторый предикат с N переменными, части из
них вы можете задать значения, другим – нет. Первые
– это пара-
метры, или связанные переменные, последние – свободные пере-
менные, которые в процессе вычисления должны получить значе-
ния.
Пример:
..
деление(17,Rezult),
..
деление(D,Rezult):-Rezult = (27-10)/D.
Или:
..
delenie_plus(17,Rezult),
..
delenie_plus(D,Rezult):-
P1=27-10,
[GLOBAL]DATABASE[-]/*раздел определе- %Пример1: Только конъюнкция ния данных, хранящихся в оперативной памяти*/ edit_3(InpStr1,InpStr2,OutStr):- [determ] pred1(....) concat(InpStr1,InpStr2,InpStr), pred2(.....) edit(InpStr,OutStr). %Пример: %Пример2: Конъюнкция и дизъюнкция term(integer,string,real,name) edit_3(InpStr1,InpStr2,OutStr):- InpStr2<>"Не присоединять",!, GLOBAL PREDICATES /* раздел объявления глобальных concat(InpStr1,InpStr2,InpStr), "процедур"*/ edit(InpStr,OutStr); [determ|nondeterm] pred1(.........) -(i,i,o,..)(i,o,i,..)[language !,edit(InpStr1,OutStr); c|pascal|fortran] [ as "name" ] pred2(........) include "filename" % включение файла во время компиляции %Пример: Пример: main_calc(integer,real,real,string) – (i,i,i,o) include "modul1.pro" my_predict make_NewString(string,string,string) – (i,i,o) Отметим, что Turbo Prolog располагает достаточной для ре- шения большинства задач библиотекой математических функций. PREDICATES /* раздел объявления локальных "процедур"*/ [determ|nondeterm] pred1(.........) 3.2. Свободные и связанные переменные pred2(........) Вызывая некоторый предикат с N переменными, части из них вы можете задать значения, другим – нет. Первые – это пара- %Пример: метры, или связанные переменные, последние – свободные пере- calc2(integer,real,real,string) менные, которые в процессе вычисления должны получить значе- nondeterm calc3(integer,real,real,string) ния. Goal /*аналог процедуры main в языке C*. Вся программа Пример: может состоять только из раздела Goal / .. %Пример: деление(17,Rezult), Goal .. InpStr = "Отредактировать эту строку", деление(D,Rezult):-Rezult = (27-10)/D. edit(InpStr,OutStr), file_str("primer.txt",InpStr2), Или: concat(OutStr,InpStr2,S3), .. edit(S3,_). delenie_plus(17,Rezult), .. CLAUSES /*раздел правил или определения "процедур"*/ delenie_plus(D,Rezult):- p(....):-p1(...), p2(.....), ... . P1=27-10, 19 20
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »