intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình C: Chương 5 - Nguyễn Minh Thành

Chia sẻ: Cxzvscv Cxzvscv | Ngày: | Loại File: PDF | Số trang:11

72
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình C: Chương 5 Thiết kế giải thuật nêu nền tảng của lập trình là thiết kế giải thuật, trong việc thiết kế cấu trúc logic của chương trình, điều quan trọng là dùng giải thuật nào cho thích hợp nhất. Vì thế chọn giải thuật để sử dụng là một trong những tiêu chuẩn quan trọng nhất sao cho thích hợp nhất với chương trình.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình C: Chương 5 - Nguyễn Minh Thành

  1. Thiết kế giải thuật Nguyễn Minh Thành Thanhnm.itc@edu.vn
  2. Vấn đề Nền tảng của lập trình là thiết kế giải thuật. Trong việc thiết kế cấu trúc logic của chương trình, điều quan trọng là dùng giải thuật nào cho thích hợp nhất. Vì thế chọn giải thuật để sử dụng là một trong những tiêu chuẩn quan trọng nhất sao cho thích hợp nhất với chương trình. Việc sử dụng giải thuật hiệu quả và dễ hiểu giúp gia tăng tốc độ thực hiện và giảm những lỗi tiềm ẩn. Do vậy giải thuật là một nhân tố chính yếu quyết định hiệu suất của hệ thống. 2
  3. Các loại giải thuật • Tìm kiếm • Sắp xếp. • Đệ quy. • Xữ lý chuỗi ký tự. • Xữ lý file. • Đồ họa. • Đồ thị. • V. v… 3
  4. Các phương pháp xây dựng giải thuật • Giải thuật là một tập các quy tắc được định nghĩa rõ ràng được áp dụng để giải quyết một vấn đề. • Giải thuật và cấu trúc dữ liệu có mối quan hệ chặt chẽ với nhau. Cấu trúc dữ liệu xác định khung nền cho giải thuật với một độ tin cậy chắc chắn. • Khi giải quyết một bài toán trên máy tính ta phải chú trọng đến hai vấn đề Cấu trúc dữ liệu và giải thuật. Giải thuật phản ánh các phép xữ lý, còn đối tượng xữ lý của giải thuật lại là dữ liệu, với cấu trúc dữ liệu được chọn, sẽ có những giải thuật tương ứng, khi cấu trúc dữ liệu thay đổi thường giải thuật cũng thay đổi theo. 4
  5. Ví dụ  Ví dụ: Trong việc xữ lý cấu trúc mảng, dữ liệu có thể được tìm kiếm và cập nhật dễ dàng, nhưng phải mất thời gian để chèn hay xoá dữ liệu. Bởi vì dữ liệu trong mảng được tổ chức liên tiếp nhau, thao tác chèn hay xoá dữ liệu thì tương đối phức tạp bởi việc dịch chuyển các dữ liệu liên quan về sau hoặc về phía trước. 5
  6. Ví dụ  Bằng cách dùng cấu trúc kiểu danh sách, việc chèn và xoá dữ liệu thì dễ dàng hơn, dữ liệu không cần phải dịch chuyển mà chỉ cần thay đổi con trỏ. 6
  7. Biểu Diễn Giải Thuật Có 2 phương pháp chính biểu diễn giải thuật: • Pseudocode (mã giả) • Flowchart (lưu đồ) Khi thiết kế giải thuật phải mô tả rõ: • Đầu vào • Đầu ra (kết quả) • Mô tả giải thuật 7
  8. Các từ khóa Pseudocode  IF ... THEN …ENDIF  IF ... THEN ... ELSE ... ENDIF  DO WHILE … ENDDO  DO … UNTIL … 8
  9. Ví dụ Read schedule file for tables to be loaded IF any tables to be loaded THEN Call XYZ to load tables ENDIF IF (value > low-value) AND (value < high-value) THEN Update table ELSE Display error message 123 on screen ENDIF DO Get field value Determine screen-field-number CASE screen-field-number OF 1: Perform edits for field-1 2: Perform edits for field-2 3: Perform edits for field-3 OTHERWISE Display error message 112 ENDCASE 9 UNTIL no error in field values
  10. Các ký hiệu Flowchart Bắt đầu/ kết thúc Xuất/ in Rẽ nhánh Điều Giá trị trả về kiện Luồng xử lý Khối xử lý Điểm nối Nhập 10
  11.  Ví dụ: Giải và biện luận: ax+b=0 11
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2