Giải Tin học 11 Bài 10 (Cánh diều): Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá

Với giải bài tập Tin học 11 Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá sách Cánh diều hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Tin học 11 Bài 10.

1 581 07/08/2023


Giải Tin học 11 Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá

Giải Tin học 11 trang 131

Khởi động trang 131 Tin học 11: 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?

Lời giải:

Đú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

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

Giải Tin học 11 trang 132

Hoạt động trang 132 Tin học 11: 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?

Lời giải:

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.

Luyện tập

Giải Tin học 11 trang 134

Luyện tập 1 trang 134 Tin học 11: Em hãy nêu ngắn gọn về lập trình mô dun hoá theo ý hiểu của mình.

Lời giải:

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.

Luyện tập 2 trang 134 Tin học 11: 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ó?

Lời giải:

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.

Vận dụng

Vận dụng trang 134 Tin học 11: 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).

Lời giải:

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.

Câu hỏi tự kiểm tra

Câu 1 trang 134 Tin học 11: 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á.

Lời giải:

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.

Câu 2 trang 134 Tin học 11: Hãy nêu các ưu điểm của lập trình theo mô đun.

Lời giải:

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.

Xem thêm Lời giải bài tập Tin học 11 Cánh diều hay, chi tiết khác: 

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

Bài 11: Thực hành thiết kế và lập trình theo mo đun

Bài 12: Thực hành thiết kế và lập trình theo mo đun (tiếp theo)

Bài 13: Thực hành thiết kế và lập trình theo mo đun (tiếp theo)

Bài 14: Thực hành về thư viện các hàm tự định nghĩa

1 581 07/08/2023


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