Giải Tin học 10 Bài 10 (Cánh diều): Chương trình con và thư viện các chương trình con có sẵn

Với giải bài tập Tin học 10 Bài 10: Chương trình con và thư viện các chương trình con có sẵn 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 10 Bài 10.

1 4,879 11/10/2024
Tải về


Giải bài tập Tin học lớp 10 Bài 10: Chương trình con và thư viện các chương trình con có sẵn

Khởi động

Khởi động trang 86 Tin học lớp 10: Khi giải quyết một bài toán phức tạp, ta có thể phân chia nó thành các bài toán con. Trong lập trình có khái niệm chương trình con, em hãy đoán xem chương trình con của một chương trình là gì?

Trả lời:

Chương trình con là một đoạn câu lệnh thực hiện một việc nào đó được đặt tên.

1. Khái niệm chương trình con

Hoạt động

Hoạt động 1 trang 86 Tin học lớp 10: Khi giải quyết một bài toán phức tạp, người ta thường phân chia bài toán đó thành các bài toán con. Em sẽ chia bài toán sau đây thành những bài toán con nào?

Bài toán: Cho ba tam giác có độ dài ba cạnh lần lượt là a, b và c; u, v và w; p, q và r. Độ dài các cạnh đều là số thực cùng đơn vị đo. Em hãy tính diện tích của mỗi tam giác đó và đưa ra diện tích lớn nhất trong các diện tích tìm được. Công thức heron tính diện tích tam giác theo độ dài ba cạnh.

S=(a+b+c)(a+bc)(ab+c)(b+ca)4

Trả lời:

Với bài toán trên có thể chia thành các bài toán con sau:

- Bài toán tính diện tích tam giác

- Bài toán tìm số lớn nhất.

3. Chuyển dữ liệu cho hàm thực hiện

Hoạt động 2 trang 88 Tin học lớp 10: Chương trình trong Hình 2 khai báo hàm ptb1(), hàm này giải phương trình bậc nhất một ẩn ax + b = 0. Khi được gọi thực hiện hàm ptb1() yêu cầu nhập các hệ số a, b từ bàn phím, biện luận, giải phương trình rồi đưa ra kết quả.

1) Em hãy soạn thảo chương trình ở Hình 2 đặt tên là “VD_ptb1.py”, sau đó chạy chương trình với các dữ liệu đầu vào như ở Hình 3 và đối chiếu kết quả.

2) Em hãy sửa lại chương trình “VD_ptb1.py” theo các bước trong Bảng 1, đặt tên là “Try_ptb1.py”, chạy thử và trả lời 2 câu hỏi sau:

a) Chương trình “Try_ptb1.py” đã truyền trực tiếp hệ số a = 5, b = 4 vào lời gọi hàm ptb1(5,4), kết quả chạy có gì khác với kết quả chạy chương trình ở Hình 2 không?

b) Vì sao trong chương trình “Try_ptb1.py”, thân của hàm không cần những câu lệnh nhập giá trị cho các hệ số a, b.


Trả lời:

1) Soạn thảo chương trình và đối chiếu kết quả

Chương trình:

Kết quả

2) Sửa lại chương trình “VD_ptb1.py” theo các bước trong Bảng 1


a) Sau khi chạy chương trình “Try_ptb1.py” kết quả không khác so với kết quả chạy chương trình ở Hình 2.

b) Trong chương trình “Try_ptb1.py” thân của hàm không cần những câu lệnh nhập giá trị cho các hệ số a, b vì hàm ptb1(5,4), ptb1(0,0), ptb1(0,4) được thực hiện với những giá trị do chương trình truyền vào qua lời gọi hàm tương ứng với danh sách tham số ptb1(a,b).

5. Các hàm được xây dựng sẵn

Luyện tập

Bài 1 trang 90 Tin học lớp 10: Với hàm BSCNN được xây dựng ở chương trình sau đây (Hình 8), trong những dòng lệnh có sử dụng hàm BSCNN, dòng lệnh nào đúng, dòng lệnh nào sai và tại sao?

Trả lời:

Ở phần khai báo hàm BSCNN, có 2 tham số là x, y. Do đó, khi sử dụng lời gọi hàm cũng phải có 2 tham số tương ứng để truyền giá trị vào.

Dòng lệnh print(‘Bội chung nhỏ nhất: ’, BSCNN(a,b)) là lời gọi hàm đúng vì có đủ 2 tham số a, b.

Dòng lệnh c = a + b + BSCNN() là lời gọi hàm sai vì không có tham số nào trong đó.

Bài 2 trang 91 Tin học lớp 10: Chương trình ở Hình 9 xây dựng một hàm tính diện tích một tam giác bằng công thức Heron theo ba cạnh của tam giác. Em hãy hoàn thiện chương trình bằng lời gọi hàm thích hợp để đưa ra màn hình kết quả tính diện tích của tam giác có 3 cạnh là 3, 4, 5.


Trả lời:

Chương trình được hoàn thiện như sau


Vận dụng

Vận dụng trang 91 Tin học lớp 10: Sử dụng kết quả của bài 2 phần Luyện tập, em hãy viết chương trình giải bài toán ở Hoạt động 1.

Trả lời:

Ta tận dụng chương trình con tính diện tích tam giác theo công thức Heron cho ba tam giác abc, uvw, pqr, sau đó so sánh diện tích ba tam giác này với nhau để tìm diện tích lớn nhất.

Chương trình:

Kết quả

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

Câu hỏi tự kiểm tra trang 91 Tin học lớp 10: Trong các câu sau đây, những câu nào đúng?

1) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

2) Hàm chỉ được được gọi một lần duy nhất ở chương trình chính.

3) Hàm luôn trả về một giá trị qua tên của hàm.

4) Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.

5) Khai báo hàm trong Python luôn có danh sách tham số.

Trả lời:

Câu 1 đúng.

Lý thuyết Tin học 10 Bài 10: Chương trình con và thư viện các chương trình con có sẵn

1. Khái niệm chương trình con

- Khi lập trình để giải bài toán có thể chia bài toán đó thành các chương trình con, viết các đoạn chương trình giải các bài toán con.

- Ngôn ngữ lập trình bậc cao cho phép người lập trình tạo ra chương trình con bằng cách đặt tên một đoạn chương trình gồm các câu lệnh thực hiện việc nào đó.

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 1)

Hình 10.1: Một chương trình Python có chương trình con Hello

⇒ Sử dụng các chương trình con là một trong những cách giúp việc lập trình trở nên dễ dàng hơn.

2. Khai báo và gọi thực hiện một hàm trong Python

- Có thể gọi một chương trình con trong Python là một hàm. Để sử dụng hàm cần khai báo hàm và viết lời gọi thực hiện.

- Hàm trong Python được khai báo theo mẫu sau:

def tên_hàm (tham số):

Các lệnh mô tả hàm

Trong đó:

+ Tên hàm phải đặt theo quy tắc đặt tên trong Python.

+ Theo sau tên hàm có thể có hoặc không có các tham số.

+ Phần thân hàm (gồm các lệnh mô tả hàm) phải viết lùi vào theo quy định của Python.

Ví dụ:

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 2)

Hình 10.2: Một chương trình Python có sử dụng hàm

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 3)

Hình 10.3: Một số kết quả chạy chương trình ở Hình 10.2

3. Chuyển dữ liệu cho hàm thực hiện

Một hàm có thể thực hiện với những giá trị do chương trình truyền vào qua lời gọi hàm, tương ứng với danh sách tham số. Có hai cách truyền dữ liệu cho hàm thực hiện:

- Cách thứ nhất, chương trình gọi thực hiện với các giá trị cụ thể.

Ví dụ: Ở chương trình “Try1_ptb1.py”, lời gọi ptbl(5, 4) đã làm hàm ptbl(a, b) được thực hiện với a = 5, b = 4.

- Cách thứ hai, chương trình gọi thực hiện hàm với giá trị tham số truyền vào.

Ví dụ: Chương trình ở Hình 10.4 khai báo và sử dụng BMI (h, w) tính chỉ số sức khỏe BMI theo hai tham số chiều cao và cân nặng. Lời gọi BMI (cao, nặng) đã làm hàm BMI (h, w) được thực hiện với h có giá trị biến cao, w có giá trị của biến nặng. Giá trị của hai biến cao và nặng của chương trình đã được nhập vào từ bàn phím trước khi chương trình gọi thực hiện hàm BMI (h, w).

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 4)

Hình 10.4: Một ví dụ về lời gọi hàm và truyền dữ liệu cho hàm

4. Lời gọi hàm

- Trong nhiều ngôn ngữ lập trình bậc cao, hàm trả về chương trình một giá trị qua tên của nó, như vậy hàm được sử dụng như một biến trong chương trình gọi nó.

- Trong Python, một hàm có thể trả về một giá trị qua tên của nó nếu như có lệnh return <Giá_trị> trước khi ra khỏi hàm.

Ví dụ: Minh họa một ví dụ khai báo hàm có trả về giá trị và lời gọi hàm.

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 5)

Hình 10.5: Một ví dụ về giá trị của hàm qua tên hàm

5. Các hàm được xây dựng sẵn

- Mỗi tập hợp gồm một số hàm được xây dựng sẵn thường gọi là một thư viện.

- Trong chương trình, người lập trình chỉ cần gọi hàm có sẵn, thực hiện mà không cần phải tự xây dựng lại hàm.

- Để có thể sử dụng các hàm trong thư viện cần kết nối thư viện hoặc hàm đó với chương trình.

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 6)

Hình 10.6: Ví dụ về hai cách kết nối thư viện

Ví dụ: Chương trình ở Hình 10.7 kết nối hàm gcd trong thư viện math.

Lý thuyết Tin học 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn (ảnh 7)

Hình 10.7: Chương trình tìm ước chung lớn nhất

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

Bài 8: Câu lệnh lặp

Bài 9: Thực hành câu lệnh lặp

Bài 11: Thực hành lập trình với hàm và thư viện

Bài 12: Kiểu dữ liệu Xâu ký tự - xử lý xâu ký tự

Bài 13: Thực hành dữ liệu kiểu xâu

1 4,879 11/10/2024
Tải về


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