Với tóm tắt lý thuyết 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 sách Cánh diều hay, chi tiết giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt môn Tin học 10.
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
Phần 1. 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 đó.
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ụ:
Hình 10.2: Một chương trình Python có sử dụng hàm
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).
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.
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.
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.
Hình 10.7: Chương trình tìm ước chung lớn nhất
Phần 2. Bài tập trắc nghiệm 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
Câu 1. Cho đoạn chương trình sau:
def t(a1,b1):
s=abs(a1-b1)
return s
a,b=map(int,input().split())
print(t(a,b))
Với a=2, b=4, sau khi thực hiện chương trình trên cho kết quả bằng:
A. -2
B. 4
C. 2
D. 6
Đáp án đúng là: C
Vì hàm t(a,b) có tác dụng tính trị tuyệt đối của hiệu a và b.
Câu 2. Cuối dòng đầu tiên của định nghĩa hàm phải có:
A. Dấu ‘:’
B. Dấu ‘;’
C. Dấu ‘.’
D. Dấu ‘,’
Đáp án đúng là: A
Cuối dòng đầu tiên của định nghĩa hàm phải có dấu hai chấm ‘:’
Câu 3. Phát biểu nào sau đây là đúng?
A. Nếu là hàm có kết quả thì trong thân hàm sẽ không có lệnh return.
B. Nếu là hàm có kết quả thì trong thân hàm sẽ có lệnh return và theo sau là dãy giá trị trả về.
C. Nếu là hàm có kết quả thì trong thân hàm sẽ là dãy các lệnh tính giá trị và không có lệnh return.
D. Nếu là hàm có kết quả thì trong thân hàm sẽ duy nhất lệnh return.
Đáp án đúng là: B
Muốn xây dựng hàm trả về giá trị xử lí, cần kết thúc hàm bằng câu lệnh return cùng với biểu thức hay biến chứa giá trị trả về.
Câu 4. Khi sử dụng hàm sqrt() ta cần khai báo thư viện:
A. math
B. ramdom
C. zlib
D. datetime
Đáp án đúng là: A
Khi sử dụng hàm sqrt() ta cần khai báo thư viện math.
Câu 5. Cho các câu sau, số câu đúng là:
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 gọi một lần duy nhất ở chương trình chính.
3) Hàm luôn trả 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ố.
A. 1.
B. 2
C. 3.
D. 4.
Đáp án đúng là: A
Câu đúng: 1)
Câu 6. Hàm trong Python được khai báo theo mẫu:
A. def tên_hàm(tham số):
Các lệnh mô tả hàm
B. def tên_hàm(tham số)
Các lệnh mô tả hàm
C. def tên_hàm()
Các lệnh mô tả hàm
D. def (tham số):
Các lệnh mô tả hàm
Đáp án đúng là: A
Hàm trong Python được khai báo theo mẫu:
def tên_hàm(tham số):
Các lệnh mô tả hàm
Câu 7. “Các lệnh mô tả hàm” phải viết:
A. Thẳng hàng với lệnh def.
B. Lùi vào theo quy định của Python.
C. Ngay sau dấu hai chấm (:) và không xuống dòng.
D. Viết thành khối và không được lùi vào.
Đáp án đúng là: B
Các lệnh mô tả hàm phải viết lùi vào theo quy định của Python.
Câu 8. Phát biểu nào sau đây là sai?
A. Tên hàm do người lập trình đặt không cần theo quy tắc.
B. 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.
C. Muốn xây dựng hàm trả về giá trị xử lí, cần kết thúc hàm bằng câu lệnh return cùng với biểu thức hay biến chứa giá trị trả về.
D. Các lệnh mô tả hàm phải viết lùi vào theo quy định của Python.
Đáp án đúng là: A
Tên hàm phải đặt theo quy tắc đặt tên trong Python.
Câu 9. Thư viện math cung cấp:
A. Thủ tục vào ra của chương trình.
B. Hỗ trợ việc tạo ra các lựa chọn ngẫu nhiên
C. Các hằng và hàm toán học.
D. Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu
Đáp án đúng là: C
Thư viện math cung cấp các hằng và hàm toán học như: sqrt(), gcd()
Câu 10. Cho đoạn chương trình sau:
def t(a1,b1):
s=a1*b1
a,b=map(int,input().split())
print(t(a,b))
Lỗi sai trong đoạn chương trình trên là:
A. Thiếu lời gọi hàm.
B. Thiếu dấu ’:’ cuối dòng đầu tiên của định nghĩa hàm.
C. Thiếu tham số hình thức.
D. Thiếu lệnh return giá trị cần trả về ở cuối thân hàm.
Đáp án đúng là: D
Muốn xây dựng hàm trả về giá trị xử lí, cần kết thúc hàm bằng câu lệnh return cùng với biểu thức hay biến chứa giá trị trả về.
Câu 11. Hàm gcd(x,y) trả về:
A. Bội chung nhỏ nhất của x và y.
B. Căn bậc hai của x và y.
C. Ước chung lớn nhất của x và y.
D. Trị tuyệt đối của x và y.
Đáp án đúng là: C
Hàm gcd(x,y) trả về ước chung lớn nhất của x và y.
Câu 12. Khi sử dụng hàm có sẵn (trong một thư viện) ta cần:
A. Gọi hàm có sẵn thực hiện mà không cần xây dựng lại hàm đó.
B. Phải xây dựng lại hàm đó.
C. Phải khai báo hàm trước khi gọi.
D. Phải khai báo và xây dựng lại.
Đáp án đúng là: A
Khi sử dụng hàm có sẵn (trong một thư viện) ta chỉ cần gọi hàm có sẵn thực hiện mà không cần xây dựng lại hàm đó.
Câu 13. Cho đoạn chương trình sau:
def h(a1,b1):
s=a1-b1
return s
a,b=map(int,input().split())
t=h(a,b)
print(t)
Trong đoạn chương trình trên lời gọi hàm với đối số truyền vào là:
A. h(a,b)
B. h(a1,b1):
C. return s
D. s=a1-b1
Đáp án đúng là: A
Lời gọi hàm bao gồm tên hàm (h) và đối số truyền vào (a,b).
Câu 14. Phát biểu nào sau đây là sai khi nói về chương trình con?
A. Giúp việc lập trình trở lên dễ dàng hơn.
B. Tránh được việc phải viết đi viết lại cùng một dãy lệnh.
C. Chương trình dễ hiểu, dễ đọc.
D. Khó phát hiện lỗi.
Đáp án đúng là: D
Một chương trình lớn khi viết bằng chương trình con sẽ dễ đọc, dễ hiểu, phát hiện lỗi một cách dễ dàng.
Câu 15. Cho đoạn chương trình sau:
def h(a1,b1):
s=a1-b1
return s
a,b=map(int,input().split())
t=h(a,b)
print(t)
Trong đoạn chương trình trên a1,b1 được gọi là :
A. Tên hàm.
B. Tham số hình thức.
C. Tham số thực sự.
D. Biến cục bộ.
Đáp án đúng là: B
Vì a1, b1 là tham số của chương trình con, được khai báo ngay sau tên của hàm.
Xem thêm các bài tóm tắt Lý thuyết Tin học lớp 10 Cánh diều hay, chi tiết khác:
Lý thuyết Bài 9: Thực hành câu lệnh lặp
Lý thuyết Bài 10: Chương trình con và thư viện các chương trình con có sẵn
Lý thuyết Bài 11: Thực hành lập trình với hàm và thư viện
Lý thuyết Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự