. .
+.
-. .
*. .
/. .
**. .
//, .
mod. , .
, , . . , :
?- X = 1 + 2.
Prolog ""
X = 1 + 2
X = 3, . 1 + 2 Prolog, + , I 2 - . , Prolog . is. is , :
?- X is 1 + 2.
:
X = 3
, is. .
Prolog . , "/" . "/" , "//"- , a "mod" . ?- X is 5/2,
Y is /,
2 is 5 mod 2.
:
X = 2.5
Y = 2
= 1
is , , , . is , . (. 3.1) , -
I. Prolog
. . , +, -, *, div yfx, , ; , is S - 2 - 1
: X is (5 - 2) - 1
, Prolog , sin (X}, cos (;, atan(X), log (X), (X] .. is.
|
|
, . , , 271 37 10000:
?- 277 * 37 > 10000. yes
, ">", is, .
, born, . , 1980 1990 , :?- , Year), Year >= 1980,
Year =< 1990.
.
X > Y X Y
X < . X Y
X >= Y X .
X =< . X Y
X -: - Y. X Y .
X V Y. X Y .
, "-" "- -" ; , - X = Y X -:■= Y. X , X Y , X Y. . , X =: = Y , - . :?-1+2-:-2+1. yes
?- 1 + 2 = 2 + 1.
RQ
? - 1 + = + 2.
= 2
- 1
. , .
, X Y, , D, .
3. , ,
1. X Y , D X.
2. X < Y, D X Y - X
3. Y < X, , 2), X Y
, . , = 20 Y - 2, D = 5 .
Prolog, , , :
gcd(X, Y, D)
:
gcd{ , X, X). gcd{ X, Y, D):-
X < Y,
Yl is Y - X,
gcd(X, Yl, D). gcd(X, Y, D):-
Y < X,
gcd(S, X, D).
, : XI is - Y,
gcd [ XI, Y, D)
, . ; , . length; List, n)
|
|
List N . , , .
1. , 0.
2. , List = [Head | Tail]; 1 Tail.
:
length([],0).
length([_ | Tail], M):-
length Tail, N1),
N is 1 + HI.
length :?- lengthf [a,b, tcdi,ei, ).
N = 4
, length , , . , Ml , : N is 1 + Ml
is , , .
I.
, length is. .
lengthl([],0).
lengthlt [_ I Tail], N}:-
lengthK Tail, N1},
N= 1 + HI.
?- lengthK |a,b, [c,d],e], ).
: = l+(l+(l+(l+0))}.
, , . , length, lengthl , :
length! ([_ | Tail], N):-
- 1 + Ml,
lengthl(Tail, N1).
lengthl , . , : lengthK [_ | Tail}, 1 + N):-
lengthK Tail, H). . lengthl , .
?- lengthK [a,b,c], ), Length is N. N = 1 + [1+(1 + 0)) Length = 3
, , length . , .
.
is. , +, -, *,/, div mod, .
.
, <, =< .. .
3.16.
max! X, Y, .)
, , X Y.
3.17.
maxlistf List, Max)
, List.
3.18.
eoalistl List, Sura)
3, , ,
, Sum List.
3.19.
orderedt List)
, List , ordered ([1,5,6,6,9,12]}.
3.20.
subsuiM Set, sum, SubSet)
, Set , SubSet ,
Subset Sum, :
7- subsum? [1,2,5,3,2], S, Sub).
Sub - [1,2,2];
Sub = [2,3];
Sub - [ 5 ];
3.21.
between(N1, N2, X)
Ml N2 X, N1 =< X =< N2.
|
|
3.22. "if, "then", "else" ": = " ,
:
if X > Y then Z:= X else Z:= Y
, "if . "if, "if-then-else" : if vail > Val2 then Var:= Val3 else Var:= Val4
Va Val2, Val3 Vai4 ( , ), a Var . "if : Vail , Val2, Var Val3, Val4. .
?- = 2, Y = 3,
Val2 is 2*X,
val<3 is 4*X,
if > Val2 then Z: = Y else Z: = Val4,
if Z > 5 then :- 1 else W:= 0.
X - 2
Y = 3
z =
1
Vcii 2 = 4
Veil 4 = a
■ . , , . Prolog .
■ , , : -
96 I. Prolog
, , , , .
■ . .
■ , , .
■ , - ; , .
■ . is () : <, =< ..
■ :
, , ;
;
, ;
, ;
;
.
3. , ,