Bài 10. Thiết kế chương trình từ trên xuống và phương pháp mô đun hóa trang 131, 132, 133 SGK Tin học 11 Khoa học máy tính Cánh diều

Có người nói lập trình cũng giống như giải bài tập toán, sau khi có ý tưởng thuật toán, ta viết từng dòng lệnh lần lượt từ đầu đến cuối. Theo em, nói như thế có đúng không? Vì sao?


Khởi động

Có người nói lập trình cũng giống như giải bài tập toán, sau khi có ý tưởng thuật toán, ta viết từng dòng lệnh lần lượt từ đầu đến cuối. Theo em, nói như thế có đúng không? Vì sao?

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

Đúng vì khi phân tích ta đã sắp xếp theo các bước giải theo tuần tự bài toán.


Trong Bài 9 có cho sẵn mã lệnh Python thực hiện thuật toán sắp xếp nhanh sử dụng phân đoạn Lomvio. Theo em, đây có phải là kết quả lập trình theo phương pháp mô đun hoá hay không? Vì sao?

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

Theo em, đây là kết quả lập trình theo phương pháp mô đun hoá

Vì bài toán được viết theo các bước từ việc lớn, thiết kế các hàm, viết các hàm, tiến hành viết chương trình.


1

Em hãy nêu ngắn gọn về lập trình mô dun hoá theo ý hiểu của mình.

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

Lập trình mô-đun hoá là một phương pháp trong phát triển phần mềm, trong đó toàn bộ hệ thống được chia thành các phần nhỏ hơn gọi là mô-đun, mỗi mô-đun có chức năng cụ thể và độc lập với các mô-đun khác. Việc phát triển phần mềm bằng phương pháp này giúp đơn giản hóa quá trình phát triển, bảo trì và nâng cấp phần mềm.

Lập trình mô-đun hoá giúp tăng tính tái sử dụng của các phần mềm vì mỗi mô-đun có thể được sử dụng lại trong các dự án khác. Việc tái sử dụng này giúp tiết kiệm thời gian và tài nguyên phát triển, đồng thời giảm thiểu số lượng lỗi liên quan đến việc lập trình lại các chức năng đã có sẵn.

Hơn nữa, lập trình mô-đun hoá giúp tăng tính bảo trì của các phần mềm bởi vì mỗi mô-đun được phát triển và kiểm thử độc lập với các mô-đun khác. Điều này giúp đơn giản hóa quá trình bảo trì và nâng cấp phần mềm vì chỉ cần sửa đổi một mô-đun cụ thể thay vì phải sửa đổi toàn bộ hệ thống.

Tóm lại, lập trình mô-đun hoá là một phương pháp quan trọng trong phát triển phần mềm, giúp tăng tính tái sử dụng, dễ bảo trì, dễ mở rộng và giảm thiểu các lỗi liên quan đến tính tương tác giữa các phần của hệ thống.


2

Theo em, từ một chương trình có các hàm do người lập trình tự định nghĩa, có thể bỏ hết các hàm này để chuyển thành chương trình kiểu nguyên khối hay không? Việc này để hay khó?

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

Chúng ta có thể bỏ hết các hàm trong một chương trình và thay thế bằng một khối lệnh lớn hơn để tạo thành một chương trình kiểu nguyên khối. Tuy nhiên, việc này không phải lúc nào cũng là tối ưu và có thể dẫn đến một số vấn đề như sau:

- Khó quản lý và bảo trì: Khi chương trình trở nên lớn hơn thì việc duy trì và sửa lỗi sẽ trở nên phức tạp và khó khăn hơn khi tất cả các lệnh được đặt trong một khối lệnh duy nhất.

- Không tái sử dụng được code: Nếu các phần code được sử dụng nhiều lần trong chương trình, việc đặt chúng vào các hàm riêng biệt sẽ giúp tiết kiệm thời gian và tối ưu hóa mã nguồn.

- Không tận dụng được tính mô đun của chương trình: Một chương trình mô đun có thể được chia thành các phần riêng biệt và phụ thuộc lẫn nhau. Việc bỏ hết các hàm và chuyển thành chương trình kiểu nguyên khối sẽ khiến chương trình mất đi tính mô đun và dễ dàng gây ra các vấn đề về phụ thuộc giữa các phần của chương trình.


Luyện tập

Xét dự án nhỏ về lập trình để thực nghiệm so sánh thời gian thực tế chạy chương trình máy tính thực hiện một số thuật toán sắp xếp mà em đã biết theo cách bấm giờ chạy máy với các dãy số đầu vào ngẫu nhiên rồi lấy giá trị trung bình. Em hãy áp dụng phương pháp lập trình mô đun hoá:

a) Đưa ra thiết kế các hàm sẽ được sử dụng trong chương trình.

b) Viết các câu lệnh trong chương trình chính (không cần viết các hàm).

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

1. Sắp xếp chèn (Insertion Sort)

Ý tưởng: Insertion Sort lấy ý tưởng từ việc chơi bài, dựa theo cách người chơi "chèn" thêm một quân bài mới vào bộ bài đã được sắp xếp trên tay.

2. Sắp xếp lựa chọn (Selection Sort)

Ý tưởng của Selection sort là tìm từng phần tử cho mỗi vị trí của mảng hoán vị A cần tìm.

3. Sắp xếp nổi bọt (Bubble Sort)

Ý tưởng: Bubble Sort, như cái tên của nó, là thuật toán đẩy phần tử lớn nhất xuống cuối dãy, đồng thời những phần tử có giá trị nhỏ hơn sẽ dịch chuyển dần về đầu dãy. Tựa như sự nổi bọt vậy, những phần tử nhẹ hơn sẽ nổi lên trên và ngược lại, những phần tử lớn hơn sẽ chìm xuống dưới.


CH1

Hãy nêu các bước người lập trình cân thực hiện khi áp dụng phương pháp lập trình mô đun hoá.

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

Các bước chính cần thực hiện khi áp dụng phương pháp lập trình mô đun hoá bao gồm:

- Phân tích chương trình để xác định các phần có thể tách ra thành các mô-đun.

- Thiết kế các mô-đun bằng cách xác định các hàm và biến cần thiết cho mỗi mô-đun.

- Xây dựng và kiểm tra các mô-đun một cách độc lập.

- Kết hợp các mô-đun thành chương trình chính bằng cách sử dụng các giao diện (API) đã được định nghĩa trước đó.

- Kiểm tra và sửa lỗi chương trình đã kết hợp các mô-đun.

Sau khi áp dụng phương pháp lập trình mô đun hoá, chương trình sẽ được phân tách thành các mô-đun riêng biệt, dễ quản lý và bảo trì hơn, đồng thời cũng giúp tăng tính tái sử dụng của code.


CH2

Hãy nêu các ưu điểm của lập trình theo mô đun.

Phương pháp giải:

Dựa vào kiến thức đã học.

Lời giải chi tiết:

Các ưu điểm của lập trình theo mô đun: Tăng tính tái sử dụng, dễ bảo trì, dễ mở rộng và giảm thiểu các lỗi liên quan đến tính tương tác giữa các phần của hệ thống.



Bài giải liên quan

Từ khóa phổ biến