Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 1
1.0 Dn nhp
1.1 Tng quát vmáy tính và ngôn ngVC#
1.2 Tp ký t cơ bn ca ngôn ngVC#
1.3 Extended Backus-Naur Form (EBNF) notation
1.4 Cú pháp ₫ịnh nghĩa tên nhn dng (Name)
1.5 Cú pháp ₫ịnh nghĩa du ngăn (Seperator)
1.6 Cú pháp ₫ịnh nghĩa biu thc
1.7 Qui trình tính biu thc
1.8 Các lnh ₫ịnh nghĩa các thành phn phn mm
1.9 Các lnh thc thi
1.10 Kết chương
Chương 1
Ôn các kiến thc v pháp ngôn ngVC#
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 2
1.0 Dn nhp
Chương này stóm tt li 1 skiến thc cơ bn v pháp ca
ngôn ngVC# hu giúp các SV có góc nhìn tng th hthng
vngôn ngVC#, nh ócónhiu thun li hơn trong vic hc
các kiến thc ca môn hc này.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 3
1.1 Tng quát vmáy tính và ngôn ngVC#
Máy tính s thiết b ₫ặc bit, nó thiết btng quát hóa, nghĩa
ththc hin nhiu công vic khác nhau. Ta có thnói máy
tính s thiết bvn năng.
Vy ti 1 thi im xác ₫ịnh, máy tính thc hin công vic gì ? Nó
không làm gì cnếu con người không yêu cu cthnó.
Làm sao ₫ể con người có thyêu cu máy tính thc hin 1 công
vic nào ó? Ta phi viết chương trình gii quyết công vic tương
ng ri ₫ưa vào máy và nhmáy chy dùm.
Viết chương trình là qui trình ln và dài hn gm nhiu bước, trong
ócác bước chính yếu là : xác ₫ịnh chính xác các chc năng ca
chương trình, phân tích cách gii quyết tng chc năng, tìm thut
gii chi tiết ₫ể gii quyết tng chc năng, ₫ổi thut gii chi tiết t
ngôn ng ₫ời thường thành ngôn nglp trình cho máy hiu.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 4
1.1 Tng quát vmáy tính và ngôn ngVC#
Ngôn nglp trình là ngôn nggiao tiếp gia người và máy. Hc
ngôn nglp trình cũng ging như hc ngôn ngtnhiên, nghĩa
hc tun tcác thành phn ca ngôn ngtthp ₫ến cao như :
Tp ký t cơ bn
pháp xây dng t(word). T ₫ược dùng ₫ể ₫ặt tên nhn
dng cho tng phn tcu thành chương trình như hng gi
nh, biến, hàm chc năng, class ₫ối tượng,…
pháp xây dng biu thc. Biu thc (công thc toán hc)
miêu t1 quá trình tính toán tun tnhiu phép toán trên
nhiu dliu ₫ể to ra kết qutính toán.
pháp xây dng tng câu lnh : có 2 loi câu lnh : lnh ₫ịnh
nghĩa và lnh thc thi :
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 5
1.1 Tng quát vmáy tính và ngôn ngVC#
àLnh ₫ịnh nghĩa ₫ược dùng ₫ể ₫ịnh nghĩa và to mi phn
tcu thành phn mm.
àLnh thc thi miêu t1 hành ₫ộng cthcn phi thc
hin.
pháp tchc 1 hàm chc năng
pháp tchc 1 class chc năng
pháp tchc 1 chương trình.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 6
1.2 Tp ký t cơ bn ca ngôn ngVC#
Ngôn ngVC# hiu và dùng tp ký tUnicode. Cthtrên
Windows, mi ký tUnicode dài 2 byte (16 bit) => có 65536 ký t
Unicode khác nhau trên Windows.
Mc dù vy, VC# dùng chyếu các ký t:
àch(a-z tiếng Anh), '_',
àký ts(0-9),
àkhong trng và các du ngăn như Tab (gióng ct), CR (quay
v ₫ầu dòng), LF (xung dòng).
àcác ký t ₫ặc bit ₫ể miêu tphép toán như +, -, *, /, =, !, (, )
Các ký tkhác, nht là các ký t mã > 256 ch ₫ược dùng trong
lnh chú thích. Các ký t du tiếng Vit có mã t7840-7929.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 7
1.3 Extended Backus-Naur Form (EBNF) notation
Ta sdùng qui ước EBNF ₫ể miêu t pháp xây dng các phn
tca ngôn ngVC#. Cthta sdùng các qui ước EBNF sau
ây :
#xN, trong ó N là chui ký tthp lc phân. Qui ước này miêu
t1 ký t mã thp lc phân tương ng. Thí dta viết #x3e
₫ể miêu tký t>.
[a-zA-Z], [#xN-#xN], trong ó N là chui ký tthp lc phân.
Qui ước này miêu t1 ký tthuc danh sách ₫ược lit kê. Thí
dta viết [0-9] ₫ể miêu t1 ký tsthp phân t 0 ₫ến 9.
[^a-zA-Z], [^#xN-#xN], trong ó N là chui ký tthp lc phân.
Qui ước này miêu t1 ký tkhông thuc danh sách ₫ược lit
kê. Thí dta viết [^0-9] ₫ể miêu t1 ký tbt k nhưng không
phi là sthp phân t 0 ₫ến 9.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 8
1.3 Extended Backus-Naur Form (EBNF) notation
[^abc], [^#xN#xN#xN], trong ó N chui ký tthp lc phân.
Qui ước này miêu t1 ký tkhông thuc danh sách ₫ược lit
kê. Thí dta viết [^<@] ₫ể miêu t1 ký tbt k nhưng không
phi là < hay @.
"string". Qui ước này miêu tchui ký t ni dung nm trong
2 du nháy kép. Thí dta viết "DHBK" ₫ể miêu tchui ký t
DHBK.
'string'. Qui ước này miêu tchui ký t ni dung nm trong
2 du nháy ₫ơn. Thí dta viết 'DHBK' ₫ể miêu tchui ký t
DHBK.
(expression). Qui ước này miêu tkết quca vic tính biu
thc. Thí d (DefStatement | ExeStatement) ₫ể miêu tstn
ti ca phn tDefStatement hay ExeStatement.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 9
1.3 Extended Backus-Naur Form (EBNF) notation
A? miêu t t0 ti 1 ln A. Thí dS? miêu t t0 ti 1
phn tS.
A+ miêu t t1 ti n ln A. Thí dS+ miêu t t1 ti n
phn tS.
A* miêu t t0 ti n ln A. Thí dS* miêu t t0 ti n
phn tS.
A B miêu tphn tA ri ti phn tB.
A | B miêu tchn la A hay B.
A - B miêu tchui tha A nhưng không tha B.
/* ... */ miêu tchui chú thích.
Khoa Khoa hc & Kthut Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Môn : Lp trình hướng ₫ối tượng
Chương 1 : Ôn các kiến thc v pháp ngôn ngVC#
Slide 10
1.4 Cú pháp ₫ịnh nghĩa tên nhn dng (Name)
Mi phn t trong chương trình ₫ều ₫ược nhn dng bi 1 tên
nhn dng riêng bit. Tên là chui có ít nht 1 ký t, ký t ₫ầu là
nhng ký ttha lut NameStartChar, các ký tcòn li tha lut
NameChar. Cú pháp ₫ịnh nghĩa tên ca VC# là :
Name ::= NameStartChar (NameChar)*
NameStartChar ::= [a-zA-Z_]
NameChar ::= NameStartChar | [0-9]
Da vào cú pháp trên, ta nói tên nhn dng là 1 chui t1 ti
nhiu ký t, ký t ₫ầu phi là ký tchhay du _, các ký tcòn
li có th ch, shay du _. Độ dài maximum ca tên là 255.
Thí dSystem, Console, Writeln...