Quan sát các lệnh sau và cho biết sự khác nhau giữa các tham số (parameter) và đối số (argument).
Quan sát các lệnh sau và cho biết sự khác nhau giữa các tham số (parameter) và đối số (argument).
Quan sát ví dụ sau, tìm hiểu cách dữ liệu được truyền qua tham số vào hàm. Thảo luận để giải thích kết quả.
Thảo luận (1)Hướng dẫn giảiTrả lời:
- Cách dữ liệu được truyền qua tham số vào hàm: Khi gọi hàm, các tham số được truyền bằng giá trị thông qua đối số của hàm, số lượng giá trị được truyền vào hàm bằng với số tham số trong khai báo của hàm.
- Giải thích:
Hàm f() đã được định nghĩa với ba tham số a, b, c. Hàm có trả lại giá trị là a + b + c
Hàm f được gọi với ba giá trị cụ thể là 1, 2, 3 và thu được kết quả 1 + 2+ 3 = 6
(Trả lời bởi Toru)
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?
Thảo luận (1)Hướng dẫn giảiKhô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.
(Trả lời bởi GV Nguyễn Trần Thành Đạt)
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?
Thảo luận (1)Hướng dẫn giảiLời gọi hàm f(10,a) có lỗi nếu tham số a truyền vào chưa có giá trị
(Trả lời bởi GV Nguyễn Trần Thành Đạt)
Bài toán đưa ra là viết chương trình chính yêu cầu nhập số tự nhiên n từ bàn phím và in ra các số nguyên tố nhỏ hơn hoặc bằng n ra màn hình. Trong phần thực hành của Bài 26 em đã biết hàm prime(n) kiểm tra số n có là số nguyên tố.
Em sẽ viết chương trình giải bài toán như thế nào?
Thảo luận (1)Hướng dẫn giảiTrả lời:
Chương trình:
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 k in range(1,n+1):
if prime(k)==True:
print(i, end=" ")
(Trả lời bởi Toru)
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.
Thảo luận (1)Hướng dẫn giải
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.
Thảo luận (1)Hướng dẫn giải- Bài toán đếm số năm nhuận trong khoảng thời gian nào đó
- Bài toán đếm và tính tổng, trung bình của các số thỏa mãn tính chất nào đó (ví dụ chia hết cho 5) trong dãy số cho trước
(Trả lời bởi GV Nguyễn Trần Thành Đạt)
Thiết lập hàm power(a,b,c) với a, b, c là số nguyên. Hàm trả lại giá trị (a+b)c
Thảo luận (1)Hướng dẫn giải
Viết chương trình thực hiện: Nhập hai 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.
Thảo luận (1)Hướng dẫn giảiTrả 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 hai số tự nhiên cách nhau bởi dấu cách: ")
A=s.split(" ")
print(tinhTong(A))
(Trả lời bởi Toru)
Viết chương trình thực hiện: Nhập hai số tự nhiên từ bàn phím, hai số cách nhau bởi dấu phẩy, in ra ước chung lớn nhất (ƯCLN) của hai số.
Thảo luận (1)Hướng dẫn giảiTrả lời:
def UCLN(a,b):
r = a % b
while r != 0:
a = b
b = r
r = a % b
return b
s=input("Nhập hai số tự nhiên cách nhau bởi dấu phẩy: ")
s=s.replace(","," ")
A=s.split(" ")
a=int(A[0])
b=int(A[1])
print("ƯCLN của a và b là: ",UCLN(a,b))
(Trả lời bởi Toru)