Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 1
MÔN TIN HC
Tài liuthamkho:
Tp slide bài ging & thc hành camônhcnày.
3 CD MSDN trong Microsoft Visual Studio.
Ni dung chính gm 12 chương :
1. Phương pháp gii quyết bài toán
bng máy tính s.
2. Thhin dliu trong máy tính s.
3. Tng quát vlptrìnhbng VB.
4. Qui trình thiếtkếtrc quan giao
din.
5. Các kiudliuca VB.
6. Các lnh định nghĩa & khai báo.
7. Biuthc VB.
8. Các lnh thc thi VB.
9. Định nghĩathtc& sdng.
10. Tương tác giangười dùng &
chương trình.
11. Qunlýhthng file.
12. Linh kinphnmm& truy
xut database.
Đốitượng : SV đạihc 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 hc
Slide 2
MÔN TIN HC
Chương 1
PHƯƠNG PHÁP GII QUYT BÀI TOÁN
BNG MÁY TÍNH S
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
1.1 Các khái nim cơ bn vmáy tính s
1.2 Lch sphát trin máy tính s
1.3 Dliu & chương trình
1.4 Qui trình tng quát gii quyết bài toán bng máy tính s
1.5 Phân tích bài toán t-trên-xung
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 3
Con người thông minh hơn các động vt khác nhiu. Trong cuc sng,
h đã chếto ngày càng nhiu công c, thiết b để htrmình trong
hot động. Các công c, thiết b do con người chếto ngày càng tinh vi,
phc tp và thc hin nhiu công vic hơn trước đây. Mi công c, thiết
b thường chthc hin được 1 vài công vic cthnào đó. Thí d, cây
chi để quét, radio để bt và nghe đài audio...
Máy tính s(digital computer) cũng là 1 thiết b, nhưng thay vì chthc
hin 1 schc năng cth, sát vi nhu cu đời thường ca con người,
ththc hin 1 shu hn các chc năng cơ bn (tp lnh), mi
lnh rt sơ khai chưa gii quyết trc tiếp được nhu cu đời thường nào
ca con người. Cơchếthc hin các lnh là t động, bt đầu tlnh
được ch định nào đóri tun ttng lnh kếtiếp cho đến lnh cui
cùng. Danh sách các lnh được thc hin này được gi là chương trình.
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
1.1 Các khái nim cơ bn vmáy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 4
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Các lnh mà máy hiu và thc hin được được gi là lnh máy.
Ta dùng ngôn ng để miêu tcác lnh. Ngôn nglp trình cu
thành t2 yếu tchính yếu : cú pháp và ngnghĩa. Cú pháp qui
định trt tkết hp các phn t để cu thành 1 lnh (câu), còn
ngnghĩa cho biết ý nghĩa ca lnh đó.
Bt kcông vic (bài toán) ngoài đời nào cũng có th được chia
thành trình tnhiu công vic nh hơn. Trình tcác công vic
nhnày được gi là gii thut gii quyết công vic ngoài đời. Mi
công vic nh hơn cũng có th được chia nh hơn na nếu nó
còn phc tp,... công vic ngoài đời có th được miêu tbng
1 trình tcác lnh máy (chương trình ngôn ngmáy).
Các khái nim cơ bn vmáy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 5
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Vn đề mu cht ca vic dùng máy tính gii quyết công vic ngoài đời
lp trình (được hiu nôm na là qui trình xác định trình t đúng các
lnh máy để thc hin công vic). Cho đến nay, lp trình là công vic
ca con người(vi strgiúp ngày càng nhiu ca máy tính).
Vi công nghphn cng hin nay, ta ch thchếto các máy tính
tp lnh máy rt sơ khai, mi lnh máy ch ththc hin 1 công
vic rt nhđơn gin công vic ngoài đời thường tương đương vi
trình trt ln (hàng triu) các lnh máy Lp trình bng ngôn ng
máy rt phc tp, tn nhiu thi gian, công sc, kết qurt khó bo trì,
phát trin.
Ta mun có máy lun lý vi tp lnh (được đặc tbi ngôn nglp
trình) cao cp và gn gi hơn vi con người. Ta thường hin thc máy
này bng 1 máy vt lý + 1 chương trình dch. Có 2 loi chương trình
dch : trình biên dch (compiler) và trình thông dch (interpreter).
Các khái nim cơ bn vmáy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 6
Trình biên dch (Compiler)
Chương trình biên dch nhn mt chương trình ngun (thường được
viết bng ngôn ngcp cao) và to ra mt chương trình đối tượng
tương ng vchc năng nhưng thường được viết bng ngôn ng
cp thp (thường là ngôn ngmáy).
Nếu có li xy ra trong lúc dch, trình biên dch sbáo li, cgng
tìm vtrí đúng kếtiếp ri tiếp tc dch… Nhvy, mi ln dch 1
chương trình, ta sxác định được nhiu li nht có thcó.
Sau mi ln dch, nếu không có li, trình biên dch sto ra file
cha chương trình đối tượng (thí d file chương trình kh thi *.exe
trên Windows).
Để chy chương trình, người dùng chcn kích hot file kh thi
(người dùng không biết và không cn quan tâm đến file chương
trình ngun).
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 7
Trình thông dch (Interpreter)
Chương trình thông dch không to ra và lưu gi chương trình đối
tượng.
Mi ln thông dch 1 chương trình ngun là 1 ln cgng chy
chương trình này theo cách thc sau :
dch và chuyn sang mã thc thi tng lnh mt ri nhmáy
chy đon lnh tương ng.
Nếu có li thì báo li, nếu không có li thì thông dch lnh kế
tiếp... cho đến khi hết chương trình.
Như vy, mi ln thông dch chương trình, trình thông dch ch
thông dch các lnh trong lung thi hành cn thiết chkhông
thông dch hết mi lnh ca chương trình ngun. Do đó, sau khi
thông dch thành công 1 chương trình, ta không thkết lun
rng chương trình này không có li.
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 8
So sánh trình biên dch & trình thông dch
Mi hot động xlý trên mi mã ngun ca chương trình (kim tra li, dch ra
các lnh đối tượng tương đương,...) đều được chương trình biên dch thc hin
để to được chương trình đối tượng. Do đó sau khi dch các file mã ngun ca
chương trình, nếu không có li, ta có thkết lun chương trình không th li
thi đim dch (tvng, cú pháp). Quá trình biên dch và quá trình thc thi
chương trình là tách ri nhau : biên dch 1 ln và chy nhiu ln cho đến khi cn
cp nht version mi ca chương trình.
Chương trình thông dch sthông dch tng lnh theo lung thi hành ca
chương trình bt đầu t đim nhp ca chương trình, thông dch 1 lnh gm 2
hot động : biên dch lnh đóvàthc thi các lnh kết qu. Nếu 1 đon lnh cn
được thc thi lp li thì trình thông dch sphi thông dch li tt c đon lnh
đó. Điu này slàm cho vic chy chương trình trong chế độ thông dch không
hiu qu.
Vic chy chương trình bng cơ chếthông dch đòi hi chương trình thông dch
và chương trình ng dng cn chy phi tn ti đồng thi trong bnhmáy tính,
do đó có nguy cơ chy không được các chương trình ln nếu tài nguyên ca
máy không đủ cho c 2 chương trình thông dch và chương trình ng dng.
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 9
Gi ngôn ngmáy vtlýlàN
0. Trình biên dch ngôn ngN1sang
ngôn ngN0snhnđầuvàolàchương trình đượcviếtbng ngôn
ngN1, phân tích tng lnh N1ri chuyn thành danh sách các lnh
ngôn ngN0 chcnăng tương đương. Để viếtchương trình dch t
ngôn ngN1sang N0ddàng, độ phctpcatng lnh ngôn ng
N1không quá cao so vitng lnh ngôn ngN0.
Sau khi máy lunlýhiuđược ngôn nglunlýN
1, ta thểđnh
nghĩavàhinthcmáylunlýN
2 theo cách trên tiếptcđếnkhita
1 máy lunlýhiuđược ngôn ngNm rtgngũivi con người, d
dàng miêu tgiithutca bài toán cngii quyết...
Nhưng qui trình trên chưacóđimdng, viyêucu ngày càng cao
kiếnthc ngày càng nhiu, ngườitatiếptcđịnh nghĩanhng ngôn
ngmivitplnh ngày càng gngũihơnvi con ngườiđể miêu t
giithut càng ddàng, gnnh trong sáng hơn.
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Các khái nim cơ bn vmáy tính s
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 10
Chương 1: Phương pháp gii quyết bài toán bng máy tính s
Ngôn ngmáy vt lý là loi ngôn ngthp nht mà người lp trình bình
thường có thdùng được. Các lnh và tham sca lnh được miêu t
bi các sbinary (hay hexadecimal - s được miêu tchi tiết trong
chương 2). Đây là loi ngôn ng máy vt lý có thhiu trc tiếp,
nhưng con người thì gp nhiu khó khăn trong vic viết và bo trì
chương trình cp này.
Ngôn ngassembly rt gn vi ngôn ngmáy, nhng lnh cơ bn nht
ca ngôn ng assembly tương ng vi lnh máy nhưng được biu din
dưới dng gi nh. Ngoài ra, người ta tăng cường thêm khái nim "lnh
macro" để nâng sc mnh miêu tgii thut.
Ngôn ngcp cao theo trường phái lp trình cu trúc như Pascal, C,...
Tp lnh ca ngôn ngnày khá mnh và gn vi tư duy ca người bình
thường.
Ngôn ng hướng đối tượng như C++, Visual Basic, Java, C#,... ci tiến
phương pháp cu trúc chương trình sao cho trong sáng, n định, d
phát trin và thay thếlinh kin.
Các cp độ ngôn nglp trình