Bài giảng Kỹ thuật lập trình - Bài 1: Lập trình Cấu trúc - Lê Gia Minh

ppt 19 trang hoanguyen 3960
Bạn đang xem tài liệu "Bài giảng Kỹ thuật lập trình - Bài 1: Lập trình Cấu trúc - Lê Gia Minh", để 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:

  • pptbai_giang_ky_thuat_lap_trinh_bai_1_lap_trinh_cau_truc.ppt

Nội dung text: Bài giảng Kỹ thuật lập trình - Bài 1: Lập trình Cấu trúc - Lê Gia Minh

  1. Kỹ thuật lập trình Lập trình Cấu trúc 1
  2. Nội dung ¡ Giới thiệu về lập trình cấu trúc ¡ Phương pháp Top-Down ¡ Phương pháp Bottom-Up ¡ So sánh 2 phương pháp. ¡ Kết luận 2
  3. Lập trình Cấu trúc ¡ Lập trình là một công việc nặng nhọc, căng thẳng. ¡ Thời kỳ đầu sử dụng các ngôn ngữ lập trình cấp thấp(Assembler) và theo cấu trúc tuyến tính (FORTRAN) ¡ Cấu trúc lệnh tuần tự và GOTO ¡ 1973 – Hoare khẳng định vệ tinh phóng lên sao Kim là lỗi do lập trình DO 50 I=12,523 DO 50 I = 12.523 error 3
  4. Lập trình Cấu trúc (tt) ¡ 1968 Dijkstra yêu cầu hủy bỏ lệnh GOTO trong các ngôn ngữ lập trình ¡ 1970 Niklaus Wirth Pascal : ngôn ngữ lt có cấu trúc sáng sủa, dể hiểu ¡ 1978 Brian Barninghan và Dennis RitChe C với tối thiểu cấu trúc tập lệnh và hàm, đồng thời hai tác giả này đưa ra phiên bản hệ điều hành UNIX việt bằng C. 4
  5. Lập trình Cấu trúc(tt) ¡ Từ đó các ngôn ngữ sau này và trong lúc làm việc tránh dùng GOTO ¡ Thay bằng IF và các lệnh vòng lặp ¡ Chương trình có tính logic và đọc dể hiểu hơn 5
  6. Nguyên lý Tối thiểu ¡ Bắt đầu từ một tập nguyên tắc và tối thiểu các phương tiện là các cấu trúc lệnh, kiểu dữ liệu cùng các phép tóan trên nó và thực hiện viết chương trình ¡ Sau khi nắm chắc các công cụ nàymới đặt vấn đề mở rộng sang hệ thống thư viện tiện ích của ngôn ngữ . 6
  7. Nguyên lý nhất quán ¡ Dữ liệu thế nào thì phải thao tác thế ấy. Cần sớm phát hiện những mâu thuẫn giữa cấu trúc dữ liệu và thao tác để kịp thời khắc phục. ¡ Thí dụ : kiễu ký tự xem như kiễu nguyên 1 byte 7
  8. Nguyên lý nhất quán (tt) int a = 30000 , b = 20000 ; long kqCong = (long)a + b ; int kqTru = a – b ; long kqTich = a*b ; float kqChia = (float)a/(float)b; 8
  9. Phương pháp TOP-DOWN ¡ Mỗi sự vật trong môi trường xung quanh ta đều ₫ược cấu thành từ nhiều phần tử nhỏ hơn, mỗi phần tử nhỏ lại được cấu thành từ nhiều phần tử nhỏ hơn nữa. Thí dụ, con người gồm đầu, mình, tứ chi. Tứ chi gồm 2 tay và 2 chân ¡ Mỗi công việc cần giải quyết bằng máy tính cũng được cấu thành từ nhiều công việc nhỏ hơn, mỗi công việc nhỏ hơn lại được cấu thành từ nhiều công việc nhỏ hơn nữa 9
  10. TOP-DOWN(tt) ¡ Phương pháp phân tích từ-trên-xuống (top-down analysis) là phương pháp thường sử dụng ₫ể phân tích công việc, nội dung của phương pháp này là cố gắng xác ₫ịnh xem công việc cần giải quyết ₫ược cấu thành từ những công việc nhỏ nào, mỗi công việc nhỏ ₫ược cấu thành từ các công việc nhỏ hơn nào, cứ như vậy cho ₫ến khi những công việc xác ₫ịnh ₫ược là những công việc thật ₫ơngiản, có thể thực hiện dễ dàng. 10
  11. TOP-DOWN(tt) ¡ Thí dụ: việc học lấy bằng cử nhân CNTT khoa CNTT ĐHVL TP.HCM có thể bao gồm 8 công việc nhỏ hơn là học từng học kỳ từ 1 tới 8, học học kỳ i là học n môn học của học kỳ đó, học 1 môn học là học m chương của môn đó, 11
  12. TOP-DOWN(tt) 12
  13. Thí dụ : TOP-DOWN ¡ Bài toán : nhập 3 cạnh tam giác, kiểm tra sự hợp lệ của tam giác – Tam giác đó là tam giác thường , cân hay đều. ¡ Mức 0 : l Kiểm tra tam giác hợp lệ l Kiểm tra tam giác đều. l Kiểm tra tam giác cân l Kiểm tra tam giác thường 13
  14. Thí dụ : TOP-DOWN ¡ Mức 1: Mức các chức năng chính l Chức năng : kiểm tra là tam giác Input : a,b,c Output : true nếu là tam giác họp lệ false : ngược lại Action : if (a+b)<c OR (a+c)<b OR (b+c)<a return false else return true 14
  15. Phương pháp BOTTOM-UP ¡ Ngược với phương pháp phân tích từ-trên- xuống là phương pháp từ-dưới-lên (bottom-up), nội dung của phương pháp này là xuất phát từ những công việc nhỏ đã biết ta cố gắng kết hợp chúng để giải quyết được công việc lớn hơn, rồi từ các công việc lớn hơn này, ta lại cố gắng kết hợp chúng để giải quyết được công việc lớn hơn nữa, cứ thế tiếp tục đến lúc ta giải quyết được công việc cần giải quyết. 15
  16. BOTTOM-UP(tt) ¡ Thí dụ ta ₫ã biết n môn học rời rạc, ta cố gắng kết hợp 1 số trong chúng để tạo ra công việc lớn hơn mà ta gọi là "học kỳ", rồi ta cố gắng kết hợp 1 số trong các học kỳ đã có để tạo ra công việc lớn hơn mà ta gọi là "chương trình học cử nhân". 16
  17. BOTTOM-UP(tt) 17
  18. So sánh 2 phương pháp ¡ Top-Down- Ưu điểm: l Tập trung vào mục tiêu l Code đọc dể hiểu. ¡ Khuyết điểm : l Khó test chương trình l Bottom-up cho test unit. 18
  19. Kết hợp 2 phương pháp ¡ Trong thực tiển phân tích bài toán, người ta thường sử dụng kết hợp cả 2 phương pháp top- down và bottom-up ¡ Trước hết cần trang bị kiến thức giải quyết cho nhiều vấn đề nhỏ, càng nhiều càng tốt, ₫ể khi cần phân tích vấn đề mới, ta sẽ dùng phương pháp phân tích top-down nhưng trong từng bước, cố gắng phân tích vấn đề của bước đó thành các vấn đề đã giải quyết rồi ¡ Nhờ ₫ó khi hiện thực chương trình giải quyết vấn dề, ta sẽ thừa kế ₫ược càng nhiều module phần mềm viết sẵn và chỉ bỏ ít công sức hiện thực mới các module mới (số lượng tối thiểu). 19