Kamis, 10 Desember 2009

Summary Operator dan Arithmetic

1.Operator
Setiap predikat yang ditetapkan pengguna dengan dua argumen (predikat biner) dapat dikonversi ke operator infiks.
Setiap predikat yang ditetapkan pengguna dengan satu argumen (a unary predikat) dapat diubah menjadi prefiks operator. Hal ini memungkinkan functor ditulis sebelum argumen tanpa tanda kurung.
unary predikat yang dapat dikonversi ke postfix operator. Hal ini memungkinkan functor ditulis setelah argumen
Setiap predikat yang ditetapkan pengguna dengan satu atau dua argumen dapat dikonversi ke operator dengan memasukkan tujuan menggunakan op predikat pada sistem prompt. Predikat ini butuh tiga argumen, misalnya

?-op(150,xfy,likes).

1. Argumen pertama (150) adalah 'operator didahulukan'. Nilai didahulukan operator
digunakan untuk menentukan urutan dari operator akan diterapkan bila lebih dari satu
digunakan dalam istilah. Dalam kebanyakan kasus-kasus lain itu akan cukup untuk menggunakan nilai yang sewenang-wenang seperti 150.

2. Argumen kedua biasanya harus salah satu dari tiga atom berikut:
xfy berarti bahwa predikat biner dan akan dikonversikan ke operator infiks
fy berarti bahwa predikat adalah unary dan akan dikonversikan ke operator prefix
xf berarti bahwa predikat adalah unary dan akan dikonversi ke postfix operator

3. Argumen ketiga menentukan nama predikat yang harus dikonversi ke
operator.

2.Arithmetic
Prolog menyediakan fasilitas untuk melakukan aritmatika menggunakan notasi yang serupa dengan yang sudah akrab bagi banyak pengguna dari aljabar dasar.
Ada beberapa operator aritmatika dan fungsi aritmatika tersedia dalam Prolog:
1.x + Y jumlah X dan Y
2.x-Y perbedaan dari X dan Y
3.x * Y produk X dan Y
4.x / Y hasil bagi X dan Y
5.x / / Y 'integer hasil bagi' dari X dan Y (hasilnya adalah dipotong ke integer terdekat antara bilangan itu dan nol)
6.x ^ Y X untuk kekuatan Y
7.-X negatif X
8.abs (X) nilai absolut X
9.sin (X) sinus X (untuk X diukur dalam derajat)
10.cos (X) kosinus X (untuk X diukur dalam derajat)
11.max (X, Y) yang lebih besar dari X dan Y
12.sqrt (X) akar kuadrat X

adalah predikat biasanya digunakan dalam cara yang dijelaskan di sini, argumen pertama juga dapat berupa angka atau variabel terikat dengan nilai numerik. Dalam kasus ini, nilai-nilai numerik dari dua argumen dihitung. Tujuan berhasil jika ini adalah sama. Jika tidak, itu gagal.

1. Argumen pertama adalah variabel terikat, ia terikat dengan nilai argumen kedua (sebagai efek samping).
2. Argumen pertama adalah angka, atau variabel terikat dengan nilai numerik.
3. Argumen pertama adalah sebuah atom, sebuah istilah majemuk, daftar, atau variabel terikat satu ini (tidak ada yang seharusnya terjadi), hasilnya adalah tergantung pada implementasi.
Kemungkinan besar akan terjadi kesalahan.


Operator Precedence di Arithmetic Expressions
Operator didahulukan relatif tinggi seperti * dan / diterapkan sebelum mereka yang didahulukan lebih rendah seperti + dan -. Efeknya adalah untuk memberikan ekspresi seperti A + B * CD arti bahwa seorang pengguna yang akrab dengan aljabar akan mengharapkan untuk memiliki, yaitu A + (B * C)-D atau (A + B) * (CD).

Relational Operator
>= < =<>" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">The infiks operator =: = = \ =>> = <= <>

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

a. Aritmatika Expression Kesetaraan =: =
E1 =: = E2 berhasil jika ekspresi aritmetika E1 dan E2 mengevaluasi nilai yang sama.
b. Ekspresi aritmatika Ketidaksetaraan = \ =
E1 = \ = E2 berhasil jika ekspresi aritmetika E1 dan E2 tidak mengevaluasi nilai yang sama.
c. 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 tujuan evaluasi.
d. Persyaratan Tidak Identik \ ==
Term1 \ == Term2 tes apakah Term1 tidak identik dengan Term2. Tujuan berhasil jika Term1 == Term2 gagal. Selain itu gagal.
e. 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 istilah identik. Jika tujuan berhasil, seperti terjadi sebenarnya mengikat.
f. Non-Unifikasi Antara Dua Syarat \ =
Tujuan Term1 \ = Term2 berhasil jika Term1 = Term2 gagal, yaitu dua istilah ini tidak dapat bersatu. Selain itu gagal.

4.Operator Logika
Bagian ini memberikan gambaran singkat dari dua operator yang mengambil argumen yang menyebut istilah, yaitu istilah yang dapat dianggap sebagai tujuan.
a. Operator "not"
Operator awalan "not" / 1 dapat ditempatkan sebelum tujuan untuk memberikan yang pengingkaran. Tujuan yang menegasikan berhasil jika tujuan asli gagal dan gagal jika tujuan asli berhasil. Contoh berikut menggambarkan penggunaan "not" / 1. Diasumsikan bahwa database berisi satu klausul

b. Operator disjungsi
operator disjungsi; / 2 (ditulis sebagai karakter titik koma) digunakan untuk mewakili 'atau'. Ini adalah infiks operator yang membutuhkan dua argumen, yang keduanya adalah tujuan. Tujuan1; Tujuan2 berhasil jika salah satu dari Tujuan1 atau Tujuan2 berhasil.


Tidak ada komentar:

Posting Komentar