Perbezaan antara semakan "Prolog"

50 bait dibuang ,  11 tahun lalu
tiada ringkasan suntingan
Suatu aturcara dalam Prolog mempunyai satu sasaran, dan kenyataan-kenyataan lain yang mewakili hukum-hukum dan penerapan-penerapan bagi masalah berkenaan. Perjalanan aturcara mencari penyelesaian logik kepada sasaran berkenaan yang memuaskan hukum-hukum dan penerapan-penerapan yang diberikan.
 
''Contoh:''
<blockquote>
sukahati(X) :- kaya(X).
 
''Contoh:'':
sukahati(X) :- suka(mariam,X).
sukahati(X) :- kaya(X).
sukahati(X) :- suka(mariam,X).
suka(mariam,X) :- suka(X,mariam),baik(X).
suka(mariam,X) :- segak(X),gagah(X).
suka(johan,X) :- cantik(X).
cantik(mariam).
baik(johan).
segak(johan).
gagah(johan).
sukahati(johan)?
 
suka(mariam,X) :- suka(X,mariam),baik(X).
 
suka(mariam,X) :- segak(X),gagah(X).
 
suka(johan,X) :- cantik(X).
 
cantik(mariam).
 
baik(johan).
 
segak(johan).
 
gagah(johan).
 
sukahati(johan)?
</blockquote>
 
Hukum-hukum dalam Prolog terhad kepada klausa-[[klausa Horn]], yang mempunyai satu dan hanya satu kepala. Ini membolehkan hukum-hukum ini ditafsirkan juga sebagai fungsi atau tatacara. Dengan ini kedudukan sesuatu kenyataan dalam aturcara (aturan kenyataan ditangani) menjadi penting.
 
''Contoh:''
faktorial(0,1).
<blockquote>
faktorial(0X,Y) :- faktorial(X1,Y1),darab(X,Y1,Y),tolak(X,1,X1).
 
faktorial(X,Y) :- faktorial(X1,Y1),darab(X,Y1,Y),tolak(X,1,X1).
</blockquote>
 
Prolog juga mengadungi binaan bukan-logik, yang terutamanya ''potongan'', '!', yang digunakan bagi mengawal perjalanan aturcara.
Pengguna awanama