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

thông d ng, và đôi khi đ

c g i là

ượ ọ

tham s tr u t

ng

ố ừ

ượ . đây, “tr u t ng” có nghĩa là th mà đúng

ừ ượ

ra không có m t trên mã l nh ch

ng trình, nh ng l i di n t tính năng c a ch

ng trình theo c p đ ý

ươ

ư

ễ ả

ươ

t

ng cao h n.

ưở

ơ

Ch ng h n, khi b n kích ho t m t ph

ng th c r i truy n vào m t m ng cùng v i các gi i

ươ

ứ ồ

h n

ạ low và high, không có gì ngăn c n

c ph

ng th c đã kích ho t kh i truy c p ph n c a m ng

ả ươợ

ươ

ầ ủ

n m ngoài ph m vi gi i h n nói trên. B i v y th t ra b n không g i m t t p con c a c bài; b n đang

ớ ạ

ở ậ

ộ ậ

ủ ỗ

g i toàn b c bài. Nh ng mi n là b ph n ti p nh n (t c là ph n n i dung ph

ng th c) tuân theo lu t

ộ ỗ

ư

ế

ươ

ch i, thì ta có th coi r ng đó chính là m t c bài con.

ơ

ộ ỗ

Hình th c suy nghĩ này, trong đó ch

ng trình có hàm ý cao xa h n là nh ng câu mã l nh, chính là m t

ươ

ơ

ph n quan tr ng trong t duy nhà khoa h c máy tính. T “tr u t

ng” đã xu t hi n quá nhi u trong

ư

ừ ượ

nhi u ng c nh khác nhau và đi u này khi n cho ý nghĩa c a nó b loãng đi. M c dù v y,

ữ ả

ế

tr u

t

ng

ượ chính là m t ý t ng tr ng tâm trong ngành khoa h c máy tính (cũng nh nhi u ngành khác).

ưở

ư

M t đ nh nghĩa khái quát h n cho “tr u t

ng” là “Quá trình mô hình hóa m t h th ng ph c t p b ng

ộ ị

ơ

ừ ượ

ộ ệ ố

ứ ạ

di n gi i đ

c gi n hóa, nh m l

c đi nh ng chi ti t không liên quan đ ng th i n m b t đ

c nh ng

ả ượ

ượ

ế

ờ ắ

ắ ượ

đ ng thái mà ta c n quan tâm.”

13.10 Thu t ng

mã hóa:
Vi c bi u di n m t t p h p các giá tr b ng m t t p h p các giá tr khác, b ng vi c thi t l p m t ánh

ộ ậ

ị ằ

ộ ậ

ế ậ

x gi a chúng.

ạ ữ

gi ng h t:

S b ng nhau gi a các tham chi u. Hai tham chi u ch đ n cùng m t đ i t

ng trong b nh .

ự ằ

ế

ế

ỉ ế

ộ ố ượ

t

ng đ ng:

ươ

S b ng nhau gi a các giá tr . Hai tham chi u ch đ n hai đ i t ng ch a d li u gi ng nhau.

ự ằ

ế

ỉ ế

ố ượ

ữ ệ

tham s tr u t

ng:

ố ừ

ượ

M t t p h p g m các tham s ho t đ ng cùng nhau nh m t tham s th ng nh t.

ộ ậ

ạ ộ

ư ộ

ố ố

tr u t

ng:

ượ

Quá trình di n gi i m t ch ng trình (hay th khác) m t c p đ cao h n so v i nh ng gì đ

c

ươ

ở ộ ấ

ơ

ượ

vi t d

i d ng mã l nh.

ế ướ ạ

13.11 Bài t p

Bài t p 1

Hãy gói b c mã l nh trong M c

ụ 13.5 vào m t ph ng th c. Sau đó ch nh s a nó đ b c c a

ươ

ể ậ ủ

Át cao h n K.

ơ

Bài t p

ậ 2 Hãy gói b c mã l nh thi t l p c bài M c

ế ậ ỗ

ở ụ 13.6 vào trong m t ph ng th c có

ươ

tên makeDeck không nh n tham s nào và tr l i m t m ng đã đi n đ y đ nh ng lá bài (

ả ạ

Card).

Bài t p

ậ 3 Trong trò ch i Blackjack, m c tiêu là l y đ c m t nhóm cây bài có t ng đi m b ng 21.

ơ

ượ

Đi m c a nhóm bài b ng t ng các đi m trên nh ng cây bài. Đi m cho nh ng quân Át b ng 1, cho nh ng

quân bài m t ng

i b ng 10, và nh ng quân khác thì đi m đúng b ng b c. Ch ng h n, nhóm ba quân

ườ ằ

bài (Ace, 10, Jack, 3) có t ng đi m là 1 + 10 + 10 + 3 = 24.

Hãy vi t m t ph

ng th c có

ế

ươ

tên handScore nh n vào đ i ó là m t m ng nh ng lá bài r i tr l i t ng đi m.

ố ố

ồ ả ạ ổ

Bài t p

ậ 4 Trong trò ch i Poker, m t “dây” (flush) là m t nhóm lá bài có t 5 lá tr lên cùng ch t. M t

ơ

nhóm bài có th ch a bao nhiêu lá bài cũng đ

c.

ể ứ

ượ