MÔN NGÔN Chươ PHƯƠNG PHÁP GIẢ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM BẰNG MÁY NNGỮJAVA ơng 1 ẢI QUYẾT BÀI TOÁN Môn : Ngôn ngưJava Slide 1 YTÍNH SỐ Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Máy tính sốlà thiếtbị có thểthựch bản(tậplệnh), cơchếthựchiệnc đếnlệnh cuối cùng. Danh sách cá là chương trình. Các lệnh mà máy hiểuvà thựch dùng ngôn ngữđểmiêu tảcác lện yếutố: cúphápvàngữnghĩa. C Các khái niệm cơ b BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM yếutố: cúphápvàngữnghĩa. C phầntửđểcấu thành 1 lệnh (câu) lệnhđó. Bấtkỳcông việc (bài toán) ngoàiđ trình tựnhiềucông việcnhỏhơn.T gọilàgiảithuậtgiải quyếtcôngviệ cũng có thểđượcchianhỏhơnn đượcmiêu tảbằng 1 trình tựcác lệ hiện1sốhữuhạncác chứcnăng cơ các lệnh là tựđộngtừlệnhđầucho áclệnhđượcthựchiệnnàyđượcgọi hiệnđượcđượcgọilàlệnh máy.Ta nh. Ngôn ngữlậptrìnhcấu thành từ2 Cúphápquiđịnhtrật tựkết hợpcác bản vềmáy tính số Môn : Ngôn ngưJava Slide 2 Cúphápquiđịnhtrật tựkết hợpcác , còn ngữnghĩachobiếtýnghĩacủa đờinàocũng có thểđược chia thành Trình tựcác công việcnhỏnàyđược ệc ngoàiđời. Mỗicôngviệcnhỏhơn nữa,...⇒công việc ngoàiđờicóthể ệnh máy (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ố vấnđềmấuchốtcủaviệcdùngmá là lậptrình(đượchiểu nôm na là lệnh máyđểthểhiệncông việc). củacon người (vớisựtrợgiúp ngà Với công nghệphầncứng hiệnna mà tậplệnh máy rấtsơkhai, mỗi l việcrấtnhỏvàđơngiản⇒công ới tì ht ất lớ (hà tiệ ) á Các khái niệm cơbả BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM với trìnhtựrất lớn(hàngtriệu) cá ngữmáy rấtphứctạp, tốnnhiều bảo trì, phát triển. Ta muốncó máyluậnlývớitậpl trình) cao cấpvàgầngủihơnvới này bằng 1 máy vậtlý+1chươn trình phân giải (interpreter). áy tính giải quyếtcôngviệc ngoàiđời qui trình xácđịnh trình tựđúng các Chođếnnay,lập trình là công việc ày càng nhiềucủa máy tính). ay, ta chỉ có thểchếtạo các máy tính lệnh máy chỉ có thểthựchiện1 công việc ngoàiđờithường tươngđương á lệ h á Lậ tì hbằ ô ản vềmáy tính số(tt) Môn : Ngôn ngưJava Slide 3 áclệnhmáy⇒Lậptrìnhbằng ngôn thời gian, công sức, kếtquảrấtkhó lệnh (đượcđặctảbởingônngữlập con người. Ta thường hiệnthựcmáy gtrìnhdịch (compiler) hay 1 chương Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Gọingônngữmáy vậtlýlàN0 . ngôn ngữN0sẽnhậnđầuvàolà ngữN1 , phân tích từng lệnh N1 rồ ngôn ngữN0 có chứcnăng tươn ngôn ngữN1sang N0dễdàng,độ N1khôngquácaosovớitừng lệnh Sau khi có máy luậnlýhiểuđược Các khái niệm cơbả BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM nghĩavàhiệnthựcmáyluậnlýN2 có 1 máy luậnlýhiểuđượcngôn dễdàng miêu tảgiảithuậtcủabài Nhưng qui trình trên chưacóđiểm và kiếnthức ngày càng nhiều,n ngôn ngữmớivớitậplệnh ngàyc miêu tảgiảithuậtcàngdễdàng, g Trìnhbiêndịch ngôn ngữN1 sang chương trìnhđượcviếtbằng ngôn ồichuyển thành danh sách các lệnh ngđương.Đểchương trình dịch từ ộphứctạpcủatừng lệnh ngôn ngữ hngôn ngữN0 . cngôn ngữluậnlý N1,tacóthểđịnh ản vềmáy tính số(tt) Môn : Ngôn ngưJava Slide 4 1 theo cách trên và tiếptụcđếnkhita nngữNmrấtgầngủivớiconngười, toán cầngiải quyết... mdừng, vớiyêu cầu ngày càng cao ngườitatiếptụcđịnh nghĩanhững càng gầngủihơnvớicon người để ọnnhẹ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ố Ngôn ngữmáy vậtlý làloạingôn bình thường có thểdùngđược.C miêu tảbởicácsốbinary (hay hexa máy vậtlý cóthểhiểutrựctiếp,n khăntrong việcviếtvàbảotrì chươ Ngôn ngữassembly rấtgầnvới n nhấtcủangôn ngữassembly tươ biểudiễndưới dạnggợi nhớNgoà Các cấp động BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM biểudiễndưới dạnggợi nhớ. Ngoà niệmlệnh macrođểnâng sứcmạ Ngôn ngữcấp cao theo trường phá Tậplệnh củangônngữnày khá bình thường. Ngôn ngữhướngđốitượng nhưC phương pháp cấutrúcchương trì phát triểnvàthaythếlinh kiện. nngữthấpnhấtmàngườilậptrình Các lệnh và tham sốcủalệnhđược adecimal).Đây là loạingônngữmáy nhưng con ngườithìgặpnhiềukhó ơng trình. ngôn ngữmáy, những lệnh cơbản ơngứng vớilệnh máy nhưngđược àira người ta tăngcườngthêm khái gôn ngữlập trình Môn : Ngôn ngưJava Slide 5 àira, người ta tăngcườngthêm khái ạnh miêu tảgiảithuật. áilậptrình cấutrúc nhưPascal, C,... mạnh và gầnvớitưduy củangười ++, Visual Basic, Java, C,... cảitiến nh sao cho trong sáng,ổnđịnh, dễ 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 củachương trình (code) tin (dữliệu). Chương trình giải quyết bài toán n khác nhau với tính chấtrất đadạ cần 3 thông tin vềdữliệuđó: tên nhậndạng(identifier) xác kiểudữliệu(type)miêutảcấu Dữliệu của c BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM kiểudữliệu(type)miêutảcấu tầmvựctruyxuất (visibility) nào) truy xuấtdữliệu. Chương trình cổđiển=dữliệu+g Chương trình con(function, subr chứcnăngđược dùng nhiềulầnở cho phép cấutrúc chương trình, s )sẽtham khảohoặcxửlý (truy xuất) nàođócóthểtruy xuấtnhiềudữliệu ạng.Đểtruy xuất1dữliệucụthể,ta định vị trí củadữliệu. utrúccủadữliệu chương trình Môn : Ngôn ngưJava Slide 6 utrúccủadữliệu. miêu tảphạm vi khách hàng (lệnh giảithuật. routine,...) là 1đoạncodethểhiện ởnhiềuvị trí trong chương trình, nó ử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ố Chương trình = cấu trú ttt module (package) Cấu trúc 1 chươ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM entry start c dữliệu + giải thuật global data local data of module ơng trình cổ điển Môn : Ngôn ngưJava Slide 7 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ố Bộnhớ (Memory) Đơn vị x (CPU chứa code và data đang thực thi thực thi từn của chương Mô hình máy tính BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM (Memory) (CPU Bus gia xửlý ) Các thiết bị vào ra (IO) g lệnh gtrình giao tiếp với bên ngoài (thường là người) để nhậpxuất tin sốVon Neumann Môn : Ngôn ngưJava Slide 8 ) vào ra (IO) ao tiếp Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Dữliệu cần xửlý bằng máy tính (chữsố, hình ảnh, âm thanh,...) Qui trình tổngquát để giải quy BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Xửlý d dạng c Mã hóa dữliệu thành dạng chuỗi bit Giảiãhỗi Kết quảcó được sau khi xửlý bằng máy tính (chữsố, hình ảnh, âm thanh,...) yết bài toán bằngmáytính số Môn : Ngôn ngưJava Slide 9 Giảimãchuỗi bit ra dạng người, thiết bị ngoài hiểu được dữliệu huỗi bit Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Trong quá khứ,phương pháp thườn phương pháp từtrênxuống (topdow Nộidung củaphương pháp này là xé đóthì cầnphảilàmnhững công việcn tìm đượclại được phân thành những chođến khi những công việcphảilàm có thểthựchiệndễdàng. Phương pháp phân BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ự ệ g Thí dụviệchọclấybằng kỹsưCNTT bao gồm9 công việcnhỏhơnlà học là họcnmônhọccủahọckỳđó, họ mônđó,... Hình vẽcủaslidekếcho thấytrựcqua ngsửdụngđểphân tích bài toán là n analysis). étxem,muốngiải quyếtvấnđềnào nhỏhơnnào.Mỗicôngviệcnhỏhơn công việcnhỏhơnnữa, cứnhưvậy mlà những công việcthật đơngiản, tích từtrênxuống Môn : Ngôn ngưJava Slide 10 Tkhoa CNTTĐHBK TP.HCM có thể ctừng họckỳtừ1tới9,họchọckỳi ọc1mônhọclàhọcmchương của ancủaviệc phân tích topdown. Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Công vi giải quy Công việc A1 Công v A2 Phương pháp phân tí BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Công việc A11 Công việc A12 Công việc A1n ... ... iệc cần yết (A) việc Công việc An ... ích từtrênxuống (tt) Môn : Ngôn ngưJava Slide 11 Công việc An1 Công việc An2 Công việc Ann ... ... Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Công việc cầ ≡đối tượng Đối tượng A1 Đối tư A Phương pháp phân tí BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Đối tượng A11 Đối tượng A12 Đối tượng A1n ... ... ần giải quyết phức hợpA ượng A2 Đối tượng An ... ích từtrênxuống (tt) Môn : Ngôn ngưJava Slide 12 Đối tượng An1 Đối tượng An2 Đối tượng Ann . ... ... Chương 1: Phương pháp giải quyết bài toán bằng máy tính số MÔN NGÔN Chươ THỂHIỆN BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Ệ TRONG MÁ NNGỮJAVA ơng 2 NDỮLIỆU Môn : Ngôn ngưJava Slide 13 Ệ ÁY TÍNH SỐ Chương 2 : Thểhiện dữliệu trong máy tính số Phầntửnhớnhỏnhấtcủa máy tính (ta gọilà bit). Ta kếthợpnhiềuphầntửnhớđểcó dụta dùng 8 bit đểmiêu tả2 8 =25 đượcgọi là byte, đây là 1 ô nhớtron Bộnhớtrong của máy tínhđượcd chươngtrình đangthựcthi Nólà 1d Cơbản vềviệc lưu trửvà BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM chươngtrình đangthựcthi. Nólà 1d nhớđượctruyxuất độclập thôngq Thường ta dùng chỉ sốtừ0 nđểm Mặc dù ngoàiđờitađã quen dùng phầncứng bên trong máy tính, máy liệuởdạng nhị phân. Dođótrongc niệmnềntảng vềhệthống sốvà các hsốchỉ có thểchứa2giátrị :0và 1 óthểmiêu tảđạilượng lớnhơn. Thí 56giátrị khác nhau. Dãy 8 bit nhớ ngbộnhớcủa máy tính. dùngđểchứadữliệuvà code của dãyđồngnhất cácônhớ8bit mỗi ô àxửlý tin trong máy tính Môn : Ngôn ngưJava Slide 14 dãyđồngnhất cácônhớ8bit, mỗi ô quađịachỉ củanó(tênnhậndạng). miêu tảđịachỉ củatừng ô nhớ. ghệthống sốthập phân, nhưng về chỉ có thểchứavà xửlý trựctiếpdữ hương này, ta sẽgiớithiệu các khái chmiêu tảdữliệu trong máy tính. Chương 2 : Thểhiện dữliệu trong máy tính số Hệthống số(number system) là c thống sốgồm3thànhphần chính : 1. cơsố:sốlượng ký số(ký h 2. qui luậtkếthợpcáckýsố 3. các phép tính cơbảntrên c Trong3 thànhphầntrên, chỉ có thàn Cơbản về h BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM g p , thống số, còn 2 thành phần2 và 3 th Thí dụ:hệthống sốthập phân (h 0,1,2,3,4,5,6,7,8,9. hệnhịphândùng 2 ký s hệbát phân dùng 8 ký số hệthập lục phândùng 1 công cụđểbiểuthị lượng. Mộthệ iệuđểnhậndạng các sốcơbản). đểmiêu tả1lượng nàođó. các số. nhphần 1 là khác nhaugiữacác hệ hệthống số Môn : Ngôn ngưJava Slide 15 p g ệ hìgiống nhau giữacác hệthống số. hệthập phân) dùng 10 ký số: số: 0,1. ố: 0,1,2,3,4,5,6,7. 16 ký số: 0 đến 9,A,B,C,D,E,F. Chương 2 : Thểhiện dữliệu trong máy tính số Biểudiễncủalượng Q trong hệthốn dndn1...d 1d0d1...dm ⇔ Q=dnB n +dn1B n1 +...+d0B 0 +d trong đómỗidi là1kýsốtrong hệth Trong thựctếlậptrìnhbằng ngôn thống sốthậpphânđểmiêu tảdữ Cơbản vềhệthống số BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM quen). Chỉ trong 1 sốtrường hợpđặ phân (hay thậplục phân)đểmiêu tả hợp này, qui luậtbiểudiễncủalượng đơngiảnlà: dndn1...d 1d0⇔ Q=dnB n +dn1B n1 +...+d1B 1 +d0 trong đómỗidi là1kýsốtrong hệth ngsốB(B>1) là: d1B 1 +...+dmB m hống B. ngữcấp cao, ta thường dùng hệ ữliệusốcủachương trình (vìđã Qui luật miêu tảlượng Môn : Ngôn ngưJava Slide 16 ặcbiệt, ta mớidùnghệthống sốnhị ả1vàigiátrị nguyên, trong trường gnguyên Q trong hệthống sốBsẽ 0B 0 hống B. Chương 2 : Thểhiện dữliệu trong máy tính số Thí dụvềbiểudiễncáclượng trong lượng mườibảyđượcmiêut 17 = 110 1 +710 0 lượng mườibảyđượcmiêut 11 = 116 1 +116 0 lượng mườibảyđượcmiêut 10001 = 12 4 +02 3 +02 2 +02 1 + Cơbản vềhệthố BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Trong môi trường sửdụngđồng thờ lẫntrongcácbiểudiễncủacác lư nhậndạng hệthống sốđượcdùngt viết: 17Dđểxácđịnh sựbiểudiễntr 11H(hệthống sốthậplụcphân 10001 B(hệthống sốthậpnhị p các hệthống số: tảlà 17 trong hệthậpphânvì : tảlà 11 trong hệthậplụcphânvì : tảlà 10001 trong hệnhị phân vì : +12 0 ống sốVài thí dụ Môn : Ngôn ngưJava Slide 17 inhiềuhệthống số,đểtránh nhằm ợng khác nhau, ta sẽthêm ký tự trong biểudiễn liên quan. Thí dụta rong hệthống sốthập phân. n.) phân.) Chương 2 : Thểhiện dữliệu trong máy tính số Các phép tính cơbảntrong1hệthố 1. phép cộng 2. phép trừ 3. phép chia 4. phép nhân 5. phép dịch trái n ký số 6. phép dịch phải n ký số Cơbản vềhệthống BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Ngoài ra dođặcđiểmcủahệnhị phâ tính sau (các phép tính luậnlý): 1. phép OR bit 2. phép AND bit 3. phép XOR bit 4. .... ng sốlà : (+). (). (). (). (> n). gsố Các phép tính Môn : Ngôn ngưJava Slide 18 ân, hệnàycòncungcấp1 sốphép (|). (). (). Chương 2 : Thểhiện dữliệu trong máy tính số Thí dụvềcác phép tính cơbản(cá hệnhị phân : 0 1 1 0 + 0 0 1 1 1 0 0 1 10 0 00 1 01 1 Thí dụvềphép BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ácgiátrịđềuđượcbiểudiễnbằng 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 cộng, trừ, nhân Môn : Ngôn ngưJava Slide 19 00 0 0 1 0 0 1 1 0 1 1 0 1 Chương 2 : Thểhiện dữliệu trong máy tính số 1 0 1 1 1 0 1 0 1 0 1 Thí dụvềcác phép tính cơbản(cá hệnhị phân) : Thí dụvề BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 0 1 0 0 1 1 1 0 0 1 ácgiátrịđềuđượcbiểudiễnbằng sốbịchia sốchia thương số phép chia Môn : Ngôn ngưJava Slide 20 dưsố Chương 2 : Thểhiện dữliệu trong máy tính số Thí dụvềcác phép tính dịch ký số bằng hệnhị phân) : 00001 10 1bịdịch trái 2 bit (tương dương Thí dụvềphé BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 00001 10 1bịdịch phải 2 b (tương dương ố(các giá trịđềuđượcbiểudiễn 00 00 11 01 00 tthành với nhân 2 2 ) 0 0 ép dịch ký số Môn : Ngôn ngưJava Slide 21 00001 10 1 bit thành với chia 2 2 ) 00 Chương 2 : Thểhiện dữliệu trong máy tính số ĐạisốBoolenghiêncứuvềcác phé có 2 giá trị 0và 1,tươngứng với h (hay không và có) củađờithường xynotxxandyxnandy 00 1 0 1 01 0 1 Các phép tính c BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 10 0 0 1 11 1 0 BiểuthứcBoolelà1biểuthứctoán Boole trên các toán hạng là các biến éptoán thựchiện trên các biếnchỉ hai thái cựcluận lý sai và đúng g. Các phép toán này gồm: y xoryxnoryxxory 01 0 10 1 ủa đại sốBoole Môn : Ngôn ngưJava Slide 22 10 1 10 0 nhoc cấu thành từcác phép toán nchỉ chứa2trị 0và 1. Chương 2 : Thểhiện dữliệu trong máy tính số Các đơn vị đo lường bộnhớthường 1. byte : 8bit, có thểmiêu tả đượ 2. word :2 byte, có thểmiêu tả 3. double word: 4 byte, có thể nhau. 4 KB (kilo byte)=210 = 1024 b Các đơn vịnhớ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 4. KB (kilo byte)= 2 10 = 1024 b 5. MB (mega byte) = 2 20 = 1024 6. GB (giga byte) = 2 30 = 1024M 7. TB (tetra byte) = 2 40 = 1024G Thí dụ, RAM của máy bạn là 256MB dùng là : ợc 2 8 = 256 giá trịkhác nhau. được 2 16 = 65536 giá trịkhác nhau. miêu tả được 2 32 = 4 tỉgiá trịkhác byte ớthường dùng Môn : Ngôn ngưJava Slide 23 byte. 4KB ≅1 triệu byte. MB ≅1 tỉbyte. GB≅1 ngàn tỉbyte. , đĩa cứng là 30GB. Chương 2 : Thểhiện dữliệu trong máy tính số Tùy ngôn ngữlập trình mà cách biểudiễnsốtrong máy có những khác biệtnhất định. Riêng VC++ có nhiều phương pháp biểudiễnsố khác nhau, trongđó 2 cách thường dùng là sốnguyên Biểu diễn sốngu 00 00 .. 01 BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM và sốthực. Máydùng 1 word(2byte)để chứadữliệu nguyên (short) theo qui định sau (khi chứa vào bộnhớthì byte trọng số nhỏđitrước LE Little Endian) : 01 10 10 .. 11 uyên trong Java 0000000 00000000 0 0000000 00000001 1 ... 1111111 11111111 32767 Sựbiểu diễngiá trị Môn : Ngôn ngưJava Slide 24 1111111 11111111 32767 0000000 00000000 32768 0000000 00000000 32767 ... 1111111 11111111 1 Chương 2 : Thểhiện dữliệu trong máy tính số Đểmiêu tảđược các giá trị nguyên 32767, VC++ cung cấpkiểuintlo 1giátrị nguyên với cùng nguyên tắc long miêu tảcác sốnguyên trong phạ Máydùng8byteđểchứadữliệuthự ±m Be , m gọi là định trị(0.1≤m Biểu diễn sốth BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM b63 11 1 phần định trị m phần sốmũe bit dấu nnằm ngoài phạmvitừ32768 đến ong, kiểu này dùng 4 byteđểmiêu tả cnhưkiểushort.Kếtquảlà kiểuint, ạmvitừ2 tỉđến2tỉ. ực(Kiểu double) theo dạng sau : m ? PQ R S T U V W X Y Z _ pq r s t u v w x y z { | } ~ Chương 2 : Thểhiện dữliệu trong máy tính số Mã ISO88591 dùng các giá trị (mã) mã ký tựđầuquiđịnh giống nhưmã mã từ031 là cácmãđiềuk LF=10 (Line Feed), ESC=27( mã 32 miêu tảký tựtrống, 33 Bảng mã ISO %( ) + 0 BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM % ( ) +,. 0 A B C D E F G H I J K L M N O P `a b c d e f g h i j k l m n o p € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° À Á Â Ã Ä ÅÆ Ç È É Ê Ë Ì Í Î Ï Ð àá â ã ä å æ ç è é ê ë ì í î ï ð từ0256đểmiêu tảcáckýtự(128 ASCII) : khiểnnhưCR=13 (Carriage Return), (Escape)... 3miêu tảký tự,... theo bảng sau : O88591 (8 bit) 0 1234 56 789: ;< =>? Môn : Ngôn ngưJava Slide 28 0 1 2 3 4 5 6 7 8 9 : ; < = > ? PQ R S T U V W X Y Z _ pq r s t u v w x y z { | } ~ ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ °± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ ÐÑ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß ðñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Chương 2 : Thểhiện dữliệu trong máy tính số MãĐHBK 1 byte cóđượcbằng cách mã từ031 là cácmãđiềuk LF=10 (Line Feed), ESC=27( mã 32 miêu tảký tựtrống, 33 Bảng mã tiếng V % () + 0123 456789 : BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM % ( ) +, . 0 1 2 3 4 5 6 7 8 9 : A B C D E F G H I J K L M N O P Q R S T ` a b c d e f g h i j k l m n o p q r s t u v w x y z Á ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ị ‘ ’ “ ” • –— Ấ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú hhiệuchỉnh bảng mã ISO88591 : khiểnnhưCR=13 (Carriage Return), (Escape)... 3miêu tảký tự,... theo bảng sau : Việt ĐHBK 1 byte ;? Môn : Ngôn ngưJava Slide 29 ; < = > ? TU V W X Y Z _ z{ | } ~ —˜ ™ š › œ ẶŸ »¼ ½ ¾ ¿ Õ Ö × Ø Ù Ú Û Ü Ý Þ ß úû ü ý þ ÿ Chương 2 : Thểhiện dữliệu trong máy tính số Mã Unicode Windows dùng 2 byteđể 256 mãđầutừ0255 giống mã từ256 trởđichứacác ký thếgiới(quákhứ,hiệntạivà thí dụsaulà1phầnmãtiếng Một phần mã tiếng Vi mã 1ea0H biểu diễn kýtự Ạ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Ạ ạ Ả ả Ấ ấ Ầ ầ Ẩ ẩ Ẫ ẫ Ậ ậ Ắ ắ Ằ ằ Ẳ ẳ Ẵ ẵ Ặ Ề ề Ể ể Ễ ễ Ệ ệ Ỉ ỉ Ị ị Ọ ọ Ỏ ỏ Ố ố Ồ ồ Ổ ổ Ỗ ỗ Ỡ ỡ Ợ ợ Ụ ụ Ủ ủ Ứ ứ Ừ ừ Ử ử Ữ ữ Ự ự Ỳ ỳ Ỵ H ý ựẠ ểmiêu tả1kýtự: ynhưmã ISO88591. ýtựcủahầuhết các ngôn ngữtrên tương lai). Việt trong mã Unicode : ệt Unicode dựng sẵn mã 1ef9H biểu diễn kýtự ỹ Môn : Ngôn ngưJava Slide 30 Ặ ặ Ẹ ẹ Ẻ ẻ Ẽ ẽ Ế ế Ộ ộ Ớ ớ Ờ ờ Ở ở ỵ Ỷ ỷ Ỹ ỹ H ý ựỹ Chương 2 : Thểhiện dữliệu trong máy tính số Sốnguyên (short), sốthực (double) mã hóa dữliệuphổdụng, ngoài ram hóa riêngđểmã hóa dữliệuđặc thanh,... Trong chương 5và 6 chúngtasẽtr ngôn ngữVC++ hỗtrợ. Nhưngta đãtrình bàytrongslide9(c Mã hóa dữliệu BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Nhưngta đãtrình bàytrongslide9(c thểnào thì kếtquảcủaviệcmãhóa đểcó thểđượclưutrửvà xửlý bên t Bộnhớcủa máy tính thường có dun nóđểchứacodevàdữliệucủachươ 1máytínhcóthểlưutrữrấtnhiều trên các thiếtbị chứatin(bộ nhớ CDROM,... ),chuỗiký tự(char) là những dạng mỗi ứng dụng có thểcầncócáchmã c thù củamìnhnhưhìnhảnh, âm rình bày chi tiếtcáckiểudữliệumà chương1) dùdùngcáchmãhóacụ của ứng dụng Môn : Ngôn ngưJava Slide 31 chương1), dùdùngcáchmãhóacụ aphải là 1 chuỗi bit (hay chuỗibyte) trong máy tính. nglượng không lớnnênta chỉ dùng ơng trìnhđang thựcthi. chươngtrìnhvàdữliệucủa chúng ớngoài) nhưđĩamềm,đĩacứng, Chương 2 : Thểhiện dữliệu trong máy tính số code của1 chương trình, chuỗiby thiếtbị chứatintrong 1 phầntửch 1thiếtbị chứatinthường chứar xuất 1 file, ta dùng tên nhậndạn tên nhậndạng củanó sẽởdạngt nghĩacủanội dung file), thí dụnh toàn bộnộidungluậnántốtnghiệ Thiết bịchứ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM g g Nếutadùng khônggianphẳngđ chứatinthìvìsốlượng file quá dạng, xửlý,... (nói chung là quảnl Đểgiải quyếtvấnđềtrên ta dùng và quản lý các file trên từng thiếtb yte miêu tảdữliệuđượclưutrữtrên hứatinluậnlýđượcgọilàfile. rấtnhiềufile.Đểnhậndạng và truy ggán cho mỗifile.Đểdễdùng file, tên gợinhớ(chuỗiký tựmiêu tảngữ hưfile luậnántốtnghiệp.doc chứa ệpcủangườidùngmáy. ứa tin File Môn : Ngôn ngưJava Slide 32 g g y đểđặt tên cho các file trên 1 thiếtbị lớnnêntakhólòngđặttên,nhận lý) từng file. gkhông gian cây thứbậcđểtổchức bị chứatin. Chương 2 : Thểhiện dữliệu trong máy tính số Đểtạo không gian cây thứ b (directory). thưmụclàphầntửchứanhiềup hay thưmục. Thường ta sẽdùng con có mốiquan hệmậtthiếtnào ảnh kỷniệm, thưmụcchứacác fil Thiết bị chứatin vật lý (đĩamềm Thiết bịchứa tin : Kh BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Thiết bị chứatin vật lý (đĩamềm tượng hóa nhưlà1thưmục(tag gốc). Thưmụcgốcchứanhiềup con củathưmụcgốcthường là file. Mỗithưmụccon lạicóthểch cứthếta sẽhình thành 1 cây thứ Ta cũng dùng tên gợinhớđểnhậ gian cây thứbậc, ta sẽdùng kh nhậndạng 1 file hay 1 thưmục. bậc, ta dùng khái niệmthư mục phầntửbên trong nó : có thểlà file gthưmụcđểchứanhững phầntử ođó, thí dụnhưthưmụcchứacác enhạcưa thích,... mđĩacứng CDROM ) đượctrừu ông gian cây thứbậc Môn : Ngôn ngưJava Slide 33 m, đĩacứng, CDROM,...) đượctrừu gọithưmụcđặcbiệt này là thưmục phầntửcon bên trong, mỗiphầntử thưmụccon nhưng cũng có thểlà hứanhiềuthưmục con hay file... và bậccác thưmụcvàfile. ậndạng từng thưmục. Trong không hái niệmđường dẫn (pathname)để Chương 2 : Thểhiện dữliệu trong máy tính số Thí dụvềhệ Windows Aud config.sys System Fonts i Cây thứbậc của ổc: BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM System ... win.com arial.ttf ệthống file dioFile VideoFile ... USAFilm VNFilm ChinaFilm Môn : Ngôn ngưJava Slide 34 ... Dòng đời.mpg Chương 2 : Thểhiện dữliệu trong máy tính số Đường dẫn (pathname) là thôngt từ1vị trí nào đó, nó chứadanhs các phầntửmà ta phải điqua xu cần tìm. ta dùng 1 dấungănđặcbiệt để nhau trongđường dẫn(trong Wind Tên thưmụcgốcluônlà. Đường dẫn tuyệt BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ụ g Có2kháiniệmđường dẫn:đư tươngđối. Đường dẫntuyệt đối l gốc,đường dẫntươngđốixuất directory). Trướckhi bắt đầuchạy, hệthống ứng dụng (theo cơchếnàođó).T quyềnthayđổithưmục working th tin đểtìm kiếm (xácđịnh) 1 phầntử sách chính xác các tên gợinhớcủa uất phát từvị trí đầuđể đếnphầntử ngăncách 2têngợinhớliên tiếp dows, dấungănlà) đối và tương đối Môn : Ngôn ngưJava Slide 35 ường dẫntuyệt đốivàđường dẫn làđường dẫnxuất phát từthưmục phát từthưmụclàm việc (working gsẽkhởi động thưmụcthực thi cho Trong quá trình thựcthi,ứng dụng có heo yêu cầuriêng tạitừng thời điểm. Chương 2 : Thểhiện dữliệu trong máy tính số Xét cây thứbậccủaổc: trên sl nhậndạng chính xác file arial.ttf tr c:WindowsFontsarial.ttf Nếuthưmục working củachươn ta có thểdùngđường dẫntươngđ arial.ttf Đườngdẫntuyệt đối thườngdàih Đường dẫn tuyệt đ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Đườngdẫntuyệt đối thườngdàih luôn có giá trị bấtchấpứng dụngđ Đường dẫntươngđốithường gọ truy xuấtvìứng dụng sẽthiếtlập các file màứng dụng truy xuất) working cụthể. Trong 1 vài trường hợpđặcbiệt, ngay cảnó dài và phứctạphơnđ lide x, đường dẫntuyệt đốisausẽ rong thưmụcFonts: ng trình hiện là c:WindowsFonts thì đốisauđâyđểxácđịnh file arial.ttf : hơnđườngdẫntươngđối nhưngnó đối và tương đối (tt) Môn : Ngôn ngưJava Slide 36 hơnđườngdẫntươngđối nhưngnó đangởthưmục working nào. ọnhơn(đasốchỉ chứatênfilecần pthưmục working là thưmụcchứa nhưng chỉ có giá trị với1 thưmục ta phảidùngđường dẫntươngđối ường dẫntuyệt đối Chương 2 : Thểhiện dữliệu trong máy tính số Hình dạng và cấutrúc của1hệth người dùng thiếtlậpnhờcác tác tạoxóa file, copymove filethưmục Nhưng trướckhi thựchiện1tácv file : làm hiểnthị cấutrúc củahệth nó dễdàng. Hệthống dùng nhiềucơchếkhác ời dù 1t á hế Quản lý hệ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM người dùng.1trong cáccơchếm mỗifile1sốthuộc tính truy xuất, m : Read Only, nếu=1thìhệ xóahiệuchỉnh phầntử. Hidden, nếu=1thìhệthống cácứng dụng duyệtfile. Archiveđượcthiếtlập=1n (phụcvụcho cơchếbackupt ống file của1thiếtbị chứatinsẽdo vụphổbiếnnhư:tạoxóa thưmục, ctừnơi này đếnnơikhác. vụnàođó, ngườidùngthường duyệt ống fileở1dạng nàođóđểquan sát nhauđểbảovệviệctruyxuấtfilebởi àWi d 9 dù là kết h ới ệthống file Môn : Ngôn ngưJava Slide 37 màWindows9xdùnglà kết hợpvới mỗithuộc tínhđượclưutrữtrong 1 bit ệ thống không cho các ứng dụng gsẽdấu không hiểnthị phầntửbởi nếuphầntửbị hiệuchỉnh nộidung tăng dần). Chương 2 : Thểhiện dữliệu trong máy tính số Tấtcảtác vụliên quan đếnhệthố thống file. hệthống sẽcung cấp1ứng dụn thựchiệncáctácvụquảnlýfile.T tiện ích Windows Explorerđểqu Có 3 cách phổbiếnđểchạy1ứng Tiện ích quản l BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 1. doubleclickvàoicon miêut (phảitạoiconchương trình tr 2. duyệt ứng dụng từmenuS Explorer 3. vào menu Start.Run, rồinhậ xácđịnh file chương trình và ống fileđượcgọilàtácvụquảnlýhệ ng(tiện ích)đểngườidùngdễdàng Thí dụtrên Windows ta thường dùng ảnlýhệthống file. gdụng (tiệních): ả lý hệthống file Môn : Ngôn ngưJava Slide 38 ảứng dụng trên màn hình desktop rước khi dùng cách chạy này). Start.Programs.Accessories.Windows ậphànglệnh explorer (đường dẫn các tham sốhàng lệnh). Chương 2 : Thểhiện dữliệu trong máy tính số MenuBar chứa tất cả tác vụmà ứng dụng hỗtrợ Toolbar chứa các icon tác vụthường dùng ể Cửa sổcủa WE các p BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM TreeCtrl hiển thịhệ thống file dạng cây ListCtrl hiển thịcác phần tửtrong thưmục StatusBar Taskbar phần tửgiao diện chính Môn : Ngôn ngưJava Slide 39 Chương 2 : Thểhiện dữliệu trong máy tính số Click vào ô đểthu nhỏnội dung thưmục Click vào ô + đểchi tiết hóa nội dung thư mục. ố ấ Các thao tác duy BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Nhưng tốt nhất là doubleclick vào tên thưmục đểchi tiết hóathu nhỏnội dung Click vào tên thưmục đểhiển thịnội dung yệt hệthống file Môn : Ngôn ngưJava Slide 40 Chương 2 : Thểhiện dữliệu trong máy tính số Qui trình chung đểthực hiện tác vụtrên 1 hay nhiều phần tử nào đó là : 1. chọn 1 hay nhiều phần tử cần xửlý. 2. chọn option trong menu hay icon trong toolbar thực Các tác vụ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM hay icon trong toolbar thực hiện tác vụmong muốn. Chọn nhiều phần tửliên tiếp : 1. chick vào phần tử đầu, 2. ấn và giửphím Shift, 3. click vào phần tửcuối. 4. thảphím Shift. ụxửlý file Môn : Ngôn ngưJava Slide 41 Chương 2 : Thểhiện dữliệu trong máy tính số Chọn nhiều phần tửrời rạc : 1. chick vào phần tử đầu, 2. ấn và giửphím Ctrl, 3. dời mouse đến từng phần tửcần chọn rồi click vào nó. ề ầ Các tác vụ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 4. lặp lại bước 3 nhiều lần cho nhiều phần tử 5. thảphím Ctrl. ụxửlý file Môn : Ngôn ngưJava Slide 42 Chương 2 : Thểhiện dữliệu trong máy tính số Thường việc tạo file mới được thực hiện bên trong ứng dụng. Qui trình tạo mới 1 thưmụcfile trong WE nhưsau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmục mà Tạo thưmụ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ọ ụ ở đó bạn muốn tạo thưmụcfile mới. 2. chọn menu File.New 3. nếu muốn tạo thư mục, chọn Folder. 4. nếu muốn tạo file, chọn loại file trong danh sách. ụcfile mới Môn : Ngôn ngưJava Slide 43 Chương 2 : Thểhiện dữliệu trong máy tính số Qui trình xóa 1 thưmụcfile trong WE nhưsau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmục mà ở đó bạn muốn xóa thư mụcfile. 2. chọn các phầntửcần Xóa thưmụcfi BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 2. chọn các phần tử cần xóa trong ListCtrl bên phải. 3. chọn menu File hay ấn phải chuột vào vịtrí chọn các phần tử để hiển thịmenu các tác vụcó thểthực hiện. 4. chọn option Delete ile đang tồn tại Môn : Ngôn ngưJava Slide 44 Chương 2 : Thểhiện dữliệu trong máy tính số Qui trình copy thưmụcfile trong WE nhưsau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmục mà ở đó bạn muốn copy thư mụcfile. 2. chọn các phầntửcần Copy thưmụcfi BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 2. chọn các phần tử cần copy trong ListCtrl bên phải. 3. chọn menu Edit hay ấn phải chuột vào vịtrí chọn các phần tử để hiển thịmenu các tác vụcó thểthực hiện. 4. chọn option Copy le vào clipboard Môn : Ngôn ngưJava Slide 45 Chương 2 : Thểhiện dữliệu trong máy tính số Qui trình dán thưmụcfile từ clipboard vào thưmục chứa nhưsau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmục mà ở đó bạn muốn dán thư mụcfile. Dán thưmụcfi BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ụ 2. chọn menu Edit để hiển thịmenu các tác vụcó thểthực hiện. 3. chọn option Paste le từclipboard Môn : Ngôn ngưJava Slide 46 Chương 2 : Thểhiện dữliệu trong máy tính số Việc di chuyển thưmụcfile được thực hiện bởi 3 tác vụ copypastedelete như đã được trình bày. Qui trình move thưmụcfile khác như sau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmụcmàởđóbạn Di chuyển (mov BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM thư mục mà ở đó bạn muốn copy thưmụcfile. 2. chọn các phần tửcần copy trong ListCtrl bên phải. 3. chọn menu Edit đểhiển thị menu các tác vụcó thể thực hiện. 4. chọn option Move to Folder và xác định thư mục đích. ve) thưmụcfile Môn : Ngôn ngưJava Slide 47 Chương 2 : Thểhiện dữliệu trong máy tính số Qui trình chạy ứng dụng và load file vào bộnhớ để hiệu chỉnh nội dung file nhưsau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmục file cần hiệu chỉnh. 2 chọn file cầnhiệuchỉnh Load file vào bộ n BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 2. chọn file cần hiệu chỉnh trong ListCtrl bên phải. 3. ấn phải chuột vào file chọn đểhiển thịmenu các tác vụcó thểthực hiện. 4. chọn option Open with và xác định ứng dụng được dùng đểhiệu chỉnh file. nhớ đểhiệu chỉnh Môn : Ngôn ngưJava Slide 48 Chương 2 : Thểhiện dữliệu trong máy tính số Qui trình làm hiển thịcửa sổ thông tin thưmụcfile như sau : 1. duyệt cây thưmục trong cửa sổbên trái và chọn thưmụcfile cần hiển thị thông tin. 2. chọn thưmụcfile cần hiểnthị thông tin trong Hiển thịcửa sổthôn BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM hiển thị thông tin trong ListCtrl bên phải. 3. ấn phải chuột vào file chọn đểhiển thịmenu các tác vụcó thểthực hiện. 4. chọn option Properties đểlàm hiển thịcửa sổ thông tin của thư mụcfile tương ứng. ng tin vềfilethưmục Môn : Ngôn ngưJava Slide 49 Chương 2 : Thểhiện dữliệu trong máy tính số Khi cửa sổthông tin của thư mụcfile đã được hiện thị, chọn trang generalVersion đểthấy các thông tin tương ứng. Trang bên phải là trang General. 1. xem các thuộc tính file. 2 nếumuốn thayđổi Xem và hiệu chỉnh thuộ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 2. nếu muốn thay đổi thuộc tính nào đó, ấn chuột vào checkbox tương ứng. Thuộc tính sẽchuyển từkhông thành có hay ngược lại. 3. nếu muốn cập nhật các hiệu chỉnh thì ấn chuột vào button OK. ộc tính filethưmục (tt) Môn : Ngôn ngưJava Slide 50 Chương 2 : Thểhiện dữliệu trong máy tính số MÔN NGÔN Chươ TỔNG QUÁT V BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM BẰNG JB NNGỮJAVA ơng 3 VỀLẬP TRÌNH Môn : Ngôn ngưJava Slide 51 Ậ BUILDER Chương 3 : Tổng quát vềlập trình JBuilder Cấu trúc của 1 ứng dụng Chương trình = cấu trú ttt module (package) BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM entry start g được lập trình cấu trúc úc dữliệu + giải thuật global data local data of module Môn : Ngôn ngưJava Slide 52 of module local data of function Chương 3 : Tổng quát vềlập trình JBuilder Xét cấutrúcchương trình cổđiểnc điểm chính sau : 1. rấtkhóđảmbảo tính nhấtquá vì bấtkỳlệnh nào trong hàm nà 2. nếuchương trình cầnđồng thờ thì cơchếlậptrình cấutrúc instance này Từlập trình cấu BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM instance này. Đểkhắcphục2nhượcđiểm chính trê ta sẽ lậptrìnhtheohướng đối Programming) trongđóchương trình tác nhau (xem slide kếtiếp). Visual Basic là ngôn ngữhỗtrợviệc nữaVBcònlàmôitrường lậptrìnhtrự củaslidetrước, ta thấycó2nhược ánvàđúngđắncủadữliệutoàn cục àocũng có thểtruy xuất chúng. ờinhiều instance của cùng 1 module không cho phép tạotựđộng các utrúc đến OOP Môn : Ngôn ngưJava Slide 53 ên(và bổsung nhiềuưuđiểm khác), tượng (OOP Object Oriented hlà 1 tậpcácđốitượng sống tương lậptrình theohướngđốitượng, hơn ực quan (visual) nên rấtdễdùng. Chương 3 : Tổng quát vềlập trình JBuilder Chương trình = tập các đ entry đối tượng (object) Cấu trúc của 1 BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM entry đối tượng tương tác nhau local data of object ứng dụng OOP Môn : Ngôn ngưJava Slide 54 of object local data of operation Chương 3 : Tổng quát vềlập trình JBuilder Đối tượng ~Mô hìnhđốitượng quan niệmchương và tương tác với nhau. ~Đốitượng bao gồmnhiều thành phần thuộctính(attribute) : mang 1 giá tác vụ(operation) : thựchiện1 cô BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Interface (abstract type) g(Object) gtrình bao gồmcácđốitượng sinh sống ,mỗi thành phầnthuộc1trong2 loại: átrị nhấtđịnh tạitừng thời điểm. ông việcnàođó. Implementation (class) Môn : Ngôn ngưJava Slide 55 Chương 3 : Tổng quát vềlập trình JBuilder Kiểu trừu tượng ~Abstract type(type)định nghĩain ~Interface là tậphợp các entrym tượng. ~Dùngsignatuređể định nghĩamỗ tênmethod (operation, functio danh sách tham sốhình thứ th ộ tí h tê t à hiề BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM thuộctính:tên,type vàchiều đặctảchứcnăngcủamethod ~Dùng abstract type (chứkhôngp thuộc tính, tham sốhình thức. ~User không cầnquan tâmđến tượng. g(Abstract type) terface sửdụngđốitượng. mà bên ngoài có thểgiao tiếpvới đối ỗi entry. Signature gồm: on) ức, mỗithamsốđượcđặctảbởi3 di h ể (IN OUTINOUT) Môn : Ngôn ngưJava Slide 56 dichuyển(IN, OUT, INOUT). d(thườngởdạng chú thích). phải class) để đặctảkiểu cho biến, class (hiệnthựccụthể)củađối Chương 3 : Tổng quát vềlập trình JBuilder Class (Imple ~Class định nghĩa chi tiết hiện t định nghĩa các thuộc tính d tính xác định trạng thái của kiểu của thuộc tính có thể l ký tự, chuỗi ký tự,...) hay a sau thuộc tính chứa tham k BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM sau thuộc tính chứa tham k coding các method và các ~Định nghĩa các method tạo và ~Định nghĩa các method constr ~User không cần quan tâm đến ementation) thực đối tượng : dữliệu : giá trịcủa tất cảthuộc a đối tượng. là type cổ điển (sốnguyên, thực, abstract type, trong trường hợp khảođếnđốitượng khác Môn : Ngôn ngưJava Slide 57 khảo đến đối tượng khác. internal function. àxóa đối tượng. ructor và destructor. nclass của đối tượng. Chương 3 : Tổng quát vềlập trình JBuilder Tính bao đóng ( ~Baođóng : che dấumọich không cho bên ngoài thấyvàt cao giữacácđốitượng (hayt đốitượng rấtthấp), nhờđódễ che dấucácthuộctínhdữ 1thuộc tính, ta tạo2met BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM sát việctruyxuấtvà chedấ che dấuchitiếthiệnthựcc che dấu các internal functi (encapsulation) hitiếthiệnthựccủađốitượng, truy xuất ⇒đảmbảo tínhđộclập tính kết dính cohesion giữacác ễbảotrì,pháttriểnứng dụng : liệu:nếucần cho phép truy xuất thod getset tươngứngđểgiám Môn : Ngôn ngưJava Slide 58 ấuchitiếthiệnthực bên trong. các method. on và sựhiệnthựccủa chúng. Chương 3 : Tổng quát vềlập trình JBuilder Tính thừa kế ~Viết1ứng dụng OOP làđịn đốitượng cấu thànhứng dụn ~Tính thừakế cho phép gi typeclass : ta có thểđịnh ngh đầumà bằng cách kếthừac nghĩa thêm các chi tiếtmới m Đathừakếhayđơnthừa BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Đathừakếhayđơnthừa Mốiquan hệsupertypesu có thểoverride sựhiệnt kếtquảoverride chỉ có tá class con. Đốitượng của class conc cha nhưng ngượclạithìk (inheritance) nhnghĩa các typeclass củacác g. ảmnhẹ công sức định nghĩa hĩa các typeclass không phảitừ các typeclass có sẵn, ta chỉđịnh màthôi(thường khá ít). kế Môn : Ngôn ngưJava Slide 59 kế. btype và superclasssubclass. thựccácmethodcủa class cha, ácdụng trên cácđốitượng của cóthểđóngvai tròcủađốitượng hôngđúng. Chương 3 : Tổng quát vềlập trình JBuilder Tính bao gộp 1 đối tượng có thểchứa nhiều hệbao gộp 1 cách đệqui giữa Có 2 góc nhìn vềtính bao gộp Góc nhìn ngữnghĩa BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM O1 O2 O3 O O4 O5 (aggregation) u đối tượng khác nhờmối quan acác đối tượng. : ngữnghĩa và hiện thực. Góc nhìn hiện thực O Môn : Ngôn ngưJava Slide 60 O1 O2 O3 O4 O5 Chương 3 : Tổng quát vềlập trình JBuilder Thông điệp ~Thông điệp là 1 phép gọi tác v khảo. ~Thông điệp bao gồm 3 phần : tham khảođến đối tượng đ tên tác vụ muốn gọi. danh sách tham số thực cầ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM danh sách tham số thực cầ tác vụ. ví dụ: aCircle.Draw (pWnd truy xuất thuộc tính trong in aCircle.Radius = 10 ≡ aC r = aCircle.Radius ≡ r = ~Thông điệp là phương tiện gia giữa các đối tượng. p(Message) vụcủa 1 đối tượng từ1 tham đích. ần truyền theo (haynhận về từ) Môn : Ngôn ngưJava Slide 61 ần truyền theo (hay nhận về từ) d) nterface : Circle.SetRadius(10); =aCircle.GetRadius(); ao tiếp (hay tương tác) duy nhất Chương 3 : Tổng quát vềlập trình JBuilder Xem lạislide9miêutảqui trình tổn quyết1 vấnđềngoàiđời, ta th phần chính : 1. giao diệnngười dùng :là tác vớichương trìnhđểnhậ sát hoạt động củachương dùnglà tậpcácđốitượngg Hai thành phần chí BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM g ập ợgg nhiềuđốitượng nhỏhơnn listbox, treeview... 2. giảithuậtxửlý bên trong cácđốitượng giao diệnvà Mỗi method là danh sách cá đểmiêu tảgiảithuậtmà met ng quát củaviệcdùngmáytínhgiải hấy1ứng dụng gồm2phần thành phương tiệncho ngườidùngtương ậpxuấtdữliệu,để điềukhiểngiảm trình. Trong OOP, giao diệnngười giao diệnnhưform, mỗiformchứa nh của 1 ứng dụng Môn : Ngôn ngưJava Slide 62 g ệ , nhưmenu, toolbar, button, textedit, : đượcthểhiệnbởi các method của cácđốitượng bên trongứng dụng. áclệnh thựcthi(cấutrúcđiềukhiển) thod thựchiện. Chương 3 : Tổng quát vềlập trình JBuilder Định nghĩacácđốitượng giao diện 1công việcrấtkhókhănvàtốnnhiề Đểgiảmnhẹcông sứcđịnh nghĩa trường lậptrình trực quan (visual)đ thường dùng và cung cấpcôngcụđ giao diệncủaứng dụng bằng cácht sẵnnày:ngườilậptrìnhđóng va ể ầ Thiết kếtrực quan các BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM thướcdi chuyểnvị trí các phầntửgi Ngoài ra môi trường trực quan còn đốitượng giao diệnmới(ActiveXC đượcviếtsauđó. Qui trình tạoviết ứ là viết ứng dụng bằng cách lắpghé nhưviệclắp máy tính từcác linh kiệ keyboard, monitor,... bằng cách viếtcodetường minh là ucôngsức, thời gian. cácđốitượng giao diện, các môi đãviếtsẵn1sốđốitượng giao diện đểngườilậptrình thiếtkếtrựcquan tích hợpcácđốitượng giao diệncó aitròhọasĩđểvẽhiệuchỉnh kích ầ c đối tượng giao diện Môn : Ngôn ngưJava Slide 63 ao diệncầnchoứng dụng. cho phép ngườilậptrìnhtựtạocác ontrol)đểdùng trong cácứng dụng ứng dụng theo cơchếnàyđượcgọi p các linh kiệnphầnmềm, nó giống ệnphầncứng nhưCPU, RAM, disk, Chương 3 : Tổng quát vềlập trình JBuilder Control buttons Window ≡Form, Dialogbox Title bar Editbox Các đối tượng giao BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Button diện có trong VC++ Môn : Ngôn ngưJava Slide 64 Chương 3 : Tổng quát vềlập trình JBuilder Static text DriveListBox Combobox ≡ Editbox + ListBox Các đối tượng giao d BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Tree Control ListBox Picture iện có trong VC++ (tt) Môn : Ngôn ngưJava Slide 65 Chương 3 : Tổng quát vềlập trình JBuilder Group Box Radio Button Các đối tượng giao d BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Checkbox iện có trong VC++ (tt) Môn : Ngôn ngưJava Slide 66 Chương 3 : Tổng quát vềlập trình JBuilder MenuBar Toolbar Button Popup Menu Các đối tượng giao d BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 1 window chứa 1 document của ứng dụng StatusBar iện có trong VC++ (tt) Môn : Ngôn ngưJava Slide 67 Chương 3 : Tổng quát vềlập trình JBuilder Đốitượng giao diệncónhững tính ch ngoài ra chúng còn có 1 sốđặcđiểm Đốitượng giao diệncũngđượccấuth và tác vụ. Mỗi đốitượng giao diệnchứakhán loạitrạng thái khác nhau : các thuộc tính xácđịnh vị trí và kíc Các tính chất chung của BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM các thuộc tính xác định tính BackColor,... các thuộc tính xácđịnh hành vi :E ... hấtgiống nhưđốitượng bình thường, riêng. hành từ2loại thành phần:thuộc tính nhiềuthuộctínhliênquanđếnnhiều chthước : Left, Top, Height, Width... ấ ể các đối tượng giao diện Môn : Ngôn ngưJava Slide 68 chấthiểnthị : Caption, Picture, Enable, ... Chương 3 : Tổng quát vềlập trình JBuilder Khi tạotrựcquan1đốitượng giao diệ cho các thuộc tính, thường ta chỉ cần đượcyêu cầuriêng.Có2cáchđểhiệ 1. trực quan thông qua cửasổthuộ 2. lập trình truy xuấtthuộc tính của Hiệu chỉnh thuộc tính c diệ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ện, môi trườngđãgángiátrị banđầu nthay đổi1vàithuộc tính làđápứng ệuchỉnh giá trị 1thuộc tính : ộc tính củađốitượng giao diện. đốitượng giao diện. của các đối tượng giao ện Môn : Ngôn ngưJava Slide 69 Chương 3 : Tổng quát vềlập trình JBuilder Mỗi đốitượng giao diệncókhánhiềutá là hàm xửlý biếncốvì cơchếgọihàm ứng dụng thông qua sựtương tác trựct khởihàm xửlý tươngứng chạy. Biến cốHàm Thí dụ khi ta ấnchuột vào button tên IDC_C, hệthống tạorabiếncố ể BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM BN_CLICKED để kích khởihàm OnC()chạy. ácvụ(method), hầuhết chúng đượcgọi mnày chủyếulà trựctiếptừngười dùng tiếpvới đốitượng, từđótạobiếncốkích mxửlý biến cố Môn : Ngôn ngưJava Slide 70 Chương 3 : Tổng quát vềlập trình JBuilder 1. chọnmenu View.ClassWizard để hiễnthị cửasổcode. 2. chọn tên class sẽchứa hàm xửlý biếncố. 3. chọnbiếncố cầntạo Cách tạo hàm xửlý b Qui trình tổng quát củaviệctạohàmxửl là dùng ClassWizard : BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM hàm xửlý trong danh sách Objects IDs, chọn biếncốtươngứng rồi ấn button Add function. 4. sửdụng kiếnthứcvề giảithuật cú pháp ngôn ngữVC++đểviết code cho hàm xửlý. biến cốcủa đối tượng lýcho1biếncốnàođócủa1đốitượng Môn : Ngôn ngưJava Slide 71 Chương 3 : Tổng quát vềlập trình JBuilder 1. Trướchếtphảinắmbắtyêucầuphầ ứng dụng phảicungcấp cho người 2. Phân tích sơlượctừng chứcnăng thành chứcnăng tươngứng. 3. Thiếtkếchi tiết các class phân tích cũng nhưphát họagiảithuậtcủatừ 4. Hiệnthựcphầnmềmbằng VC++ gồ ế ế Tổng kết qui trình viết 1 BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM 1. thiếtkếtrựcquan cácformg nhiềuphầntửgiao diện, các ph khôngtaphảitạothêm1sốđối Ứng vớimỗiphầntửgiao diện 1sốthuộc tính cầnthiết. 2. tạobiếnkếthợpvớiphầntửg 3. tạohàmxửlý biếncốcho các diệnrồiviếtcodechotừng hàm ầnmềmđểxácđịnh các chứcnăng mà dùng. gvà phát họa các class phân tích cấu :xácđịnh các thuộctínhvàcác tácvụ ng tác vụ. ồm3công việc chính : ỗ 1 ứng dụng bằng VC++ Môn : Ngôn ngưJava Slide 72 giao diệnngườidùng:mỗiformchứa hầntửgiao diệnthườngđãcósẵn, nếu tượng giao diệnmới(ActiveX Control). vừatạo ra, nên thiếtlậpgiátrịđầucho giao diệnđểtruy xuấtnótừlập trình. cbiếncốcầnthiếtcủacác phầntửgiao xửlý biếncốvừatạora. Chương 3 : Tổng quát vềlập trình JBuilder Chươ QUI TRÌNH THIẾT MÔN NGÔN BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM GIAO DIỆN CỦA Ứ JBUIL ơng 4 TKẾTRỰC QUAN NNGỮJAVA Môn : Ngôn ngưJava Slide 73 Ự ỨNG DỤNG BẰNG LDER Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Thí dụlậ Bài tập này cho phép bạn làm quen với qui trình viết 1 chương trình Java bằng JBuilder. Thí dụviết 1 trình Calculator đơn giản có giao diện (i diệ ủ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM sau (giao diện của tiện ích Calculator trong Windows ở chế độStandard) : ập trình Môn : Ngôn ngưJava Slide 74 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Thí dụlậ Với các chi tiết menu nhưsau : BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ập trình Môn : Ngôn ngưJava Slide 75 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng DựÁn (Project) Ứn 1ứng dụng javađượccấu thành từn Các phầntửgiao diện Các file code .java miêu tảsựh Cácđốitượng khác nhưcác pa được dùng cho giao diện,... Đểquảnlý ứngdụngđượcdễdàn BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Đểquảnlý ứngdụngđượcdễdàn (Project). Dựánlà1câythứbậccá ứng dụng là qui trình tạodựán, thêm dựán. Thao tácđểthựchiệncác tácvụtrên biếttrênhệthống file thứbậccủamá ng Dụng (Application) nhiềuđốitượng thuộcnhiềuloại: hiệnthựccủa các class. ackageđượcdùnglại, các tài nguyên ngta sửdụngphươngtiệnDựán Môn : Ngôn ngưJava Slide 76 ngta sửdụngphươngtiện Dựán ácphầntửcấu thànhứng dụng. Viết mbớt, hiệuchỉnh từng phầntửtrong nkhá giống với các thao tác mà ta đã áy tính. Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Khởi động JBuilder là 1ứng dụng nhưbaoứngd trongWindows,tacónhiều cách khác chọnmenuStart.Programs. Trial.Borland JBuilder 7 Enterp Ấn kép chuột vào icon shortcut (ta phảitạotrứciconshortcutnà chọn menu Start.Run,rồi nhập h BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ọ , ập c:JBuilder7inJBuilderW.exe dùng trình quảnlýhệthống file chương trình JBuilder (thí dụ chương trình JBuilderW.exe. Sau khi JBuilderWđượckhởi động,t sau: gJBuilder dụng khác.Đểkhởi động 1ứng dụng cnhau : Borland JBuilder 7 Enterprise prise Trial. của JBuilder trên màn hình desktop ày). hànglệnh chạy ứngdụng,thí dụnhư Môn : Ngôn ngưJava Slide 77 gệ ạy g ụg, ụ . eWE, duyệt đếnthưmụcchứafile ụ c:JBuilder7in), ấnképvàofile tathường thấycửasổmànhìnhnhư Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Cửa sổkhởi đ BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM động JBuilder Môn : Ngôn ngưJava Slide 78 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mớ Chọnmenu File.New Project, cửasổbên phải hiệnra. Nhậptêndựán phầnmềmvào textbox Name. Bạncó thểthay BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Bạncó thểthay đổicác thông số khác trong cửa sổđếnlúc vừaý thì ấn button Next để đến Step 2. ới dựán Môn : Ngôn ngưJava Slide 79 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới d Trong cửa sổStep 2 of 3, bạn có thể thay đổi các thông sốtheo ý muốn rồi ấn button Next để đi tiếp Step 3. BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM dựán (tt) Môn : Ngôn ngưJava Slide 80 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới d Trong cửa sổStep 3 of 3, bạn có thể thay đổi các thông sốtheo ý muốn rồi ấn button Finish để kết thúc qui trình Project Wizard. BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM dựán (tt) Môn : Ngôn ngưJava Slide 81 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới d Màn hình JBuilder sau khi kết thúc Project Wizard BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM dựán (tt) Môn : Ngôn ngưJava Slide 82 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới ứng dụ Chọnmenu File.New, cửasổ bên phảihiệnra. Chọntab General, chọn icon Application đểtạomới1ứng dụng rồi ấn BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM ụ g button OK. ng trong Project Môn : Ngôn ngưJava Slide 83 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới ứng dụng Nhậptên package chứa các class của ứng dụng. Nhập tên class miêu tảđối tượngứng dụng. Bạncó thểthay BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM Bạncó thểthay đổicác thông số khác trong cửa sổđếnlúc vừaý thì ấn button Next để đến Step 2. gtrong Project (tt) Môn : Ngôn ngưJava Slide 84 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới ứng dụng Nhập tên class miêu tả frame giao diện ứng dụng. Nhậptiêu đề củaframe này. Bạncó thểchọn các option cần BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM p thiết(thídụ menu bar, About Dialog,..). Khi vừaý thìấn button Next để đếnStep3. gtrong Project (tt) Môn : Ngôn ngưJava Slide 85 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Tạo mới ứng dụng Trong bước này, bạnthường chỉ cần ấn button Finish để hoàn thành qui trình Application Wizard. BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM gtrong Project (tt) Môn : Ngôn ngưJava Slide 86 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Màn hình JBuilder sau khi kết thúc Application Wizard Tạo mới ứng dụng BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM gtrong Project (tt) Môn : Ngôn ngưJava Slide 87 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Thiết kếtrực q Chọn tab Design để chuyển cửa sổlàm việc vềchế độ thiết kếgiao diện như hình bên. BộMôn Công nghệphần mềm Khoa Công nghệThông tin Trường ĐH Bách Khoa Tp.HCM quan giao diện Môn : Ngôn ngưJava Slide 88 Chương 4: Qui trình thiết kếtrực quan giao diện của ứng dụng Thiết kếtrực qu Đểtựdo bốtrí các phần tử giao diện, bạn chọn phần tử contentPane trong cửa sổ cây các phần tửgiao diện ể
Trang 1ẢI QUYẾT BÀI TOÁN
Môn : Ngôn ngư Java
Bất kỳ công việc (bài toán) ngoài đ
trình tự nhiều công việc nhỏ hơn T
gọi là giải thuật giải quyết công việ
cũng có thể được chia nhỏ hơn n
được miêu tả bằng 1 trình tự các lệ
hiện 1 số hữu hạn các chức năng cơcác lệnh là tự động từ lệnh đầu cho
ác lệnh được thực hiện này được gọi
hiện được được gọi là lệnh máy Ta
đời nào cũng có thể được chia thànhTrình tự các công việc nhỏ này được
ệc ngoài đời Mỗi công việc nhỏ hơnnữa, ⇒ công việc ngoài đời có thểệnh máy (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ố
vấn đề mấu chốt của việc dùng má
là lập trình (được hiểu nôm na làlệnh máy để thể hiện công việc)
của con người (với sự trợ giúp ngà
Với công nghệ phần cứng hiện na
mà tập lệnh máy rất sơ khai, mỗi lviệc rất nhỏ và đơn giản⇒ công
ới t ì h t ất lớ (hà t iệ ) á
Các khái niệm cơ bả
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
với trình tự rất lớn (hàng triệu) cángữ máy rất phức tạp, tốn nhiềubảo trì, phát triển
Ta muốn có máy luận lý với tập ltrình) cao cấp và gần gủi hơn vớinày bằng 1 máy vật lý + 1 chươntrình phân giải (interpreter)
áy tính giải quyết công việc ngoài đờiqui trình xác định trình tự đúng cácCho đến nay, lập trình là công việc
ày càng nhiều của máy tính)
ay, ta chỉ có thể chế tạo các máy tínhlệnh máy chỉ có thể thực hiện 1 côngviệc ngoài đời thường tương đương
lệnh (được đặc tả bởi ngôn ngữ lậpcon người Ta thường hiện thực máy
g trình dịch (compiler) hay 1 chương
Chương 1: Phương pháp giải quyết bài toán bằng máy tính số
Gọi ngôn ngữ máy vật lý là N0.ngôn ngữ N0 sẽ nhận đầu vào làngữ N1, phân tích từng lệnh N1 rồngôn ngữ N0 có chức năng tươnngôn ngữ N1 sang N0 dễ dàng, độ
N1không quá cao so với từng lệnh
Sau khi có máy luận lý hiểu được
Các khái niệm cơ bả
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
nghĩa và hiện thực máy luận lý N2
có 1 máy luận lý hiểu được ngôn
dễ dàng miêu tả giải thuật của bài
Nhưng qui trình trên chưa có điểm
và kiến thức ngày càng nhiều, nngôn ngữ mới với tập lệnh ngày cmiêu tả giải thuật càng dễ dàng, g
Trình biên dịch ngôn ngữ N1 sangchương trình được viết bằng ngôn
ồi chuyển thành danh sách các lệnh
n ngữ Nmrất gần gủi với con người,toán cần giải quyết
m dừng, với yêu cầu ngày càng caongười ta tiếp tục định nghĩa nhữngcàng gần gủi hơn với con người để
ọ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ố
Trang 2 Ngôn ngữ máy vật lý là loại ngôn
bình thường có thể dùng được C
miêu tả bởi các số binary (hay hexa
máy vật lý có thể hiểu trực tiếp, n
khăn trong việc viết và bảo trì chươ
Ngôn ngữ assembly rất gần với n
nhất của ngôn ngữ assembly tươ
biểu diễn dưới dạng gợi nhớ Ngoà
Các cấp độ ng
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
biểu diễn dưới dạng gợi nhớ Ngoà
niệm "lệnh macro" để nâng sức mạ
Ngôn ngữ cấp cao theo trường phá
Tập lệnh của ngôn ngữ này khá
bình thường
Ngôn ngữ hướng đối tượng như C
phương pháp cấu trúc chương trì
phát triển và thay thế linh kiện
n ngữ thấp nhất mà người lập trìnhCác lệnh và tham số của lệnh đượcadecimal) Đây là loại ngôn ngữ máynhưng con người thì gặp nhiều khóơng trình
ngôn ngữ máy, những lệnh cơ bảnơng ứng với lệnh máy nhưng được
ài ra người ta tăng cường thêm khái
ái lập trình cấu trúc như Pascal, C,
mạnh và gần với tư duy của người
++, Visual Basic, Java, C#, cải tiến
nh sao cho trong sáng, ổn định, dễ
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 của chương trình (code)
tin (dữ liệu)
Chương trình giải quyết bài toán n
khác nhau với tính chất rất đa dạ
cần 3 thông tin về dữ liệu đó :
- tên nhận dạng (identifier) xác
- kiểu dữ liệu (type) miêu tả cấu
Dữ liệu của c
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
- kiểu dữ liệu (type) miêu tả cấu
- tầm vực truy xuất (visibility)
nào) truy xuất dữ liệu
chức năng được dùng nhiều lần ở
cho phép cấu trúc chương trình, s
) sẽ tham khảo hoặc xử lý (truy xuất)
nào đó có thể truy xuất nhiều dữ liệuạng Để truy xuất 1 dữ liệu cụ thể, tađịnh vị trí của dữ liệu
routine, ) là 1 đoạn code thể hiện
ở nhiều vị trí trong chương trình, nó
Cấu trúc 1 chươ
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Đơn vị x (CPU
chứa code và data đang thực thi
thực thi từncủa chương
Mô hình máy tính
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Bus gia
xử lý )
Các thiết bị vào ra (I/O)
g lệnh
g trình
giao tiếp với bên ngoài (thường là người) để nhập/xuất tin
Trang 3yết bài toán bằng máy tính số
Môn : Ngôn ngư Java
Slide 9
Giải mã chuỗi bit ra dạng người, thiết bị ngoài hiểu được
dữ liệu huỗi bit
Chương 1: Phương pháp giải quyết bài toán bằng máy tính số
Trong quá khứ, phương pháp thườn
phương pháp từ-trên-xuống (top-dow
Nội dung của phương pháp này là xé
đó thì cần phải làm những công việc n
tìm được lại được phân thành những
cho đến khi những công việc phải làm
Thí dụ việc học lấy bằng kỹ sư CNTT
bao gồm 9 công việc nhỏ hơn là học
là học n môn học của học kỳ đó, họ
môn đó,
Hình vẽ của slide kế cho thấy trực qua
ng sử dụng để phân tích bài toán là
n analysis)
ét xem, muốn giải quyết vấn đề nàonhỏ hơn nào Mỗi công việc nhỏ hơncông việc nhỏ hơn nữa, cứ như vậy
m là những công việc thật đơn giản,
ọc 1 môn học là học m chương của
an 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ố
Công vigiải quy
Phương pháp phân tí
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Trang 4được gọi là byte, đây là 1 ô nhớ tron
Bộ nhớ trong của máy tính được d
chương trình đang thực thi Nó là 1 d
Cơ bản về việc lưu trử và
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
chương trình đang thực thi Nó là 1 d
nhớ được truy xuất độc lập thông q
Thường ta dùng chỉ số từ 0 - n để m
Mặc dù ngoài đời ta đã quen dùng
phần cứng bên trong máy tính, máy
liệu ở dạng nhị phân Do đó trong c
niệm nền tảng về hệ thống số và các
h số chỉ có thể chứa 2 giá trị : 0 và 1
ó thể miêu tả đại lượng lớn hơn Thí
56 giá trị khác nhau Dãy 8 bit nhớ
ng bộ nhớ của máy tính
dùng để chứa dữ liệu và code củadãy đồng nhất các ô nhớ 8 bit mỗi ô
à xử lý tin trong máy tính
Môn : Ngôn ngư Java
ch miêu tả dữ liệu trong máy tính
Chương 2 : Thể hiện dữ liệu trong máy tính số
Hệ thống số (number system) là cthống số gồm 3 thành phần chính :
Chương 2 : Thể hiện dữ liệu trong máy tính số
Biểu diễn của lượng Q trong hệ thốn
dndn-1 d1d0d-1 d-m⇔
Q = dn*Bn+ dn-1*Bn-1+ +d0*B0+dtrong đó mỗi dilà 1 ký số trong hệ thTrong thực tế lập trình bằng ngônthống số thập phân để miêu tả dữ
Cơ bản về hệ thống số
-Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
quen) Chỉ trong 1 số trường hợp đặphân (hay thập lục phân) để miêu tảhợp này, qui luật biểu diễn của lượngđơn giản là :
dndn-1 d1d0⇔
Q = dn*Bn+ dn-1*Bn-1+ +d1*B1+d0trong đó mỗi dilà 1 ký số trong hệ th
ng số B (B>1) là :
d-1*B-1+ +d-m*B-mhống B
ngữ cấp cao, ta thường dùng hệ
ữ liệu số của chương trình (vì đã
- Qui luật miêu tả lượng
Môn : Ngôn ngư Java
Chương 2 : Thể hiện dữ liệu trong máy tính số
Trang 5Thí dụ về biểu diễn các lượng trong
- lượng "mười bảy" được miêu t
Trong môi trường sử dụng đồng thờ
lẫn trong các biểu diễn của các lư
ống số - Vài thí dụ
Môn : Ngôn ngư Java
Slide 17
i nhiều hệ thống số, để tránh nhằmợng khác nhau, ta sẽ thêm ký tựtrong biểu diễn liên quan Thí dụ tarong hệ thống số thập phân
n.)phân.)
Chương 2 : Thể hiện dữ liệu trong máy tính số
Khoa Công nghệ Thông tin
Ngoài ra do đặc điểm của hệ nhị phâ
1 0 0 1
1 0 0
- 0 0 1
0 1 1 Thí dụ về phép
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
ác giá trị đều được biểu diễn bằng
1 1 0
1 0 0 1
* 0 1 0 1
1 0 0 1cộng, trừ, nhân
Môn : Ngôn ngư Java
Trang 60 0
Chương 2 : Thể hiện dữ liệu trong máy tính số
Đại số Boole nghiên cứu về các phé
có 2 giá trị 0 và 1, tương ứng với h
(hay "không" và "có") của đời thường
x y not x x and y x nand y
Biểu thức Boole là 1 biểu thức toán
Boole trên các toán hạng là các biến
ép toán thực hiện trên các biến chỉhai thái cực luận lý "sai" và "đúng"
g Các phép toán này gồm :
y x or y x nor y x xor y
ủa đại số Boole
Môn : Ngôn ngư Java
Chương 2 : Thể hiện dữ liệu trong máy tính số
Các đơn vị đo lường bộ nhớ thường
1 byte : 8bit, có thể miêu tả đượ
2 word : 2 byte, có thể miêu tả
3 double word : 4 byte, có thể
nhau
4 KB (kilo byte) = 210= 1024 b
Các đơn vị nhớ
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
4 KB (kilo byte) = 210= 1024 b
5 MB (mega byte) = 220 = 1024
6 GB (giga byte) = 230= 1024M
7 TB (tetra byte) = 240= 1024GThí dụ, RAM của máy bạn là 256MB
dùng là :
ợc 28 = 256 giá trị khác nhau
được 216 = 65536 giá trị khác nhau.miêu tả được 232 = 4 tỉ giá trị khác byte
có những khác biệt nhấtđịnh Riêng VC++ có nhiềuphương pháp biểu diễn sốkhác nhau, trong đó 2 cáchthường dùng là số nguyên
Biểu diễn số ngu
0000
01
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
và số thực
Máy dùng 1 word (2 byte) đểchứa dữ liệu nguyên (short)theo qui định sau (khi chứavào bộ nhớ thì byte trọng sốnhỏ đi trước - LE - LittleEndian) :
011010
Sự biểu diễn giá trị
Môn : Ngôn ngư Java
Trang 7Để miêu tả được các giá trị nguyên
32767, VC++ cung cấp kiểu 'int' & 'lo
1 giá trị nguyên với cùng nguyên tắc
long miêu tả các số nguyên trong phạ
Máy dùng 8 byte để chứa dữ liệu thự
n nằm ngoài phạm vi từ -32768 đếnong', kiểu này dùng 4 byte để miêu tả
c như kiểu short Kết quả là kiểu int,
mvới cơ số B = 16
Chương 2 : Thể hiện dữ liệu trong máy tính số
Chuỗi ký tự là danh sách nhiều ký tự
bởi n bit nhớ :
mã ASCII dùng 7 bit (dùng luô
1 ký tự⇒ tập ký tự mà mã AS
mã ISO8859-1 dùng 8 bit (1b
mà mã ISO8859-1 miêu tả đư
Biểu diễn chuỗi
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
mã Unicode trên Windows dù
⇒ tập ký tự mà mã Unicod
65536
Hiện có nhiều loại mã tiếng Việt khá
rồi qui định lại cách hiển thị 1 số ký t
bộ mã thống nhất toàn cầu, trong đó
ự, mỗi ký tự được miêu tả trong máy
ôn 1 byte nhưng bỏ bit 8) để miêu tảSCII miêu tả được là 128
byte) để miêu tả 1 ký tự ⇒ tập ký tựược là 256
ể
ký tự trong Java
Môn : Ngôn ngư Java
Slide 26
ùng 16 bit (2 byte) để miêu tả 1 ký tự
de trên Windows miêu tả được là
ác nhau, đa số dùng mã ISO8859-1
ự thành ký tự Việt Riêng Unicode là
có đủ các ký tự Việt
Chương 2 : Thể hiện dữ liệu trong máy tính số
Mã ASCII dùng các giá trị (mã) từ 0
- mã từ 0 - 31 là các mã điều kLF=10 (Line Feed), ESC=27 (
mã 32 miêu tả ký tự trống, 33
Bảng mã A
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
! " # $ % & ' ( ) * + , - / 0
@ A B C D E F G H I J K L M N O P
` a b c d e f g h i j k l m n o p
- 127 để miêu tả các ký tự :khiển như CR=13 (Carriage Return),(Escape)
3 miêu tả ký tự !, theo bảng sau :
mã 32 miêu tả ký tự trống, 33
Bảng mã ISO
! " # $ % & ' ( ) * + / 0
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
khiển như CR=13 (Carriage Return),(Escape)
3 miêu tả ký tự !, theo bảng sau :
Trang 83 miêu tả ký tự !, theo bảng sau :
Chương 2 : Thể hiện dữ liệu trong máy tính số
Mã Unicode Windows dùng 2 byte để
mã 1ef9Hbiểu diễn ký tự ỹ
Môn : Ngôn ngư Java
Chương 2 : Thể hiện dữ liệu trong máy tính số
Số nguyên (short), số thực (double)
mã hóa dữ liệu phổ dụng, ngoài ra mhóa riêng để mã hóa dữ liệu đặcthanh,
Trong chương 5 và 6 chúng ta sẽ trngôn ngữ VC++ hỗ trợ
Nhưng ta đã trình bày trong slide 9 (c
Mã hóa dữ liệu
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Nhưng ta đã trình bày trong slide 9 (cthể nào thì kết quả của việc mã hóa
để có thể được lưu trử và xử lý bên t
Bộ nhớ của máy tính thường có dun
nó để chứa code và dữ liệu của chươ
1 máy tính có thể lưu trữ rất nhiềutrên các thiết bị chứa tin (bộ nhớCDROM,
), chuỗi ký tự (char*) là những dạngmỗi ứng dụng có thể cần có cách mã
c thù của mình như hình ảnh, âmrình bày chi tiết các kiểu dữ liệu màchương 1) dù dùng cách mã hóa cụ
chương trình và dữ liệu của chúng
ớ ngoài) như đĩa mềm, đĩa cứng,
Chương 2 : Thể hiện dữ liệu trong máy tính số
code của 1 chương trình, chuỗi bythiết bị chứa tin trong 1 phần tử ch
1 thiết bị chứa tin thường chứa rxuất 1 file, ta dùng tên nhận dạntên nhận dạng của nó sẽ ở dạng tnghĩa của nội dung file), thí dụ nhtoàn bộ nội dung luận án tốt nghiệ
Thiết bị chứ
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Nếu ta dùng không gian phẳng đchứa tin thì vì số lượng file quádạng, xử lý, (nói chung là quản l
Để giải quyết vấn đề trên ta dùng
và quản lý các file trên từng thiết b
yte miêu tả dữ liệu được lưu trữ trênhứa tin luận lý được gọi là file
rất nhiều file Để nhận dạng và truy
g gán cho mỗi file Để dễ dùng file,tên gợi nhớ (chuỗi ký tự miêu tả ngữ
hư file "luận án tốt nghiệp.doc" chứa
ệp của người dùng máy
ứa tin - File
Môn : Ngôn ngư Java
Slide 32
để đặt tên cho các file trên 1 thiết bịlớn nên ta khó lòng đặt tên, nhậnlý) từng file
g không gian cây thứ bậc để tổ chức
bị chứa tin
Chương 2 : Thể hiện dữ liệu trong máy tính số
Trang 9 Để tạo không gian cây thứ b
(directory)
thư mục là phần tử chứa nhiều p
hay thư mục Thường ta sẽ dùng
con có mối quan hệ mật thiết nào
ảnh kỷ niệm, thư mục chứa các fil
Thiết bị chứa tin vật lý (đĩa mềm
Thiết bị chứa tin : Kh
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Thiết bị chứa tin vật lý (đĩa mềm
tượng hóa như là 1 thư mục (ta g
gốc) Thư mục gốc chứa nhiều p
con của thư mục gốc thường là
file Mỗi thư mục con lại có thể ch
cứ thế ta sẽ hình thành 1 cây thứ
Ta cũng dùng tên gợi nhớ để nhậ
gian cây thứ bậc, ta sẽ dùng kh
nhận dạng 1 file hay 1 thư mục
bậc, ta dùng khái niệm thư mục
phần tử bên trong nó : có thể là file
g thư mục để chứa những phần tử
o đó, thí dụ như thư mục chứa các
e nhạc ưa thích,
ông gian cây thứ bậc
Môn : Ngôn ngư Java
Slide 33
m, đĩa cứng, CDROM, ) được trừugọi thư mục đặc biệt này là thư mụcphần tử con bên trong, mỗi phần tửthư mục con nhưng cũng có thể làhứa nhiều thư mục con hay file vàbậc các thư mục và file
ận dạng từng thư mục Trong khônghái niệm đường dẫn (pathname) để
Chương 2 : Thể hiện dữ liệu trong máy tính số
Môn : Ngôn ngư Java
Slide 34
Dòng đời.mpg
Chương 2 : Thể hiện dữ liệu trong máy tính số
Đường dẫn (pathname) là thông t
từ 1 vị trí nào đó, nó chứa danh scác phần tử mà ta phải đi qua xucần tìm
ta dùng 1 dấu ngăn đặc biệt đểnhau trong đường dẫn (trong Wind
Tên thư mục gốc luôn là '\'
Đường dẫn tuyệt
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
ụ g
Có 2 khái niệm đường dẫn : đưtương đối Đường dẫn tuyệt đối lgốc, đường dẫn tương đối xuấtdirectory)
Trước khi bắt đầu chạy, hệ thốngứng dụng (theo cơ chế nào đó) Tquyền thay đổi thư mục working th
tin để tìm kiếm (xác định) 1 phần tửsách chính xác các tên gợi nhớ củauất phát từ vị trí đầu để đến phần tử
ngăn cách 2 tên gợi nhớ liên tiếpdows, dấu ngăn là '\')
đối và tương đối
Môn : Ngôn ngư Java
Slide 35
ường dẫn tuyệt đối và đường dẫn
là đường dẫn xuất phát từ thư mụcphát từ thư mục làm việc (working
g sẽ khởi động thư mục thực thi choTrong quá trình thực thi, ứng dụng cóheo yêu cầu riêng tại từng thời điểm
Chương 2 : Thể hiện dữ liệu trong máy tính số
Xét cây thứ bậc của ổ c: trên slnhận dạng chính xác file arial.ttf tr
Đường dẫn tuyệt đối thường dài hluôn có giá trị bất chấp ứng dụng đ
Đường dẫn tương đối thường gọtruy xuất vì ứng dụng sẽ thiết lậpcác file mà ứng dụng truy xuất)working cụ thể
Trong 1 vài trường hợp đặc biệt,ngay cả nó dài và phức tạp hơn đ
lide x, đường dẫn tuyệt đối sau sẽrong thư mục 'Fonts' :
ng trình hiện là c:\Windows\Fonts thìđối sau đây để xác định file arial.ttf :hơn đường dẫn tương đối nhưng nó
đối và tương đối (tt)
Môn : Ngôn ngư Java
Slide 36
hơn đường dẫn tương đối nhưng nóđang ở thư mục working nào
ọn hơn (đa số chỉ chứa tên file cần
p thư mục working là thư mục chứanhưng chỉ có giá trị với 1 thư mục
ta phải dùng đường dẫn tương đốiường dẫn tuyệt đối!
Chương 2 : Thể hiện dữ liệu trong máy tính số
Trang 10 Hình dạng và cấu trúc của 1 hệ th
người dùng thiết lập nhờ các tác
tạo/xóa file, copy/move file/thư mục
Nhưng trước khi thực hiện 1 tác v
file : làm hiển thị cấu trúc của hệ th
người dùng 1 trong các cơ chế m
mỗi file 1 số thuộc tính truy xuất, m
Archive được thiết lập =1 n
(phục vụ cho cơ chế backup t
ống file của 1 thiết bị chứa tin sẽ do
vụ phổ biến như : tạo/xóa thư mục,
c từ nơi này đến nơi khác
vụ nào đó, người dùng thường duyệtống file ở 1 dạng nào đó để quan sát
nhau để bảo vệ việc truy xuất file bởi
ệ thống không cho các ứng dụng
g sẽ dấu không hiển thị phần tử bởinếu phần tử bị hiệu chỉnh nội dungtăng dần)
Chương 2 : Thể hiện dữ liệu trong máy tính số
Tất cả tác vụ liên quan đến hệ thố
thống file
hệ thống sẽ cung cấp 1 ứng dụn
thực hiện các tác vụ quản lý file T
tiện ích "Windows Explorer" để qu
Có 3 cách phổ biến để chạy 1 ứng
Tiện ích quản l
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
1 double-click vào icon miêu t
(phải tạo icon chương trình tr
ản lý hệ thống file
g dụng (tiện ích) :ả
lý hệ thống file
Môn : Ngôn ngư Java
Slide 38
ả ứng dụng trên màn hình desktoprước khi dùng cách chạy này)
Start.Programs.Accessories.Windows
ập hàng lệnh "explorer" (đường dẫncác tham số hàng lệnh)
Chương 2 : Thể hiện dữ liệu trong máy tính số
MenuBar chứa tất cả tác vụ mà ứng dụng
hỗ trợ Toolbar chứa các icon tác vụ thường dùng
ể
Cửa sổ của WE & các p
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
TreeCtrl hiển thị hệ thống file dạng cây ListCtrl hiển thị các phần tử trong thư mục StatusBar
Taskbar
phần tử giao diện chính
Môn : Ngôn ngư Java
Slide 39
Chương 2 : Thể hiện dữ liệu trong máy tính số
Click vào ô - để thu nhỏ nội dung thư mục Click vào ô + để chi tiết hóa nội dung thư mục.
Các thao tác duy
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Nhưng tốt nhất là double-click vào tên thư mục để chi tiết hóa/thu nhỏ nội dung Click vào tên thư mục
để hiển thị nội dung
Trang 11Qui trình chung để thực hiện tác
vụ trên 1 hay nhiều phần tử
nào đó là :
1 chọn 1 hay nhiều phần tử
cần xử lý.
2 chọn option trong menu
hay icon trong toolbar thực
Các tác vụ
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
hay icon trong toolbar thực
hiện tác vụ mong muốn.
Chọn nhiều phần tử liên tiếp :
1 chick vào phần tử đầu,
Khoa Công nghệ Thông tin
4 lặp lại bước 3 nhiều lần
Chương 2 : Thể hiện dữ liệu trong máy tính số
Thường việc tạo file mới được thực hiện bên trong ứng dụng Qui trình tạo mới 1 thư mục/file trong
ở đó bạn muốn tạo thư mục/file mới.
ục/file mới
Môn : Ngôn ngư Java
Slide 43
Chương 2 : Thể hiện dữ liệu trong máy tính số
Qui trình xóa 1 thư mục/file trong WE như sau :
1 duyệt cây thư mục trong cửa sổ bên trái
2 chọn các phần tử cần xóa trong ListCtrl bên phải.
3 chọn menu File hay ấn phải chuột vào vị trí chọn các phần tử để hiển thị menu các tác
vụ có thể thực hiện.
4 chọn option "Delete"
ile đang tồn tại
Môn : Ngôn ngư Java
Slide 44
Chương 2 : Thể hiện dữ liệu trong máy tính số
Trang 12Qui trình copy thư mục/file
trong WE như sau :
1 duyệt cây thư mục
trong cửa sổ bên trái
3 chọn menu Edit hay ấn
phải chuột vào vị trí
Chương 2 : Thể hiện dữ liệu trong máy tính số
Qui trình dán thư mục/file từ
clipboard vào thư mục
chứa như sau :
1 duyệt cây thư mục
trong cửa sổ bên trái
Chương 2 : Thể hiện dữ liệu trong máy tính số
Việc di chuyển thư mục/file được thực hiện bởi 3 tác vụ copy/paste/delete như đã được trình bày Qui trình move thư mục/file khác như sau :
1 duyệt cây thư mục trong cửa sổ bên trái và chọn thư mục mà ở đó bạn
Di chuyển (mov
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
thư mục mà ở đó bạn muốn copy thư mục/file.
2 chọn các phần tử cần copy trong ListCtrl bên phải.
3 chọn menu Edit để hiển thị menu các tác vụ có thể thực hiện.
4 chọn option "Move to Folder" và xác định thư mục đích.
ve) thư mục/file
Môn : Ngôn ngư Java
Slide 47
Chương 2 : Thể hiện dữ liệu trong máy tính số
Qui trình chạy ứng dụng và load file vào bộ nhớ để hiệu chỉnh nội dung file như sau :
1 duyệt cây thư mục trong cửa sổ bên trái và chọn thư mục file cần hiệu chỉnh.
2 chọn file cần hiệu chỉnh
Load file vào bộ n
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
2 chọn file cần hiệu chỉnh trong ListCtrl bên phải.
3 ấn phải chuột vào file chọn để hiển thị menu các tác vụ có thể thực hiện.
4 chọn option "Open with"
và xác định ứng dụng được dùng để hiệu chỉnh file.
Trang 13Qui trình làm hiển thị cửa sổ
thông tin thư mục/file như
sau :
1 duyệt cây thư mục trong
cửa sổ bên trái và chọn
thư mục/file cần hiển thị
thông tin.
2 chọn thư mục/file cần
hiển thị thông tin trong
Hiển thị cửa sổ thôn
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
hiển thị thông tin trong
ListCtrl bên phải.
3 ấn phải chuột vào file
Chương 2 : Thể hiện dữ liệu trong máy tính số
Khi cửa sổ thông tin của thư
mục/file đã được hiện thị,
chọn trang
general/Version để thấy
các thông tin tương ứng
Trang bên phải là trang
General.
1 xem các thuộc tính file.
2 nếu muốn thay đổi
Xem và hiệu chỉnh thuộ
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
2 nếu muốn thay đổi
Chương 3 : Tổng quát về lập trình JBuilder
Cấu trúc của 1 ứng dụng
Chương trình = cấu trú
t ' t t'
module (package)
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Trang 14Xét cấu trúc chương trình cổ điển c
Để khắc phục 2 nhược điểm chính trê
ta sẽ lập trình theo hướng đối
Programming) trong đó chương trình
tác nhau (xem slide kế tiếp)
Visual Basic là ngôn ngữ hỗ trợ việc
nữa VB còn là môi trường lập trình trự
của slide trước, ta thấy có 2 nhược
án và đúng đắn của dữ liệu toàn cục
ào cũng có thể truy xuất chúng
ời nhiều 'instance' của cùng 1 modulekhông cho phép tạo tự động các
h là 1 tập các đối tượng sống tương
lập trình theo hướng đối tượng, hơn
ực quan (visual) nên rất dễ dùng
Chương 3 : Tổng quát về lập trình JBuilder
~ Mô hình đối tượng quan niệm chương
và tương tác với nhau.
~ Đối tượng bao gồm nhiều thành phần
thuộc tính (attribute) : mang 1 giá
tác vụ (operation) : thực hiện 1 cô
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Interface(abstract type)
g (Object)
g trình bao gồm các đối tượng sinh sống , mỗi thành phần thuộc 1 trong 2 loại :
á trị nhất định tại từng thời điểm.
ông việc nào đó.
Implementation(class)
Môn : Ngôn ngư Java
Slide 55
Chương 3 : Tổng quát về lập trình JBuilder
Kiểu trừu tượng
thuộc tính : tên, type và chiều
đặc tả chức năngcủa method
~ Dùng abstract type (chứ không pthuộc tính, tham số hình thức
tượng
g (Abstract type)
terface sử dụng đối tượng
mà bên ngoài có thể giao tiếp với đối
ỗi 'entry' Signature gồm :on)
ức, mỗi tham số được đặc tả bởi 3
di h ể (IN OUT INOUT)
Môn : Ngôn ngư Java
Trang 15~ Định nghĩa các method tạo và
~ Định nghĩa các method 'constr
~ User không cần quan tâm đến
Môn : Ngôn ngư Java
n class của đối tượng
Chương 3 : Tổng quát về lập trình JBuilder
Tính bao đóng (
~ Bao đóng : che dấu mọi ch
không cho bên ngoài thấy và t
cao giữa các đối tượng (hay t
đối tượng rất thấp), nhờ đó dễ
che dấu các thuộc tính dữ
1 thuộc tính, ta tạo 2 met
Bộ Môn Công nghệ phần mềm
Khoa Công nghệ Thông tin
sát việc truy xuất và che dấ
che dấu chi tiết hiện thực c
che dấu các 'internal functi
(encapsulation)
hi tiết hiện thực của đối tượng,truy xuất⇒ đảm bảo tính độc lậptính kết dính - cohesion giữa các
ễ bảo trì, phát triển ứng dụng :liệu : nếu cần cho phép truy xuấtthod get/set tương ứng để giám
Môn : Ngôn ngư Java
Slide 58
ấu chi tiết hiện thực bên trong
các method
on' và sự hiện thực của chúng
Chương 3 : Tổng quát về lập trình JBuilder
Tính thừa kế
~ Viết 1 ứng dụng OOP là địnđối tượng cấu thành ứng dụn
~ Tính thừa kế cho phép gitype/class : ta có thể định nghđầu mà bằng cách kế thừa cnghĩa thêm các chi tiết mới m
Đa thừa kế hay đơn thừa
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Đa thừa kế hay đơn thừa
Mối quan hệ supertype/su
có thể 'override' sự hiện tkết quả override chỉ có táclass con
Đối tượng của class con ccha nhưng ngược lại thì k
(inheritance)
nh nghĩa các type/class của cácg
ảm nhẹ công sức định nghĩahĩa các type/class không phải từcác type/class có sẵn, ta chỉ định
ác dụng trên các đối tượng của
có thể đóng vai trò của đối tượnghông đúng
Chương 3 : Tổng quát về lập trình JBuilder
Tính bao gộp
1 đối tượng có thể chứa nhiều
hệ bao gộp 1 cách đệ qui giữa
Có 2 góc nhìn về tính bao gộpGóc nhìn ngữ nghĩa
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Trang 16Thông điệp
~ Thông điệp là 1 phép gọi tác v
khảo
~ Thông điệp bao gồm 3 phần :
tham khảođến đối tượng đ
tên tác vụ muốn gọi
~ Thông điệp là phương tiện gia
giữa các đối tượng
p (Message)
vụ của 1 đối tượng từ 1 tham
đích
ần truyền theo (hay nhận về từ)
Môn : Ngôn ngư Java
Slide 61
ần truyền theo (hay nhận về từ)
d)nterface :Circle.SetRadius(10);
= aCircle.GetRadius();
ao tiếp (hay tương tác) duy nhất
Chương 3 : Tổng quát về lập trình JBuilder
Xem lại slide 9 miêu tả qui trình tổn
quyết 1 vấn đề ngoài đời, ta th
2 giải thuật xử lý bên trong
các đối tượng giao diện và
Mỗi method là danh sách cá
để miêu tả giải thuật mà met
ng quát của việc dùng máy tính giảihấy 1 ứng dụng gồm 2 phần thành
phương tiện cho người dùng tươngập/xuất dữ liệu, để điều khiển/giảmtrình Trong OOP, giao diện ngườigiao diện như form, mỗi form chứa
nh của 1 ứng dụng
Môn : Ngôn ngư Java
Slide 62
như menu, toolbar, button, textedit,
: được thể hiện bởi các method củacác đối tượng bên trong ứng dụng
ác lệnh thực thi (cấu trúc điều khiển)thod thực hiện
Chương 3 : Tổng quát về lập trình JBuilder
Định nghĩa các đối tượng giao diện
1 công việc rất khó khăn và tốn nhiề
Để giảm nhẹ công sức định nghĩatrường lập trình trực quan (visual) đthường dùng và cung cấp công cụ đgiao diện của ứng dụng bằng cách tsẵn này : người lập trình đóng va
Thiết kế trực quan các
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
thước/di chuyển vị trí các phần tử giNgoài ra môi trường trực quan cònđối tượng giao diện mới (ActiveX Cđược viết sau đó Qui trình tạo viết ứ
là viết ứng dụng bằng cách lắp ghénhư việc lắp máy tính từ các linh kiệkeyboard, monitor,
bằng cách viết code tường minh là
u công sức, thời gian
các đối tượng giao diện, các môi
đã viết sẵn 1 số đối tượng giao diện
để người lập trình thiết kế trực quantích hợp các đối tượng giao diện có
ai trò họa sĩ để vẽ/hiệu chỉnh kích
ầ
c đối tượng giao diện
Môn : Ngôn ngư Java
Slide 63
ao diện cần cho ứng dụng
cho phép người lập trình tự tạo cácontrol) để dùng trong các ứng dụngứng dụng theo cơ chế này được gọi
p các linh kiện phần mềm, nó giống
ện phần cứng như CPU, RAM, disk,
Chương 3 : Tổng quát về lập trình JBuilder
Control buttonsWindow ≡ Form,DialogboxTitle barEditbox
Các đối tượng giao
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Trang 17Các đối tượng giao d
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
1 window chứa 1 document của ứng dụng
StatusBar
iện có trong VC++ (tt)
Môn : Ngôn ngư Java
Slide 67
Chương 3 : Tổng quát về lập trình JBuilder
Đối tượng giao diện có những tính chngoài ra chúng còn có 1 số đặc điểmĐối tượng giao diện cũng được cấu th
các thuộc tính xác định tínhBackColor,
ch thước : Left, Top, Height, Width
các đối tượng giao diện
Môn : Ngôn ngư Java
Trang 18Khi tạo trực quan 1 đối tượng giao diệ
cho các thuộc tính, thường ta chỉ cần
được yêu cầu riêng Có 2 cách để hiệ
1 trực quan thông qua cửa sổ thuộ
2 lập trình truy xuất thuộc tính của
ện, môi trường đã gán giá trị ban đầu
n thay đổi 1 vài thuộc tính là đáp ứng
ệu chỉnh giá trị 1 thuộc tính :
ộc tính của đối tượng giao diện
đối tượng giao diện
của các đối tượng giao ện
Môn : Ngôn ngư Java
Slide 69
Chương 3 : Tổng quát về lập trình JBuilder
Mỗi đối tượng giao diện có khá nhiều tá
là hàm xử lý biến cố vì cơ chế gọi hàm
ứng dụng thông qua sự tương tác trực t
khởi hàm xử lý tương ứng chạy.
khởi hàm OnC() chạy.
ác vụ (method), hầu hết chúng được gọi
m này chủ yếu là trực tiếp từ người dùng tiếp với đối tượng, từ đó tạo biến cố kích
2 chọn tên class sẽ chứa hàm xử lý biến cố.
hàm xử lý trong danh sách Objects IDs, chọn biến cố tương ứng rồi
ấn button Add function.
4 sử dụng kiến thức về giải thuật & cú pháp ngôn ngữ VC++ để viết code cho hàm xử lý.
biến cố của đối tượng
lý cho 1 biến cố nào đó của 1 đối tượng
Môn : Ngôn ngư Java
Slide 71
Chương 3 : Tổng quát về lập trình JBuilder
1 Trước hết phải nắm bắt yêu cầu phầ ứng dụng phải cung cấp cho người
2 Phân tích sơ lược từng chức năng thành chức năng tương ứng.
3 Thiết kế chi tiết các class phân tích cũng như phát họa giải thuật của từ
4 Hiện thực phần mềm bằng VC++ gồ
Tổng kết qui trình viết 1
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
1 thiết kế trực quan các form g
nhiều phần tử giao diện, các ph không ta phải tạo thêm 1 số đối Ứng với mỗi phần tử giao diện
1 số thuộc tính cần thiết.
2 tạo biến kết hợp với phần tử g
3 tạo hàm xử lý biến cố cho các
diện rồi viết code cho từng hàm
ần mềm để xác định các chức năng mà dùng.
g và phát họa các class phân tích cấu
giao diện người dùng : mỗi form chứa
hần tử giao diện thường đã có sẵn, nếu tượng giao diện mới (ActiveX Control) vừa tạo ra, nên thiết lập giá trị đầu cho
giao diện để truy xuất nó từ lập trình.
c biến cố cần thiết của các phần tử giao
xử lý biến cố vừa tạo ra.
Chương 3 : Tổng quát về lập trình JBuilder
Trang 19Chương 4: Qui trình thiết kế trực quan giao diện của ứng dụng
Khoa Công nghệ Thông tin
sau (giao diện của
Các file code *.java miêu tả sự h
Các đối tượng khác như các pađược dùng cho giao diện,
Để quản lý ứng dụng được dễ dàn
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin
Để quản lý ứng dụng được dễ dàn(Project) Dự án là 1 cây thứ bậc cáứng dụng là qui trình tạo dự án, thêm
dự án
Thao tác để thực hiện các tác vụ trênbiết trên hệ thống file thứ bậc của má
ng Dụng (Application)
nhiều đối tượng thuộc nhiều loại :
hiện thực của các class
ackage được dùng lại, các tài nguyên
n khá giống với các thao tác mà ta đã
áy tính
Chương 4: Qui trình thiết kế trực quan giao diện của ứng dụng
Trang 20Khởi động
JBuilder là 1 ứng dụng như bao ứng d
trong Windows, ta có nhiều cách khác
Trial.Borland JBuilder 7 Enterp
Ấn kép chuột vào icon shortcut
(ta phải tạo trức icon shortcut nà
chọn menu Start.Run, rồi nhập h
e WE, duyệt đến thư mục chứa file
ụ c:\JBuilder7\bin), ấn kép vào file
ta thường thấy cửa sổ màn hình như
Chương 4: Qui trình thiết kế trực quan giao diện của ứng dụng
Nhập tên dự án phần mềm vào textbox Name.
Bạn có thể thay
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Bạn có thể thay đổi các thông số khác trong cửa
sổ đến lúc vừa ý thì ấn button Next để đến Step 2.
số theo ý muốn rồi
ấn button Next để
đi tiếp Step 3.
Bộ Môn Công nghệ phần mềm Khoa Công nghệ Thông tin