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

G l i gi ng nh vi c đi u tra t i ph m. B n có trong tay các manh m i, ph i suy lu n ra các quá trình

ỡ ỗ

ư ệ

và s ki n d n đ n nh ng h u qu đang ch ng ki n.

ự ệ

ế

ế

Vi c g l i cũng gi ng nh khoa h c th c nghi m. M i khi có ý ki n v nguyên nhân d n đ n l i sai,

ệ ỡ ỗ

ư

ế

ế ỗ

b n s a ch a ch

ng trình và th c hi n l i. N u gi thi t c a b n là đúng thì b n thu đ

c k t qu c a

ạ ử

ươ

ệ ạ

ế

ế ủ

ượ ế

ả ủ

công vi c s a ch a, đ ng th i ti n m t b

c g n h n t i ch

ng trình đúng. Còn n u gi thi t là sai thì

ệ ử

ờ ế

ộ ướ ầ

ơ ớ

ươ

ế

ế

b n c n đ ra m t gi thi t m i. Sherlock Holmes đã ch ra, “Khi b n đã lo i tr t t c nh ng đi u

ạ ầ

ế

ạ ừ ấ ả

không th thì nh ng gì còn l i, dù có m p m đ n đâu, chính là s th t”. (A. Conan Doyle,

ờ ế

ự ậ

D u c a b

ấ ủ

t

)

Đ i v i m t s ng

i, vi c l p trình và g l i là gi ng nhau. Đó là vì l p trình chính là quá trình g l i

ố ớ

ộ ố

ườ

ệ ậ

ỡ ỗ

ỡ ỗ

d n d n đ n khi b n có đ

c ch

ng trình mong mu n. Ý t

ng đây là b n nên b t đ u v i m t

ế

ượ

ươ

ưở

ắ ầ

ch

ng trình th c hi n đ

c

ươ

ượ m t đi u gì đó

, r i th c hi n các ch nh s a nh , g l i trong quá trình

ỏ ỡ ỗ

phát tri n, đ n khi b n có đ

c m t ch

ng trình hoàn thi n.

ế

ượ

ươ

Ch ng h n, Linux là m t h đi u hành bao g m hàng nghìn dòng l nh, nh ng nó ch b t đ u t m t

ộ ệ ề

ư

ỉ ắ ầ ừ ộ

ch

ng trình đ n gi n do Linus Torvalds dùng đ khám phá chip Intel 80386. Theo Larry Greenfield

ươ

ơ

thì “M t trong nh ng d án tr

c đó c a Linus là m t ch

ng trình có nhi m v chuy n t vi c in

ướ

ươ

ể ừ ệ

AAAA thành BBBB. Sau đó nó d n tr thành Linux”. (

The Linux Users’ Guide Beta Version 1 / H

ng

ướ

d n s d ng Linux

ẫ ử ụ

, phiên b n Beta 1).

Các ch

ng ti p sau đây s nói thêm v vi c g l i và các v n đ th c t trong l p trình.

ươ

ế

ề ệ ỡ ỗ

ề ự ế

1.4 Ngôn ng hình th c và ngôn ng t nhiên

ữ ự

Ngôn ng t nhiên

ữ ự

đ

c m i ng

i dùng đ giao ti p, ví d Ti ng Anh, Ti ng Tây Ban Nha, Ti ng

ượ

ườ

ế

ụ ế

ế

ế

Pháp. Chúng t do phát tri n mà không đ nh theo khuôn m u v i b t kì m c đích nào (m c dù có m t

ớ ấ

s tr t t ch ng h n nh ng pháp);

ố ậ ự ẳ

ư

Ngôn ng hình th c

đ c con ng i thi t k đ ng d ng trong nh ng lĩnh v c riêng. Ch ng h n, kí

ượ

ườ

ế ế ể ứ

hi u toán h c chính là m t ngôn ng hình th c r t h u d ng đ bi u di n m i quan h gi a nh ng bi n

ứ ấ ữ

ể ể

ệ ữ

ế

l

ng và con s . Trong hoá h c, m t lo i ngôn ng hình th c khác đ

c dùng đ bi u di n c u trúc hoá

ượ

ượ

ể ể

ễ ấ

h c c a các phân t . Và quan tr ng nh t:

ọ ủ

Ngôn ng l p trình là nh ng ngôn ng hình th c đ

c thi t k ph c v m c đích

ữ ậ

ượ

ế ế

ụ ụ

di n t quá trình tính toán.

Các ngôn ng hình th c th

ng có quy đ nh r t ch t ch v cú pháp. Ch ng h n,

ườ

ẽ ề

ạ 3 + 3 = 6

        là m t bi u

th c toán h c đúng, nh ng

ư 3 $ = thì không.

     

H

2

O là m t công th c hoá h c đúng v cú pháp, còn

2

Zz thì

không.
Các quy t c cú pháp có hai d ng, thu c v các

ộ ề

nguyên t

ố và c u trúc. Nguyên t là các thành ph n c s

ầ ơ ở

c a ngôn ng , ch ng h n, các t , các con s , và các nguyên t hoá h c. Trong ví d nêu trên,

3 $ = có l i

     

sai vì

$

không ph i là m t nguyên t h p l trong toán h c (theo nh tôi đ

c bi t). T

ng t nh

ố ợ ệ

ư

ượ

ế

ươ

ư

v y,

2

Zz không h p l vì không có nguyên t hoá h c nào có kí hi u là

ợ ệ

Zz.

Lo i l i cú pháp th hai thu c v d ng c u trúc c a m t m nh đ ; nghĩa là cách s p x p các nguyên t .

ạ ỗ

ộ ề ạ

ế

M nh đ

ề 3 $ = không h p l v c u trúc là vì b n không th đ d u b ng cu i ph ng trình đ c.

ợ ệ ề ấ

ể ể ấ

ở ố

ươ

ượ

T

ng t nh v y, trong m t công th c hoá h c thì ch s ph i đ

c đ t sau tên nguyên t ch không

ươ

ư ậ

ỉ ố

ả ượ ặ

ố ứ

ph i đ t tr

c.

ả ặ

ướ

M i khi đ c m t câu trong ngôn ng t nhiên, ho c trong ngôn ng hình th c, b n c n hình dung đ

c

ữ ự

ạ ầ

ượ

c u trúc c a câu đó là gì (m c dù v i ngôn ng t nhiên thì vi c làm này đ

c th c hi n m t cách vô

ữ ự

ượ

th c). Quá trình này đ

c g i là

ượ ọ

phân tách.

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.