VAÄN DUÏNG TÖ TÖÔÛNG HOÀ CHÍ MINH VEÀ COÂNG TAÙC SÖÛ DUÏNG CAÙN BOÄ, COÂNG CHÖÙC TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Quốc Huy và tgk 124 XÂY DỰNG ỨNG DỤNG EXCEL TỰ SINH ĐỀ BÀI TẬP VÀ TỰ CHẤM KẾT[.]
TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Quốc Huy tgk XÂY DỰNG ỨNG DỤNG EXCEL TỰ SINH ĐỀ BÀI TẬP VÀ TỰ CHẤM KẾT QUẢ BUILD AN EXCEL APPLICATION TO GENERATE EXERCISES AND MARK RESULTS AUTOMATICALLY NGUYỄN QUỐC HUY NGUYỄN VĂN HỒNG TĨM TẮT: Khi học mơn sử dụng phần mềm bảng tính Microsoft Excel, học sinh/sinh viên phải làm nhiều tập vận dụng hàm để hiểu vận dụng cú pháp hàm Tuy nhiên, hàm thường có ví dụ minh họa tập áp dụng, dẫn đến việc người học khơng có nhiều hội thực hành, tự thực hành tập, người học muốn biết cơng thức sử dụng hay sai, hỏi trực tiếp thầy giảng dạy Chính vậy, việc xây dựng ứng dụng tự động đề tập chấm kết tự thực hành người học giúp giải vấn đề nêu hiệu Từ khóa: Microsoft Excel; lập trình VBA; ứng dụng tự động ABSTRACT: When studying how to use Microsoft Excel spreadsheet application, students have to many exercises about a function in order to understand and apply the syntax of the function However, each function usually only has one illustrative example and one exercise, leading to the lack of opportunities for learners to practice much, Moreover, when self-studying, learners also want to know whether the formula they used is right or wrong, but sometimes it is impossible to ask the teachers directly for many reasons, Therefore, being able to build an application that generate the exercises and marks the results automatically when doing self-practice of learners will help solve the two above problems very effectively Key words: Microsoft Excel; VBA programming; automatic application vận dụng Với nhiều hàm có cách vận dụng đa dạng hàm khó, sinh viên muốn có thêm tập tương tự để làm thêm, cho nhuần nhuyễn Từ thực tế trên, xây dựng ứng dụng dựa tảng Excel với khả tự sinh yêu cầu tập cách ngẫu nhiên chấm kết người học viết xong lệnh Ứng dụng lập trình ngơn ngữ VBA (Visual Basic for Application) giúp cho việc tương tác với Microsoft Excel dễ dàng mạnh mẽ NỘI DUNG Xây dựng ứng dụng đề chấm kết tập [1], [2], [3], [4] ĐẶT VẤN ĐỀ Khi học tập module Microsoft Excel thuộc môn học Tin học nói riêng, hay mơn học Microsoft Excel nói chung, sinh viên mong muốn sau học xong cú pháp hàm, làm tập áp dụng, giảng viên nhận xét, đánh giá kết hay sai, để điều chỉnh Một số sinh viên ngại hỏi thực hành nhà, khơng có giảng viên đánh giá kết làm bài, từ dẫn đến việc nhiều sinh viên khơng rõ cơng thức/hàm viết hay chưa Bên cạnh đó, hàm ngồi cú pháp ví dụ minh họa, thường có từ 2-3 tập ThS Trường Đại học Văn Lang, huy.nguyen@vlu.edu.vn ThS Trường Đại học Văn Lang, hoang.nv@vlu.edu.vn, Mã số: TCKH27-06-2021 124 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Số 27, Tháng - 2021 thức lấy bậc Đáp án câu =Sqrt(C12) nên ta dễ dàng xác định sinh viên viết hay sai (hình 2) 2.1 Phân tích Với bối cảnh xây dựng ứng dụng phục vụ cho sinh viên học tập Module Excel Bộ môn Tin học Trường Đại học Văn Lang, ứng dụng tập trung vào hàm bao gồm: Abs(), Sqrt(), Sum(), Min(), Max(), Average(), Day(), Month(), Year(), Date(), Int(), Mod(), Rank(), Round(), Left(), Right(), Mid() If() Dựa tương đồng tính chất, mức độ quan trọng, sử dụng nhiều hàm module, ta gom tất hàm thành 10 nhóm, nhóm thiết kế riêng Sheet, từ ta 10 nhóm hàm sau: Các hàm toán học: Abs(), Sqrt(), Sum(), Min(), Max(), Average(), Các hàm thời gian: Day(), Month(), Year(), Date(), Hàm Int() Hàm Mod(), Hàm Rank(), Hàm Round(), Hàm Left(), Hàm Right(), Hàm Mid(), Hàm If() (dùng kết hợp với hàm chuỗi), Hàm If() (dạng dãy số liên tục) 2.2 Xây dựng ứng dụng 2.2.1 Sheet [Hàm toán học] Ta viết thủ tục (Sub) để tạo số ngẫu nhiên mang giá trị âm, yêu cầu sinh viên viết công thức lấy giá trị tuyệt đối Đáp án câu =Abs(C3) nên ta dễ dàng xác định sinh viên viết hay sai Khi sinh viên viết đúng, icon mặt cười xuất hiện; sai, icon mặt khóc xuất (hình 1) Cũng sheet này, ta tạo số ngẫu nhiên mang giá trị dương, yêu cầu sinh viên viết cơng Hình Máy tính tự chấm viết cơng thức Hàm Abs Hình Máy tính tự chấm viết sai Hàm Sqrt Tại sheet này, ta dùng vòng lặp For để tạo dãy số từ 100 đến 1000 đại diện cho giá trị lương nhân viên, sinh viên viết hàm Sum, Min, Max, Average tương ứng Các câu có nhiều đáp án, ví dụ hàm Sum, sinh viên viết Sum(H4:H11), viết Sum(H4,H5,H6,H7,H8,H9,H10,H11) Sum(H4:H9,427,503) cho kết xác Theo giáo trình, đáp án hợp lệ cách làm tối ưu Sum(H4:H11), có phương án máy chấm cho sinh viên Mỗi hàm chấm sau sinh viên viết xong cơng thức Hình Các tình viết cơng thức 125 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Quốc Huy tgk Để ứng dụng sử dụng cho nhiều khóa học, yêu cầu sinh ngẫu nhiên ứng dụng Excel mở Để sinh viên luyện tập, có nút [Tạo mới] để xóa hết cơng thức sinh viên viết phát sinh yêu cầu tập cho sinh viên làm lại 2.2.2 Sheet [Hàm thời gian] Tại sheet này, ta viết thủ tục tạo ngẫu nhiên giá trị ngày tháng năm yêu cầu sinh viên viết hàm Day, Month, Year Date (hình 4) 2.2.3 Sheet [Hàm Int & Mod] Tại sheet này, để sinh viên thấy rõ tính thực tế hàm trên, ta phải thiết kế bảng chứa giá trị phù hợp, dịng liệu yêu cầu Hình Giao diện Sheet [Hàm thời gian] Hình Bảng liệu để tạo yêu cầu cho Hàm Int & Hàm Mod Khi sinh giá trị ngẫu nhiên “stt”, ta lấy giá trị tương ứng dòng điền vào yêu cầu sheet Đối với hàm này, để chấm kết quả, cần biết giá trị tham số (số bị chia), liệu cột “giá trị” điền vào yêu cầu sheet Đối với hàm này, để chấm kết quả, cần biết giá trị tham số (cách xếp), liệu cột “giá trị rank” Tại đây, yêu cầu sinh viên phải chép công thức xuống đầy đủ dịng bên dưới, nhằm mục đích kiểm tra việc vận dụng kỹ thuật Fill (điền liệu) sinh viên để nhấn mạnh đến thao tác cố định địa vùng ô chọn Do đó, sinh viên khơng chép xuống bên không cố định vùng chọn, máy chấm sai (hình 8) 2.2.5 Sheet [Hàm Round] Tại sheet này, có nhiều cách làm trịn khác nhau, ta thiết kế bảng chứa giá trị phù hợp, dịng liệu yêu cầu (hình 9) Tại sheet này, giảng viên muốn ôn lại khái niệm giá trị địa tuyệt đối viết cơng thức nên có cột “cột tham chiếu” “giá trị” Với cách làm trịn, có tham số tương ứng giá trị cột “cách làm trịn” Nếu sinh viên khơng chép cơng thức xuống dịng bên không sử dụng giá trị địa tuyệt đối, máy chấm sai (hình 10) Hình Giao diện đề chấm Sheet [Hàm Int & Hàm Mod] 2.2.4 Sheet [Hàm Rank] Tại sheet này, có loại xếp hạng (cao hạng thấp hạng nhất), ta thiết kế bảng chứa giá trị phù hợp, dòng liệu yêu cầu (hình 7) Khi sinh giá trị ngẫu nhiên “stt”, ta lấy giá trị tương ứng dịng 126 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Số 27, Tháng - 2021 Hình Bảng liệu để tạo yêu cầu cho Hàm Rank Hình Giao diện đề chấm Sheet [Hàm Rank] Hình Bảng liệu để tạo yêu cầu cho Hàm Round Hình 10 Giao diệ n đề chấ m củ a Sheet [Hàm Round] cách ngẫu nhiên, tương ứng với yêu cầu tính tốn đáp án xác tương ứng Điểm cần lưu ý, lấy ký tự bên trái ký tự bên phải, có đáp án hợp lệ Để sinh viên làm quen với yêu cầu đề bài, yêu cầu lấy chuỗi thay đổi ngẫu nhiên, lấy ký tự bên trái ký tự hay lấy ký tự bên phải lấy ký tự cuối 2.2.6 Sheet [Hàm Left], Sheet [Hàm Right] Sheet [Hàm Mid] Các sheet chất hàm xử lý chuỗi, sử dụng nhiều module nên tách để sinh viên thực hành nhiều lần Ta viết thủ tục để tạo danh sách chuỗi dùng công thức lấy ngẫu nhiên chuỗi danh sách vừa tạo, đồng thời tạo yêu cầu Hình 11 Giao diện đề chấm Sheet [Hàm Left], Sheet [Hàm Right], Sheet [Hàm Mid] 127 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Quốc Huy tgk Sẽ tương ứng với đề là: 2.2.7 Sheet [Hàm If] Tại sheet này, cần kiểm tra sinh viên khả vận dụng hàm chuỗi học, kết hợp với Hàm If lồng vào Để yêu cầu đề đa dạng, hàm chuỗi đa dạng, ta tạo bảng sau: Hình 14 Yêu cầu tạo từ liệu bảng Đối với câu If lồng nhau, lý thuyết sinh viên viết If trước được, để tham số [value_if_flase] cuối null, thực tế, giảng viên thường yêu cầu sinh viên viết trình tự đề bài, trường hợp If cuối không cần viết, lập trình đáp án, dựa tiêu chí này, sinh viên làm khác, bị coi làm sai Hình 12 Bảng để thiết kế Sheet [Hàm If] Trong đó, “ơ chứa u cầu” địa ô bắt đầu cho bảng, chứa thơng tin cho đề Ví dụ bảng sau: Hình 13 Bảng để tạo yêu cầu Hàm If Hình 15 Giao diện đề chấm Sheet [Hàm If] Sẽ tương ứng với đề là: 2.2.8 Sheet [Hàm If t.t] Tương tự Sheet [Hàm If], sheet cần thiết kế bảng sau: Hình 18 Yêu cầu tạo từ liệu bảng Đối với câu If này, yêu cầu câu If sheet trước, sinh viên phải tập cách đọc thật kỹ đề để phân biệt sử dụng phép so sánh > hay >=, < hay