Chương trình cho trong Hình 1 nhằm tạo một bảng chọn việc, để người chạy chương trình chọn cho máy tính giải phương trình bậc nhất hay giải phương trình bậc hai. Em hãy đưa khai báo của các hàm thực hiện hai việc nói trên và các lời gọi chúng vào đúng chỗ trong chương trình. Sau đó hãy chạy thử chương trình với một số dữ liệu đầu vào khác nhau để kiểm thử chương trình.

Chương trình cho trong Hình 1 nhằm tạo một bảng chọn việc, để người chạy chương trình chọn cho máy tính giải phương trình bậc nhất hay giải phương trình bậc hai. Em hãy đưa khai báo của các hàm thực hiện hai việc nói trên và các lời gọi chúng vào đúng chỗ trong chương trình. Sau đó hãy chạy thử chương trình với một số dữ liệu đầu vào khác nhau để kiểm thử chương trình.
Câu hỏi trong đề: Bài tập Thực hành lập trình với hàm và thư viện có đáp án !!
Quảng cáo
Trả lời:
import math
def gptb1():
a = float(input("Nhập hệ số a: "))
b = float(input("Nhập hệ số b: "))
if a == 0:
if b == 0:
print("Vô số nghiệm")
else:
print("Vô nghiệm")
else:
print("Phương trình có nghiệm x =", -b / a)
def gptb2():
# Nhập các hệ số
a = float(input("Nhập hệ số bậc 2, a = "));
b = float(input("Nhập hệ số bậc 1, b = "));
c = float(input("Nhập hằng số tự do, c = "));
# kiểm tra các hệ số
if (a == 0):
if (b == 0):
print ("Phương trình vô nghiệm!");
else:
print ("Phương trình có một nghiệm: x = ", + (-c / b));
return;
# tính delta
delta = b * b - 4 * a * c;
# tính nghiệm
if (delta > 0):
x1 = (float)((-b + math.sqrt(delta)) / (2 * a));
x2 = (float)((-b - math.sqrt(delta)) / (2 * a));
print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2);
elif (delta == 0):
x1 = (-b / (2 * a));
print("Phương trình có nghiệm kép: x1 = x2 = ", x1);
else:
print("Phương trình vô nghiệm!");
#Khai báo hàm Giải pt bậc nhất GPTBN1
#Khai báo hàm Giải pt bậc hai GPTB2
#Tạo bảng chọn việc
while True:
print("*********************************************")
print("BẢNG CHỌN VIỆC")
print("1. Giải phương trình bậc nhất ")
print("2. Giải phương trình bậc hai ")
print("3. Thoát khỏi công việc")
print("*********************************************")
chon = input("Hãy chọn (1 hay 2 hay 3): ")
if chon == '1':
print("Giải phương trình bậc nhất ")
gptb1()
elif chon == '2':
print("Giải phương trình bậc hai")
gptb2()
else:
print("Tạm biệt")
break
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Đang tải chế độ Học...
Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay
Đăng ký VIP để học và luyện thi không giới hạn
Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.
- Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
- Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
- Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
- Tải xuống đề thi [DOCX] với đầy đủ đáp án
- Xem bài giảng đính kèm củng cố thêm kiến thức
- Bao gồm tất cả các bậc từ Tiểu học đến Đại học
- Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
- Đăng ký ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
def Drawbox(a):
for i in range(a + 1):
for j in range(10):
print("#", end = "")
print()
a = int(input("Nhập a "))
Drawbox(a)
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
def mtime(d, v1, v2):
t = v1 + v2
return d/t
d = float(input("d = "))
v1 = float(input("v1 = "))
v2 = float(input("v2 = "))
print("Hai xe gặp nhau sau", mtime(d, v1, v2), "giờ.")
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Đăng ký để học cùng Vietjack. Hoàn toàn miễn phí!
Bằng việc đăng ký, bạn đồng ý với Điều khoản sử dụng và Chính sách bảo mật của Vietjack.