Công nghệ phần mềm - Lập trình và ngôn ngữ lập trình

pdf 11 trang vanle 2470
Bạn đang xem tài liệu "Công nghệ phần mềm - Lập trình và ngôn ngữ lập trình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfcong_nghe_phan_mem_lap_trinh_va_ngon_ngu_lap_trinh.pdf

Nội dung text: Công nghệ phần mềm - Lập trình và ngôn ngữ lập trình

  1. Lp trình và ngơn ng lp trình (8) Nguy n Thanh Bình Khoa Cơng ngh Thơngtin Tr ưng ði h c Bách khoa ði h c ðà Nng Lp trình  knăngc á nhân  năng l c cá nhân  hi u bi t các cơng c lp trình  lp trình viên c n  nguyên t c l p trình  kinh nghi m  lp trình viên t t  vi t ch ươ ng trình • đúng đn • d hi u • d bo trì, phát tri n 2 1
  2. Ngơn ng lp trình  Cĩ nhi u ph ươ ng pháp l p trình khác nhau  nhi u ngơn ng lp trình khác nhau  ðim chung c a các ngơn ng lp trình (NNLT)  d di n đt  d hi u  d th c thi trên máy tính  Mt s tính ch t c a NNLT  ki u và ki m tra ki u  mơ-đun hĩa 3 Ki u  Hu h t các NNLT đu cĩ khái ni ệm ki ểu  ki u s , ki u lơ-gíc  mt bi n cĩ ki u d li u xác đnh   Ki ểm tra ki ểu  đm b o m t tốn t /hàm ch áp d ng cho nh ng tốn t /tham s cĩ ki u cho phép 4 2
  3. Ki u  Ngơn ng đnh ki u (types languages)  cĩ h th ng ki u  cho phép ki m tra s dng ki u phù hp 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 li liên quan đn ki u  Ngơn ng đnh ki u  C, Java, C++ 5 ða hình  Ưu đim 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 dng • đa hình 6 3
  4. ða hình  Mt 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 ca 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  Mt 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 ca 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 dng ki ểu con/l ớp con • đa hình trong ngơn ng lp trình h ưng đi t ưng 8 4
  5. Mơ-đun hĩa  Xu t hi n vào nh ng n ăm 70  ðĩng vai trị quan tr ng đ to ra ph n mm 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  Hu h t các NNLT đu h tr mơ -đun hĩa 9 Mơ-đun hĩa  Mt 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 • ni dung c a mơ-đun • cc b đi v i m i mơ-đun, che d u đi vi mơ-đun khác 10 5
  6. Mơ-đun hĩa  Các mơ-đun ch traođi d li u qua ph n giao di n  khơng s dng bi n tồn c c  Nu 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 lp trình c u trúc  mơ-đun = hàm  Trong ngơn ng lp trình h ưng đi t ưng  mơ-đun = l p / phươngthc 11 Các ph ươ ng pháp l p trình cơ b n  Lp trình th tc/c u trúc (procedural programming)  Lp trình h ưng đi t ưng (object-oriented programming)  Lp trình hàm (functional programming)  Lp trình lơ-gíc (logic programming) 12 6
  7. Lp trình th tc  đưc s dng ph bi n  lp trình cĩ cu trúc  phù hp v i thi t k hưng ch c năng  NNLT th tc  Fortran, Ada, Pascal, C 13 Lp 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
  8. Lp trình hàm  tính tốn các bi u th c  hàm tính tốn d a trên các giá tr ca tham s  thao tác trên danh sách  áp d ng  lĩnh v c tính tốn  trí tu nhân t o  NNLT hàm  LISP, Scheme 15 Lp 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 ca 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
  9. 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 bo trì, phát tri n 17 Ch n NNLT  da vào nhi u y u t (1)  yêu c u c a khách hàng • khách hàng t bo trì sn ph m  ch ươ ng trình d ch • cn cĩchươngtr ì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à lp trình làm ch 18 9
  10. Ch n NNLT  da 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 • mng: Java, .NET • website: PHP, ASP • khơng t n t i ngơn ng đanăngchomi ng dng 19 Phong cách l p trình  Cn cĩchươngtr ình d hi u  ph thu c vào đc đim 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  Mc đích  mã ngu n d hi u, d ki m th , d bo trì  ít l i 20 10
  11. Phong cách l p trình  Mt 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  hn ch s dng c u trúc khĩ hi u • break, continue, goto  ví d • quy ưc l p trình C++ 21 11