Lý thuyết Tin học 11 (Cánh diều) Bài 10: Thiết kế và chương trình từ trên xuống và phương pháp Mô đun hóa

 Tóm tắt lý thuyết Tin học lớp 11 Bài 10: Thiết kế và chương trình từ trên xuống và phương pháp Mô đun hóa hay, chi tiết sách Cánh diều sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.

1 784 lượt xem


Lý thuyết Tin học 11 Bài 10: Thiết kế và chương trình từ trên xuống và phương pháp Mô đun hóa

A. Lý thuyết Thiết kế và chương trình từ trên xuống và phương pháp Mô đun hóa

1. Thiết kế chương trình từ trên xuống theo phương pháp mô đun hoá

a) Mô đun trong lập trình

- Thiết bị, đồ dùng được thiết kế theo mô đun để dễ tháo lắp, vận chuyển, sửa chữa, thay thế

- Mô đun là bộ phận hay phần của thiết bị hay chương trình phần mềm, được thiết kế tách thành khối riêng biệt và độc lập

- Tính độc lập của mỗi mô đun cho phép thay thế mô đun đó bằng cái tương đương mà vẫn giữ nguyên các mô đun khác

- Một chương trình lớn có thể gồm nhiều tệp mã nguồn, mỗi tệp mã nguồn là một mô đun phần mềm

- Một hàm trong chương trình cũng có thể coi là một mô đun, tương đối độc lập với những phần còn lại của chương trình.

b) Phương pháp mô đun hoa

- Mô đun hoá là phương pháp thông dụng để làm phần mềm và lập trình

- Áp dụng phương pháp mô đun hoá, người lập trình làm theo các giai đoạn sau:
+ Giai đoạn 1: liệt kê các việc lớn bằng các gạch đầu dòng để tuần tự nhập dữ liệu đến kết quả cuối cùng

+ Giai đoạn 2: phân chia mỗi bước thành công việc độc lập và thiết kế các hàm thực hiện công việc đó, xác định tên hàm, đầu vào, đầu ra

+ Giai đoạn 3: lập trình từng hàm theo thiết kế; kiểm thử, gỡ lỗi từng hàm

+ Giai đoạn 4: viết chương trình chính bằng cách gọi các hàm đã hoàn thành để thực hiện các bước từ giai đoạn 1, chạy thử và kiểm tra tổng thể.

- Lập trình theo phương pháp mô đun hoá dẫn đến chương trình có một số hàm do người lập trình định nghĩa

- Chương trình chính gọi các hàm để nhập dữ liệu, xử lý và xuất kết quả cuối cùng ra màn hình hoặc tệp, sau đó kết thúc

- Trái với lập trình kiểu nguyên khối, không có hàm nào do người lập trình tự định nghĩa

- Một chương trình dài mà không có hàm do người lập trình tự định nghĩa thì không phải là kết quả lập trình theo mô đun.

2. Minh hoạ về lập trình theo phương pháp mô đun hoá

- Ước lượng độ phức tạp thời gian của thuật toán tìm kiếm tuần tự là O(n), tìm kiếm nhị phân là O(log n)

- Để minh hoạ trực quan, ta lập một dự án lập trình nhỏ để thực nghiệm và đo thời gian thực tế chạy thuật toán với các dãy số đầu vào ngẫu nhiên, lấy giá trị trung bình.

- Dưới đây là ví dụ minh hoạ việc áp dụng phương pháp mô đun hoá trong thiết kế chương trình và lập trình cho dự án này.

- Giai đoạn 1. Liệt kê các việc lớn

+ Sinh dãy ngẫu nhiên n số, gọi là dãy A

+ Sắp xếp dãy A thành dãy B theo thứ tự tăng dần

+ Đo thời gian tìm kiếm tuần tự và nhị phân của một số có trong dãy A và dãy B, tính trung bình cộng và xuất kết quả

+ Đo thời gian tìm kiếm tuần tự và nhị phân của một số x bất kì trong dãy A và dãy B, tính trung bình cộng và xuất kết quả.

- Giai đoạn 2. Thiết kế các hàm

+ Phân tích chi tiết hơn những việc lớn cần làm trong từng bước kể trên thành các việc cụ thể hơn, Ví dụ:

* Hàm dayngaunhien: đầu vào hai số nguyên n và M, đầu ra một dãy n số ngẫu nhiên trong khoảng (0, M).

* Hàm sapxep: đầu vào một dãy số, đầu ra dãy số được sắp xếp theo thứ tự tăng dần.

* Tìm kiếm tuần tự: tên hàm tktuantu,...

* Tìm kiếm nhị phân: tên hàm tknhiphan...

+ Sinh ngẫu nhiên một số nguyên i trong khoảng (0, n − 1).

+ Chọn x = a[i] (phần tử chỉ số i trong dãy A).

+ Xác định x cũng có mặt trong dãy B.

+ Tìm số có mặt trong dãy: tên hàm tkcomat 

+ Đầu vào: x = a nói trên; hai dãy số A, B.

+ Đầu ra: khoảng thời gian từ lúc bắt đầu tìm kiếm cho đến khi tìm thấy:

* Bằng tìm kiếm tuần tự trong dãy A.

* Bằng tìm kiếm nhị phân trong dãy B. 

+ Tìm số x bất kì: tên hàm tkbatki.

+ Đầu vào: một số x sinh ngẫu nhiên; hai dãy số A, B. 

+ Đầu ra: khoảng thời gian từ lúc bắt đầu tim kiếm cho đến khi:

* Bằng tìm kiếm tuần tự trong dãy A.

* Bằng tìm kiếm nhị phân trong dãy B.

+ Kết thúc tìm kiếm:

- Ghi lại khoảng thời gian tìm kiếm: sử dụng hàm time để bắt đầu và kết thúc thời gian tìm kiếm bằng cách đặt trước và sau câu lệnh gọi tìm kiếm tuần tự (hoặc tìm kiếm nhị phân).

- Tính trung bình cộng thời gian tìm kiếm và xuất kết quả: tính tổng thời gian tìm kiếm và chia cho số lần thực hiện để tính trung bình. Không cần viết thành hàm riêng.

- Với Giai đoạn 3 và Giai đoạn 4, học sinh thực hiện dựa vào các kiến thức đã học đồng thời làm theo gợi ý của thầy, cô giáo.

3. Các ưu điểm của lập trình theo phương pháp mô đun hoá

- Phối hợp cùng lập trình: Tổ chức thành vài tệp mã nguồn riêng biệt để lập trình và tránh trùng lặp.

- Chương trình dễ hiểu hơn: Lập trình theo mô đun hoá dẫn đến chương trình ngắn gọn và dễ hiểu hơn, có các hàm với tên gợi nhớ cho biết chức năng của chúng.

- Dễ kiểm thử và sửa lỗi hơn: Phương pháp mô đun hoá tách biệt các công việc nên dễ thấy lỗi xảy ra khi xử lí việc gì, ở phần chương trình thực hiện hàm nào.

- Khả năng tái sử dụng: Những hàm do người lập trình tự định nghĩa có thể được dùng không chỉ trong chương trình vừa hoàn thành mà còn ở những chương trình khác sau này.

B. Bài tập Thiết kế và chương trình từ trên xuống và phương pháp Mô đun hóa

Đang cập nhật…

Xem thêm các bài lý thuyết Tin học 11 sách Cánh diều hay, chi tiết tại: 

Lý thuyết Bài 6: Kiểm thử và sửa lỗi chương trình

Lý thuyết Bài 7: Lập trình giải bài toán tìm kiếm

Lý thuyết Bài 8: Lập trình một số thuật toán sắp xếp

Lý thuyết Bài 9: Lập trình thuật toán sắp xếp nhanh

Lý thuyết Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng

1 784 lượt xem


Xem thêm các chương trình khác: