Thiết kế giải thuật

Một phần của tài liệu giáo trình tin học đại cương (Trang 97 - 98)

- Mô hình Internet Mail: Là mô hình liên kết cách ộp thư lưu trên Internet, mỗi hộp thư

4. Thiết kế giải thuật

4.1. Mô-un hoá và vic gii quyết bài toán

Những bài toán ta gặp trong thực tế thường là phức tạp, trong trường hợp ựó người ta thường chia bài toán thành những bài toán nhỏ và dễ giải quyết hơn. Nghĩa là coi bài toán ban

ựầu là Mô- ựun chắnh, ta chia nó thành các Mô- ựun con, và mỗi Mô- ựun con này có thể lại

ựược chia thành các Mô- ựun nhỏ hơn... Cách giải quyết bài toán như vậy người ta thường gọi là chiến thuật "Chia ựể trị"(divide and conquer).

Trong khi lập trình việc chia chương trình chắnh thành các chương trình con thể hiện tắnh có cấu trúc của ngôn ngữ lập trình về mặt chương trình

4.2. Tinh chnh tng bước gii thut

Tinh chỉnh từng bước là phương pháp thiết kế giải thuật gắn liền với lập trình. Bước ựầu giải thuật ựược minh hoạ bằng ngôn ngữ tự nhiên, càng ở các bước sau ngôn ngữ tự nhiên

ựược thay thế bởi ngôn ngữ tự nhiên pha lẫn ngôn ngữ lập trình mà ta gọi là giả ngôn ngữ. Ta có sơựồ sau: Ngôn ngữ tự nhiên→ Giả ngôn ngữ→ Ngôn ngữ lập trình

4.3. Phân tắch thut gii

Phân tắch giải thuật phải căn cứ vào 3 tiêu chuẩn ựối với một giải thuật: Tắnh dừng, tắnh

ựúng ựắn, tắnh ựơn giản và hiệu quả.

Việc kiểm tra giải thuật là một phần hết sức quan trọng, lý tưởng là khi có thể khẳng

ựịnh một cách hình thức tắnh ựúng ựắn của giải thuật. Tuy nhiên trong thực tế thời gian và công sức ựể viết ra một cách cẩn thận và ựầy ựủ tất cả những chi tiết chứng minh tắnh ựúng

ựắn của một giải thuật phức tạp thường là không cho phép. Người lập trình thường áp dụng các biện pháp sau:

-Chứng minh một cách suy diễn rằng những bước trong giải thuật là ựúng ựắn. Nghĩa là giải thuật bắt ựầu bằng một khẳng ựịnh (giả thiết) về dữ liệu vào và dùng phương pháp suy luận lôgic ựể chỉ ra rằng việc thực hiện giải thuật sẽ cho một khẳng ựịnh (kết luận) vềựầu ra.

- Thể hịên giải thuật bằng một ngôn ngữ lập trình và thử thực hiện chương trình với các bộ dữ liệu vào mà kết quả ta ựã biết trước. Thường thì các lỗi về cú pháp và lỗi lúc thực hiện chương trình thường dễ tìm và sửa chữa còn các lỗi lôgic thường khó phát hiện hơn nhiều.

-Có ựôi lúc viêc kiểm tra chương trình phải thực hiện thủ công, kiểm tra từng bước, từng thủ tục của chương trình chắnh. Kỹ thuật này ựược gọi là Ộựi bộ qua chương trìnhỢ(Walking through the program)

-Quan tâm ựặc biệt tới thời gian thực hiện chương trình, thời gian thực hiện phụ thuộc rất nhiều vào việc tổ chức dữ liệu ựưa vào (kắch thước dữ liệu).

Một phần của tài liệu giáo trình tin học đại cương (Trang 97 - 98)

Tải bản đầy đủ (PDF)

(182 trang)