Rabu, 25 November 2009

Input and Output in Prolog (Nomor 5)

Tutorial


1. ketik perintah pada notepad seperti dibawah ini, kemudian beri nama 'nomor5' yang masih berformat .txt (text notepad).















2. kemudian simpan di Local Disk C atau di lokasi lain.

3. ketik perintah pada notepad seperti dibawah ini, kemudian beri nama 'nomor51' yang masih berformat .txt (text notepad).
















4. kemudian simpan di Local Disk C atau di lokasi lain.

5. Kemudian consult di program prolog. kemudian ketik perintahnya yaitu '?-compare('C:/nomor5.txt','C:/nomor51.txt','C:/output5.txt').'

6. kemudian akan muncul beberapa macam statement dan muncul statement lagi menyatakan YES















7. kemudian akan dengan sendirinya tersimpan 'output' dari program tersebut yang berformat notepad akan secara otomatis tersimpan di Local Disk C (atau lokasi lain).

Input and Output in Prolog (Nomor 4)

Tutorial


1. ketik perintah pada notepad seperti dibawah ini, kemudian beri nama 'nomer4' yang masih berformat .txt (text notepad).

















2. kemudian simpan di Local Disk C atau di lokasi lain.

3. ketik perintah pada notepad seperti dibawah ini, kemudian beri nama 'nomer41' yang masih berformat .txt (text notepad).















4. kemudian simpan di Local Disk C atau di lokasi lain.

5. Kemudian consult di program prolog. kemudian ketik perintahnya yaitu '?-combine('C:/nomor4.txt','C:/nomor41.txt','C:/output4.txt').'

6. kemudian akan muncul statement yang menyatakan YES















7. kemudian akan dengan sendirinya tersimpan 'output' dari program tersebut yang berformat notepad akan secara otomatis tersimpan di Local Disk C (atau lokasi lain).

Input and Output in Prolog (Nomor 3)

Tutorial


1. ketik perintah pada notepad seperti dibawah ini, kemudian beri nama 'nomor3' yang masih berformat .txt (text notepad).

















2. kemudian simpan di Local Disk C atau di lokasi lain.

3. Kemudian consult di program prolog. kemudian ketik perintahnya yaitu '?-readfile('C:/nomor3.txt').'

4. kemudian akan muncul hasil yang menunjukkan berbagai macam angka dan statement yang menyatakan YES

Input and Output in Prolog (Nomor 2)

Tutorial


1. ketik perintah pada notepad seperti dibawah ini, kemudian beri nama 'test 1' yang masih berformat .txt (text notepad).
















2. kemudian simpan di Local Disk C atau di lokasi lain.

3. Kemudian consult di program prolog. kemudian ketik perintahnya yaitu '?-readterms('C:/text1.txt','C:/output1.txt').'

4. kemudian akan muncul statement yang menyatakan YES
















5. kemudian akan dengan sendirinya tersimpan 'output' dari program tersebut yang berformat notepad akan secara otomatis tersimpan di Local Disk C (atau lokasi lain).

Selasa, 24 November 2009

Input and Output in Prolog (Nomor 1)

Prolog (menjadikan hasil menjadi garis vertikal)



Notepad

















Prolog
























Prolog (Menjadikan hasil menjadi garis horizontal)



Notepad


















Prolog

















Langkah-Langkah :


- ketik perintah di notepad. kemudian simpan dalam format prolog (.pl)
- kemudian 'consult' dalam program prolog
- kemudian ketik 'readline:-get0(A),process(A).'. get berguna untuk mengonvert karakter menjadi kode ASCII dan process berguna untuk memproses argumen yang dinyatakan
- kemudian ketik 'case(A,B):-A>64,A<91,B is A+32.' dan 'case(A,B):-B is A+0.'. ini merupakan kondisi-kondisi untuk menentukan kode bilangan ke huruf kecil.
- dan yang terkahir ketik 'process(13).' dan 'process(A):-A=\=13,case(A,B),put(B),nl,readline.'. ini berguna untuk memproses argumen yang akan dinyatakan
- jika ditambah dengan (nl). maka, hasil pernyataan akan menampilkan garis vertikal. jika tidak ditambah dengan (nl). maka, hasil pernyataan akan menampilkan garis horizontal.

Senin, 23 November 2009

Summary For Chapter 5

Input dan Output


built-in predikat yang membaca dari dan menulis baik untuk pengguna
terminal (keyboard dan layar) atau file, kedua istilah tersebut dengan istilah dan characterby -
karakter dalam program Anda sendiri. nilai ASCII untuk memanipulasi string karakter. Prolog memiliki fasilitas untuk mengaktifkan input dan output baik dari istilah atau karakter. Menggunakan istilah lebih sederhana dan akan dijelaskan terlebih dahulu. Awalnya, maka akan diasumsikan bahwa
semua output ke layar pengguna dan semua input adalah dari pengguna keyboard. Masukan dan keluaran menggunakan file eksternal.


Syarat keluaran
predikat mengambil satu argumen, yang harus yang valid Prolog istilah. Mengevaluasi menyebabkan predikat istilah yang akan ditulis ke arus keluaran
sungai, yang secara default adalah layar pengguna. (Yang dimaksud dengan arus keluaran Dengan Logika Pemrograman Prolog
streaming)

Contoh
? - Menulis (26), nl.
26
ya
? - Menulis ( 'string karakter'), nl.
string karakter
ya
? - Menulis ([a, b, c, d, [x, y, z]]), nl.
[a, b, c, d, [x, y, z]]
ya
? - Tulis (mypred (a, b, c)), nl.
mypred (a, b, c)
ya
? - Write ( 'Contoh penggunaan nl'), nl, nl, write ( 'akhir contoh'), nl.
Contoh penggunaan nl
contoh akhir
ya



Syarat memasukkan
Built-in predikat membaca disediakan untuk memasukkan istilah. Dibutuhkan satu argumen, yang harus menjadi variabel.
Mengevaluasi itu menyebabkan istilah berikutnya untuk dibaca dari input arus sungai,
yang secara default adalah pengguna keyboard. (Yang dimaksud dengan arus input). Dalam input stream, istilah harus diikuti oleh sebuah titik ('.') dan setidaknya satu spasi, seperti spasi atau baris baru. Titik dan spasi karakter dibaca dalam tetapi tidak dianggap bagian dari istilah. Perhatikan bahwa untuk masukan dari keyboard (hanya) sebuah prompt karakter seperti titik dua biasanya akan ditampilkan untuk menunjukkan bahwa input pengguna diperlukan. Mungkin perlu untuk tekan tombol 'kembali' tombol sebelum Prolog akan menerima input. Kedua tidak berlaku untuk masukan dari file. Ketika sebuah tujuan membaca dievaluasi, istilah input disatukan dengan argumen variabel. Jika variabel tidak terikat (yang biasanya terjadi) itu adalah terikat pada masukan nilai.

Contoh
? - Read (X).
: Jim.
X = jim
? - Read (X).
: 26.
X = 26
? - Read (X).
: Mypred (a, b, c).
X = mypred (a, b, c)
? - Read (Z).
: [A, b, mypred (p, q, r), [z, y, x]].
Z = [a, b, mypred (p, q, r), [z, y, x]]
? - Read (Y).
: 'String karakter'.
Y = 'string karakter'

Jika variabel argumen sudah terikat (yang bagi sebagian besar pengguna adalah jauh lebih mungkin terjadi karena kesalahan daripada desain), tujuan berhasil jika dan hanya jika masukan istilah adalah identik dengan nilai terikat sebelumnya.


Logika Pemrograman Dengan Prolog

? - X = fred, read (X).
: Jim.
tidak
? - X = fred, read (X).
: Fred.
X = fred



Input dan Output Menggunakan Karakter

Meskipun input dan output dari syarat-syarat sangat mudah, penggunaan tanda kutip dan penuh berhenti dapat menjadi rumit dan tidak selalu sesuai. Sebagai contoh, akan membosankan untuk menentukan predikat (menggunakan baca) yang akan membaca serangkaian karakter dari keyboard dan menghitung jumlah huruf vokal. Sebuah pendekatan yang lebih baik untuk masalah semacam ini adalah untuk masukan sebuah karakter pada satu waktu. Untuk melakukan hal ini, pertama-tama perlu
untuk mengetahui tentang nilai ASCII karakter. Semua mencetak karakter dan banyak karakter non-cetak (seperti ruang dan tab) memiliki sesuai ASCII (American Standard Kode untuk Informasi Interchange) nilai, yang merupakan integer 0-255. Nilai ASCII karakter yang kurang dari atau sama dengan 32 yang dikenal sebagai putih ruang karakter.



Keluaran karakter
Karakter adalah output dengan menggunakan built-in predikat meletakkan predikat mengambil argumen tunggal, yang harus menjadi nomor 0-255 atau ekspresi yang
mengevaluasi ke integer dalam jangkauan. Mengevaluasi tujuan put menyebabkan satu karakter untuk menjadi output untuk saat ini output stream. Ini adalah karakter yang sesuai dengan nilai numerik (ASCII nilai) dari argumen.

misalnya
? - Meletakkan (97), nl.
sebuah
ya
? - Meletakkan (122), nl.
z
ya
? - Meletakkan (64), nl.
@
ya




Logika Pemrograman Dengan Prolog



Output ke sebuah File
Meskipun definisi di atas kirim menyatakan bahwa 'semua file yang sudah ada dengan yang sama Namanya dihapus ', ada kemungkinan lain, yang penting bagi beberapa aplikasi, yaitu bahwa file tersebut tidak dihapus dan setiap output ditempatkan setelah akhir isi yang ada file. Baik 'menimpa' dan 'append' pilihan
kemungkinan besar akan tersedia dalam pelaksanaan praktis Prolog tetapi mungkin melibatkan menggunakan predikat yang berbeda (misalnya terbuka) sebagai pengganti atau serta kirim.



Input: Mengubah Input Current Stream

Input stream yang aktif dapat diubah dengan menggunakan melihat / 1 predikat. Ini membutuhkan argumen tunggal, yang merupakan atom atau variabel yang mewakili nama file, misalnya lihat ( 'myfile.txt'). Mengevaluasi sebuah tujuan melihat menyebabkan file bernama input yang menjadi sungai. Jika file ini belum terbuka itu pertama kali dibuka (untuk akses baca saja). Jika tidak mungkin untuk membuka file dengan nama yang diberikan, kesalahan akan dihasilkan.
Catatan bahwa file yang sesuai dengan arus input yang sebelumnya tetap terbuka ketika sebuah arus input yang baru dipilih. Hanya arus input
dapat ditutup (menggunakan predikat melihat dijelaskan di bawah). Default input stream pengguna, yaitu pengguna terminal. Nilai ini dapat dipulihkan baik dengan menggunakan dilihat predikat atau dengan melihat (pengguna). Built-in predikat melihat / 0 mengambil tanpa argumen. Mengevaluasi sebuah tujuan melihat penyebab masukan saat ini adalah file yang akan ditutup dan arus input yang akan diatur ulang ke pengguna.

Expert System Design

Digital Restaurant Machine



Latar Belakang


Seiring dengan waktu, kemacetan dan mobilitas yang tinggi tidak memungkinkan kita untuk dapat pergi kemana-mana dengan leluasa. Apabila kita berada di kantor dan perut terasa lapar dan waktu tidak memungkinkan kita untuk pergi, maka kami menyediakan Restaurant Digital. Anda dapat mengakses lewat mana saja. Dengan alat ini kita dapat merasakan mudahnya dan enaknya teknologi. Anda tidak perlu susah-susah untuk berlama-lama antri di restaurant tersebut dan bermacet-macet ria. Itu sudah ketinggalan jaman dan tidak berlaku di dunia yang canggih ini. Selain itu kami juga menawarkan pemmbayaran yang menggunakan sistem digital pula. Kami membidik ke seluruh orang yang mempunyai mobilitas yang tinggi dan tidak sempat untuk mendapatkan waktu makan. Dengan alat ini kami dapat memudahkan pekerjaan anda dan perut pun terisi. Dan kami mengaplikasikan programnya melalui prolog yang kami sertakan dibawah ini. Dan contohnya sebagai berikut:



Langkah-langkah:

1. kita menuliskan perintah yang kita inginkan di dalam notepad. kemudian simpan dengan format (.pl)














































2. kemudian 'consult' ke dalam program prolog. maka, akan mucul dengan hasil yang diinginkan anda.








Kamis, 12 November 2009

OPERATOR AND ARITHMETIC in Prolog (TUTORIAL Nomor 2)

Rule Baru

Notepad Nomor 2



















Prolog





















Rule Lama (Menurut soal yang tertulis)


Notepad





















Prolog






















Langkah - Langkah :
- ketik perintah di dalam notepad
- kemudian simpan dengan format (.pl) agar bisa terbuka di dalam progran SWI PROLOG
- kemudian consult di dalam SWI PROLOG
- setelah itu masukkan sesuai dengan perintah yang diminta
- seperti di dalam contoh yaitu :
?- pred (argumen 1, argumen 2)
maka akan muncul hasil yang diminta, yaitu rata-rata, akar, maksimal, dan nilai terbesar

nb : setelah kita membuat dengan rule baru. maka, rule lama juga dibuat lagi. ini bertujuan untuk membandingkan antara rule lama dan rule baru. sehingga tau akan jawabannya. yang dimana jawabannya tersebut sama. hanya untuk perbandingan saja. antara rule lama dan rule baru.

OPERATOR AND ARITHMETIC in Prolog (TUTORIAL Nomor 1)

Rule Baru
Notepad Nomor 1















Prolog




















Rule Lama


Notepad
















Prolog



















Langkah - Langkah :
- ketik perintah di dalam notepad
- kemudian simpan dengan format (.pl) agar bisa terbuka di dalam progran SWI PROLOG
- kemudian consult di dalam SWI PROLOG
- setelah itu masukkan sesuai dengan perintah yang diminta
- seperti di dalam contoh yaitu :
?- X chases Y.
maka akan muncul hasil yang diminta. yaitu :
X = argumen 1
Y = argumen 2
setelah muncul X dan Y untuk pertama kalinya. maka, diakhiri dengan tanda titik koma (;). begitu juga seterusnya. hingga timbul sebuah jawaban yang bertuliskan 'NO'. ini menunjukkan bahwa SWI PROLOG tersebut sudah berakhir.

nb : setelah kita membuat dengan rule baru. maka, rule lama juga dibuat lagi. ini bertujuan untuk membandingkan antara rule lama dan rule baru. sehingga tau akan jawabannya. yang dimana jawabannya tersebut sama. hanya untuk perbandingan saja. antara rule lama dan rule baru.

Rabu, 11 November 2009

Summary For Chapter 4

Operator dan Arithmetic

Operator
notasi yang digunakan untuk predikat adalah salah satu dari standar
functor diikuti oleh sejumlah argumen dalam kurung, misalnya suka (john, mary).
Sebagai alternatif, apapun predikat yang ditetapkan pengguna dengan dua argumen (binary predikat) dapat dikonversi ke operator infiks. Hal ini memungkinkan functor
(predikat nama) yang akan ditulis di antara dua argumen tanpa tanda kurung, misalnya
john suka mary. Setiap predikat yang ditetapkan pengguna dengan satu argumen (a unary predikat)dapat diubah menjadi prefiks operator. Hal ini memungkinkan untuk functor ditulis sebelum argumen tanpa tanda kurung. Notasi operator juga dapat digunakan dengan mudah dibaca aturan untuk bantuan. Setiap predikat yang ditetapkan pengguna dengan satu atau dua argumen dapat dikonversi ke operator dengan memasukkan tujuan menggunakan op predikat pada sistem prompt.

Ada beberapa cara penulisan notasi untuk predikat tunggal dan ganda, yaitu: Dengan menggunakan tanda kurung (parentheses) seperti yang sudah digunakan pada tutorial sebelumnya. Contoh : likes(john,mary); Dengan menggunakan operator sisip (infix operator), yaitu functor (nama predikat) ditulis di antara dua argument tanpa menggunakan tanda kurung. Contoh : john likes mary. ; Dengan menggunakan prefix operator. Cara ini digunakan untuk menuliskan predikat dengan satu argument (predikat tunggal) dengan menuliskan predikat sebelum argument tanpa ada tanda kurung. Contoh isa_dog fred sebagai ganti dari isa_dog(fred); Dengan menggunakan operator posfiks yaitu predikat ditulis setelah argument. Contoh fred isa_dog.

Notasi operator dapat digunakan untuk mempermudah pembacaan sebuah rule. Sebagai contoh ada rule sebagai berikut:

Likes(john,X):- is_female(X),owns(X,Y),isa_cat(Y).

Rule tersebut dapat lebih mudah dipahami jika ditulis sebagai berikut:

John likes X :- X is female, X owns Y,Y isa_cat.

Suatu predikat dengan satu atau dua argument dapat di-konvert ke sebuah operator dengan memasukkan goal menggunakan predikat op pada system prompt. Predikat ini mempunyai tiga argument. Contoh

?-(150,xfy,likes).




Arithmetic



Meskipun contoh-contoh yang digunakan dalam bab-bab sebelumnya buku ini adalah non-numerik(hewan yang mamalia dll), Prolog juga menyediakan fasilitas untuk melakukan aritmatika menggunakan notasi yang serupa dengan yang sudah akrab bagi banyak pengguna dari aljabar dasar. Hal ini dicapai dengan menggunakan built-in predikat adalah / 2, yang telah ditetapkan sebagai infiks operator dan dengan demikian ditulis antara dua argumen. Cara yang paling umum adalah menggunakan / 2 adalah dimana argumen pertama adalah terikat variabel. Mengevaluasi tujuan X -6,5 akan menyebabkan X untuk terikat dengan jumlah -6,5 dan tujuan untuk sukses.

Argumen kedua dapat berupa nomor atau ekspresi aritmatika misalnya
X adalah 6 * Y + Z-3.2 + P-Q / 4 (* menandakan perkalian).
Setiap variabel yang muncul dalam sebuah ekspresi aritmatika sudah harus terikat(sebagai mengevaluasi hasil dari tujuan sebelumnya) dan nilai-nilai mereka harus numerik. Disediakan Dengan 60 Logika Pemrograman Prolog
mereka, tujuan akan selalu berhasil dan variabel yang membentuk pertama
argumen akan terikat dengan nilai ekspresi aritmetik. Jika tidak, kesalahan
pesan akan muncul.

? - X 10,5 4,7 * 2.
X = 19,9
? - Y adalah 10, Z adalah Y 1.
Y = 10,
Z = 11

Simbol seperti + - * / dalam ekspresi aritmatika adalah jenis khusus infiks
operator yang dikenal sebagai operator aritmetika. Tidak seperti operator digunakan di tempat lain di Prolog mereka tidak predikat tetapi fungsi yang mengembalikan nilai numerik. Seperti halnya angka-angka, variabel dan operator, ekspresi aritmatika dapat mencakup fungsi aritmatika, ditulis dengan argumen mereka dalam tanda kurung (yaitu bukan sebagai operator). Seperti operator aritmetika ini kembali nilai-nilai numerik, misalnya menemukan akar kuadrat dari 36:

? - X adalah sqrt (36).
X = 6

Operator aritmetik - dapat digunakan tidak hanya sebagai operator infiks biner
menunjukkan perbedaan dua nilai numerik, misalnya X-6, tetapi juga sebagai awalan unary operator untuk menunjukkan negatif dari sebuah nilai numerik, misalnya

? - X adalah 10, Y-X-2.
X = 10,
Y = -12

Tabel di bawah menunjukkan beberapa operator dan aritmatika aritmetika
fungsi yang tersedia dalam Prolog.
X + Y jumlah X dan Y
X-Y perbedaan dari X dan Y
X * Y produk X dan Y
X / Y hasil bagi X dan Y
X / / Y 'integer hasil bagi' dari X dan Y (hasilnya adalah dipotong ke
terdekat integer antara itu dan nol)
X ^ Y X ke Y kekuatan
-X negatif X
abs (X) nilai absolut X
sin (X) sinus X (untuk X diukur dalam derajat)
cos (X) kosinus X (untuk X diukur dalam derajat)
max (X, Y) yang lebih besar dari X dan Y
sqrt (X) akar kuadrat X


Contoh
? - X adalah 30, Y adalah 5, Z adalah X + Y + X * Y + sin (x).
X = 30,
Y = 5,
Z = 185,5

Meskipun merupakan predikat biasanya digunakan dalam cara yang dijelaskan di sini, pertama argumen juga bisa menjadi nomor atau sebuah variabel terikat dengan nilai numerik. Dalam kasus, nilai numerik dari dua argumen dihitung. Tujuan berhasil
jika ini adalah sama. Jika tidak, itu gagal.

? - X 7, X adalah 6 +1.
X = 7
? - 10 adalah 7 13-11 9.
tidak
? - 18 adalah 7 13-11 9.
ya

Unifikasi
Deskripsi sebelumnya dapat disederhanakan dengan mengatakan bahwa argumen kedua dari
yang adalah / 2 operator dievaluasi dan nilai ini kemudian disatukan dengan argumen pertama. Hal ini menggambarkan fleksibilitas konsep penyatuan.

(a) Jika argumen pertama adalah variabel terikat, ia terikat dengan nilai yang
Argumen kedua (sebagai efek samping) dan tujuan adalah berhasil.

(b) Jika argumen pertama adalah angka, atau variabel terikat dengan nilai numerik, itu dibandingkan dengan nilai argumen kedua. Jika mereka adalah sama, adalah tujuan
berhasil, selain itu gagal. Jika argumen pertama adalah atom, istilah majemuk, daftar, atau variabel terikat satu ini (tidak ada yang seharusnya terjadi), hasilnya adalah tergantung pada implementasi. Kemungkinan besar akan terjadi kesalahan. Perhatikan bahwa tujuan seperti X adalah X 1 akan selalu gagal, apakah X tidak terikat.

? - X adalah 10, X adalah X +1.
tidak
Untuk meningkatkan nilai oleh satu memerlukan pendekatan yang berbeda.

/ * Versi salah * /
meningkatkan (N):-N adalah N +1.
? - Meningkatkan (4).
tidak
/ * Benar versi * /
meningkatkan (N, M):-M adalah N +1.
? - Meningkat (4, X).
X = 5

Operator Precedence di Arithmetic Expressions
Bila ada lebih dari satu operator di sebuah ekspresi aritmatika, misalnya A + B * C-D, Prolog kebutuhan sarana menentukan urutan operator akan diterapkan.
Untuk operator dasar seperti + - * dan / itu sangat diinginkan bahwa ini adalah
adat 'matematika' order, yaitu ekspresi A + B * CD harus ditafsirkan
sebagai 'menghitung produk B dan C, tambahkan ke A dan kemudian kurangi D', bukan sebagai 'menambahkan A dan B, kemudian kalikan dengan C dan kurangi D '. Prolog mencapai hal ini dengan memberikan masing-masing operator numerik nilai didahulukan. Operator didahulukan relatif tinggi seperti * dan / diterapkan sebelum mereka yang didahulukan lebih rendah seperti + dan -. Operator dengan prioritas yang sama (misalnya + dan -, * dan /) diterapkan dari kiri ke kanan. Efeknya adalah untuk memberikan ekspresi seperti A + B * CD makna bahwa pengguna yang akrab dengan aljabar akan mengharapkan untuk memiliki, yaitu A + (B * C)-D. Jika urutan yang berbeda diperlukan evaluasi ini dapat dicapai dengan menggunakan kurung, e.g. X adalah (A + B) * (C-D). Ungkapan tanda kurung selalu dievaluasi terlebih dahulu.

Relational Operator
The infiks operator =: = = \ =>> = <= relasional operator. Mereka digunakan untuk membandingkan nilai dari dua aritmatika
ekspresi. Tujuan berhasil jika nilai ekspresi pertama adalah sama dengan, tidak
sama dengan, lebih besar dari, lebih besar dari atau sama dengan, kurang dari atau kurang dari atau sama dengan
nilai dari ekspresi kedua, masing-masing. Kedua argumen harus angka,
terikat variabel atau ekspresi aritmetika (di mana setiap variabel terikat untuk
nilai numerik).

? - 88 15-3 =: = 110-5 * 2.
ya
? - 100 = \ = 99.
ya

Ada tiga jenis operator relasional untuk pengujian kesetaraan dan ketidaksetaraan
tersedia dalam Prolog. Tipe pertama digunakan untuk membandingkan nilai-nilai aritmatika ekspresi. Dua lainnya jenis tersebut digunakan untuk membandingkan istilah.

Aritmatika Expression Kesetaraan =: =
E1 =: = E2 berhasil jika ekspresi aritmetika mengevaluasi E1 dan E2 yang sama
nilai

? - 6 +4 =: = 6 * 3-8.
ya
? - Sqrt (36) +4 =: = 5 * 11-45.
ya

Untuk memeriksa apakah suatu bilangan bulat ganjil atau bahkan kita dapat menggunakan checkeven / 1 predikat
didefinisikan di bawah ini.

checkeven (N):-M adalah N / / 2, N =: = 2 * M.
? - Checkeven (12).
ya
? - Checkeven (23).
tidak
? - Checkeven (-11).
tidak
? - Checkeven (-30).
ya


Logika Pemrograman Dengan Prolog
Persyaratan Identik ==
Kedua argumen dari operator == infiks harus istilah. Tujuan Term1 == Term2
berhasil jika dan hanya jika Term1 identik dengan Term2. Setiap variabel yang digunakan dalam istilah mungkin atau mungkin tidak sudah terikat, tetapi tidak ada variabel terikat sebagai akibat dari mengevaluasi tujuan.

? - Suka (X, Prolog) == suka (X, Prolog).
X = _
? - Suka (X, Prolog) == suka (Y, Prolog).
tidak
(X dan Y adalah variabel yang berbeda)
? - X adalah 10, pred1 (X) == pred1 (10).
X = 10
? - X == 0.
tidak
? - 6 4 == 3 +7.
tidak

Nilai sebuah ekspresi aritmatika hanya dievaluasi jika digunakan dengan adalah / 2
operator. Berikut 6 +4 hanyalah sebuah istilah dengan functor + dan argumen 6 dan 4. Ini sama sekali berbeda dari istilah 3 +7. Persyaratan Tidak Identik \ ==
Term1 \ == Term2 tes apakah Term1 tidak identik dengan Term2. Tujuan berhasil
jika Term1 == Term2 gagal. Selain itu gagal.

? - Pred1 (X) \ == pred1 (Y).
X = _,
Y = _

(Output menandakan bahwa baik X dan Y adalah terikat dan variabel yang berbeda.)
Syarat Identik Dengan Unifikasi = Istilah kesetaraan operator = adalah serupa dengan == dengan satu penting (dan sering sangat berguna) perbedaan. Tujuan Term1 = Term2 berhasil jika Term2 istilah Term1 dan menyatukan, yaitu ada beberapa cara untuk mengikat nilai-nilai variabel yang akan membuat persyaratan identik. Jika tujuan berhasil, seperti terjadi sebenarnya mengikat.


Logical Operator
Bagian ini memberikan gambaran singkat dari dua operator yang mengambil argumen yang
panggilan istilah, yaitu istilah yang dapat dianggap sebagai tujuan.
Operator yang tidak Operator awalan bukan / 1 dapat ditempatkan sebelum tujuan untuk memberikan yang pengingkaran. Itu tujuan menegasikan berhasil jika tujuan asli gagal dan gagal jika tujuan asli berhasil. Contoh berikut menggambarkan penggunaan tidak / 1. Diasumsikan bahwa database berisi satu klausul

anjing (fido).
? - Tidak anjing (fido).
tidak
? - Anjing (fred).
tidak
? - Tidak anjing (fred).
ya
? - X = 0, X adalah 0.
X = 0
? - X = 0, bukan X adalah 0.
tidak


Blogspot Template by Isnaini Dot Com. Powered by Blogger and Supported by ArchitecturesDesign.Com Beautiful Architecture Homes