16
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

Demo Nhập xuất dữ liệu

  • 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

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

• CÁCH XỬ LÝ CHUỖI BIỂU THỨC

• KÝ PHÁP BA LAN

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

• 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

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

DEMO CODE ONCLICK LISTNER CHO MAIN 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 +

CÁC BƯỚC XỬ LÝ

• CHUYỂN CHUỖI TỪ TRUNG TỐ SANG HẬU TỐ

• TÍCH TOÁN CHUỖI HẬU TỐ

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ả.

DEMO CODE INFIX TO POSTFIX

TÍNH TOÁN CHUỖI HẬU TỐ

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[]

DEMO CODE PHÂN TÁCH BIỂU THỨC

CẢM ƠN CÁC BẠN ĐÃ LẮNG NGHE!