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

Câu hỏi :

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?

Bảng 1. Các bước sửa chương trình “VD_ptb1.py”

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 (ảnh 1)

* Đáp án

* Hướng dẫn giả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()

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 (ảnh 2)

 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)

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 (ảnh 3)

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.

Copyright © 2021 HOCTAP247