Prolog: Perbezaan antara semakan

Daripada Wikipedia, ensiklopedia bebas.
Kandungan dihapus Kandungan ditambah
Aviator (bincang | sumb.)
k kategori + interwiki
Loveless (bincang | sumb.)
k bot menambah: an, ar, ast, bat-smg, bg, ca, cs, da, de, el, eo, es, et, fi, fr, gl, he, hu, id, io, is, it, ja, jbo, ko, lt, nl, no, pl, pt, ro, ru, sk, sl, sv, tg, th, tr, uk, zh
Baris 39: Baris 39:
[[Kategori:Bahasa pengaturcaraan logik]]
[[Kategori:Bahasa pengaturcaraan logik]]


[[ar:برولوغ]]
[[an:Prolog]]
[[ast:Prolog]]
[[id:Prolog]]
[[bg:Пролог (език за програмиране)]]
[[ca:Prolog]]
[[cs:Prolog (programovací jazyk)]]
[[da:Prolog (programmeringssprog)]]
[[de:Prolog (Programmiersprache)]]
[[et:Prolog]]
[[el:Prolog]]
[[en:Prolog]]
[[en:Prolog]]
[[es:Prolog]]
[[eo:Prolog]]
[[fr:Prolog]]
[[gl:Prolog]]
[[ko:프롤로그]]
[[io:Prolog]]
[[is:Prolog (forritunarmál)]]
[[it:Prolog]]
[[he:פרולוג (שפת תכנות)]]
[[lt:Prolog]]
[[jbo:prolog]]
[[hu:Prolog]]
[[nl:Prolog]]
[[ja:Prolog]]
[[no:Prolog (programmeringsspråk)]]
[[pl:Prolog (język programowania)]]
[[pt:Prolog]]
[[ro:Prolog]]
[[ru:Пролог (язык программирования)]]
[[sk:Prolog]]
[[sl:Prolog]]
[[fi:Prolog]]
[[sv:Prolog (programmeringsspråk)]]
[[th:ภาษาโปรล็อก]]
[[tg:Пролог (забони барноманависӣ)]]
[[tr:Prolog]]
[[uk:Пролог (мова програмування)]]
[[bat-smg:Prolog]]
[[zh:Prolog]]

Semakan pada 14:53, 15 Mei 2010

PROLOG (Sains komputer) ialah bahasa pengaturcaraan komputer yang berlandaskan logik peringkat pertama atau logik predikat, dengan penegatifan sebagai kegagalan ('andaian dunia tertutup'). Ia adalah implementasi terawal konsep pengaturcaraan logik, yang dipelopori Robert Kowalski dan lain-lain. Dengan itu, ia digolongkan sebagai suatu bahasa isytiharan.

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:

sukahati(X) :- kaya(X).
sukahati(X) :- suka(zarina,X).
suka(zarina,X) :- suka(X,zarina),baik(X).
suka(zarina,X) :- segak(X),gagah(X).
suka(johan,X) :- cantik(X).
cantik(zarina).
baik(johan).
segak(johan).
gagah(johan).
?- sukahati(johan).

Perhatikan bahawa menggunakan set hukum-hukum dan penerapan-penerapan yang ada (yang dikatakan pangkalan pengetahuan), sasaran lain boleh dikenakan dengan langsung.

Contoh:

?- sukahati(X).

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).
faktorial(X,Y) :- faktorial(X1,Y1),darab(X,Y1,Y),tolak(X,1,X1).

Prolog juga mengadungi binaan bukan-logik, yang terutamanya potongan, '!', yang digunakan bagi mengawal perjalanan aturcara (khususnya untuk memberhentikan gelintaran lanjut).

Contoh:

merah(a).
hitam(b).
warna(X,merah) :- merah(X),!.
warna(X,hitam) :- hitam(X),!.
warna(X,takdiketahui). 
?- warna(a,X).