Bài giảng lập trình c chương 6 nguyễn minh thành

13 200 0
Bài giảng lập trình c  chương 6   nguyễn minh thành

Đ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

Kiểm tra tính đắn & tối ưu hóa chương trình Đặt vấn đề      Nguồn gốc sai sót có loại: Dữ liệu: Dùng kiểm tra liệu Cú pháp: Dùng trình biên dịch Ngữ nghĩa  Có cách kiểm lỗi chương trình: kiểm (testing) sửa (debugging) Kỹ thuật dò tìm phát lỗi Nguyên tắc Bảo đảm trường hợp kiểm tra   Thường bị lỗi ngã rẻ, phải duyệt qua lần  Một chương trình cần test nhiều lần  Kiểm tra môđun để giảm độ phức tạp Cách kiểm tra Tạo liệu thử cho thỏa cách sau:  Kiểm tra toàn nhánh chương trình: Mỗi lệnh chương trình chạy qua lần  Kiểm tra ngẫu nhiên  Kiểm tra điểm nút: lựa chọn, lặp, …  Chèn lệnh kiểm tra logic đoạn (dòng) lệnh Tối ưu hóa chương trình Tối ưu thời gian: Tăng không gian lưu trữ, thuật toán không đổi, đổi cấu trúc liệu cấu trúc chương trình  Tối ưu không gian: Tăng thời gian, thuật toán không đổi, đổi cấu trúc liệu cấu trúc chương trình  Tối ưu thời gian không gian: Thuật toán thay đổi  Tối ưu hóa nhớ Giảm thiểu vùng nhớ làm việc cần cho chương trình  Nguyên lý nén liệu Giảm khoảng trống: Biểu diễn danh sách tọa độ giá trị có giá trị  Mã lặp: Những liệu thường xuyên lặp lại dùng mã lặp Runlength-Coding để nén  Mã hóa dựa vào tần suất  Mã  Ánh xạ co liệu   Nguyên lý dùng công thức thay nhớ Tối ưu hóa thời gian thực Kỹ thuật tối ưu việc rẽ nhánh Sắp xếp biểu thức điều kiện theo thứ tự: Nếu dùng phép and để kết hợp biểu thức xếp  biểu thức theo xác suất sai giảm dần  Nếu dùng phép or để kết hợp biểu thức xếp biểu thức theo xác suất giảm dần Kỹ thuật tối ưu vòng lặp      Tách lệnh không phụ thuộc vào số lặp khỏi vòng lặp Thay phép nhân thành phép cộng Giảm số toán tử phức tạp vòng lặp nhờ biến phụ Giảm số vòng lặp chương trình Thực nhiều vòng lặp Vòng lặp có số lần lặp nằm ngòai vòng lặp có số lần lặp nhiều hơn: Hoán đổi thứ tự vòng lặp mà không làm sai ý nghĩa chương trình Thực hợp vòng lặp Tránh gọi lặp thủ tục  Giảm tối đa việc gọi thủ tục Hãy làm nhiều vòng lặp, thủ tục Giảm thiểu tối đa việc gọi đến thủ tục  Ví dụ: Hàm P(i) { … } for(i=1; i[...]...Nguyên lý phân c p bộ nhớ Dữ liệu thường đư c truy c p phải ở vị trí đư c truy c p tốt nhất: Tổ ch c ở bộ nhớ trong ho c bộ nhớ ngoài 11 Nguyên lý đối xứng Tính một phần rồi lấy đối xứng, không c n tính toàn bộ 12 Tăng tính hiệu quả c a chương trình Phân tích chương trình thành c c chương trình con  Tính đ c lập c a chương trình con c ng cao c ng tốt  13 ... lần  Một chương trình c n test nhiều lần  Kiểm tra môđun để giảm độ ph c tạp C ch kiểm tra Tạo liệu thử cho thỏa c ch sau:  Kiểm tra toàn nhánh chương trình: Mỗi lệnh chương trình chạy qua... nút: lựa chọn, lặp, …  Chèn lệnh kiểm tra logic đoạn (dòng) lệnh Tối ưu hóa chương trình Tối ưu thời gian: Tăng không gian lưu trữ, thuật toán không đổi, đổi c u tr c liệu c u tr c chương trình. .. thuật toán không đổi, đổi c u tr c liệu c u tr c chương trình  Tối ưu thời gian không gian: Thuật toán thay đổi  Tối ưu hóa nhớ Giảm thiểu vùng nhớ làm vi c cần cho chương trình  Nguyên lý nén

Ngày đăng: 03/12/2015, 18:25

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