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

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 trang 1

Trang 1

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 trang 2

Trang 2

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 trang 3

Trang 3

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 trang 4

Trang 4

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 trang 5

Trang 5

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 trang 6

Trang 6

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 trang 7

Trang 7

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 trang 8

Trang 8

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 trang 9

Trang 9

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 trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 11 trang xuanhieu 3400
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

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
 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
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 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  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
ð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
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 ngoà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
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 toà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
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
Lp 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  ca 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
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
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
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
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

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_8_lap_trinh_va.pdf