Hoạt động 2 trang 88 SGK Tin học 10 Cánh diều
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 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 và 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 hai 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ả khi chạy có khác gì 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?
Hình 2. Một chương trình Python có sử dụng hàm
Bảng 1. Các bước sửa chương trình “VD_ptb1.py”
1) Bổ sung tham số a, b vào trong cặp ngoặc () ở dòng khai báo hàm, để được ptb1(a, b). 2) Xoá trong thân hàm hai lênh nhập hệ số a, b từ bàn phím. 3) Thay lời gọi ptb1() bằng ptb1(5, 4) để hàm thực hiện với a = 5, b = 4. 4) Thêm các lời gọi thực hiện hàm ptb1(a, b) tương ứng với cặp hệ số a = 0, b = 0 và a= 0, b = 4 |
Hướng dẫn giải chi tiết Hoạt động 2 trang 88
Phương pháp giải:
1) Thực hiện chương trình như Hình 2
2)
a) Kết quả giống với chương trình hình 2
b) Vì 2 giá trị 5, 4 đã được gán vào hàm thông qua 2 tham số a, b
Lời giải chi tiết:
1)
def ptb1(): #Giải phương trình bậc nhất
a = int(input("a = "))
b = int(input("b = "))
if a!= 0:
print("Phương trình có nghiệm duy nhất: ", -b/a)
elif b == 0:
print("Phương trình có vô số nghiệm")
else:
print("Phương trình vô nghiệm")
ptb1()
2)
def ptb1(a, b): #Giải phương trình bậc nhất
if a!= 0:
print("Phương trình có nghiệm duy nhất: ", -b/a)
elif b == 0:
print("Phương trình có vô số nghiệm")
else:
print("Phương trình vô nghiệm")
ptb1(5, 4)
ptb1(0, 0)
ptb1(0, 4)
a) Kết quả khi chạy giống với kết quả chạy chương trình của Hình 2.
b) Do ta đã truyền trực tiếp giá trị của a và b vào hàm ptb1 nên không cần những câu lệnh nhập giá trị cho các hệ số a, b trong thân hàm.
-- Mod Tin Học 10 HỌC247
Bài tập SGK khác
-
Nêu cách khai báo hàm trong Python?
bởi Lê Nguyễn Hạ Anh 21/09/2022
Theo dõi (0) 1 Trả lời