Thông tin tài liệu:
Có nhiều phương pháp lập trình khác nhau (nhiều ngôn ngữ lập trình khác nhau), điểm chung của các ngôn ngữ lập trình: dễ diễn đạt, dễ hiểu, dễ thực thi trên máy tính; một số tính chất của NNLT: kiểu và kiểm tra kiểu, mô đun hóa
Nội dung trích xuất từ tài liệu:
Lập trình và ngôn ngữ lập trình (8)
L p trình và ngôn
ng l p trình (8)
Nguy n Thanh Bình
Khoa Công ngh Thông tin
Trư ng ð i h c Bách khoa
ð i h c ðà N ng
L p trình
k năng cá nhân
năng l c cá nhân
hi u bi t các công c l p trình
l p trình viên c n
nguyên t c l p trình
kinh nghi m
l p trình viên t t
vi t chương trình
• ñúng ñ n
• d hi u
• d b o trì, phát tri n
2
1
Ngôn ng l p trình
Có nhi u phương pháp l p trình khác nhau
nhi u ngôn ng l p trình khác nhau
ði m chung c a các ngôn ng l p trình
(NNLT)
d di n ñ t
d hi u
d th c thi trên máy tính
M t s tính ch t c a NNLT
ki u và ki m tra ki u
mô-ñun hóa
3
Ki u
H u h t các NNLT ñ u có khái ni m
ki u
ki u s , ki u lô-gíc...
m t bi n có ki u d li u xác ñ nh
Ki m tra ki u
ñ m b o m t toán t /hàm ch áp d ng
cho nh ng toán t /tham s có ki u
cho phép
4
2
Ki u
Ngôn ng ñ nh ki u (types languages)
có h th ng ki u
cho phép ki m tra s d ng ki u phù h p mà
không c n th c thi chương trình
• ki m tra tĩnh
Ngôn ng ñ nh ki u cho phép
phát hi n s m m t s l i liên quan ñ n ki u
Ngôn ng ñ nh ki u
C, Java, C++...
5
ða hình
Ưu ñi m c a h th ng ki u và ki m tra ki u
ch t ch
d ki m tra
Tuy nhiên
h th ng ki u ph i m m d o trong s d ng
• ña hình
6
3
ða hình
M t s tình hu ng ña hình
Vi t hàm áp d ng cho các m ng có s ph n
t khác nhau
• ki u m ng ñư c ki m tra khi biên d ch
• s ph n t c a m ng ñư c ki m tra khi th c thi
Áp d ng hàm cho các ki u d li u khác
nhau
• xây d ng nhi u phiên b n c a hàm tương ng v i
các ki u khác nhau
• ho c ch xây d ng m t phiên b n c a hàm, x lý
khác nhau ñư c th c hi n khi th c thi
• template (C++), generic (Java)
7
ða hình
M t s tình hu ng ña hình
Vi t hàm áp d ng cho các m ng có s ph n t khác
nhau
• ki u m ng ñư c ki m tra khi biên d ch
• s ph n t c a m ng ñư c ki m tra khi th c thi
Áp d ng hàm cho các ki u d li u khác nhau
• xây d ng nhi u phiên b n c a hàm tương ng v i các
ki u khác nhau
• ho c ch xây d ng m t phiên b n c a hàm, x lý khác
nhau ñư c th c hi n khi th c thi
• template (C++), generic (Java)
• ho c s d ng ki u con/l p con
• ña hình trong ngôn ng l p trình hư ng ñ i tư ng
8
4
Mô-ñun hóa
Xu t hi n vào nh ng năm 70
ðóng vai trò quan tr ng ñ t o ra ph n
m m ch t lư ng
Thi t k hư ng mô-ñun
ph n m m = t p h p các mô-ñun và quan
h gi a chúng
H u h t các NNLT ñ u h tr mô-ñun hóa
9
Mô-ñun hóa
M t mô-ñun g m hai ph n
Ph n giao di n
• giao ti p v i bên ngoài mô-ñun ay mô-
ñun khác
Ph n thân
• n i dung c a mô-ñun
• c c b ñ i v i m i mô-ñun, che d u ñ i
v i mô-ñun khác
10
5
Mô-ñun hóa
Các mô-ñun ch trao ñ i d li u qua ph n
giao di n
không s d ng bi n toàn c c
N u thay ñ i ph n thân thì ít nh hư ng
(ho c không nh hư ng) ñ n các mô-ñun
khác
Trong ngôn ng l p trình c u trúc
mô-ñun = hàm
Trong ngôn ng l p trình hư ng ñ i tư ng
mô-ñun = l p / phương th c
11
Các phương pháp l p trình
cơ b n
L p trình th t c/c u trúc (procedural
programming)
L p trình hư ng ñ i tư ng (object-oriented
programming)
L p trình hàm (functional programming)
L p trình lô-gíc (logic programming)
12
6
L p trình th t c
ñư c s d ng ph bi n
l p trình có c u trúc
phù h p v i thi t k hư ng ch c
năng
NNLT th t c
Fortran, Ada, Pascal, C...
13
L p trình hư ng ñ i tư ng
khái ni m cơ b n
ñ i tư ng, l p
ñóng gói
th a k
ña hình
xu hư ng phát tri n c a các NNLT hi n ñ i
NNLT hư ng ñ i tư ng
Smalltalk, C++, Java, Delphi...
14
7
L p trình hàm
tính toán các bi u th c
hàm tính toán d a trên các giá tr c a tham
s
thao tác trên danh sách
áp d ng
lĩnh v c tính toán
trí tu nhân t o
NNLT hàm
LISP, Scheme...
15
L p trình lô-gíc
th c hi n các bi u th c lô-gíc
khái ni m h p gi i (resolution)
• tìm ki m giá tr c a các bi n sao cho bi u th c lô-
gíc có giá tr ñúng
ng d ng
xây d ng h chuyên gia
x lý ngôn ng t nhiên
NNLT lô-gíc
Prolog
16
8
Ch n NNLT
quy t ñ nh quan tr ng trong phát tri n
ph n m m
gi m chi phí
mã ngu n ch t lư ng
d b o trì, phát tri n
17
Ch n NNLT
d a vào nhi u y u t (1)
yêu c u c a khách hàng
• khách hàng t b o trì s n ph m
chương trình d ch
• c n có chương trình d ch có ch t lư ng t t
công c h tr
• d dàng quá trình l p trình, b o trì
kinh nghi m c a l p trình viên
• ch n NNLT mà l p trình làm ch
18
9
Ch n NNLT
d a vào nhi u y u t (2)
yêu c u tính kh chuy n (portability)
• th c hi n trên nhi u máy tính/plaform khác nhau
lĩnh v c ng d ng
• h th ng nhúng: C, Assembly...
• h th ng qu n lý: .NET, VB, C++...
• h chuyên gia: Prolog
• m ng: Java, .NE ...