Upload
jesse
View
84
Download
0
Embed Size (px)
DESCRIPTION
Demo Nhập xuất dữ liệu. Nhóm : Huỳnh Minh Khải 100032 Lê Anh Khôi Nguyễn Anh Phương. Nội dung chính. Quy ước nhập biểu thức. Ký pháp ba Lan. Cách xử lý Chuỗi biểu thức. Quy ước nhập biểu thức. Nhập toàn bộ biểu thức. Nhập một phần biểu thức. - PowerPoint PPT Presentation
Citation preview
• Hiển thị toàn bộ biểu thức dễ dàng thêm, xoá, sửa
• Phức tạp trong việc cài đặt và xử lí biểu thức
• Hiển thị đơn giản từng phép tính đơn, khó khăn trong việc chỉnh sửa
• Đơn giản trong việc lập trình
ĐẶC ĐIỂM
QUẢN LÝ CÁC BUTTON
2 cách
Khai báo sự kiện Onclick Listener cho
từng nút
Khai báo sự kiện Onclick Listener cho
toàn Activitive
KÝ PHÁP BA LAN
Quy ước: Biểu thức gồm: • Các dấu mở ngoặc/đóng ngoặc• Bốn toán tử cộng, trừ, nhân và chia (+, -,
*, /)• Các toán hạng đều chỉ là các con số nguyên
từ 0 đến 9• Không có bất kỳ khoảng trắng nào giữa các
ký tự.
VÌ SAO PHẢI DÙNG KÍ PHÁP BA LAN?
Máy tính rất ngu, nó không thể hiểu được một cách tường minh quá trình tính toán để đưa ra giá trị biểu thức
GIẢI PHÁP
Chuyển chuỗi trung tố (infix) sang hậu tố (postfix )
5 + ((1 + 2) * 4) + 3
5 1 2 + 4 * + 3 +
CHUYỂN CHUỖI TỪ TRUNG TỐ SANG HẬU TỐ
• Nếu gặp một toán hạng => chuỗi kết quả• Nếu gặp dấu ‘(‘ , => stack.• Nếu gặp một toán tử (gọi là O1)• Khi còn có một toán tử O2 ở đỉnh ngăn
xếp và độ ưu tiên của O1 nhỏ hơn hay bằng độ ưu tiên của O2 thì lấy O2 ra khỏi ngăn xếp và ghi vào kết quả.
• Push O1 vào ngăn xếp• Nếu gặp ‘)’ • Lấy các toán tử trong ngăn xếp ra và ghi vào kết
quả cho đến khi lấy được dấu mở ngoặc ra khỏi ngăn xếp.
• Khi đã duyệt hết biểu thức trung tố, lần lượt lấy tất cả toán hạng (nếu có) từ ngăn xếp ra và ghi vào chuỗi kết quả.
CÁCH XỬ LÝ CHUỖI BIỂU THỨC
Chuỗi biểu thức (Text trong TextView) Mảng char[]
Phân tách biểu thức và đưa vào mảng String[]