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
153
12/06/2023
Hoạt động 2 trang 88 Tin học 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 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?
Trả lời
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.
Xem thêm các bài giải SGK 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 10: Chương trình con và thư viện các chương trình con có sẵn
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