Más contenido relacionado
Más de Muhammad Hassan (11)
Swi_prolog
- 1. Muhammad Siddig H.
@ @Prolog @òÌÜÛ@݆ß
@ @Zò߆Խa
אġ× אª
Programing in
א
Alan
ę
W PROLOG א ×و ج
Ęذ
א
א
Úو
م
وª
ن
K
هذ א
مא
א م
وKLogic .
Colmeraur
نħ ª
א
Ġ אĞ אª
א
ª
ġ
@ @ZProlog@òÌÛ@paŒî¾
W
K و
Kאج
אª
א
אª
א ×و ج
א د ل وאªא
و
א
وא
א אħ
L
ل א
Ksimplisiy in coding ġ× א
وذESource CodeF
אم
×
وذDepugging
K
א
K
א
Ġא
×א
א
ود
و
و
ğ אª
Kª
א
لא
L
א
ĩL
وאØ א
وאKTracing Facility
م
م
א
א ×א
ª
وאª
א
אد א
L
ز אªא
ğوא
L
×
אġ× אª
و
א
ĩL
א
وCopilation
ħ د
א
א
א
K
ĩً
×
وאbit-wise
ودوאل א
L
ª
وא
א
ğوאل א
@ @ZProlog@òÌÛ@¿@Statements@Ýà¦a@pbãìØß
@ @@ZÕöbÔy@Facts@OQ
ğ وאProlog
ª
و א
א
א
א
ġ وHead س
وú وא
ن
ğ אĩو
predicate
KEArgumentsF
Head (Arguments)
E
وא
W
1
Predicate
F W
א
prolog Clauses
father (mohamed,ali).
ğً א
ĩ
ī وא
- 2. Muhammad Siddig H.
@ @@Z†ÇaìÓ@Rules@OR
K
ğل
ج وא
א
W
ĩ
א ل א
א
ن
ذא
ali likes ahmed
noha likes sami
aser likes noha
Wن
و
yaser likes everything noha likes
ن
و د
ل
yaser likes sami
Wprolog
ĩ
likes (ali,ahmed).
likes (noha,sami).
likes (aser,noha).
likes(yaser,X) :- likes(noha,X).
ú ن א
ذא
likes(yaser,sami).
KYes وTrue ن
وKن
و ن وא
ª אĞن א
و وא
אذאW ً
Ğא
father (ahmed,ali).
father(salman,ahmed).
grandfather(X,Y):-father(X,Z),father(Z,Y).
ل
א
ğ אª
نא
ج
KĦ
@ @@ZòÜ÷c@Queries@OS
K א
א
وא
وא
ğא
م
ğ
א
א
ě Prolog
ğא
Ø ħ
ن
א
Kª
وאE
ن
Fن
و
ن
א ل א
W
grandfather(salman,ali).
2
א
و
وא
- 3. Muhammad Siddig H.
KYes
ğא
א
@ @Data Typer in Prolog@pbãbîjÛa@Êaìãc
Ĝ
ġ× אª
simple
Wن
ª
ن
ī
אع
Ĝ prolog
K lixical elements
אØ و אKComplex structure
وstructure
ZConstants@oiaìrÛa@OQ
م و
و אúو
ğא
• א
وWAtoms ªא
a..z,A..Z,!@#$%^*()_+ز
KReal
و
integer WNumber م
א
• א
@ @ZVariables@paÌn½a@OR
Upper-case letter Ù אú
د
?_?
א
אم א
אم א
ج
א
ªאÙ א
א
وEX,Y, M , Who, WhereF
KAnonymous variable لÓ אÙ א
Ù
@ @prolog@òÌÛ@ÝîÌ’m
Start All programs
SWI-Prolog Prolog
א
א
Prolog ن
WProlog ª
אن و
úא
א
א
Òא
وªא
Ĝ
א
و
Kprolog
ª
א
وא
وKnowldege-Base
אª אĠא
3
א
א
Ø
وא
ğא
و
و
א
- 4. Muhammad Siddig H.
م
File
Òن א
א
New…
א
وאFile
אL
وECreate New Prolog SourceF
Òم א
ğز א
Save
م
Name
א
א
Ġ א
ğא
א
א
و
אª
K
א
א
Save Buffer
א
ğא
و
File
א
L
ªא
ع
K
وذ
א
و אCompile Buffer
א
ğ وL
مĩ
Compile
4
L
א
وא
م
K
אªא
א
א
א
א
KMake
א
- 5. Muhammad Siddig H.
ZSearch Mechanism @szjÛa@pbîvîmaa
@ @Z´Žîö‰@´àŽÓ@µg@Prolog@¿@szjÛa@pbîvîmaa@áŽÔäm
@bß@ìçë@…ìäjÛaë@pajÈnÛa@´ië@bç‹aŠyg@lìÜĐ½a@Òa†çþa@´i@ÕÏaìnÛa@òîÜàÇ@óÜÇ@Ýàn’í@ZÞëþa@áŽÔÛa@MQ
@ @NHUnificationI@†îyìnÛa@òîÜàÈi@ÒŠÈí
@ @ZÙÛ‡@|™ìí@ïÛbnÛa@Þbr½aë
likes (ali,ahmed).
likes (noha,sami).
likes (aser,noha).
@ @ZÒ†a@æb×ë
@ @likes(X,Y).
ن
ªאÙ
א
د
Ù ن א
X,Y
א
ğא
Ù א
YوX
W
Ĩ
ú א
ě
א
ªאÙ א
א
وא
X=aser
X=ali
Y=noha
ú א
X=noha
Y=sami
Y=ahmed
אس وذ
א
دאĨ ªאÙ א
א
Kú وא
ذא
ن
EClausesF د
وא
Ğא
نא
א
אlikes E
ġ وú
Ħ
אF
א
Wن
KĦ ğ א
K Ğ ود אğد א
KĦ
5
Ħ زو
و
א
وא
ú ود אğد א
אúא
א
אJ
J
J
- 6. Muhammad Siddig H.
@ @NbèÔîÔ¤@ëc@Òa†çþa@‹aŠy⁄@Þìܧa@åÇ@szjÛa@¿@áØznm@Ñî×@òa‰…@óÜÇ@Ýàn’íë@ZïãbrÛa@áŽÔÛa@MR
@ @ZÙÛ‡@|™ìí
likes (ali,ahmed).
likes (noha,sami).
likes (aser,noha).
@ @ZÒ†a@æb×ë
likes(aser,Y).
ذאÙ
א
ل
ğא
ú א
Øم א
Í ذאK
Ĝ
ú
א
و
د
وא
א
א
ًو
ú ن א
אú و د א
م
ú א
ª
א
@ @ïÐܨa@ÝŽÜŽnÛaë@ïßbßþa@ÝŽÜŽnÛa
@ @@ZForward tracking@@ïßbßþa@ÝŽÜŽnÛa
و
Ğ א
ğא
و
Ĩ
و
ل
א
אØ א
א
ª
ĩ א
א
אم א
א
وú אħ ل
K
א
و
@ @ZBacktracking @ïÐܨa@ÝŽÜŽnÛa
ě وאProlog
Øم א
وאªא
د
א
ن
א
ī
نא
6
אª
א
א
אĞ
ذא
م
مو د א
و
ª
ħ
א
Ġא
ĩو
א
אª
א
× ģو
א
א
نħ
úא
א
مא
ن
א
ذא
و
א א
K
- 7. Muhammad Siddig H.
ª ěو
אú אħ
Ġא
دو א
.
Wא ل
دא
م
¯
א
ĝ
א
ěو
א
وª
א
א
د
א ل א
location(desk, office).
location(apple, kitchen).
location(flashlight, desk).
location('washing machine', cellar).
location(nani, 'washing machine').
location(broccoli, kitchen).
location(crackers, kitchen).
location(computer, office).
مא
א
ن
Location(apple, kitchen).
W
א
Eú אF م
ğ م
א
ً و
א
א
א
ú
ğ אħ
א
ن
وJ
عא
א
م
א
W د
א
Ğא
א
•
א
و
J EUNIFICATIONF
Ğא
אĞא
و
وX=apple
د
א
א
و
Øא
د
Ëو
و
Ğ
א ول
א
Ğ
ģ
אĞ
ذא א
و
א د א
Ğא
ħא و
א
KTrue
א
א
و
• و
وX Ù א
ğא
א אĞא
X=broccali
و
א
م
א
א
و
א
Z†ÇaìÔÛa@òÛby@¿@ïÐܨa@ÉjnnÛa
clerk(mohamed).
clerk(adam).
typist(ali).
manager(salih). manager(omar).
super(X,Y):- manager(X), clerk(Y).
super(X,Y):- clerk(Y), typist(Y).
super(X,Y):- manager(X), typist(Y).
super(Super,ali).
7
W
א
א
ن
و
- 8. Muhammad Siddig H.
א
Øא
א ول
وK X=ali
Ğن א
א
אم א
وclerk(adam)
نħא و
א
وY=mohamed
אل א ول وא
אħ
و
KX=omar ن
Ğא
قא
א
K
•
Ğא
Øא
ğ אħ ل
Øم א
א
א
د א
א
manager(omer)
א
managerEXF
ن
clerk(Y)
Ġא
ħא و
א
و
ª
א
א
Ğא א
K
א
Ġא
وא
Ġא
و
¯א
א
א
īو
Prolog א
אم
×א
א
א
دא
א
×א
×א
אú
Ġא
ĩ
אú
×א
ęª
EF
د دא
א
ĩ
א
دون
وK
א א
W
אĞً א
Factorial (0,1),!.
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
Ħ
Ħ
ل
ğ א ن وאĦ
א
road('A','C',200).
road('A','D',300).
road('C','D',100).
road('C','B',120).
road('D','B',130).
route(Town1,Town2,Dist):road(Town1,Town2,Dist).
route(Town1,Town2,Dis):road(Town1,X,Dist1),
route(X,Town2,Dist2),
Dis is Dist1+Dist2.
W
route (City1,City2,Distance).
א
ú ن א
W
ذא
אú אª
route(A,B,X).
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
8
- 9. Muhammad Siddig H.
@ @Lists@áöaìÔÛa
K
ª
אم א
א
א
[]Ħ
אª
Ħ
K[1,2,3,4,5,6,7,8,9] ً
سאú
وKTail
K
K[X|Y] ً
K
א
دא
א
א
وא
א س وאĦ
KMatching א
E|F
אĦ
א א
א
K
وאHead א سĦ
א
•
×א
ħ
אĦ
•
א
א
ول
•
אProlog م
ً
دא
א
member(member_name,[member1,member2]).
W א
א
א
ض نØ אW ً
[mohamed,ali,suliman,hamdan,mohmoud]
א
و
W × אØ
אú א
مali
member(ali,[mohamed,ali,suliman,hamdan,mahmoud]).
----------------------------------------------------------------------------------م
אěو
سאĦ
א
אú ذא ن א
W
אú א
member(Name,[mohamed | _ ]).
---------------------------------------------------------------------------------@ @NòŽÜ@Þì@Êbu‰hi@âìÔí@Prolog@wßbãŠi
mylength([],0).
mylength([_|Tail], Len) :mylength(Tail, TailLen),
Len is TailLen + 1.
KX=0. Ø ن אmylength([],X). ú ذא ن א
KX=7.
Øن א
mylength([a,b,c,d,e,f,g],X). ú ن א
ذא
@ @ZòÜŽÜ@¿@ñ…ìuì½a@Š•bäÈÛa@Éà€@âìÔí@Prolog@wßbãŠi
sum([],0).
sum([Head|Tail],X):sum(Tail,TailSum),
X is Head+TailSum.
KSum=6
9
Øن א
sum([1,2,3],Sum). ú ن א
ذא
- 10. Muhammad Siddig H.
@ @Recursion@‰aŠØnÛa
א
Ĩ
و
א
א
א
K
Ğ ل א
N! د
אªو
وא
ª ğ Prolog ª
א
א
× אWً
W
א
factorial (0,1).
factorial (N,Res) :N1,
N1 is N-1,
factorial(N1,FacN1),
Res is N*FacN1.
W אØ
factorial(2,Answer).
Answer=2.
אú א
Øن د א
@ @Zòî™bíŠÛa@pbîÜàÈÛa
False وTrue
E=F و
א
ً
WProlog
نא د
E35F
ª
ª
is
Ø
אªא
א
وא
ª
2?- X is 3+5.
X=8.
3?- X is 3-5.
X= -2.
4?- X is 3/5.
X=0.6.
5?- X is 3*5.
X=15.
10
א
Øن א
אĦ ن
W
ذא
א
W
א
ذא
א
W
1?- X=3+5.
X=3+5.
K
א
ن
و
א
Øא
ن
Øא
ن
Øא
ن
Øא
ن
- 11. Muhammad Siddig H.
@ @òî™bíŠÛa@Þaë†Ûa
@ @ZïÈîiÛa@‰ˆ¦a@òÛa…
1?- sqrt(10,X).
X=3.1622776601683795
Øא
ن
@ @ïÈîjĐÛa@áríŠËìÜÛa@òÛa…
2?- log(1,X).
X=1.0.
Øא
ن
@ @HLNI@QP@÷bÿÛ@áríŠËìÜÛa@òÛa…
3?- log10(1,X).
X=0.301029995.
Øא
ن
@ @@òÔÜĐ½a@òàîÔÛa@òÛa…
4?- abs(-3,X).
X=3.
Øא
ن
@ @ZòàŽÔÛa@ïÓbi@òÛa…
5?- X is 10 mod 20.
X=10.
Øא
ن
@ @òîrÜr½a@Þaë†Ûa
@ @kî¦a@òÛa…
6?- sin(0,X).
X=0.0.
Øא
ن
@ @âbànÛa@kîu@òÛa…
7?- cos(0,X).
X=1.0.
Øא
ن
دא א
8?-tan(0,X).
X=0.0.
Øא
ن
@ @
11