Chương 1: Giới thiệu về đề tài 1.1 Tóm tắt đề tài (5) Trong phần này, tóm tắt nội dung chính của đề tài sẽ được trình bày. Điều này có thể bao gồm mục tiêu, ý nghĩa, và phạm vi của dự án. 1.2 Danh sách chức năng (5) Phần này sẽ liệt kê các chức năng chính mà hệ thống hay ứng dụng sẽ cung cấp. Các chức năng này thường liên quan trực tiếp đến mục tiêu và yêu cầu của đề tài. 1.3 Mô tả thuật ngữ (6) Trình bày các thuật ngữ chuyên ngành, từ ngữ đặc biệt được sử dụng trong đề tài. Mục này giúp độc giả hiểu rõ các khái niệm và thuật ngữ sẽ xuất hiện trong các phần tiếp theo của đồ án. Chương 2: Demo chương trình 2.1 Input expression (Nhập biểu thức) (7) Mô tả cách người dùng có thể nhập biểu thức vào chương trình. Có thể đề cập đến giao diện người dùng hoặc cách sử dụng các nút hay lệnh để nhập liệu. 2.2 Remove expression (Xóa biểu thức) (10) Hướng dẫn cách xóa một biểu thức đã được nhập vào. Có thể đi sâu vào cách người dùng có thể quản lý danh sách biểu thức đã nhập. 2.3 Clear expression (Tạo mới biểu thức) (10) Mô tả quy trình để xóa toàn bộ danh sách biểu thức hoặc bắt đầu một phiên làm việc mới. 2.4 Perform calculation (Thực hiện phép tính) (11) Hướng dẫn cách chương trình thực hiện phép tính trên các biểu thức đã nhập, và cung cấp kết quả cho người dùng. 2.5 Giao diện ứng dụng (16) Mô tả giao diện người dùng của ứng dụng, bao gồm các thành phần, nút chức năng, và các phần khác để tạo ra một trải nghiệm người dùng đồng nhất và dễ sử dụng. Mỗi phần trong chương trình nên được mô tả chi tiết để người đọc có thể hiểu rõ về cách chương trình hoạt động và làm thế nào nó đáp ứng được yêu cầu của đề tài.
Trang 1BỘ 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
Trang 2NĂM 2023 NHẬN XÉT GIẢNG VIÊN
1
Trang 3BẢNG PHÂN CÔNG NHIỆM VỤ NHÓM
1 Tìm hiểu thuật toán, thiết kế giao
diện, viết mã xử lý giao diện, thao tác
với mã xử lý logic
Võ Tuấn Kiệt 1 ngày
2 Tìm hiểu thuật toán, đưa ra giải pháp,
theo dõi tiến độ các thành viên trong
hóm, viết báo cáo
Trần MinhThông
1 ngày
3 Thiết kế sơ đồ, viết mã xử lý logic Lâm Thiện
Tính
1 ngày
Trang 4MỤ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
Trang 5DANH MỤC HÌNHHình 1 Xác thực biểu thức trung tố 14Hình 2 Chuyển biểu thức trung tố thành biểu thức hậu tố 15Hình 3 Tính biểu thức hậu tố 16
Trang 6CHƯƠ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ệcsản xuất các máy tính nhỏ gọn và di động đã trở nên khả thi Cácthành phần như màn hình LCD, bàn phím và vi xử lý có thể đượctí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éptính toán trong các tình huống hàng ngày Người dùng cần mộtcông cụ tiện lợi để tính toán tiền tệ, giải phương trình, tính toánkhoa 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 toán phổ biến
Vì vậy, chúng em đã tiến hành thu thập dữ liệu và nghiên cứuthực hiện đề tài “Máy Tính Casio Mini” này để góp phần giúp cáchoạt động tính toá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
Trang 71.3 Mô tả thuật ngữ
Operand (toán hạng): là một đối tượng của một phép toán Toá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 toá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 toán hạng
Trang 8CHƯƠ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ácphép tính vào ứng dụng một cách linh hoạt Biểu thức của người dùngnhập vào sẽ bao gồm:
Input operand (Nhập toán hạng)
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
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
Trang 9o Logarithm (hàm logarit)
o Natural logarithm (hàm logarit cơ số e)
Các sơ đồ use case tương ứng:
Trang 122.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éptính nào đó trên ứng dụng thì có thể xóa các phép tính đó ra khỏi biểuthứ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 toàn bộ cácphép tính trong biểu thức một cách nhanh chóng
11
Trang 132.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ácphép tính trên máy tính một cách tự động bằng cách ấn nút “=” saukhi đã 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ànhnhiề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ứctrung 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 toá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
Trang 14biể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 quá trình tính toá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à toán hạng (isOperand), toá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ố toá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… Ngoà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ố đầuvà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
Trang 15Trong 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.
Trang 16Hình 1 Xác thực biểu thức trung tố
15
Trang 17Hình 2 Chuyển biểu thức trung tố thành biểu thức hậu tố
Trang 18Hình 3 Tính biểu thức hậu tố
2.5 Giao diện ứng dụng
17
Trang 22KẾT LUẬN
Ưu điểm:
Phần mềm máy tính Casio mini có một số ưu điểm và hạn chế như sau:
Tiện lợi và linh hoạt: Phần mềm máy tính Casio mini cho phép
sử dụng trên các thiết bị di động như điện thoại thông minh, máytính bảng hoặc máy tính cá nhân Điều này mang lại sự tiện lợi vàlinh hoạt cho người dùng để tính toán bất cứ khi nào và ở bất kỳđâu
Đa chức năng: Phần mềm máy tính Casio mini thường có nhiều
tính năng và chức năng tính toán, bao gồm các tính toán cơ bảnnhư cộng, trừ, nhân, chia cùng với tính toán phức tạp hơn nhưhàm số, lũy thừa, căn bậc hai và nhiều hơn nữa
Giao diện người dùng thân thiện: Phần mềm máy tính Casio
mini thường có giao diện người dùng đơn giản và dễ sử dụng,giúp người dùng dễ dàng nhập liệu và thực hiện các phép tính
Dễ mở rộng và phát triển: Phần lõi của ứng dụng được viết
tách biệt so với phần giao diện của android Do đó, giúp cho việctriển khai ứng dụng trên các nền tảng khác 1 cách dễ dàng vànhanh chóng
Hạn chế:
Hạn chế tính năng: Phần mềm máy tính Casio mini có thể có
hạn chế về tính năng so với các phiên bản máy tính Casio thực
sự Các tính năng phức tạp hơn hoặc đặc biệt có thể không có sẵntrong phiên bản phần mềm
Giới hạn hiển thị: Màn hình trên các thiết bị di động thường có
kích thước nhỏ hơn so với màn hình trên máy tính Casio thực sự.Điều này có thể làm hạn chế không gian hiển thị và gây khó khăn
khi làm việc với các biểu thức phức tạp hoặc dữ liệu lớn
21
Trang 24TÀI LIỆU THAM KHẢO
1 Tập bài giảng Phát triển ứng dụng trên thiết bị di động – Ths Nguyễn Minh Đức [2019]
2 Tập bài giảng Lập trình cho thiết bị di động (Android) – Ths
Nguyễn Thị Hồng Yến
3
https://www.geeksforgeeks.org/convert-infix-expression-to-postfix-expression/
4 https://www.geeksforgeeks.org/evaluation-of-postfix-expression/amp/
5 https://www.calculator.net/scientific-calculator.html
23