THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 54

và th mã l nh—chúng ta có th s d ng ph

ng th c mà không c n ph i xem l i ph n mã l nh n a.

ể ử ụ

ươ

Đi u t

ng t cũng đúng v i các ch

ng trình đ quy. Khi b n đ n đi m kích ho t đ quy, thay vì đi

ề ươ

ươ

ế

ạ ệ

theo lu ng th c hi n, b n c n

ạ ầ coi r ng

l i g i đ quy ho t đ ng t t (t c là cho k t qu đúng) và sau đó

ờ ọ ệ

ạ ộ

ế

t h i mình “Gi d nh ta đã tìm đ

c giai th a c a

ự ỏ

ả ụ

ư

ượ

ừ ủ n−1, li u ta có tính đ c giai th a c a

ượ

ừ ủ n không?”

Trong tr

ng h p này, rõ ràng là ta s tính đ

c, b ng cách nhân v i

ườ

ượ

n.

Dĩ nhiên là s có chút kì l trong vi c ta gi s r ng hàm ho t đ ng t t khi ch a vi t xong nó, nh ng

ả ử ằ

ạ ộ

ư

ế

ư

chính vì v y mà ta g i đó là ni m tin!

6.10 Thêm m t ví d

Ví d thông d ng th hai đ minh h a cho m t hàm toán toán h c đ quy là

ọ ệ

fibonacci, v i cách đ nh

nghĩa hàm nh sau:

ư

fibonacci(0) = 1
fibonacci(1) = 1
fibonacci(n) = fibonacci(n−1) + fibonacci(n−2);

Chuy n sang ngôn ng Java, ta vi t đ

c

ế ượ

public static int

fibonacci(

int

n) {

if

(n == 0 || n == 1) {

return

1;

}

else

{

return

fibonacci(n-1) + fibonacci(n-2);

}

}

N u b n th g ng theo lu ng th c hi n đây, ngay c v i các giá tr nh c a

ế

ử ắ

ệ ở

ả ớ

ỏ ủ n, b n s đau đ u ngay.

ạ ẽ

Nh ng b ng ni m tin, n u b n coi r ng c hai l i g i đ quy đ u ho t đ ng t t, thì rõ ràng b n s thu

ư

ế

ờ ọ ệ

ạ ộ

ạ ẽ

đ

c k t qu đúng khi c ng chúng l i v i nhau.

ượ ế

ạ ớ

6.11 Thu t ng

ki u tr l i:

ả ạ

Ph n c a l i khai báo ph ng th c, trong đó quy đ nh ki u c a giá tr mà ph ng th c đó s tr l i.

ầ ủ ờ

ươ

ể ủ

ươ

ẽ ả ạ

giá tr tr l i:

ị ả ạ

Giá tr đ c đ a ra làm k t qu c a vi c kích ho t ph ng th c.

ị ượ ư

ế

ả ủ

ươ

đo n mã ch t:

ế

Ph n ch ng trình không bao gi đ c th c hi n, th ng là do nó xu t hi n sau m t câu

ươ

ờ ượ

ườ

l nh

return

.

dàn giáo:
Mã l nh đ

c dùng trong giai đo n phát tri n ch ng trình nh ng b b đi phiên b n ch ng trình

ượ

ươ

ư

ị ỏ

ươ

cu i.

r ng (void):

M t ki u tr l i đ c bi t có ph ng th c r ng; nghĩa là ph ng th c không tr l i giá tr nào.

ả ạ ặ

ươ

ứ ỗ

ươ

ả ạ

quá t i:

Vi c có nhi u ph ng th c v i cùng tên g i nh ng có các tham s khác nhau. Khi b n kích ho t m t

ươ

ứ ớ

ư

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.