Bài giảng Nhập môn công nghệ phần mềm - Chương 8: Lập trình và ngôn ngữ lập trình - Nguyễn Thanh Bình
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
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 8: Lập trình và ngôn ngữ lập trình - Nguyễn Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Chương 8: Lập trình và ngôn ngữ lập trình - Nguyễn Thanh Bình
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, .NET... • website: PHP, ASP... • không t n t i ngôn ng ña năng cho m i ng d ng 19 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 c a ng ư i l p trình Phong cách l p trình không do l p trình viên t ñ t ra mà do t ch c/doanh nghi p/d án ñ t ra các lu t l p trình các quy ư c l p trình M c ñích mã ngu n d hi u, d ki m th , d b o trì ít l i 20 10 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 chú thích • ñ y ñ , d ñ c h n ch s d ng c u trúc khó hi u • break, continue, goto... ví d • quy ư c l p trình C++ 21 11
File đính kèm:
- bai_giang_nhap_mon_cong_nghe_phan_mem_chuong_8_lap_trinh_va.pdf