Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
4,78 MB
Nội dung
14/9/2009
1
Chương 4
Lập trình
Lập trình
—
Tổng quan
—
Phương pháp lập trình
—
Ngôn ngữ lập trình
—
Phong cách lập trình
—
Kỹ thuật lập trình
—
Lập trình hướng hiệu quả
—
Tổng kết
Tổng quan
Ngôn ngữ lậptrình tốt
—
Tập trung vào nhu cầu xác định dự án phát triển của
từng phần mềm riêng.
—
Có thể thiết lập được một tập hợp tổng quát những
yêu cầu như sau:
—
Dễ dịch thiết kế sang chương trình
—
Có trình biên dịch hiệu quả,
—
Khả chuyển chươngtrình gốc
—
Có sẵn công cụ phát triển
—
Dễ bảo trì
Lập trình – NNLT tốt
—
Dễ dịch thiết kế sang chương trình
—
Về lý thuyết, việc sinh chươngtrình gốc từ một đặc
tả chi tiết nên là trực tiếp.
—
Tính dễ dịch thiết kế sang chươngtrình sẽ cho phép
một ngôn ngữ cài đặt trực tiếp cho các kết cấu có
cấu trúc, các cấu trúc dữ liệu phức tạp, các vào/ra
đặc biệt, khả năng thao tác bit và các đối tượng.
—
Làm cho việc dịch từ thiết kế sang chươngtrình
gốc dễ hơn nhiều.
14/9/2009
2
Lập trình – NNLT tốt
—
Có trình biên dịch hiệu quả
—
Mặc dầu những tiến bộ nhanh chóng trong tốc độ
xử lý và mật độ nhớ đã bắt đầu làm giảm nhẹ nhu
cầu chươngtrình siêu hiệu quả, nhiều ứng dụng vẫn
còn đòi hỏi các chươngtrình chạy nhanh, gọn (yêu
cầu bộ nhớ thấp).
—
Các ngôn ngữ với trình biên dịch tối ưu có thể là
hấp dẫn nếu hiệu năng phần mềm là yêu cầu chủ
chốt.
Lập trình – NNLT tốt
—
Khả chuyển chươngtrình gốc
—
Có thể được chuyển từ bộ xử lý này sang bộ xử lý
khác và từ trình biên dịch nọ sang trình biên dịch
kia với rất ít hoặc không phải sửa đổi gì.
—
Không thay đổi khi môi trường của nó thay đổi
(như việc cài đặt bản mới của hệ điều hành).
—
Có thể được tích hợp vào trong các bộ trình phần
mềm khác nhau với ít hay không cần thay đổi gì vì
các đặc trưng của ngôn ngữ lập trình.
Lập trình – NNLT tốt
—
Có sẵn công cụ phát triển
—
Làm ngắn bớt thời gian cần để sinh ra chươngtrình
gốc và có thể cải thiện chất lượng của chương trình.
—
Trong thực tế, khái niệm về môi trường phát triển
phần mềm tốt (bao hàm cả các công cụ) đã được
thừa nhận như nhân tố đóng góp chính cho công
nghệ phần mềm thành công.
—
Dễ bảo trì
—
Có tầm quạn trọng chủ chốt cho tất cả các nỗ lực
phát triển phần mềm.
Lập trình – NNLT tốt
—
Việc bảo trì được tiến hành khi người ta hiểu được
thiết kế chi tiết phần mềm và cuối cùng chương
trình gốc vẫn phải được đọc và sửa đổi.
—
Tính dễ dịch thiết kế sang chươngtrình là một yếu
tố quan trọng để dễ bảo trì chươngtrình gốc. Bên
cạnh đó, các đặc trưng về cấu tạo của ngôn ngữ
(như chiều dài của tên gọi, định dạng nhãn, định
nghĩa kiểu, cấu trúc dữ liệu) có ảnh hưởng mạnh
đến tính dễ bảo trì.
[...]... t ti n trình chuy n hóa thi t k chi ti t thành chươngtrình Ck Ta có n=n!/(k!*(n-k)!) Ck+1n=n!/((k+1)!*(n-k-1)!)=n!/(k!*(k+1)*(n-k+1)!) ⇒Ck+1n/Ckn= (n-k)/(k+1) ⇒Ck+1n=((n-k)/(k+1))*Ckn C0n=1 S d ng vòng l p đ tính Đ ph c t p o(n) và không hao b nh vì không dùng m ng — Các đ c trưng c a ngôn ng l p trình có nh hư ng l n — Phong cách l p trình quy t đ nh tính d hi u c a chươngtrình g c — L p trình c... p trình- hi u qu L p trình- hi u qu — Ví d 3 — Các c i ti n C0 C1 Ck Tính n, n, , n khi bi t n Cách thông thư ng: - Vi t hàm tính giai th a k - Tính t h p Ckn=n!/(k!*(n-k))! Đ ph c t p o(n2) — C1 (hi u qu ) — Dùng m ng n+1 ph n t a[0],a[1], ,a[n] đ tính và lưu a[i]=i! S d ng vòng l p n tính Ckn Đ ph c t p o(αn) v i α h ng 16 14/ 9/2009 L p trình- hi u qu T ng k t — C2 (hi u qu hơn) — Bư c l p trình. .. c chuy n ra ngoài hay không L p trình- hi u qu — Hi u qu b nh — Tính hi u qu b nh ph i đư c tính vào đ c trưng phân trang c a h đi u hành Nói chung, tính c c b c a chươngtrình hay vi c b o trì lĩnh v c ch c năng qua các k t c u có c u trúc là m t phương pháp tuy t v i làm gi m vi c phân trang và do đó làm tăng tính hi u qu 14 14/ 9/2009 L p trình- hi u qu L p trình- hi u qu — Hi u qu b nh — Hi u... t c đ L p trình- hi u qu L p trình- hi u qu — Ví d : — C2 (hi u qu hơn) Tính 1!,2!,3! n! — C1 (gi i thông thư ng) Vi t hàm Float GiaiThua(int k) S d ng hàm n y trong vòng l p L p I=1,,n In GiaiThua(I) Cu i l p Cách n y không hi u qu vì đ ph c t p o(n2) S d ng tính ch t k!=(k-1)!*k đ ph c t p ch còn o(n) GT=1 L p I=1, ,n GT=GT*I In GT Cu i L p 15 14/ 9/2009 L p trình- hi u qu L p trình- hi u qu —... ng m c dù ph n m m có l i 11 14/ 9/2009 L p trình – L p trình tránh l i — K thu t l p trình t t d a trên các y u t : — L p trình có c u trúc Dùng các l nh có c u trúc — Mođun hóa — H n ch dùng các c u trúc nguy hi m — Đóng gói/che d u thông tin — Xây d ng ki u d li u tr u tư ng — H n ch thao tác tr c ti p lên thu c tính — L p trình – L p trình tránh l i L p trình – L p trình tránh l i — Tránh các c... ki u — 12 14/ 9/2009 L p trình – L p trình phòng th — L nh vào ra L p trình – L p trình phòng th — Thao tác b nh — D li u không h p l — Quên c p phát, quên gi i phóng b nh — tràn b đ m (ki u ký t ) — Thi u b nh — l i thao tác file (sai tên, chưa đư c m ,…) — Sai đ a ch , tràn b nh — Các phép toán — L i chia 0 — Tràn s — So sánh s th c (b ng nhau) L p trình – Th l i L p trình – Th l i — N-Version — Th... dù ngôn ng có cho phép đi u đó Dùng các bi u th c s h c và logic b t kì khi nào có th đư c L p trình hư ng hi u qu L p trình hư ng hi u qu khi th c hi n chươngtrình — Tính hi u qu chươngtrình — Liên h tr c ti p v i tính hi u qu c a thu t toán đư c xác đ nh trong thi t k chi ti t — Tuy nhiên, phong cách l p trình có th có m t tác đ ng đ n t c đ th c hi n và yêu c u b nh — Các hư ng d n: — Đơn gi n... — — — Phát hi n l i Đ nh ra m c đ thi t h i H i ph c sau khi g p l i Ch a l i — S d ng nhi u nhóm l p trình — So sánh k t qu — Cùng thu t toán thì có xu hư ng m c cùng l i 13 14/ 9/2009 L p trình – Th l i — Recovery blocks — S d ng các thu t toán khác nhau — Ki m tra tính h p l c a k t qu L p trình- hi u qu — — — — — Khi có th , hãy tránh dùng m ng nhi u chi u Khi có th hãy tránh vi c dùng con tr và... 14/ 9/2009 L p trình – X lý l i — X lý l i — Ngo i l : Là cách th c x lý l i ti n ti n trong các ngôn ng hư ng đ i tư ng — môđun x lý ném ra m t ngo i l (đ i tư ng ch a thông tin l i) — môđun đi u khi n b t ngo i l (n u có) — Tách ph n x lý l i kh i ph n cài đ t thu t toán thông thư ng, làm cho chươngtrình d đ c hơn — D dùng hơn, an toàn hơn — L p trình – X lý l i — Ví d :... ngo i l }; L p trình – X lý l i — Ví d : Ngo i l (ném ngo i l ) double MyDivide(double num, double denom) { if (denom == 0.0) { throw invalid_argument(”The denom cannot be 0.”); } else { return num / denom; }} L p trình tránh l i — M c tiêu: xây d ng h th ng tin c y — Tránh l i: Ph n m m đư c phát tri n theo cách đ nó không ch a l i — Phòng th : Luôn gi đ nh r ng h th ng có l i Chươngtrình ch a mã . 14/ 9/2009
1
Chương 4
Lập trình
Lập trình
—
Tổng quan
—
Phương pháp lập trình
—
Ngôn ngữ lập trình
—
Phong cách lập trình
—
Kỹ thuật lập trình
—
Lập trình. dịch thiết kế sang chương trình
—
Có trình biên dịch hiệu quả,
—
Khả chuyển chương trình gốc
—
Có sẵn công cụ phát triển
—
Dễ bảo trì
Lập trình – NNLT tốt
—
Dễ