/* polygon! [Sidel, Side2,...])
/ \
/ \
rectsngiet Length, Width) reg oolygocl Side, N)
\ / \
\ / \
souaref Side) pentagon! Sidei */
object! polygon! sides), [ (perimeter) P):-
gum( Sides, P>) ]).
object; reg_polygon[ Side, ), [ (perimeter! F):.-E is Side * N), (describe:- write! 'Regular polygon')) ]).
object! sguare! Side), [ (describe:-
write! 'Sguare with side '), write [ Side)) 3)
object; rectangle! Length, Width), [ (area{ A):-
A is Length * Width), (describe:-
write! 'Rectangle of size '), write! Length * Width)) ]).
object! pentagon! Side),
[ (describe:- write! 'Pentagon')) ]).
isa(sguare! Side), rectangle! Side, Side)).
isa(sguare! Side!, reg_polygon [.Side, 4)).
It. Prolog
isal rectangle! Length, Widllh), polygon! 5LengthrWidthFLength,Width])).
j.sat pentagon [ Side), reg_polygon [ Side, 5)).
isal reg_polygon(Side, M), polygon) L!):-
raafcelist[ Side, N, L).
% makelistl item, , List;
i List - , Item
makelistl _, 0, []).
makelist( Item, N, [Item! List]):-N > 0, N1 is N - 1, makeiistl item, HI, List).
& suml ListOfNumbers, Sum) 'i Sum - ListofNumbers
sura ([ ], 0),
5([Number | Numbers], Sum):-sum[ Numbers, SumlJ, Sum is Suml + Number,
. , isa , , , , square (, 23.6). , . , . , 23.5, , isa. 23.5 , . , , " " .
- , , 23.5, , . 23.1. : , . , , . , , 1. , ,.... , , . , , .. , z. , , ( ) . - , .
|
|
1, ,
, . - .
look (, X, Y).
2. 1,
,
- . , -
, xy_coord(X, Y) 1.
23. 573
I
4-
. 23.1.
z . , z 0, . 1, z_coord(Z1) 1 Z1 1, 2 . , 23.7, , .. block (BlockName), xycoord z_coo!:d.