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
180
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?
![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 | Cánh diều (ảnh 2)](https://tailieumoi.vn/storage/uploads/images/47288/screenshot-7-1658986093.png)
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()
![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 | Cánh diều (ảnh 3)](https://tailieumoi.vn/storage/uploads/images/47288/hoat-dong-2-trang-88-tin-hoc-10-1-1658986127.png)
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)
![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 | Cánh diều (ảnh 4)](https://tailieumoi.vn/storage/uploads/images/47288/hoat-dong-2-trang-88-tin-hoc-10-11-1658986143.png)
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