1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Kỹ thuật lập trình nâng cao: Chương 8 - Trần Minh Thái

13 24 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 390,48 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Kỹ thuật lập trình nâng cao - Chương 8: Kiểm tra tính đúng đắn và tối ưu hóa chương trình cung cấp cho người học các kiến thức: Kỹ thuật dò tìm và phát hiện lỗi, cách kiểm tra, tối ưu hóa chương trình, tối ưu hóa bộ nhớ,... Mời các bạn cùng tham khảo.

Trang 1

TR ẦN MINH THÁI

minhthai@itc.edu.vn

Trang 2

*Nguồn gốc các sai sót có 3 loại:

*Dữ liệu: Dùng bộ kiểm tra dữ liệu

*Cú pháp: Dùng trình biên dịch

*Ngữ nghĩa

è Có 2 cách kiểm lỗi chương trình: kiểm (testing) và sửa (debugging)

Trang 3

Nguyên tắc

* Bảo đảm mọi trường hợp đều được kiểm

tra

* Thường bị lỗi ở những ngã rẻ, phải duyệt

qua ít nhất một lần

* Một chương trình cần test nhiều lần

phức tạp

Trang 4

T ạo bộ dữ liệu thử sao cho thỏa 1 trong 4 cách

sau:

M ỗi lệnh của chương trình đều chạy qua ít nhất

m ột lần.

* Ki ểm tra ngẫu nhiên.

* Ki ểm tra ở những điểm nút: lựa chọn, lặp, …

* Chèn l ệnh kiểm tra logic ở mỗi đoạn (dòng)

l ệnh.

Trang 5

*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 dữ liệu

và 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 dữ liệu và cấu trúc chương trình

*Tối ưu thời gian và không gian: Thuật toán thay đổi

Trang 6

Gi ảm thiểu vùng nhớ làm việc cần cho chương

trình.

*Gi ảm khoảng trống: Biểu diễn danh sách tọa độ các giá

tr ị có cùng giá trị.

*Mã l ặp: Những dữ 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ã nền.

*Ánh xạ co dữ liệu.

Trang 7

Kỹ thuật tối ưu việc rẽ nhánh

Sắp xếp các biểu thức điều kiện theo thứ

tự:

* Nếu dùng phép and để kết hợp các biểu

thức thì sắp xếp các 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 các biểu

thức thì sắp xếp các biểu thức theo xác

suất đúng giảm dần.

Trang 8

K ỹ thuật tối ưu các vòng lặp

trình.

Trang 9

*Gi ảm tối đa việc gọi các thủ tục Hãy làm nhiều

*Ví d ụ:

Hàm P(i)

{

}

for(i=1; i<n; i++)

Gọi Hàm P(i);

Sau khi tối ưu:

Hàm P() {

for(i=1; i<n; i++)

… }

Gọi Hàm P();

Trang 10

* Dùng biến phụ thay cho các biểu thức

phải tính toán nhiều

* Dùng bảng tra (table - lookup) để tính

toán: Cố gắng lập bảng tính toán sẵn cho các trường hợp phổ biến

Trang 11

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

Trang 12

Tính một phần rồi lấy đối xứng, không cần tính toàn bộ

Trang 13

*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

Ngày đăng: 02/11/2020, 11:21

HÌNH ẢNH LIÊN QUAN

* Dùng bảng tra (table - lookup) để tính toán: C ốgắng lập bảng tính toán sẵn cho các tr ường hợp phổbiến. - Bài giảng Kỹ thuật lập trình nâng cao: Chương 8 - Trần Minh Thái
ng bảng tra (table - lookup) để tính toán: C ốgắng lập bảng tính toán sẵn cho các tr ường hợp phổbiến (Trang 10)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w