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


Giải Tin học 10 Bài 10: Chương trình con và thư viện các chương trình con có sẵn

Haylamdo biên soạn và sưu tầm lời giải Hoạt động 2 trang 88 Tin học 10 trong Bài 10: Chương trình con và thư viện các chương trình con có sẵn. Với lời giải chi tiết nhất hy vọng sẽ giúp học sinh biết cách làm bài tập Tin học 10.

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?

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

Lời 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

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

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 lời giải bài tập Tin học lớp 10 Cánh diều hay, chi tiết khác: