Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 1
MÔN TIN H CỌ
Tài li u tham kh o :ệ ả
T p slide bài gi ng & th c hành c a môn h c này.ậ ả ự ủ ọ
3 CD MSDN trong Microsoft Visual Studio.
N i dung chính g m 12 ch ng :ộ ồ ươ
1. Ph ng pháp gi i quy t bài toán ươ ả ế
b ng máy tính s .ằ ố
2. Th hi n d li u trong máy tính s .ể ệ ữ ệ ố
3. T ng quát v l p trình b ng VB.ổ ề ậ ằ
4. Qui trình thi t k tr c quan giao ế ế ự
di n.ệ
5. Các ki u d li u c a VB.ể ữ ệ ủ
6. Các l nh nh ngh a & khai báo.ệ đị ĩ
7. Bi u th c VB.ể ứ
8. Các l nh th c thi VB.ệ ự
9. nh ngh a th t c & s d ng.Đị ĩ ủ ụ ử ụ
10. T ng tác gi a ng i dùng & ươ ữ ườ
ch ng trình.ươ
11. Qu n lý h th ng file.ả ệ ố
12. Linh ki n ph n m m & truy ệ ầ ề
xu t database.ấ
i t ng :Đố ượ SV i h c chính quy toàn tr ngđạ ọ ườ
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 2
MÔN TIN H CỌ
Ch ng 1ươ
PH NG PHÁP GI I QUY T BÀI TOÁNƯƠ Ả Ế
B NG MÁY TÍNH SẰ Ố
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
1.1 Các khái ni m c b n v máy tính sệ ơ ả ề ố
1.2 L ch s phát tri n máy tính sị ử ể ố
1.3 D li u & ch ng trìnhữ ệ ươ
1.4 Qui trình t ng quát gi i quy t bài toán b ng máy tính sổ ả ế ằ ố
1.5 Phân tích bài toán t -trên-xu ngừ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 3
Con ng i thông minh h n các ng v t khác nhi u. Trong cu c s ng, ườ ơ độ ậ ề ộ ố
h ã ch t o ngày càng nhi u ọ đ ế ạ ề công c , thi t bụ ế ị h tr mình trong để ỗ ợ
ho t ng. Các công c , thi t b do con ng i ch t o ngày càng tinh ạ độ ụ ế ị ườ ế ạ
vi, ph c t p và th c hi n nhi u công vi c h n tr c ây. M i công c , ứ ạ ự ệ ề ệ ơ ướ đ ỗ ụ
thi t b th ng ch th c hi n c 1 vài công vi c c th nào ó. Thí ế ị ườ ỉ ự ệ đượ ệ ụ ể đ
d , cây ch i quét, radio b t và nghe ài audio ụ ổ để để ắ đ
Máy tính số (digital computer) c ng là 1 thi t b , nh ng thay vì ch th c ũ ế ị ư ỉ ự
hi n 1 s ch c n ng c th , sát v i nhu c u i th ng c a con ng i, ệ ố ứ ă ụ ể ớ ầ đờ ườ ủ ườ
nó có th th c hi n 1 s h u h n các ch c n ng c b n (ể ự ệ ố ữ ạ ứ ă ơ ả t p l nhậ ệ ), m i ỗ
l nh r t s khai ch a gi i quy t tr c ti p c nhu c u i th ng nào ệ ấ ơ ư ả ế ự ế đượ ầ đờ ườ
c a con ng i. ủ ườ C ch th c hi n các l nh là t ngơ ế ự ệ ệ ự độ , b t u t l nh ắ đầ ừ ệ
c ch nh nào ó r i tu n t t ng l nh k ti p cho n l nh cu i đượ ỉ đị đ ồ ầ ự ừ ệ ế ế đế ệ ố
cùng. Danh sách các l nh c th c hi n này c g i là ệ đượ ự ệ đượ ọ ch ng ươ
trình.
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
1.1 Các khái ni m c b n v máy tính sệ ơ ả ề ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 4
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Các l nh mà máy hi u và th c hi n c c g i là ệ ể ự ệ đượ đượ ọ l nh máyệ .
Ta dùng ngôn ng miêu t các l nh. ữ để ả ệ Ngôn ng l p trìnhữ ậ c u ấ
thành t 2 y u t chính y u : cú pháp và ng ngh a. Cú pháp qui ừ ế ố ế ữ ĩ
nh tr t t k t h p các ph n t c u thành 1 l nh (câu), còn đị ậ ự ế ợ ầ ử để ấ ệ
ng ngh a cho bi t ý ngh a c a l nh ó.ữ ĩ ế ĩ ủ ệ đ
B t k công vi c (ấ ỳ ệ bài toán) ngoài i nào c ng có th c chia đờ ũ ể đượ
thành trình t nhi u công vi c nh h n. Trình t các công vi c ự ề ệ ỏ ơ ự ệ
nh này c g i là gi i thu t gi i quy t công vi c ngoài i. M i ỏ đượ ọ ả ậ ả ế ệ đờ ỗ
công vi c nh h n c ng có th c chia nh h n n a n u nó ệ ỏ ơ ũ ể đượ ỏ ơ ữ ế
còn ph c t p, ứ ạ ⇒ công vi c ngoài i có th c miêu t b ng ệ đờ ể đượ ả ằ
1 trình t các l nh máy (ch ng trình ngôn ng máy).ự ệ ươ ữ
Các khái ni m c b n v máy tính sệ ơ ả ề ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 5
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
V n m u ch t c a vi c dùng máy tính gi i quy t công vi c ngoài i ấ đề ấ ố ủ ệ ả ế ệ đờ
là l p trìnhậ ( c hi u nôm na là qui trình xác nh trình t úng các đượ ể đị ự đ
l nh máy th c hi n công vi c). Cho n nay, ệ để ự ệ ệ đế l p trình là công vi c ậ ệ
c a con ng iủ ườ (v i s tr giúp ngày càng nhi u c a máy tính).ớ ự ợ ề ủ
V i công ngh ph n c ng hi n nay, ta ch có th ch t o các máy tính ớ ệ ầ ứ ệ ỉ ể ế ạ
mà t p l nh máy r t s khai, m i l nh máy ch có th th c hi n 1 công ậ ệ ấ ơ ỗ ệ ỉ ể ự ệ
vi c r t nh và n gi n ệ ấ ỏ đơ ả ⇒ công vi c ngoài i th ng t ng ng ệ đờ ườ ươ đươ
v i trình t r t l n (hàng tri u) các l nh máy ớ ự ấ ớ ệ ệ ⇒ L p trình b ng ngôn ậ ằ
ng máy r t ph c t p, t n nhi u th i gian, công s c, k t qu r t khó ữ ấ ứ ạ ố ề ờ ứ ế ả ấ
b o trì, phát tri nả ể .
Ta mu n có máy lu n lý v i t p l nh ( c c t b i ngôn ng l p ố ậ ớ ậ ệ đượ đặ ả ở ữ ậ
trình) cao c p và g n g i h n v i con ng i. Ta th ng hi n th c máy ấ ầ ủ ơ ớ ườ ườ ệ ự
này b ng 1 máy v t lý + 1 ch ng trình d ch. Có 2 lo i ch ng trình ằ ậ ươ ị ạ ươ
d ch : trình biên d ch (compiler) và trình thông d ch (interpreter).ị ị ị
Các khái ni m c b n v máy tính sệ ơ ả ề ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 6
Trình biên d ch (Compiler)ị
Ch ng trình biên d ch nh n m t ươ ị ậ ộ ch ng trình ngu n ươ ồ (th ng ườ
c vi t b ng ngôn ng c p cao) và t o ra m t đượ ế ằ ữ ấ ạ ộ ch ng trình i ươ đố
t ng ượ t ng ng v ch c n ng nh ng th ng c vi t b ng ươ ứ ề ứ ă ư ườ đượ ế ằ
ngôn ng c p th p (th ng là ngôn ng máy). ữ ấ ấ ườ ữ
N u có l i x y ra trong lúc d ch, trình biên d ch s báo l i, c g ng ế ỗ ả ị ị ẽ ỗ ố ắ
tìm v trí úng k ti p r i ti p t c d ch… Nh v y, m i l n d ch 1 ị đ ế ế ồ ế ụ ị ờ ậ ỗ ầ ị
ch ng trình, ta s xác nh c nhi u l i nh t có th có. ươ ẽ đị đượ ề ỗ ấ ể
Sau m i l n d ch, n u không có l i, trình biên d ch s t o ra file ỗ ầ ị ế ỗ ị ẽ ạ
ch a ứ ch ng trình i t ng ươ đố ượ (thí d file ch ng trình kh thi *.exe ụ ươ ả
trên Windows).
ch y ch ng trình, ng i dùng ch c n kích ho t file kh thi Để ạ ươ ườ ỉ ầ ạ ả
(ng i dùng không bi t và không c n quan tâm n file ch ng ườ ế ầ đế ươ
trình ngu n). ồ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 7
Trình thông d ch (Interpreter)ị
Ch ng trình thông d ch không t o ra và l u gi ch ng trình i ươ ị ạ ư ữ ươ đố
t ng. ượ
M i l n thông d ch 1 ch ng trình ngu n là 1 l n c g ng ch y ỗ ầ ị ươ ồ ầ ố ắ ạ
ch ng trình này theo cách th c sau :ươ ứ
d ch và chuy n sang mã th c thi t ng l nh m t r i nh máy ị ể ự ừ ệ ộ ồ ờ
ch y o n l nh t ng ng.ạ đ ạ ệ ươ ứ
N u có l i thì báo l i, n u không có l i thì thông d ch l nh k ế ỗ ỗ ế ỗ ị ệ ế
ti p cho n khi h t ch ng trình.ế đế ế ươ
Nh v y, m i l n thông d ch ch ng trình, trình thông d ch ch ư ậ ỗ ầ ị ươ ị ỉ
thông d ch các l nh trong lu ng thi hành c n thi t ch không ị ệ ồ ầ ế ứ
thông d ch h t m i l nh c a ch ng trình ngu n. Do ó, sau ị ế ọ ệ ủ ươ ồ đ
khi thông d ch thành công 1 ch ng trình, ta không th k t lu n ị ươ ể ế ậ
r ng ch ng trình này không có l i.ằ ươ ỗ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 8
So sánh trình biên d ch & trình thông d chị ị
M i ho t ng x lý trên m i mã ngu n c a ch ng trình (ki m tra l i, d ch ra ọ ạ độ ử ọ ồ ủ ươ ể ỗ ị
các l nh i t ng t ng ng, ) u c ch ng trình biên d ch th c ệ đố ượ ươ đươ đề đượ ươ ị ự
hi n t o c ch ng trình i t ng. Do ó sau khi d ch các file mã ngu n ệ để ạ đượ ươ đố ượ đ ị ồ
c a ch ng trình, n u không có l i, ta có th k t lu n ch ng trình không th ủ ươ ế ỗ ể ế ậ ươ ể
có l i th i i m d ch (t v ng, cú pháp). Quá trình biên d ch và quá trình th c ỗ ờ đ ể ị ừ ự ị ự
thi ch ng trình là tách r i nhau : biên d ch 1 l n và ch y nhi u l n cho n khi ươ ờ ị ầ ạ ề ầ đế
c n c p nh t version m i c a ch ng trình.ầ ậ ậ ớ ủ ươ
Ch ng trình thông d ch s thông d ch t ng l nh theo lu ng thi hành c a ươ ị ẽ ị ừ ệ ồ ủ
ch ng trình b t u t i m nh p c a ch ng trình, thông d ch 1 l nh g m 2 ươ ắ đầ ừ đ ể ậ ủ ươ ị ệ ồ
ho t ng : biên d ch l nh ó và th c thi các l nh k t qu . N u 1 o n l nh c n ạ độ ị ệ đ ự ệ ế ả ế đ ạ ệ ầ
c th c thi l p l i thì trình thông d ch s ph i thông d ch l i t t c o n l nh đượ ự ặ ạ ị ẽ ả ị ạ ấ ả đ ạ ệ
ó. i u này s làm cho vi c ch y ch ng trình trong ch thông d ch không đ Đ ề ẽ ệ ạ ươ ế độ ị
hi u qu .ệ ả
Vi c ch y ch ng trình b ng c ch thông d ch òi h i ch ng trình thông d ch ệ ạ ươ ằ ơ ế ị đ ỏ ươ ị
và ch ng trình ng d ng c n ch y ph i t n t i ng th i trong b nh máy ươ ứ ụ ầ ạ ả ồ ạ đồ ờ ộ ớ
tính, do ó có nguy c ch y không c các ch ng trình l n n u tài nguyên đ ơ ạ đượ ươ ớ ế
c a máy không cho c 2 ch ng trình thông d ch và ch ng trình ng ủ đủ ả ươ ị ươ ứ
d ng.ụ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 9
G i ngôn ng máy v t lý là Nọ ữ ậ
0
. Trình biên d ch ngôn ng Nị ữ
1
sang
ngôn ng Nữ
0
s nh n u vào là ch ng trình c vi t b ng ngôn ẽ ậ đầ ươ đượ ế ằ
ng Nữ
1
, phân tích t ng l nh Nừ ệ
1
r i chuy n thành danh sách các l nh ồ ể ệ
ngôn ng Nữ
0
có ch c n ng t ng ng. vi t ch ng trình d ch ứ ă ươ đươ Để ế ươ ị
t ngôn ng Nừ ữ
1
sang N
0
d dàng, ph c t p c a t ng l nh ngôn ễ độ ứ ạ ủ ừ ệ
ng Nữ
1
không quá cao so v i t ng l nh ngôn ng Nớ ừ ệ ữ
0
.
Sau khi có máy lu n lý hi u c ngôn ng lu n lý Nậ ể đượ ữ ậ
1
, ta có th nh ể đị
ngh a và hi n th c máy lu n lý Nĩ ệ ự ậ
2
theo cách trên và ti p t c n khi ta ế ụ đế
có 1 máy lu n lý hi u c ngôn ng Nậ ể đượ ữ
m
r t g n gấ ầ ũi v i con ng i, ớ ườ
d dàng miêu t gi i thu t c a bài toán c n gi i quy t ễ ả ả ậ ủ ầ ả ế
Nh ng qui trình trên ch a có i m d ng, v i yêu c u ngày càng cao ư ư đ ể ừ ớ ầ
và ki n th c ngày càng nhi u, ng i ta ti p t c nh ngh a nh ng ế ứ ề ườ ế ụ đị ĩ ữ
ngôn ng m i v i t p l nh ngày càng g n gữ ớ ớ ậ ệ ầ ũi h n v i con ng i ơ ớ ườ để
miêu t gi i thu t càng d dàng, g n nh và trong sáng h n. ả ả ậ ễ ọ ẹ ơ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Các khái ni m c b n v máy tính sệ ơ ả ề ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 10
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Ngôn ng máyữ v t lý là lo i ngôn ng th p nh t mà ng i l p trình ậ ạ ữ ấ ấ ườ ậ
bình th ng có th dùng c. Các l nh và tham s c a l nh c ườ ể đượ ệ ố ủ ệ đượ
miêu t b i các s binary (hay hexadecimal - s c miêu t chi ti t ả ở ố ẽ đượ ả ế
trong ch ng 2). ây là lo i ngôn ng mà máy v t lý có th hi u tr c ươ Đ ạ ữ ậ ể ể ự
ti p, nh ng con ng i thì g p nhi u khó kh n trong vi c vi t và b o trì ế ư ườ ặ ề ă ệ ế ả
ch ng trình c p này.ươ ở ấ
Ngôn ng assemblyữ r t g n v i ngôn ng máy, nh ng l nh c b n ấ ầ ớ ữ ữ ệ ơ ả
nh t c a ngôn ng assembly t ng ng v i l nh máy nh ng c ấ ủ ữ ươ ứ ớ ệ ư đượ
bi u di n d i d ng g i nh . Ngoài ra, ng i ta t ng c ng thêm khái ể ễ ướ ạ ợ ớ ườ ă ườ
ni m "l nh macro" nâng s c m nh miêu t gi i thu t.ệ ệ để ứ ạ ả ả ậ
Ngôn ng c p caoữ ấ theo tr ng phái l p trình c u trúc nh Pascal, C, ườ ậ ấ ư
T p l nh c a ngôn ng này khá m nh và g n v i t duy c a ng i ậ ệ ủ ữ ạ ầ ớ ư ủ ườ
bình th ng.ườ
Ngôn ng h ng i t ngữ ướ đố ượ nh C++, Visual Basic, Java, C#, c i ti n ư ả ế
ph ng pháp c u trúc ch ng trình sao cho trong sáng, n nh, d ươ ấ ươ ổ đị ễ
phát tri n và thay th linh ki n.ể ế ệ
Các c p ngôn ng l p trìnhấ độ ữ ậ
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 11
1.2 L ch s phát tri n máy tính sị ử ể ố
Máy tính xu t hi n t r t lâu theo nhu c u buôn bán và trao i ấ ệ ừ ấ ầ đổ
ti n t .ề ệ
Bàn tính tay abacus là d ng s khai c a máy tính.ạ ơ ủ
5 đơn vị
1 đơn vị
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 12
Các th h máy tính sế ệ ố
Đèn
điện tử
(1945 - 1955)
ENIAC (1946)
18.000 bóng đèn
1500 rờ le
30 tấn
140 KW
Von Neumann (1945)
Bộ nhớ dây trễ, tĩnh
điện. Giấy, phiếu đục
lổ. Băng từ
Transistors
(1955 - 1965)
PDP-1 (1961)
Bộ nhớ xuyến từ.
Băng từ, trống từ,
đĩa từ.
IC
(1965 - 1980)
IBM 360 (1965)
Intel 8080 (1974)
được xem như CPU đầu
tiên được tích hợp trên 1
chip
?
(1980 - ????)
80x86 (1978)
Cơ
(1642 - 1945)
Blaise Pascal (Pháp-1642)
Herman Hollerith lập IBM
(International Business
Machine) ở Mỹ - 1890
Charles Babbage (Anh-1830)
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 13
Các l nh c a ch ng trình (ệ ủ ươ code) s ẽ truy xu tấ ( c và/ho c ghi) thông đọ ặ
tin (d li uữ ệ ).
Ch ng trình gi i quy t bài toán nào ó có th truy xu t nhi u d li u ươ ả ế đ ể ấ ề ữ ệ
khác nhau v i tính ch t r t a d ng. truy xu t 1 d li u c th , ta ớ ấ ấ đ ạ Để ấ ữ ệ ụ ể
c n 3 thông tin v d li u ó :ầ ề ữ ệ đ
- tên nh n d ngậ ạ (identifier) xác nh v trí c a d li u.đị ị ủ ữ ệ
- ki u d li uể ữ ệ (type) miêu t c u trúc c a d li u.ả ấ ủ ữ ệ
- t m v c truy xu tầ ự ấ (visibility) xác nh các l nh c phép truy đị ệ đượ
xu t d li u t ng ng.ấ ữ ệ ươ ứ
Ch ng trình c i n = d li u + gi i thu tươ ổ đ ể ữ ệ ả ậ .
Ch ng trình conươ (function, subroutine, ) là 1 o n code th c hi n đ ạ ự ệ
ch c n ng c dùng nhi u l n nhi u v trí trong ch ng trình, ứ ă đượ ề ầ ở ề ị ươ
c nh n d ng thông qua 1 tên g i. Ch ng trình con cho phép c u đượ ậ ạ ọ ươ ấ
trúc ch ng trình, s d ng l i code ươ ử ụ ạ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
1.3 D li u & ch ng trìnhữ ệ ươ
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 14
Ch ng trình = c u trúc d li u + gi i thu tươ ấ ữ ệ ả ậ
entry 'start'
global data
module
(package)
local data
of module
local data
of function
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
C u trúc 1 ch ng trình c i nấ ươ ổ đ ể
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 15
Gi i mã chu i ả ỗ
bit ra d ng ạ
ng i, thi t b ườ ế ị
ngoài hi u ể
cđượ
X lý d li u ử ữ ệ
d ng chu i bitạ ỗ
Mã hóa d li u ữ ệ
thành d ng ạ
chu i bitỗ
D li u c n x lý b ng ữ ệ ầ ử ằ
máy tính (ch s , hình ữ ố
nh, âm thanh, )ả
K t qu có c sau ế ả đượ
khi x lý b ng máy tính ử ằ
(ch s , hình nh, âm ữ ố ả
thanh, )
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
CDROM, a, b ng, đĩ ă
L u gi d ư ữ ữ
li u s ệ ố để
dùng l iạ
Máy tính số
1.4 Qui trình t ng quát gi i quy t bài toán b ng máy tính sổ ả ế ằ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 16
B nhộ ớ
(Memory)
n v x lýĐơ ị ử
(CPU)
Các thi t b ế ị
vào ra (I/O)
Bus giao ti pế
ch a code và data ứ
ang th c thiđ ự
th c thi t ng l nh ự ừ ệ
c a ch ng trình ủ ươ
giao ti p v i bên ngoài ế ớ
(th ng là ng i) ườ ườ để
nh p/xu t tinậ ấ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Mô hình máy tính s Von Neumannố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 17
bàn phím
màn hình
chu tộ
thùng máy
loa
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Hình d ng v t lý c a vài máy tínhạ ậ ủ
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 18
Trong quá kh , ph ng pháp th ng s d ng phân tích bài toán là ứ ươ ườ ử ụ để
ph ng pháp t -trên-xu ng (top-down analysis).ươ ừ ố
N i dung c a ph ng pháp này là xét xem, mu n gi i quy t v n nào ộ ủ ươ ố ả ế ấ đề
ó thì c n ph i làm nh ng công vi c nh h n nào. M i công vi c nh h n đ ầ ả ữ ệ ỏ ơ ỗ ệ ỏ ơ
tìm c l i c phân thành nh ng công vi c nh h n n a, c nh v y đượ ạ đượ ữ ệ ỏ ơ ữ ứ ư ậ
cho n khi nh ng công vi c ph i làm là nh ng công vi c th t n gi n, đế ữ ệ ả ữ ệ ậ đơ ả
có th th c hi n d dàng.ể ự ệ ễ
Thí d vi c h c l y b ng k s CNTT khoa CNTT HBK TP.HCM có th ụ ệ ọ ấ ằ ỹ ư Đ ể
bao g m 9 công vi c nh h n là h c t ng h c k t 1 t i 9, h c h c k i ồ ệ ỏ ơ ọ ừ ọ ỳ ừ ớ ọ ọ ỳ
là h c n môn h c c a h c k ó, h c 1 môn h c là h c m ch ng c a ọ ọ ủ ọ ỳ đ ọ ọ ọ ươ ủ
môn ó, đ
Hình v c a slide k cho th y tr c quan c a vi c phân tích top-down.ẽ ủ ế ấ ự ủ ệ
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
1.5 Ph ng pháp phân tích t -trên-xu ngươ ừ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 19
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Ph ng pháp phân tích t -trên-xu ngươ ừ ố
Công vi c c n ệ ầ
gi i quy t (A)ả ế
Công vi cệ
A
1
Công vi cệ
A
2
Công vi cệ
A
n
Công việc
A
11
Công việc
A
12
Công việc
A
1n
Công việc
A
n1
Công việc
A
n2
Công việc
A
nn
chia thành nhiều công
việc nhỏ hơn, đơn giản để
giải quyết hơn.
Các công việc nhđủ ỏ
c miêu t b ng để đượ ả ằ
1 l nh hay 1 l i g i ệ ờ ọ
hàm/th t c ã có.ủ ụ đ
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 20
Công vi c c n gi i quy t ệ ầ ả ế
≡ i t ng ph c h p Ađố ượ ứ ợ
Đối tượng
A
1
Đối tượng
A
2
Đối tượng
A
n
Đối tượng
A
11
Đối tượng
A
12
Đối tượng
A
1n
Đối tượng
A
n1
Đối tượng
A
n2
Đối tượng
A
nn
Ch ng 1: Ph ng pháp gi i quy t bài toán b ng máy tính sươ ươ ả ế ằ ố
Ph ng pháp phân tích t -trên-xu ngươ ừ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 21
MÔN TIN H CỌ
Ch ng 2ươ
TH HI N D LI UỂ Ệ Ữ Ệ
TRONG MÁY TÍNH SỐ
Ch ng 2 : Th hi n d li u trong máy tính sươ ể ệ ữ ệ ố
2.1 C b n v vi c l u tr và x lý tin trong máy tínhơ ả ề ệ ư ữ ử
2.2 C b n v h th ng sơ ả ề ệ ố ố
2.3 Các ph ng pháp chuy n miêu t sươ ể ả ố
2.4 Bi u di n d li u trong máy tínhể ễ ữ ệ
2.5 H th ng fileệ ố
2.6 Qu n lý h th ng fileả ệ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 22
Ph n t nh nh nh t c a máy tính s ch có th ch a 2 giá tr : 0 và 1 ầ ử ớ ỏ ấ ủ ố ỉ ể ứ ị
(ta g i là ọ bit).
Ta k t h p nhi u ph n t nh có th miêu t i l ng l n h n. Thí ế ợ ề ầ ử ớ để ể ả đạ ượ ớ ơ
d ta dùng 8 bit miêu t 2ụ để ả
8
= 256 giá tr khác nhau. Dãy 8 bit nh ị ớ
c g i là đượ ọ byte, ây là đ 1 ô nhớ trong b nh c a máy tính.ộ ớ ủ
B nh trong c a máy tính c dùng ch a d li u và code c a ộ ớ ủ đượ để ứ ữ ệ ủ
ch ng trình ang th c thi. Nó là 1 dãy ng nh t các ô nh 8 bit, m i ô ươ đ ự đồ ấ ớ ỗ
nh c truy xu t c l p thông qua ớ đượ ấ độ ậ a chđị ỉ c a nó (tên nh n d ng). ủ ậ ạ
Th ng ta dùng ch s t 0 - n miêu t a ch c a t ng ô nh . ườ ỉ ố ừ để ả đị ỉ ủ ừ ớ
M c dù ngoài i ta ã quen dùng h th ng s th p phân, nh ng v ặ đờ đ ệ ố ố ậ ư ề
ph n c ng bên trong máy tính, máy ch có th ch a và x lý tr c ti p d ầ ứ ỉ ể ứ ử ự ế ữ
li u d ng nh phân. Do ó trong ch ng này, ta s gi i thi u các khái ệ ở ạ ị đ ươ ẽ ớ ệ
ni m n n t ng v h th ng s và cách miêu t d li u trong máy tính.ệ ề ả ề ệ ố ố ả ữ ệ
2.1 C b n v vi c l u tr và x lý tin trong máy tínhơ ả ề ệ ư ữ ử
Ch ng 2 : Th hi n d li u trong máy tính sươ ể ệ ữ ệ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 23
H th ng s (number system) là công c bi u th i l ng. M t h ệ ố ố ụ để ể ị đạ ượ ộ ệ
th ng s g m 3 thành ph n chính :ố ố ồ ầ
1. c sơ ố : s l ng ký s (ký hi u nh n d ng các s c b n).ố ượ ố ệ để ậ ạ ố ơ ả
2. qui lu t k t h p các ký sậ ế ợ ố miêu t 1 i l ng nào ó.để ả đạ ượ đ
3. các phép tính c b nơ ả trên các s .ố
Trong 3 thành ph n trên, ch có thành ph n 1 là khác nhau gi a các h ầ ỉ ầ ữ ệ
th ng s , còn 2 thành ph n 2 và 3 thì gi ng nhau gi a các h th ng ố ố ầ ố ữ ệ ố
s .ố
Thí d :ụ - h th ng s th p phân (ệ ố ố ậ h th p phânệ ậ ) dùng 10 ký s : ố
0,1,2,3,4,5,6,7,8,9.
- h nh phânệ ị dùng 2 ký s : 0,1.ố
- h bát phân dùng 8 ký s : 0,1,2,3,4,5,6,7.ệ ố
- h th p l c phânệ ậ ụ dùng 16 ký s : 0 n 9,A,B,C,D,E,F.ố đế
2.2 C b n v h th ng sơ ả ề ệ ố ố
Ch ng 2 : Th hi n d li u trong máy tính sươ ể ệ ữ ệ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 24
Bi u di n c a l ng Q trong h th ng s B (B>1) là :ể ễ ủ ượ ệ ố ố
d
n
d
n-1
d
1
d
0
d
-1
d
-m
⇔
Q = d
n
*B
n
+ d
n-1
*B
n-1
+ +d
0
*B
0
+d
-1
*B
-1
+ +d
-m
*B
-m
trong ó m i dđ ỗ
i
là 1 ký s trong h th ng B.ố ệ ố
Trong th c t l p trình b ng ngôn ng c p cao, ta th ng dùng h ự ế ậ ằ ữ ấ ườ ệ
th ng s th p phân miêu t d li u s c a ch ng trình (vì ã ố ố ậ để ả ữ ệ ố ủ ươ đ
quen). Ch trong 1 s tr ng h p c bi t, ta m i dùng h th ng s ỉ ố ườ ợ đặ ệ ớ ệ ố ố
th p l c phân (d ng ng n c a nh phân) miêu t 1 vài giá tr ậ ụ ạ ắ ủ ị để ả ị
nguyên, trong tr ng h p này, qui lu t bi u di n c a l ng nguyên Q ườ ợ ậ ể ễ ủ ượ
trong h th ng s B s n gi n là :ệ ố ố ẽ đơ ả
d
n
d
n-1
d
1
d
0
⇔
Q = d
n
*B
n
+ d
n-1
*B
n-1
+ +d
1
*B
1
+d
0
*B
0
trong ó m i dđ ỗ
i
là 1 ký s trong h th ng B.ố ệ ố
C b n v h th ng s - Qui lu t miêu t l ngơ ả ề ệ ố ố ậ ả ượ
Ch ng 2 : Th hi n d li u trong máy tính sươ ể ệ ữ ệ ố
Khoa Công ngh Thông tinệ
Tr ng H Bách Khoa Tp.HCMườ Đ
Môn : Tin h cọ
Slide 25
Thí d v bi u di n các l ng trong các h th ng s :ụ ề ể ễ ượ ệ ố ố
- l ng "m i b y" c miêu t là 17 trong h th p phân vì :ượ ườ ả đượ ả ệ ậ
17 = 1*10
1
+7*10
0
- l ng "m i b y" c miêu t là 11 trong h th p l c phân vì :ượ ườ ả đượ ả ệ ậ ụ
11 = 1*16
1
+1*16
0
- l ng "m i b y" c miêu t là 10001 trong h nh phân vì :ượ ườ ả đượ ả ệ ị
10001 = 1*2
4
+0*2
3
+0*2
2
+0*2
1
+1*2
0
Trong môi tr ng s d ng ng th i nhi u h th ng s , tránh nh m ườ ử ụ đồ ờ ề ệ ố ố để ằ
l n trong các bi u di n c a các l ng khác nhau, ta s thêm ký t ẫ ể ễ ủ ượ ẽ ự
nh n d ng h th ng s c dùng trong bi u di n liên quan. Thí d ta ậ ạ ệ ố ố đượ ể ễ ụ
vi t :ế
- 17
D
xác nh s bi u di n trong h th ng s th p phân.để đị ự ể ễ ệ ố ố ậ
- 11
H
(h th ng s th p l c phân.)ệ ố ố ậ ụ
- 10001
B
(h th ng s nh phân.)ệ ố ố ị
C b n v h th ng s - Vài thí dơ ả ề ệ ố ố ụ
Ch ng 2 : Th hi n d li u trong máy tính sươ ể ệ ữ ệ ố