Bài tập củng cố Tin học 10 kết nối: bài 27 Tham số của hàm

Bài tập củng cố môn Tin học 10 kết nối tri thức: Bài 27 Tham số của hàm. Phần bài tập gồm 4 mức độ: Nhận biết, Thông hiểu, Vận dụng và Vận dụng cao bám sát với chương trình sách giáo khoa. Thông qua bài tập này, học sinh có thể ôn luyện kiến thức đã học từ cơ bản đến nâng cao.

Nội dung chi tiết

BÀI 27: THAM SỐ CỦA HÀM (13 CÂU)

I. NHẬN BIẾT (3 CÂU)

Câu 1: Tham số và đối số của một hàm là gì?

Trả lời:

Tham số của hàm được định nghĩa khi khao báo bàm và được dùng như biến trong định nghĩa hàm.

Đối số là giá trị được truyền vào khi gọi hàm.

Câu 2: Mối quan hệ của tham số và đối số là gì?

Trả lời:

Khi gọi hàm các tham số sẽ được truyền giá trị thông qua đối số, số lượng giá trị được truyền vào hàm bằng với số tham số trong khai báo hàm.

Câu 3: Nêu ưu điểm việc sử dụng chương trình con.

Trả lời:

Việc sử dụng chương trình con có thể giúp phân chia việc giải một bài toán lớn thành giải quyết các bài toán nhỏ và phát huy được tinh thần làm việc nhóm. Chương trình lớn sẽ được chia ra thành những chương trình con có cấu trúc rõ ràng, dễ hiểu và thuận tiện trong việc quản lý.

II. THÔNG HIỂU (5 CÂU)

Câu 1: Giả sử một hàm khi khai báo có một tham số, nhưng khi gọi hàm có thể có hai đối số được không?

Trả lời:

Không được. Vì số lượng giá trị được truyền vào hàm phải bằng với số tham số trong khai báo của hàm.

Câu 2: Giả sử hàm f có hai tham số x, y khi khai báo, hàm sẽ trả lại giá trị x + 2y. Lời gọi hàm f(10,a) có lỗi hay không?

Trả lời:

Lời gọi hàm f(10,a) sẽ gặp lỗi nếu tham số a truyền vào chưa có giá trị.

Câu 3: Có mấy kiểu truyền tham số phổ biến trong lập trình? Hãy chỉ rõ.

Trả lời:

Có hai cách truyền tham số đó là: truyền theo giá trị và truyền theo tham chiếu.

- Truyền theo giá trị là khi truyền một bản sao của giá trị đối số được tạo và truyền vào hàm. Bất kỳ thay đổi nào đối với bản sao này bên trong hàm không ảnh hưởng đến giá trị của đối số gốc.

- Truyền theo tham chiếu là khi truyền, không tạo bản sao mà truyền trực tiếp địa chỉ bộ nhớ của đối số vào hàm.

Câu 4: Nêu ưu và nhược điểm của từng kiểu truyền tham số trong lập trình.

Trả lời:

Truyền theo giá trị

Truyền theo tham chiếu

Ưu điểm

- An toàn dữ liệu

- Dễ theo dõi

- Hiệu quả với dữ liệu nhỏ

- Tiết kiệm bộ nhớ

- Hiệu quả với dữ liệu lớn

- Có thể thay đổi giá trị gốc

Nhược điểm

- Lãng phí bộ nhớ

- Không hiệu quả với dữ liệu lớn

- Không thể thay đổi giá trị gốc

- Nguy cơ lỗi

- Khó theo dõi

- Việc có thể thay đổi giá trị gốc có thể gây bất ngờ.

Câu 5: Phạm vi hoạt động của tham số trong hàm?

Trả lời:

Phạm vi hoạt động của tham số trong hàm là khối mã của hàm đó, bao gồm từ điểm khai báo tham số đến cuối thân hàm.

III. VẬN DỤNG (4 CÂU)

Câu 1: Em hãy nêu một công việc/bài toán nào đó mà có thể sử dụng hàm để giải.

Trả lời:

Một công việc/bài toán nào đó mà có thể sử dụng hàm để giải: Rút gọn phân số, sử dụng thêm hàm con tìm ƯCLN của tử số và mẫu số,…

Câu 2: Sử dụng hàm prime, em hãy viết chương trình in ra các số nguyên tố trong khoảng từ m đến n, với m, n là hai số tự nhiên và 1< m < n.

Trả lời:

def prime(n):

c = 0

k = 1

while k < n:

if n % k == 0:

c = c + 1

k = k + 1

if c == 1:

return True

else:

return False

n = int(input("Nhập số tự nhiên n: "))

for i in range(m, n+1):

if prime(i) == True:

print(i, end=" ")

Câu 3: Thiết lập hàm power(a,b,c) với a,b,c là các số nguyên. Hàm trả lại giá trị (a+b)^c

Trả lời:

def power(a,b,c):

m = a + b

s = 1

for i in range(1, c+1):

s = s * m

return s

Câu 4: Viết chương chình cho người dùng nhập n số tự nhiên từ bàn phím, hai số cách nhau bởi dấu cách. Tính và in ra tổng của các số này.

Trả lời:

def tinhTong(A):

t = 0

for i in range(0, len(A)):

t = t + int(A[i])

return t

s = input("Nhập dãy các số")

A = s.split(" ")

print(tinhTong(A))

IV. VẬN DỤNG CAO (1 CÂU)

Câu 1: Viết chương trình cho người dùng nhập hai số tự nhiên, hai số cách nhau bởi dấu phẩy, in ra ước chung lớn nhất(ƯCLN) của hai số.

Trả lời:

def UCLN(a, b):

while b:

a, b = b, a % b

return a

nums = input("Nhập hai số tự nhiên, cách nhau bởi dấu phẩy: ")

a, b = int(nums.split(",")[0]), int(nums.split(",")[1])

ucln = UCLN(a, b)

print("Ước chung lớn nhất của là:” , ucln)