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
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