X

Chuyên đề Tin 12 Chân trời sáng tạo

Nhiệm vụ: Viết chương trình tính giá trị của biểu thức số học với biểu thức đầu vào


Nhiệm vụ: Viết chương trình tính giá trị của biểu thức số học với biểu thức đầu vào là biểu thức hậu tố.

Giải Chuyên đề Tin 12 Bài 1.4: Ứng dụng của ngăn xếp - Chân trời sáng tạo

Nhiệm vụ 2 trang 24 Chuyên đề Tin học 12: Nhiệm vụ: Viết chương trình tính giá trị của biểu thức số học với biểu thức đầu vào là biểu thức hậu tố.

Yêu cầu: Viết chương trình tính giá trị biểu thức số học dùng hàm chuyển biểu thức inFixtoPostfix(). Chạy chương trình trên.

Lời giải:

Sử dụng inFixtoPostfix() để chuyển biểu thức dạng trung tố sang dạng hậu tố.

Sử dụng hàm calPostfix() để tính giá trị biểu thức dạng hậu tố.

Hàm tính b op a, với a, b là toán hạng, op là toán tử:

def calculate(a, b, op): if op '+': return b+a

elif opa return b-a

elif op ==

return b*a

elif op '/':

return b/a

else:

return b**a

Hàm tính giá trị biểu thức dạng hậu tố:

def calPostfix(s): stack initStack() for op in s:

if not isoperator(op): push(stack, op)

else:

a = int(pop(stack)) b= int(pop(stack))

d = calculate(a, b, op) push(stack, d)

k = pop(stack)

return k

k = calPostfix ('245-+6*') print(k)

k = calPostfix ('243+*5-') print(k)

#Thêm tí

hạng vào stack

#Kiếm tr. nếu op là toán tử #Lấy toán hạng a ra khỏi stack

#Lấy toán hạng b ra khỏi stack

#Gọi calculate để thực hiện phép tính b op a #Thêm d vào stack

#Lấy phần tử còn lại trong stack

#Trả về kết quả

Lời giải bài tập Chuyên đề Tin 12 Bài 1.3: Ứng dụng của hàng đợi hay, chi tiết khác:

Xem thêm lời giải bài tập Chuyên đề học tập Tin học 12 Chân trời sáng tạo hay, chi tiết khác: