[r]
(1)Lập trình 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
2
Lập trình
kỹ cá nhân năng lực cá nhân
hiểu biết 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
(2)3
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 ngơn ngữlập trình (NNLT)
dễ diễn ñạt dễ hiểu
dễ thực thi máy tính Một số tính chất của NNLT
kiểu kiểm tra kiểu mơ-đun hóa
Kiểu
Hầu hết 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
(3)5
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++
6
ða hình
Ưu điểm của hệthống kiểu kiểm tra kiểu chặt chẽ
dễ kiểm tra
Tuy nhiên
(4)7
ða hình
Một số tình huống đa hình
Viết hàm áp dụng cho mảng có sốphần
tửkhác nhau
• kiểu mảng ñược kiểm tra biên dịch
• sốphần tửcủa mảng ñược kiểm tra thực thi
Áp dụng hàm cho kiểu dữliệu khác
nhau
• xây dựng nhiều phiên hàm tương ứng với kiểu khác
• chỉxây dựng phiên hàm, xửlý khác ñược thực thực thi
• template (C++), generic (Java)
ða hình
Một sốtình đa hình
Viết hàm áp dụng cho mảng có sốphần tửkhác
nhau
• kiểu mảng kiểm tra biên dịch
• sốphần tửcủa mảng ñược kiểm tra thực thi
Áp dụng hàm cho kiểu dữliệu khác
• xây dựng nhiều phiên bản của hàm tương ứng với kiểu khác
• chỉxây dựng một phiên bản của hàm, xửlý khác ñược thực thực thi
(5)9
Mơ-đun hóa
Xuất hiện vào những năm 70
ðóng vai trị quan trọng đểtạo phần mềm chất lượng
Thiết kế hướng mơ-đun
phần mềm = tập hợp mơ-đun quan
hệ giữa chúng
Hầu hết NNLT đều hỗtrợ mơ-đun hóa
10
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 ngồi mơ-đun ay
mơ-đun khác
Phần thân
• nội dung của mơ-đun
(6)19
Chọn NNLT
dựa vào nhiều yếu tố (2)
u cầu tính khảchuyển (portability)
• thực nhiều máy tính/plaform khác
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, NET
• website: PHP, ASP
• khơng tồn ngơn ngữ ña cho ứng dụng
Phong cách lập trình
Cần có chương trình dễhiểu
phụthuộc vào ñặc ñiểm NNLT phong cách người lập trình
Phong cách lập trình khơng lập trình viên tự đặt
mà tổchức/doanh nghiệp/dựán đặt
luật lập trình
quy ước lập trình
(7)21
Phong cách lập trình
Một sốnguyên tắc lập trình
đặt tên
• có ý nghĩa, gợi nhớ
trình bày
• rỏràng, dễhiểu
thích
• đầy đủ, dễ đọc
hạn chếsửdụng cấu trúc khó hiểu
• break, continue, goto
ví dụ