Udah lama nihh ga bikin bikin postingann…
Kali ini ane mw bikin postingan tentang ALPRO (algoritma dan pemrograman) terutama yang menggunakan CLISP..
Okee langsung aja, karena biasanya kalo clisp ini yg agak susah pas belajar tentang list maka ane akan bahas tentang list..
- List adalah sekumpulan elemen yang bertipe sama; disebut juga sequence/series .
Tipe rekursif
- Basis 0: list kosong adalah sebuah list.
- Rekurens : list terdiri dari sebuah elemen dan sublist.
Nahh udah mulai bingung kan? :D
Okee daripada bingung memahami teori langsung aja ane kasih contoh..
(defun kons (x L) //ini untuk menambahkan sebuah elemen ke dalam list
(cons x L)
)
(cons x L)
)
(defun konso (x L) // ini untuk menambahkan sebuah elemen ke dalam list tetapi di posisi terakhir
(reverse (cons x (reverse L)))
)
(reverse (cons x (reverse L)))
)
(defun firstelmnt (L)
(car L)
)
(car L)
)
(defun lastelmnt (L)
(car (reverse L))
)
(car (reverse L))
)
(defun tail (L)
(cdr L)
)
(cdr L)
)
(defun head (L)
(reverse (cdr (reverse L)))
)
(reverse (cdr (reverse L)))
)
(defun isempty (L)
(null L)
)
(null L)
)
(defun isonelmnt (L)
(and (not (null L)) (null (cdr L)))
)
(and (not (null L)) (null (cdr L)))
)
(defun nbelmnt (L) //menghitung banyaknya jumlah elemen
(cond ((isempty L)0)
(T(+ 1 (nbelmnt (tail L))))
))
(cond ((isempty L)0)
(T(+ 1 (nbelmnt (tail L))))
))
(defun prev (n)
(- n 1)
)
(- n 1)
)
(defun elmntken (N L)
(cond (( = N 1) (firstelmnt L))
(T(elmntken (prev N)(tail L)))
))
(cond (( = N 1) (firstelmnt L))
(T(elmntken (prev N)(tail L)))
))
(defun ismember (X L)
(cond ((null L) nil)
((= (car L) X) t)
(t (ismember X (cdr L)))
untuk kumpulan soal ALPRO tentang list beserta pembahasannya bisa langsung download(cond ((null L) nil)
((= (car L) X) t)
(t (ismember X (cdr L)))
download disini (soal)
download disini (pembahasan)
catatan : file pembahasan ekstensinya pake (.lsp)
Kalo ada kesulitan bisa di tanyakan langsung aja melalui kolom komentar..
0 komentar:
Posting Komentar