saya menggunakan aplikasi yang bernama CLISP
soal bisa di download disini
oh iya saya lupa untuk coding bisa menggunakan notepad biasa bisa juga noteped++, disini saya menggunakan notepad++ :)
untuk jawaban nya saya ketik dibawah ini, agar para sobat blogger bisa memahami (biar gak cuma copas aja nanti dikira penjiplak ^_^ )
==============================================================
Rekursif Tipe Bilangan :
;Penjumlahan dan Jumlahan***********************************==============================================================
(defun Add(m n)
(if (= n 0) m
(+ ( Add m (- n 1)) 1)
)
)
(defun Add1(m n)
(if (= m 0) n
(+ (Add1 (- m 1) n) 1)
)
)
(defun Add2(m n)
(cond ((And(= m 0)(= n 0))0)
((> m 0)(+(Add2 (- m 1) n ) 1))
((> n 0)(+(Add2 m (- n 1)) 1))
)
)
(defun AddTr(m n)
(if (= m 0) n
(AddTr (- m 1) (+ n 1))
)
)
(defun Sum(n)
(if (< n 1) 0
(+(Sum (- n 1))n)
)
)
(defun SumTR(n acc)
(if (< n 1) acc
(SumTR (- n 1) (+ acc n))
)
)
;Perkalian***************************************************
(defun Mult(m n)
(if (= n 0) 0
(+ (Mult m (- n 1)) m)
)
)
(defun MulTR(m n acc)
(if (= n 0) acc
(MulTR m (- n 1) (+ acc n))
)
)
;Pembagian**************************************************
(defun Bagi(m n)
(if (< m n) 0
(+ (Bagi (- m n) n) 1)
)
)
;Modulo*****************************************************
(defun Modulo (n m)
(if (< n m) n
(Modulo (- n m) m)
)
)
;Pagkat*****************************************************
(defun Pangkat(a n)
(if (= n 0) 1
(* (Pangkat a (- n 1)) a)
)
)
;Menentukan Bilangan Ganjil*********************************
(defun IsGanjil(n)
(cond ((= n 0)nil)
((= n 1)t)
((IsGanjil (- n 2)))
)
)
;Faktorial*************************************************
(defun Fact(n)
(if (= n 0) 1
(* (Fact (- n 1)) n)
)
)
;Fibonacci***************************************************
(defun Fibo(n)
(cond ((= n 0) 0)
((= n 1) 1)
((+(fibo (- n 1)) (fibo (- n 2))))
)
)
;Faktor Pembagi Besar*****************************************
(defun FPB(m n)
(if (= (mod m n) 0) n
(FPB n (mod m n))
)
)
;Deret Segitiga************************************************
(defun DeretSegitiga(n)
(cond ((= n 1)1)
((+(DeretSegitiga (- n 1))n))
)
)
Rekursif Tipe List :
(defun ambil1(L)==============================================================
(car L)
)
(defun hapus1(L)
(cdr L)
)
(defun count1(L)
(cond ((eql (ambil1 L) nil )0)
(t (+ 1(count1 (hapus1 L))))
)
)
(defun sum1(L)
(cond ((eql (ambil1 L) nil) 0)
(t (+ (ambil1 L) (sum1 (hapus1 L))))
)
)
(defun average1(L)
(* (/ (sum1 L)(count1 L))1.0)
)
(defun tail (le)
(if (null le) 0
(cdr le)
)
)
(defun counts (le)
(if (atom le) 0
(+ 1(counts (tail le)))
)
)
(defun sum (le)
(if (atom le) 0
(+ (car le) (sum(tail le)) )
)
)
(defun average(le)
(/ (sum le) (counts le))
)
(defun countstr (le ak)
(if (atom le) ak
(countstr (tail le) (+ ak 1))
)
)
(defun sumtr(le ak)
(if (atom le) ak
(sumtr (tail le) (+ (car le) ak))
)
)
(defun averagetr(le)
(/ (sumtr le 0) (countstr le 0))
)
(defun hitpost (Le)
(if (null Le)0
(if (> (car le) 0)
(+ 1 (hitpost (cdr Le)))
(+ 0(hitpost (cdr Le)))
)
)
)
(defun jumpost(le)
(if (null le)0
(if (> (car le) 0)
(+ (car le) (jumpost(tail le)) )
(+ 0(jumpost (cdr le)))
)
)
)
(defun rata(le)
(/ (jumpost le) (hitpost le))
)
(defun isequal(le1 le2)
(equal le1 le2)
)
(defun inverse(le)
(reverse le)
)
(defun maxlist (le)
(if (not(cdr le)) (car le)
(if (> (car(reverse le)) (maxlist (reverse(cdr(reverse le)))))
(car(reverse le))
(maxlist(reverse (cdr (reverse le))))
)
)
)
(defun selection-sort (le)
(if (null le) le
(let ((max-element (maxlist le)))
(cons max-element(selection-sort (remove max-element le)))
)
)
)
(defun insertd (a li)
(if (or (endp li )(<= a (car li))) (cons a li)
(cons (car li)(insertd a (cdr li)))
)
)
(defun insort (li)
(if (endp li) li
(insertd (car li)(insort (cdr li)))
)
)
jika para blogger malas untuk mengetik, saya langsung kasih file nya dibawah iniii.
jawaban : disini
Sekian postingan tentang "Modul F-04" tunggu selanjutnya Modul F-05.
0 Comments
EmoticonEmoticon