Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman.

Presentasi serupa


Presentasi berjudul: "DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman."— Transcript presentasi:

1 DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman

2 #4. Recursion Recursion is a procedure that calls itself PLT SCHEME

3 Example 1 (1) totoharyanto@ipb.ac.id 3 Calculate nth power of some number m m x m n-1, for n>0 m n = 1,for n = 0 Functional (define (higher m n) (if (zero? n) 1 (* m (lower m (- n 1)))) ) (define (lower m n) (higher m n) ) (higher 2 3)

4 Example 1 (2) totoharyanto@ipb.ac.id 4 Recursive (define (higher m n) (if (zero? n) 1 (* m (higher m (- n 1)))) ) * (higher 2 3)

5 Example 2 totoharyanto@ipb.ac.id 5 Fibonacci function f(n-1) + f(n-2), for n> 1 f(n) = 1, for n = 1 1, for n = 0 “fibo.ss” (define (fibonacci n) (if (or (= n 0) (= n 1)) 1 (+ (fibonacci (- n 1)) (fibonacci (- n 2)))) ) * (fibonacci 4)

6 Exercises 1 totoharyanto@ipb.ac.id 6 Buatlah fungsi untuk menghitung jumlah elemen dalam list * (count-elements '(fast computer are nice))  4 * (count-elements '())  0 * (count-elements '(()))  1 * (count-elements '(fast computer () are nice))  5 * (count-elements '(sqrt (expt x 2) (expt y 3)))  3

7 Example 3 totoharyanto@ipb.ac.id 7 Faktorial Faktorial(n) = 1 ; if n = 0 or 1 (n * Faktorial (n -1) ) ; if n > 1 Buatlah kode program dalam PLT SCHEME ?

8 Fungsi Apakah ini ? totoharyanto@ipb.ac.id 8 Diberikan pseudocode sebagai Berikut ! int jumlah(int a, int b) { if (b==0) return a; else return 1+jumlah(a,b-1); } Tugas! 1. Terjemahkan ke dalam PLT SCHEME 2. Telusuri fungsi tersebut jika dipanggil dengan jumlah(3,2)

9 Exercises 2 totoharyanto@ipb.ac.id 9 Buatlah fungsi elemen-ke dari suatu list > (nth 3 '(1 2 3 4 5))  3 > (nth 0 '(0 1 2 3 4 5))  error > (nth 5 '(1 2 3 4 5))  5 > (nth 6 '(1 2 3 4 5))  error

10 Exercises 3 totoharyanto@ipb.ac.id 10 Buat fungsi remove-last untuk membuang elemen terakhir dari suatu list * (remove-last ‘(a b c))  (a b) * (remove-last '(a))  () * (remove-last '())  () Buat fungsi jumlah untuk menjumlahkan elemen yang bernilai genap dalam suatu list !


Download ppt "DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman."

Presentasi serupa


Iklan oleh Google