Tài liệu Chương 4 - Lập Trình pdf

17 383 0
Tài liệu Chương 4 - Lập Trình pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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ập trì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ươ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ễ dịch thiết kế sang chương trình — Về lý thuyết, việc sinh chương trì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ương trì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ương trì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ương trình siêu hiệu quả, nhiều ứng dụng vẫn còn đòi hỏi các chương trì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ương trì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ương trì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ương trình là một yếu tố quan trọng để dễ bảo trì chương trì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ương trì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ương trì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ương trì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ương trình — Tính hi u qu chương trì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ương trì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ương trì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ễ

Ngày đăng: 20/01/2014, 09:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan