Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
1,3 MB
Nội dung
LỜI CẢM ƠN Nhóm nghiên cứu đề tài: “LẬP TRÌNH MÁY TÍNH BỎ TÚI SCAL Pro BÁO CÁO NGHIÊN CỨU BẰNG VBA” Xin bày tỏ lòng biết ơn sâu sắc tới BGH trường THCS Văn Lang, tạo điều kiện thuận lợi giúp đỡ chúng em thời gian thực dự án Cùng tồn thể thầy giáo trường THCS Văn Lang hướng dẫn tận tình, tạo điều kiện để nhóm tác giả hồn thành tốt đề tài Nhóm nghiên cứu đề tài xin cảm ơn : - Thầy giáo Nguyễn Duy Hoàng hướng dẫn tận tình giúp chúng em hồn thành đề tài - Thầy giáo Nguyễn Tiến Thành tạo điều kiện sở phòng thực hành, cố vấn cho chúng em hoàn thiện đề tài ĐỀbiết TÀI Cuối nhóm tác giả xinTÊN gửi lịng ơn đến cha, mẹ, anh, chị gia đình bạn bè giúp đỡ, động viên nhóm suốt thời gian thực dự án LẬP TRÌNH MÁY TÍNH BỎ TÚI SCAL-Pro BẰNG VBA NHÓM TÁC GIẢ Lĩnh vực: 21 – Phần mềm hệ thống Nguyễn Nhân Dân Hồng Cơng Vinh NHĨM THỰC HIỆN: Nguyễn Nhân Dân Hồng Cơng Vinh - Lớp 9E - Lớp 9H Nhóm trưởng Thành viên NGƯỜI HƯỚNG DẪN: Nguyễn Duy Hồng Việt Trì , tháng 10 năm 2018 MỤC LỤC LỜI CẢM ƠN CHƯƠNG MỞ ĐẦU 1.1 Tính cấp thiết đề tài .5 1.2 Ý nghĩa khoa học thực tiễn đề tài 1.2.1 Ý nghĩa khoa học 1.2.2 Ý nghĩa thực tiễn 1.3 Mục tiêu đề tài CHƯƠNG TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU .7 2.1 Khái quát chung VBA .7 2.2 Cách sử dụng VBA CHƯƠNG 3: SCAL Pro .15 3.2 Quá trình lập trình SCAL Pro .16 3.2.1 Giao diện 16 3.2 Quá trình lập trình SCAL Pro 16 3.3 Kết thiết kế .25 3.3.1 Về giao diện 25 3.3.2 Lưu đồ thuật toán 26 3.3.3 Đánh giá độ ổn định 26 3.3.5 Đánh giá độ xác 26 3.3.6 Hoàn thiện sản phẩm 29 KẾT LUẬN VÀ KIẾN NGHỊ 30 Kết luận 30 Kiến nghị 30 TÀI LIỆU THAM KHẢO 31 CHƯƠNG MỞ ĐẦU 1.1 Tính cấp thiết đề tài Ngày này, khoa học kỹ thuật phát triển, khả tính tốn máy tính tận dụng tối đa, phần mềm văn phòng Microsoft quen thuộc với chúng ta, phần mềm Excel giúp thực cơng việc liên quan đến tính tốn Nhưng để nhớ hết hàm việc khơng đơn giản, có phép toán đối tượng phải dùng máy tính bỏ túi nhập liệu vào phần mềm Excel, lý để nhóm làm SCAL Pro SCAL Pro phần mềm mô máy tính cầm tay, tạo dành cho người làm việc văn phịng có nhu cầu tính toán từ (cộng, trừ, nhân, chia ) nâng cao ( tỉ số lượng giác,…) Đặc biệt người có kỹ sử dụng hàm tính tốn Excel chúng khó nhớ khó sử dụng ( SUM( cộng ), VLOOKUP(tìm liệu) ) SCAL Pro thực chất file Word Excel, nên khơng địi hỏi người dùng phải có kiến thức máy vi tính để cài đặt phần mềm vào máy tính sử dụng Vì lý trên, nhóm nghiên cứu lựa chọn thực dự án: Lập trình máy tính bỏ túi SCAL Pro VBA 1.2 Ý nghĩa khoa học thực tiễn đề tài 1.2.1 Ý nghĩa khoa học - Giúp cho người biết thêm tính mở rộng phần mềm văn phịng, để làm việc hiệu - Giúp người dùng có kiến thức tảng, hiểu cách thức hoạt động ngôn ngữ VBA 1.2.2 Ý nghĩa thực tiễn - Nâng cao hiệu làm việc với cơng việc tính tốn - Mang tính ứng dụng cao, lập trình thêm tính tùy chọn theo nhóm người dùng 1.3 Mục tiêu đề tài Thiết kế, tạo máy tính bỏ túi với tính bản, thêm vài tính hướng theo nhu cầu người dùng 1.4 Những điểm đề tài - Sản phẩm SCAL Pro sản phẩm “mở” theo tiêu chí cơng nghệ - SCAL Pro thực tốt phép tính đến 20 số, số lớn so với máy tính cầm tay thơng thường - Ngồi với tính “mở” nên phần mềm nâng cấp thêm nhiều chức mà máy tính bỏ túi khác khơng có CHƯƠNG TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU 2.1 Khái quát chung VBA Visual Basic for Applications (VBA) bổ sung Microsoft's Visual Basic, xây dựng tất ứng dụng Microsoft Office (bao gồm phiên cho hệ điều hành Mac OS), số ứng dụng Microsoft khác Microsoft MapPoint Microsoft Visio - ứng dụng trước Microsoft, bổ sung cho nhiều ứng dụng AutoCAD, WordPerfect ESRI ArcGIS Nó thay mở rộng khả ngôn ngữ Macro đặc trưng WordBasic Word, sử dụng để điều khiển hầu hết tất khía cạnh ứng dụng chủ, kể vận dụng nét riêng biệt giao diện người dùng Menu Toolbar làm việc với hình thái hộp thoại tùy ý VBA sử dụng để tạo lọc xuất nhập cho định dạng tập tin khác ODF Các phần mềm Microsoft Office: Như tên gọi mình, VBA gần gũi với Visual Basic, chạy ứng dụng chủ khơng phải chương trình độc lập Nó dùng để điều khiển ứng dụng từ OLE tự động (ví dụ, tự động tạo báo cáo Word từ liệu Excel) Visual Basic (VB) VBA có nhiều khả mềm dẻo có số hạn chế quan trọng, bao gồm hỗ trợ hạn chế cho hàm gọi lại Nó có khả sử dụng khơng tạo thư viện động, phân sau hỗ trợ cho môđun lớp (class modules) Ta làm với VBA? VBA cho phép người ta viết mã lệnh có tác động tới nhiều đối tượng để làm tăng tính tự động hố ứng dụng mình, làm việc mà cơng cụ sẵn có ứng dụng chưa có, chẳng hạn viết hàm tính thuế, hay tốn tính tốn phức tạp mà cơng thức có sẵn Excel khơng thể đáp ứng VBA sử dụng để tạo nên chương trình hỗ trợ q trình làm việc Nó có ích việc xử lý liệu lớn hay công việc lặp lặp lại thống kê số liệu Ví dụ: ta có 10000 dịng bảng thống kê cần xố dịng giống Nếu xếp lại xố thủ cơng tốn thời gian, sử dụng VBA tốn vài giây mà 2.2 Cách sử dụng VBA Đầu tiên, ta phải bật Visual Basic Application tích hợp Word Excel Nhấp chuột phải vào công cụ phần mềm Microsoft Office Word chọn Customize the Ribbon (Tuỳ chọn Ruy-băng) Sau cửa sổ tên Word Option Chọn Developer (Nhà phát triển) Nhấn vào Trust Center chọn Trust Center Setting Sau đó, cửa sổ tên Trust Center Nhấn vào Macro Setting Tích vào ô hình chọn OK Cửa sổ tự động đóng Trên cơng cụ, xuất thêm tab Developer (Nhà phát triển) Nhấp chuột phải vào Developer, xuất biểu tượng Visual Basic Macro Chọn Visual Basic cửa sổ làm việc Ta chọn Insert User Form để bắt đầu thiết kế giao diện Trong cửa sổ Tool Box, có hộp thoại, nút bấm để ta lựa chọn Chỉ cần kéo, thả chỉnh tùy ý Giao diện chương trình Các nút lệnh, hộp thoại 10 Private Sub cmdBtnclr_Click() txtRes = 0: txtDisplay = Empty End Sub - Nút xóa chữ số Private Sub cmdBtnBak_Click() If txtRes And txtRes "" Then txtRes = Left(txtRes, Len(txtRes) - 1) End Sub - Các phím số: Private Sub cmdBtn1_Click() If txtRes = Then txtRes = cmdBtn1.Caption Else txtRes = txtRes + cmdBtn1.Caption End If End Sub Private Sub cmdBtn2_Click() If txtRes = Then txtRes = cmdBtn2.Caption Else txtRes = txtRes + cmdBtn2.Caption End If End Sub Private Sub cmdBtn3_Click() 16 If txtRes = Then txtRes = cmdBtn3.Caption Else txtRes = txtRes + cmdBtn3.Caption End If End Sub Private Sub cmdBtn4_Click() If txtRes = Then txtRes = cmdBtn4.Caption Else txtRes = txtRes + cmdBtn4.Caption End If End Sub Private Sub cmdBtn5_Click() If txtRes = Then txtRes = cmdBtn5.Caption Else txtRes = txtRes + cmdBtn5.Caption End If End Sub Private Sub cmdBtn6_Click() If txtRes = Then txtRes = cmdBtn6.Caption 17 Else txtRes = txtRes + cmdBtn6.Caption End If End Sub Private Sub cmdBtn7_Click() If txtRes = Then txtRes = cmdBtn7.Caption Else txtRes = txtRes + cmdBtn7.Caption End If End Sub Private Sub cmdBtn8_Click() If txtRes = Then txtRes = cmdBtn8.Caption Else txtRes = txtRes + cmdBtn8.Caption End If End Sub Private Sub cmdBtn9_Click() If txtRes = Then txtRes = cmdBtn9.Caption Else txtRes = txtRes + cmdBtn9.Caption 18 End If End Sub Private Sub cmdBtn0_Click() txtRes = txtRes + cmdBtn0.Caption End Sub - Các phép toán: Public Function mu(a As Double, b As Integer) Dim i As Integer mu = For i = To b mu = mu * a Next End Function Private Sub CommandButton46_Click() Dim pi As Double pi = * Atn(1) txtRes = pi End Sub Private Sub CommandButton13_Click() If txtRes = Then txtDisplay = "Cannot divide by 0" Else: txtRes = / txtRes End If 19 End Sub Private Sub CommandButton36_Click() txtDisplay = "10^" calVal = "muoi" End Sub Private Sub CommandButton43_Click() txtDisplay = "sqrt(" calVal = "sqrt" End Sub Private Sub CommandButton45_Click() txtDisplay = "abs" calVal = "abs" End Sub Private Sub CommandButton3_Click() txtDisplay = txtRes txtRes = "0" calVal = "^" End Sub Private Sub CommandButton8_Click() txtRes = mu(txtRes, 2) End Sub Private Sub CommandButton2_Click() Dim i As Integer 20 Dim kq As Double kq = For i = To txtRes kq = kq * i Next txtRes = kq End Sub Private Sub CommandButton1_Click() txtRes = txtRes / 100 End Sub Private Sub CommandButton47_Click() txtDisplay = "sin" calVal = "sin" End Sub Private Sub CommandButton48_Click() txtDisplay = "cos" calVal = "cos" End Sub Private Sub CommandButton51_Click() txtDisplay = "tan" calVal = "tan" End Sub - Luồng làm việc phép toán 21 Private Sub cmdBtnEql_Click() On Error GoTo ErrOcccered Dim a, b As Double a = Val(txtDisplay) b = Val(txtRes) If txtDisplay = "Cannot divide by Zero" Then txtDisplay = Empty Select Case calVal Case "sin" txtRes = Sin(b * * Atn(1) / 180) Case "cos" txtRes = Sqr(1 - mu(Sin(b * * Atn(1) / 180), 2)) Case "tan" txtRes = Tan(b * * Atn(1) / 180) Case "Add" txtRes = a + b Case "Minus" txtRes = a - b Case "Multiplication" txtRes = a * b Case "muoi" txtRes = mu(10, txtRes) Case "sqrt" txtRes = Sqr(txtRes) 22 Case "abs" txtRes = Abs(txtRes) Case "log" txtRes = Log(b) Case "^" txtRes = mu(txtDisplay, txtRes) Case "Divide" If txtRes = Then txtRes = "Cannot divide by 0" Else txtRes = a / b End If Case Else End Select txtDisplay = Empty ErrOcccered: End Sub - Nút bấm khởi động SCAL Pro Sub Clickforfun() Scal_PRo.Show End Sub 23 3.3 Kết thiết kế 3.3.1 Về giao diện Về mặt cấu tạo SCAL Pro giống với máy tính bỏ túi bình thường, phím bấm đẹp rõ ràng (có thể trau chuốt thêm kiểu chữ, phím bấm, màu, hình số thao tác đơn giản) 24 3.3.2 Lưu đồ thuật toán 3.3.3 Đánh giá độ ổn định SCAL Pro hoạt động ổn định, khơng xảy tượng giật, lag trình sử dụng, tạo thoải mái cho người dùng Phần mềm hoạt động trơn tru cấu hình máy tính nên vơ tư cài đặt phần mềm vào máy tính mà khơng cần lo nghĩ cấu hình 3.3.4 Đánh giá độ trễ Tốc độ tính tốn SCAL Pro gần ngày tức sau ta click vào dấu “=” Phần mềm có độ trễ khoảng 0.5 giây ta nhấp chuột lần liên tiếp vào nút lệnh 3.3.5 Đánh giá độ xác SCAL Pro có độ xác tuyệt đối cơng việc tính tốn Ta so sánh với phần mềm máy tính tích hợp sẵn hệ điều hành Window 25 Ví dụ, nhập số 123 cách click chuột vào nút lệnh giao diện phần mềm Click vào dấu “+” Nhập tiếp số 111 26 Click vào dấu “=” Kết phép tính 123 + 111 = 234 hiển thị giao diện Scal Pro 27 3.3.6 Hoàn thiện sản phẩm - SCAL Pro cần cải thiện độ trễ tính tốn liên tục - SCAL Pro có độ ổn định cao, tốc độ tính tốn nhanh xác hạn chế hình hiển thị số, mục tiêu vẽ đồ thị hàm số - SCAL Pro khơng q mạnh mẽ đáp ứng gần tất nhu cầu tính tốn người dùng độ phức tạp phép tính, người dùng phải dùng chuột, nhóm nghiên cứu để nhập từ bàn phím - Hiện ưu điểm SCAL Pro khơng địi hỏi cấu hình máy tính phải cao Ta sử dụng mượt mà phần mềm tất cấu hình máy tính khác nhau, cài đặt dễ dàng 28 KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Qua trình nghiên cứu, chế tạo, chạy thử đề tài tổng kết với số kết luận sau đây: - Đề tài thực thành công SCAL Pro làm việc ổn định, tính tốn xác, độ trễ khơng đáng kể - SCAL Pro làm việc xác đến 1020 - SCAL Pro cài đặt tất máy tính có phần mềm văn phịng Microsoft Office - Phần mềm chạy thử nghiệm cải tiến số điểm cịn hạn chế, đảm bảo q trình hoạt động tối ưu Kiến nghị - Để khắc phục độ trễ cần có thời gian để nghiên cứu ngôn ngữ VBA nhiều - Thêm nhiều chức Scientific Calculator - Đề nghị tiếp tục nghiên cứu, hoàn thiện phần mềm để đáp ứng nhu cầu cao người làm việc ngành chuyên biệt Việt Trì, ngày 31 tháng 10 năm 2018 Người viết Nguyễn Nhân Dân Hồng Cơng Vinh 29 TÀI LIỆU THAM KHẢO [1] https://en.wikipedia.org/wiki/Visual_Basic_for_Applications [2] https://www.youtube.com/watch?v=Xsmc0fVvF9k [3] https://books.google.com.vn/books… [4] https://www.youtube.com/watch?v=5oeZX2fhuDE [5] https://www.edrawsoft.com/explain-algorithm-flowchart.php [6] https://www.youtube.com/watch?v=ETojVLbYsgg 30 ... cách thức hoạt động ngôn ngữ VBA 1.2.2 Ý nghĩa thực tiễn - Nâng cao hiệu làm việc với cơng việc tính tốn - Mang tính ứng dụng cao, lập trình thêm tính tùy chọn theo nhóm người dùng 1.3 Mục tiêu... nhiều khả mềm dẻo có số hạn chế quan trọng, bao gồm hỗ trợ hạn chế cho hàm gọi lại Nó có khả sử dụng không tạo thư viện động, phân sau hỗ trợ cho môđun lớp (class modules) Ta làm với VBA? VBA cho... End Function Private Sub CommandButton46_Click() Dim pi As Double pi = * Atn(1) txtRes = pi End Sub Private Sub CommandButton13_Click() If txtRes = Then txtDisplay = "Cannot divide by 0" Else: txtRes