BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KIÊN GIANG
KHOA THƠNG TIN & TRUYỀN THƠNG
BÁO CÁO
LẬP TRÌNH CHO THIẾT BỊ DI ĐỘNG
TÊN ĐỀ TÀI
THIẾT KẾ PHẦN MỀM MÁY TÍNH CASIO
MINI
Giảng viên hướng dẫn: ThS Nguyễn Thị
Hồng Yến
Sinh viên thực hiện: Võ Tuấn Kiệt
Trần Minh Thơng
Lâm Thiện Tính
NĂM 2023
NHẬN XÉT GIẢNG VIÊN
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
1
BẢNG PHÂN CƠNG NHIỆM VỤ NHĨM
ST
Cơng việc
Người thực
Thời
T
1
Tìm hiểu thuật toán, thiết kế giao
hiện
Võ Tuấn Kiệt
gian
1 ngày
với mã xử lý logic.
Tìm hiểu thuật tốn, đưa ra giải pháp,
Trần Minh
1 ngày
theo dõi tiến độ các thành viên trong
Thơng
hóm, viết báo cáo.
Thiết kế sơ đồ, viết mã xử lý logic.
Lâm Thiện
diện, viết mã xử lý giao diện, thao tác
2
3
1 ngày
Tính
2
MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU VỀ ĐỀ TÀI.........................................................5
1.1 Tóm tắt đề tài..............................................................................5
1.2 Danh sách chức năng...................................................................5
1.3 Mô tả thuật ngữ...........................................................................6
CHƯƠNG 2. DEMO CHƯƠNG TRÌNH.......................................................7
2.1 Input expression (nhập biểu thức).................................................7
2.2 Remove expression (xóa biểu thức)............................................10
2.3 Clear expression (tạo mới biểu thức)...........................................10
2.4 Perform calculation (thực hiện phép tính)...................................11
2.5 Giao diện ứng dụng.....................................................................16
3
DANH MỤC HÌNH
Hình 1. Xác thực biểu thức trung tố......................................................14
Hình 2. Chuyển biểu thức trung tố thành biểu thức hậu tố..................15
Hình 3. Tính biểu thức hậu tố...............................................................16
4
CHƯƠNG 1. GIỚI THIỆU VỀ ĐỀ TÀI
1.1 Tóm tắt đề tài
Với sự tiến bộ trong công nghệ điện tử và vi mạch tích hợp, việc
sản xuất các máy tính nhỏ gọn và di động đã trở nên khả thi. Các
thành phần như màn hình LCD, bàn phím và vi xử lý có thể được
tích hợp vào một thiết bị nhỏ hơn, giúp mang lại sự tiện lợi và di
động cho người dùng.
Cần có một thiết bị di động và nhỏ gọn để thực hiện các phép
tính tốn trong các tình huống hàng ngày. Người dùng cần một
công cụ tiện lợi để tính tốn tiền tệ, giải phương trình, tính tốn
khoa học, và thực hiện các phép tính thống kê. Máy tính Casio mini
đáp ứng yêu cầu này và giúp người dùng tiết kiệm thời gian và
công sức trong việc thực hiện các tính tốn phổ biến.
Vì vậy, chúng em đã tiến hành thu thập dữ liệu và nghiên cứu
thực hiện đề tài “Máy Tính Casio Mini” này để góp phần giúp các
hoạt động tính tốn của người dùng tiện hợi hơn bao giờ hết.
1.2 Danh sách chức năng
Input expression (Nhập biểu thức)
Perform calculation (Thực hiện phép tính)
Remove expression (Xóa biểu thức)
Clear expression (Tạo mới biểu thức)
5
1.3 Mơ tả thuật ngữ
Operand (tốn hạng): là một đối tượng của một phép tốn. Tốn
hạng có thể là một số, một biến hoặc một biểu thức con. Ví dụ:
trong 3 + 6 = 9, thì các số 3, 6, 9 được xem là một toán hạng.
Operator (toán tử): là các thao tác để kết hợp các giá trị tạo ra
một giá trị mới. Ví dụ như: trong 3 + 6 = 9 thì “+” là một tốn tử.
Constant (hằng số): là một giá trị không đổi được biểu diễn bằng
các ký tự đặc trưng. Ví dụ như: π (pi), e (số euler)…
Function (hàm số): là các hàm trong toán học như sin, cos, log…
Expression (biểu thức): là một chuỗi kết hợp giữa các toán hạng,
toán tử, hàm số… Biểu thức được biểu diễn với ba dạng:
o Infix (trung tố): các toán tử sẽ được viết giữa các tốn hạng.
Ví dụ: 3 + 4
o Prefix (tiền tố): các toán tử sẽ được viết trước các tốn
hạng. Ví dụ: + 3 4
o Posfix (hậu tố): các tốn tử sẽ được viết sau các tốn hạng.
Ví dụ: 3 4 +
6
CHƯƠNG 2. DEMO CHƯƠNG TRÌNH
2.1 Input expression (nhập biểu thức)
Nhập biểu thức là chức năng cho phép người dùng nhập một dãy các
phép tính vào ứng dụng một cách linh hoạt. Biểu thức của người dùng
nhập vào sẽ bao gồm:
Input operand (Nhập toán hạng)
o Integer (Số nguyên)
o Real number (Số thực)
Input operator (Nhập toán tử)
o Addition (Phép cộng)
o Substraction (Phép trừ)
o Multiplication (Phép nhân)
o Division (Phép chia)
o Modulus (Phép chia lấy phần dư)
Input constant (Nhập hằng số)
o Pi constant (Hằng số pi): có giá trị xấp xỉ bằng 3.14159
o Euler’s number (Hằng số e): có giá trị xấp xỉ bằng 2.71828
Input function (Nhập hàm số)
o Sine (hàm sin): tỷ số giữa độ dài cạnh đối với độ dài cạnh
huyền trong tam giác
o Cosine (hàm cos): tỷ số giữa độ dài cạnh kề với độ dài cạnh
huyền trong tam giác
o Tangent (hàm tan): tỷ số giữa độ dài cạnh đối với độ dài
cạnh kề trong tam giác
o Cotangent (hàm cot): nghịch đảo của Tangent
o Square root (hàm căn bậc hai)
o Power (hàm mũ)
7
o Logarithm (hàm logarit)
o Natural logarithm (hàm logarit cơ số e)
Các sơ đồ use case tương ứng:
8
9
10
2.2 Remove expression (xóa biểu thức)
Xóa biểu thức là chức năng cho phép người dùng khi nhập sai phép
tính nào đó trên ứng dụng thì có thể xóa các phép tính đó ra khỏi biểu
thức.
2.3 Clear expression (tạo mới biểu thức)
Tạo mới biểu thức là chức năng cho phép người dùng xóa tồn bộ các
phép tính trong biểu thức một cách nhanh chóng.
11
2.4 Perform calculation (thực hiện phép tính)
Thực hiện phép tính là chức năng cho phép người dùng thực hiện các
phép tính trên máy tính một cách tự động bằng cách ấn nút “=” sau
khi đã nhập xong biểu thức cần tính.
Thực hiện phép tính là một cơng việc phức tạp và được chia thành
nhiều giai đoạn khác nhau bao gồm:
Validate infix expression (xác thực biểu thức trung tố)
Convert expression from infix to posfix (chuyển đổi biểu thức
trung tố sang hậu tố)
Evaluate posfix expression (tính giá trị biểu thức hậu tố)
Handle exception (Xử lý lỗi trong quá trình tính tốn)
Sơ đồ use case tương ứng:
Từ sơ đồ use case trên ta có thể thấy được rằng, để chuyển đổi biểu
thức trung tố sang hậu tố, trước hết phải thực hiện việc xác thực xem
12
biểu thức trung tố mà người dùng nhập vào có hợp lệ hay khơng. Sau
đó, tiến hành tính giá trị cho biểu thức hậu tố. Trong q trình tính
tốn biểu thức, nếu phát sinh ra lỗi từ biểu thức thì có thể đưa ra các
ngoại lệ để thơng báo lỗi cho người dùng.
Tiếp theo là mơ hình hóa cấu trúc tĩnh của ứng dụng với sơ đồ lớp, một
số lớp sinh ra bao gồm:
Constants (Hằng số): lưu giữ các ký tự và giá trị thực của các
hằng số như “π” và “e”. Phương thức kiểm tra chuỗi đầu vào có ” và “e”. Phương thức kiểm tra chuỗi đầu vào có
phải là hằng số hay khơng và lấy giá trị thực của một hằng số.
ExpressionUtils (Lớp tiện ích dành cho biểu thức): chứa các
phương thức dùng để kiểm tra xem chuỗi đầu vào có phải là tốn
hạng (isOperand), tốn tử (isOperator), dấu mở ngoặc
(isOpenParenthesis) … hay khơng.
ExpressionConverter (Bộ chuyển đổi biểu thức): chứa phương
thức có chức năng chuyển đổi biểu thức từ dạng trung tố sang
hậu tố (infixToPosfix), xác thực biểu thức trung tố có đúng định
dạng hay khơng (isValid)
MathFunctions (Hàm số tốn học): chứa các hàm xử lý toán học
một tham số như Sin, Cos… hoặc hai tham số như Log, Pow…
Ngồi ra, cịn chứa 1 interface Function (đại diện cho triển khai
của một hàm toán học). Interface này dùng tham số biến đổi
(variable parameters) để linh hoạt cho việc nhận các tham số đầu
vào và thực hiện các hàm tương ứng một cách tự động dựa vào
khóa truyền vào (execute).
PosfixExpression (Biểu thức hậu tố): chứa phương thức tính giá trị
biểu thức hậu tố (evaluate).
Sơ đồ lớp tương ứng
13
Trong bốn giai đoạn của công việc thực hiện phép tính thì ba giai đoạn
đầu là quan trọng nhất. Vì thế chúng sẽ được mơ hình hóa bằng sơ đồ
hoạt động (activity diagram), để mô tả rõ cách các thuật toán này hoạt
động.
14
Hình 1. Xác thực biểu thức trung tố
15
Hình 2. Chuyển biểu thức trung tố thành biểu thức hậu tố
16
Hình 3. Tính biểu thức hậu tố
2.5 Giao diện ứng dụng
17
18
19