Thiết kế chương trình trắc nghiệm kiến thức THPT

Lời giới Thiệu .1

 A.Phần mở đầu .1

 I.Lý do chọn đề tài .2

 II.Mục đích chọn đề tài .3

 1.Định hướng đặt ra .3

 2.Nhiệm vụ cụ thể cân tiến hành .4

 III.Đối tượng và pham vi nghien cứ .4

 IV.Phương pháp nghiên cứu .4

 V.Đóng góp của đề tài .5

 B.Phần nội dung .5

 I.Chương I Giới thiệ chung .5

 I . Biểu đồ phân cấp chức năng: .5

II. Biểu đồ luồng dữ liệu: 6

1. Biểu đồ luồng dữ liệu mức khung cảnh: .7

2. Biểu đồ luồng dữ liệu dưới mức đỉnh: .8

3. Xây dựng mô hình thực thể liên kết: 9

 Chưong II: Thiết kế chưong trình : .10

1. Hệ Thông menu .11

2. Hoạt độn của chương trình .12

 3.Modules của chương trình 13

 II. Các Form và các lệnh của chương trình : 14

 C: Kết luận chương trình: 32

 Tài liệu tham khảo: .33

 Mục Lục 34

 

 

 

 

 

 

 

 

doc35 trang | Chia sẻ: huong.duong | Lượt xem: 1488 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Thiết kế chương trình trắc nghiệm kiến thức THPT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ổ thông tìm hiểu thực tế, hứng thú, khả năng tu duy của học sinh THPT. Nghiên cứu tài liệu liên quan, nghiên cứu ¸sách báo, lý luận có liên quan đến tài. V. Đóng góp của đề tài Trong giờ hoc số đông phương pháp trắc nghiệm táo hứng thú cho hoc sinh và thu được hiệu quả cao trong quá trình dạy học. Phương pháp trắc nghiệm số đông trong dạy học có tính khả thi cao. Qua điều tra và ứng dụng vào thực tế só đông phương pháp này vào giờ hoc nhằm phân loại được học sinh nắm bắt được trình độ kiến thức, trình độ nhận thức của tổng loại học sinh từ đó đề ra phương pháp dạy và hoc tốt nhất. Ứng dụng phương pháp trắc nghiệm vào dạy học giúp quá trình dạy học B. Phần nội dung Chương I:phân tích thiết kế hệ thống I/Biểu đồ phân cấp chức năng: Kiểm Tra hoá Hoá Kiểm Tra lý Lý KểmTraToán Toán Khoa Tự Nhiên Khoa Xã Hội Englishh Văn Hoc Lịch Sử Địa Game Giải Trí HướngDẫn Ca Nhạc KểmTra văn văVăn Kiểm Tra Địa KểmTra sử Kiểm Tra Tin KểmTra Elgish Tin Học QUẢN LÝ TRẮC NGHIỆM Thoát Hình 1 : biểu đồ phân cấp chức năng của chương trình II. Biểu đồ luồng dữ liệu. Các biểu đồ luồng dữ liệu có tác dụng mô tả sự hoạt động của hệ thống quản lý. Chú thích: Tác nhân ngoài: là một người,hay nhóm ngưòi có trao đổi thông tin với hệ thống. Chức năng xử lý làm biến đổi thông tin. Luồng dữ liệu vào hay ra của hệ thống Nơi lưu trữ thông tin cần cho hệ thống. 1. Biểu đồ luồng dữ liệu mức khung cảnh. Thể hiện chức năng tổng thể, các luồng thông tin vào, mối quan hệ của hệ thống với tác nhân ngoài. ban giám hiệu Hoc sinh giáo viên Quản lý trắc nghiệm Hình 2. Biểu đồ luồng dữ liệu mức khung cảnh Ban giám hiệu Học Sinh Giáo viên Đáp án Kết quả trắc nghiệm Số học sinh trác nghiệm phản hồi từ học sinh Kiểm tra trình độ Hình 3: Biểu đồ luồng dữ liệu mức đỉnh của hệ thống 2.Luồng dữ liệu mức dưới đỉnh a.Chức năng “Trắc nghiệm ở khoa Tự Nhiên”: gồm các chức năng con Toán,lý Hoá,Sinh TOÁN Ban giám hiệu VẬT LÝ HOÁ HỌC SINH HỌC Học sinh D/S HS KQ D/S HS KQ DS HS DS HS Hình 4. Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng "Trắc nghiệm khoa tự nhiên" VĂN HỌC Ban giám hiệu LỊCH SỬ ĐỊA LÝ Học sinh D/S HS KQ D/S HS KQ DS HS Hình 5. Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng "Trắc nghiệm khoa xã hội" 1. Hệ thống menu Menu chính của chương trình gồm có các mục sau: I. Khoa học tự nhiên Phần này là các bài trắc nghiệm về các môn khoa học tự nhiên: toán, lý, hóa, sinh: + FrmToan.frm + FrmLy.frm + FrmHoa.frm + FrmSinh.frm II. Khoa học xã hội Phần này là các bài trắc nghiệm về các môn khoa học xã hội như: văn học, lịch sử, địa lý + Frmvan.frm + Frmsu.frm + Frmdia.frm III. Giải trí Phần giải trí gồm hai phần: 1. FrmCa nhạc.frm Bạn có thể chọn nghe theo theo bài hát mà bạn yeu thích. 2. FrmGame.frm Để thư giãn đầu óc, đỡ căng thăng bạn có thể vào mục game và chọn lọa trò chơi mà bạn yêu thích. IV. Hướng dẫn sử dựng Phần này có hai mục: 1. FrmGioithieu: Giới thiệu chương trình Phần này giới thiệu và chương trình trắc nghiệm. 2. Frmhoatdong: Hướng dẫn sứ dụng Phần này hướng dẫn sử dụng, hoạt động của chương trình. V. Thoát Thoát khỏi chương trình. 2. Hoạt động của chương trình. 2.1. Form chính:frmmain.frm. Bên phải của form là phần giới thiệu về chương trình trắc nghiệm, bên trái là phần giới thiệu về các form trong chương trình, bạn Click chuột vào mục nào thì mục đó đỏi màu và xuất hiện dòng giới thiệu vÒ mục đó ở bên dưới. Bạn có thể truy cập nhanh vào các form bằng cách nhấn chuột phải vào form chính để vào bài trắc nghiệm của môn nào đó. 2.2. Form trắc nghiệm Đối với mỗi bài trắc nghiệm của mỗi môn bận sẽ có tùy chọn là 5 câu hay 10 câu trắc nghiệm và trong khoảng thời gian là 2 phút hay 5 phút theo lựa chọn. Khi Click vào một môn sẽ có 1 form làm trắc nghiệm hiện ra. Chẳng hạn khi bạn Click vào form “Văn “ form hiển thị với các chức năng sau. + Command cău tiếp: bạn nhấn vào đây để đến câu hỏi kế tiếp. + Command câu trước: bạn nhấn vào đây để xem hoặc trả lời câu hỏi trước. + Command kết quả: bạn click vào mục này thì một hộp thoại xuất hiện yêu cầu bạn nhập tên của mình vào, tiếp đó mét hộp thoại hiện ra cho biết kết quả điểm bài trắc nghiệm của bạn,bạn nhấn OK một hộp thoại khác hiện ra hỏi bạn có muốn ghi tên vào danh sách những người đã làm bài trắc nghiệm không, bạn chọn có thì tên bạn sẽ được ghi trong khung danh sách bên cạnh. + Command đáp án: bạn nhấn vào đây để xem đáp án bài trắc nghiệm của bạn để kiểm tra xem mình lám đúng hay sai. + Command xóa danh sách: bạn nhấn vào đây để xóa khái danh sách những người đã làm bài trắc nghiệm. + Command thêm: bạn có thể thêm những câu hỏi để chương trình thêm phong phú khi bạn nhấn vào nút này. + Command thoát: bạn nhấn vào đây để kết thúc bài trắc nghiệm để trở về chương trình chính, bạn có thể làm tiếp bài trắc nghiệm các môn khác. Chương II: Nội dung chính 1. Tập tin văn bản *.Txt Các câu hỏi trắc nghiệm được soạn sẵn trong một tập tin văn bản (ví dụ như­: Toan.txt, Vatly.txt...). Mọi câu trăc nghiệm chiếm 6 dòng trong tập tin (1 câu hỏi, 4 cách lựa chọn và một đáp án ). Số đông chương trình Notepad trong Windows hay bất kỳ một trình soạn thảo văn bản nào khác để tạo tập tin *.Txt(ví dụ như: Toan.txt, Hoa.txt....) lưu danh sách câu trắc nghiệm với nội dung như sau, với tệp Toan.txt: Giao điểm của 3 đường cao là: A. Trọng tâm B. Trực tâm C. Tâm đường tròn ngoại tiếp D. Tâm đường tròn nội tiếp B Số 2340 A. Chỉ chia hết cho 2 B. Chỉ chia hết cho 2 và 5 C. Chia hết cho 2,3,5 D. Chia hết cho 2,3,5,9 D Từ các số 2,4,6,8 có thể lập được bao nhiêu số gồm 4 chữ số A. 256 B. 24 C. 64 D.Một số khác A 2. Module của chương trình: Mymodule Public totals, counts As Integer 'khai bao bien toan cuc Public question(20) As Byte 'Mang luu so hieu cac cau da ra Public sentence(20, 6) As String 'Mang chua noi dung 20 cau trac nghiem Public orderno, curnum, grade, sumsent As Integer Public Dialy(20, 6) As String Public English(20, 6) As String Public Hoa(20, 6) As String Public Lichsu(20, 6) As String Public Vatli(20, 6) As String Public Vanhoc(20, 6) As String Public Toan(20, 6) As String Public Sinhhoc(20, 6) As String Public Tinhoc(20, 6) As String 3. Form chính: Frmmain.frm 3.1. Thiết kế + Thiết kế menu: Chọn lệnh Tools Ê Menu Editor +Thiết kế Statusbar: Chọn lệnh Project Ê components. Nhập trang Controls, đánh dấu chọn Microsoft Windows Common Controls 6.0 để thêm điều khiển Status bar vào Toolbox. + PictureBox + Lable: ghi các nhãn giới thiệu + Frame + Textbo. 3.2. Code lệnh của Form này: Private Sub cau_Click(Index As Integer) Select Case Index Case 0: totals = 5 ‘ cau(0).Checked = True cau(1).Checked = False Case 1: totals = 10 ‘ cau(0).Checked = False cau(1).Checked = True End Select End Sub Private Sub cau1_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau1(0).Checked = True cau1(1).Checked = False Case 1: totals = 10 cau1(0).Checked = False cau1(1).Checked = True End Select End Sub Private Sub cau2_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau2(0).Checked = True cau2(1).Checked = False Case 1: totals = 10 cau2(0).Checked = False cau2(1).Checked = True End Select End Sub Private Sub cau3_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau3(0).Checked = True cau3(1).Checked = False Case 1: totals = 10 cau3(0).Checked = False cau3(1).Checked = True End Select End Sub Private Sub cau4_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau4(0).Checked = True cau4(1).Checked = False Case 1: totals = 10 cau4(0).Checked = False cau4(1).Checked = True End Select End Sub Private Sub cau5_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau5(0).Checked = True cau5(1).Checked = False Case 1: totals = 10 cau5(0).Checked = False cau5(1).Checked = True End Select End Sub Private Sub cau6_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau6(0).Checked = True cau6(1).Checked = False Case 1: totals = 10 cau6(0).Checked = False cau6(1).Checked = True End Select End Sub Private Sub cau7_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau7(0).Checked = True cau7(1).Checked = False Case 1: totals = 10 cau7(0).Checked = False cau7(1).Checked = True End Select End Sub Private Sub cau8_Click(Index As Integer) Select Case Index Case 0: totals = 5 cau8(0).Checked = True cau8(1).Checked = False Case 1: totals = 10 cau8(0).Checked = False cau8(1).Checked = True End Select End Sub Private Sub F_Click(Index As Integer) Select Case Index Case 0: Frmtoan.Show ‘ Case 1: Frmly.Show ’ Case 2: Frmhoa.Show Case 3: frmsinh.Show Case 4: Frmvan.Show Case 5: Frmsu.Show Case 6: Frmdia.Show Case 7: Frmtin.Show Case 8: Frmenglish.Show ’ End Select Frmmain.Hide End Sub Private Sub Form_Load() Timer1.Interval = 100 Label1.Caption = " Chào mừng các bạn đến với chương trình trắc nghiệm kiến thức THPT. " _ & "Chương trình được thực hiện dưới sự hướng dẫn của Thầy giáo Lê Đức Khiêm " _ & "và sinh viên Nguyễn Thị Xuyến_Lớp Tin 27A." _ & "Chương trình còn chưa thựt sự đầy đủ rất mong được sự góp ý của thầy cô và các bạn " _ & "Để chương trinh hoạt thiên hơn. Xin chân thành cảm ơn !!!. " _ & "Mọi sự góp ý xin gửi về: Nguyễn Thị Xuyến_Lớp Tin 27A hoặc " _ & "Sao_choi_x @gmail.com" Close 2 totals = 10 'tong so cau trong bai trac nghiem counts = 5 'So thoi gian lam bai toi da (phut) End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'nut trai chuot If Button = 2 Then 'popup menu PopupMenu fastmenu End If End Sub Private Sub ktdia_Click() Frmdia.Show ’ Hiện form địa End Sub Private Sub ktenglish_Click() Frmenglish.Show ’ Hiện form english End Sub Private Sub kthoa_Click() Frmhoa.Show ’ Hiện form hoá End Sub Private Sub ktly_Click() Frmly.Show ’ Hiện form lý End Sub Private Sub ktsinh_Click() frmsinh.Show ’ Hiện form sinh End Sub Private Sub ktsu_Click() Frmsu.Show ’ Hiện form sử End Sub Private Sub kttin_Click() Frmtin.Show ’ Hiện form tin End Sub Private Sub kttoan_Click() Frmtoan.Show ’ Hiện form toán End Sub Private Sub ktvan_Click() Frmvan.Show ’ Hiện form văn End Sub Private Sub lbl2_Click(Index As Integer) Dim xh As String xh = Chr(13) & Chr(10) On Error Resume Next 'phan biet index cua lable de thuc thi chuc nang tuong ung Select Case Index Case 0: txt1.Text = " Đây là phần giới thiệu các form trắc nghiệm trong chương trinh" Case 1: txt1.Text = " Phần này là các form trăc nghiệm kiến thức về các môn Toán, Lý, Hoa, Sinh ở trong trường THPT" Case 2: txt1.Text = " Phần này là các form trác nghiệm kiến thức về các môn Văn, Sử Địa ở trường THPT" Case 3: txt1.Text = " Đây là form trắc nghiệm về kiến thức môn Tin ở trường THPT" Case 4: txt1.Text = " Đây là form trắc nghiệm kiến thức môn Tiếng Anh ở trường THPT " Case 5: txt1.Text = " Form này là form Giải trí, bạn có thể nghe nhạc hoặc chơi game " Case 6: txt1.Text = " Đây là form giới thiệu và hướng dẫn sử dụng chương trình " End Select 'doi mau lable dang chon Dim i% For i = 0 To 6 lbl2(i).ForeColor = &HFF0000 Next i lbl2(Index).ForeColor = &HFF& End Sub Private Sub lbl2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Dim i% On Error Resume Next For i = 0 To 6 lbl2(i).FontUnderline = False Next i lbl2(i).FontUnderline = True End Sub Private Sub mnubietkhuc_Click() Dim g g = Shell("Bietkhucchonhau.exe", vbNormalFocus) ’Hiện ca nhạc End Sub Private Sub mnuchiecnon_Click() Dim g g = Shell("Chiec non ky dieu.exe", vbNormalFocus) End Sub Private Sub mnuchinhphuc_Click() Dim g g = Shell("Chinh phuc ai tinh.exe", vbNormalFocus) End Sub Private Sub mnudoicanh_Click() Dim g g = Shell("wings_of_love.exe", vbNormalFocus) End Sub Private Sub mnuexit_Click() If MsgBox("Ban co muon thoat khong?", vbOKCancel, "Thong bao") = vbOK Then Unload Me End If End Sub Private Sub mnumaytinh_Click() Dim g g = Shell("May tinh tinh yeu.exe", vbNormalFocus) End Sub Private Sub mnunhoem_Click() Dim g g = Shell("nhoem.exe", vbNormalFocus) End Sub Private Sub mnuonlylove_Click() Dim g g = Shell("only love.exe", vbNormalFocus) End Sub Private Sub mnuhoatdong_Click() frmhoatdong.Show ’ Hiện form hoạt động End Sub Private Sub mnunhac_Click() frmcanhac.Show ‘Hiện form ca nhạc End Sub Private Sub phut_Click(Index As Integer) Select Case Index Case o: counts = 2 ’ Thêi gian làm bài la 2 phút phut(0).Checked = True ’ Bật dấu chọn trước tùy chọn 2 phút phut(1).Checked = False ’ Tăt dấu chọn trước tùy chọn 5 phút Case 1: counts = 5 ’ Thời gian làm bài là 5 phút phut(0).Checked = False ’ Tắt dấu chọn trước tùy chọn 2 phút phut(1).Checked = True ’ Bật dấu chọn trước tùy chọn 5 phút End Select End Sub Private Sub phut1_Click(Index As Integer) Select Case Index Case o: counts = 2 phut1(0).Checked = True phut1(1).Checked = False Case 1: counts = 5 phut1(0).Checked = False phut1(1).Checked = True End Select End Sub Private Sub phut2_Click(Index As Integer) Select Case Index Case o: counts = 2 phut2(0).Checked = True phut2(1).Checked = False Case 1: counts = 5 phut2(0).Checked = False phut2(1).Checked = True End Select End Sub Private Sub phut3_Click(Index As Integer) Select Case Index Case o: counts = 2 phut3(0).Checked = True phut3(1).Checked = False Case 1: counts = 5 phut3(0).Checked = False phut3(1).Checked = True End Select End Sub Private Sub phut4_Click(Index As Integer) Select Case Index Case o: counts = 2 phut4(0).Checked = True phut4(1).Checked = False Case 1: counts = 5 phut4(0).Checked = False phut4(1).Checked = True End Select End Sub Private Sub phut5_Click(Index As Integer) Select Case Index Case o: counts = 2 phut5(0).Checked = True phut5(1).Checked = False Case 1: counts = 5 phut5(0).Checked = False phut5(1).Checked = True End Select End Sub Private Sub phut6_Click(Index As Integer) Select Case Index Case o: counts = 2 phut6(0).Checked = True phut6(1).Checked = False Case 1: counts = 5 phut6(0).Checked = False phut6(1).Checked = True End Select End Sub Private Sub phut7_Click(Index As Integer) Select Case Index Case o: counts = 2 phut7(0).Checked = True phut7(1).Checked = False Case 1: counts = 5 phut7(0).Checked = False phut7(1).Checked = True End Select End Sub Private Sub phut8_Click(Index As Integer) Select Case Index Case o: counts = 2 phut8(0).Checked = True phut8(1).Checked = False Case 1: counts = 5 phut8(0).Checked = False phut8(1).Checked = True End Select End Sub ’ Dßng ch÷ ch¹y Private Sub Timer1_Timer() Static n As Integer Label1.Top = Label1.Height - n n = n + 11 If n > Label1.Height + 100 Then n = 0 End If End Sub ‘Dßng ch÷ ch¹y Private Sub Timer2_Timer() Dim X, Y, ch As String ch = lbl1.Caption Y = Left(ch, 1) X = Right(ch, Len(ch) - 1) lbl1.Caption = X + Y End Sub 4.Form trắc nghiệm: form Văn frmvan.frm 4.1. Thiết kế + Frame: Nhóm các đối tượng có cùng thuộc tính + Option button: Tích câu trả lời đúng + Command: nứt lệnh + Lable: Ghi tựa đề, hiện câu hỏi và câu trả lời + Listbox: hiện danh sách những người đã làm bài trắc nghiệm 4.2. Code lệnh của form : Option Base 1 'chi so mang bat dau tinh tu 1, thay vi tu 0 Dim result(10) As String * 1 'Mang luu ket qua lam bai Dim ntest, nduplicate Dim s As String Dim i, j, ncount As Integer Dim nameofper Dim LUU, kq Dim ghi As Integer Private Sub cmddapan_Click() frmdapantoan.Show End Sub Private Sub cmdds_Click() Open App.Path & "\KetquaToan.txt" For Output As 2 'xoa noi dung tep tin ketquaenglish Close 2 'dong tep List1.Clear 'xoa danh sach can luu trong list1 'neu khong thi khi an cmdxoa no se xoa trong tap tin ma van con danh sach hien ra trong list End Sub Private Sub cmdketqua_Click() nameofper = InputBox("Nhap ten cua ban:", "Thong bao") For i = 1 To totals 'Cong diem cac cau trac nghiem If result(i) = UCase(Toan(question(i), 6)) Then 'Neu tra loi dung grade = grade + (10 / totals) End If Next i MsgBox "Diem so ban dat duoc :" & CStr(grade) & Chr(13) & Chr(10) & "Nhan OK de ket thuc." 'mo hop thoai hoi xem co muon ghi vao khong ghi = MsgBox("Ban co muon ghi ten minh vao danh sach khong?", vbYesNo, "Luu ten ") Select Case ghi Case vbYes: Open App.Path & "\KetquaToan.txt" For Append As 2 'Luu ten nguoi lam va ket qua lam bai, thoi gian lam bai LUU = nameofper & " §iÓm ®¹t ®­îc:" & CStr(grade) & ", " & CStr(Hour(Time)) & ":" & CStr(Minute(Time)) & ":" & CStr(Second(Time)) & "," & Space(1) & CStr(Date) Print #2, LUU List1.AddItem LUU Close #2 Case vbNo: End Select End Sub Private Sub cmdquaylai_Click() If optchon(0).Value Then 'Neu option button dau tien duoc chon result(orderno) = "A" 'Luu ket qua tra loi cua cau trac nghiem nay la A End If If optchon(1).Value Then 'Neu option button thu hai duoc chon result(orderno) = "B" 'Luu ket qua tra loi cua cau trac nghiem nay la B End If If optchon(2).Value Then result(orderno) = "C" End If If optchon(3).Value Then result(orderno) = "D" End If If orderno > 1 Then orderno = orderno - 1 'Tro ve cau trac nghiem truoc do End If lbl1(0).Caption = "C©u" & CStr(orderno) & ":" lbl1(1).Caption = Toan(question(orderno), 1) lbl1(2).Caption = Toan(question(orderno), 2) lbl1(3).Caption = Toan(question(orderno), 3) lbl1(4).Caption = Toan(question(orderno), 4) lbl1(5).Caption = Toan(question(orderno), 5) Select Case result(orderno) Case "A": optchon(0).Value = True Case "B": optchon(1).Value = True Case "C": optchon(2).Value = True Case "D": optchon(3).Value = True Case Else: optchon(0).Value = False optchon(1).Value = False optchon(2).Value = False optchon(3).Value = False End Select End Sub Private Sub cmdthem_Click() frmthemtoan.Show End Sub Private Sub cmdthoat_Click() If MsgBox("Ban co muon thoat khong?", vbOKCancel, "Thong bao") = vbOK Then Unload Me End If End Sub Private Sub cmdtiep_Click() If optchon(0).Value Then result(orderno) = "A" End If If optchon(1).Value Then result(orderno) = "B" End If If optchon(2).Value Then result(orderno) = "C" End If If optchon(3).Value Then result(orderno) = "D" End If If orderno < totals Then orderno = orderno + 1 End If lbl1(0).Caption = "C©u" & CStr(orderno) & ":" lbl1(1).Caption = Toan(question(orderno), 1) lbl1(2).Caption = Toan(question(orderno), 2) lbl1(3).Caption = Toan(question(orderno), 3) lbl1(4).Caption = Toan(question(orderno), 4) lbl1(5).Caption = Toan(question(orderno), 5) Select Case result(orderno) Case "A": optchon(0).Value = True Case "B": optchon(1).Value = True Case "C": optchon(2).Value = True Case "D": optchon(3).Value = True Case Else: optchon(0).Value = False optchon(1).Value = False optchon(2).Value = False optchon(3).Value = False End Select End Sub Private Sub Form_Activate() If ntest = 1 Then 'Neu thoat form lam trac nghiem Frmmain.Show Unload Me End If End Sub Private Sub Form_Load() Open App.Path & "\KetquaToan.txt" For Input As 2 Do Until EOF(2) Line Input #2, LUU List1.AddItem LUU Loop Close 2 Dim nsent As Integer sumsent = 20 'So cau trac nghiem co the luu trong mang ntest = 0 ncount = 0 If Dir(App.Path & "\Toan.txt") = "" Then 'Neu tap tin luu cau hoi khong ton tai nsent = MsgBox("file Toan.txt is not exist", vbExclamation + vbOKOnly, "warning") ntest = 1 Exit Sub 'Ket thuc thu tuc End If Open App.Path & "\Toan.txt" For Input As #1 'Mo tap tin de doc nsent = 0 'Bien dem so cau da doc Do Until EOF(1) 'Neu chua het tap tin nsent = nsent + 1 'Doc cau ke tiep If nsent > sumsent Then 'Neu da du so cau quy dinh Exit Do End If For i = 1 To 6 'Moi cau trac nghiem gom 6 thanh phan Line Input #1, s 'Vi the can doc 6 dong va luu vao mang Toan(nsent, i) = s Next i Loop Close #1 'Khoi dong che do chon so ngau nhien Randomize i = 1 Do While i <= totals 'Vong lap xac dinh thu tu hien thi cac cau trac nghiem question(i) = 0 curnum = Int(Rnd * sumsent) + 1 'Chon ngau nhien mot cau trac nghiem nduplicate = 0 For j = 1 To i - 1 'Kiem tra trung If question(j) = curnum Then 'Neu cau trac nghiem da ra nduplicate = 1 End If Next j If nduplicate 1 Then 'Neu cau trac nghiem chua ra question(i) = curnum 'Luu lai thu tu cau trac nghiem da ra result(i) = "" 'Cau trac nghiem moi thi chua co ket qua tra loi i = i + 1 'Xac dinh cau ke tiep End If Loop 'Hien thi noi dung cau trac nghiem duoc chon ngau nhien ra form grade = 0 orderno = 1 lbl1(0).Caption = "C©u" & CStr(orderno) & ":" lbl1(1).Caption = Toan(question(orderno), 1) lbl1(2).Caption = Toan(question(orderno), 2) lbl1(3).Caption = Toan(question(orderno), 3) lbl1(4).Caption = Toan(question(orderno), 4) lbl1(5).Caption = Toan(question(orderno), 5) Select Case result(orderno) 'Kiem tra ket qua tra loi Case "A": optchon(0).Value = True 'De dat trang thai cho option button tuong ung Case "B": optchon(1).Value = True Case "C": optchon(2).Value = True Case "D": optchon(3).Value = True Case Else: 'Neu chua co ket qua tra loi thi optchon(0).Value = False 'Khong co option button nao duoc chon optchon(1).Value = False optchon(2).Value = False optchon(3).Value = False End Select End Sub Private Sub Timer1_Timer() Dim X, Y, ch As String ch = Frmtoan.Caption Y = Left(ch, 1) X = Right(ch, Len(ch) - 1) Frmtoan.Caption = X + Y End Sub Private Sub Timer6_Timer() ncount = ncount + 1 If ncount >= counts Then Call cmdketqua_Click End If End Sub Private Sub Timer7_Timer() txtgio.Text = Format(Now, "long time") ’HiÓn thÞ thêi gian hiÖn hµnh End Sub 5. Form trắc nghiệm Lý: Frmly.frm 5.1. Thiết Kế Thiết kế Toolbar: Chọn lệnh Project Ê Components. Nhấp trang Controls, đánh dấu chọn Microsoft Windows Common Control 6.0 để thêm các điều khiển Toolbar, ImageList và Status bar vào Toolbox. + Menu Editor: Tạo menu + Toolbar: Tạo thanh công cụ truy cập nhanh + Frame: Khung câu hỏi, trả lời + Option button: Chọn đáp án + Command: Tạ nú lênh + Listbox: Ghi danh sách những người tham gia tham gia trắc nghiệm + Lable: Nhãn ghi câu hỏi và câu trả lời 5.2. Code lệnh 'khi nhap 1 nut (bieu tuong ) trong toolbar Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key ' xac dinh nut duoc nhan Case "mnucautiep": Call MNUCAUTIEP_Click Case "mnucautruoc": Call MNUCAUTRUOC_Click Case "mnuketqua": Call MNUKETQUA_Click Case "mnudapan": Call MNUDAPAN_Click Case "mnuthoat": Call MNUTHOAT_Click End Select End Sub 6. Form đap án: FrmdapanEnglish.frm 6.1. Thiết kế + Lable: ghi câu hỏi và câu trả lời + Checkbox: Tích vào câu trả lời đúng + Command: Tạo nút lệnh 6.2. Code lệnh Private Sub cmdquaylai_Click() Dim i As Byte Check1(2).Value = 0 Check1(3).Value = 0 Check1(4).Value = 0 Check1(5).Value = 0 If orderno > 1 Then orderno = orderno - 1 ' tro ve cau trac nghiem truoc End If lbl1(0).Caption = "C©u" & CStr(orderno) & ":" lbl1(1).Caption = Toan(question(orderno), 1) lbl1(2).Caption = Toan(question(orderno), 2) lbl1(3).Caption = Toan(question(orderno), 3) lbl1(4).Caption = Toan(question(orderno), 4) lbl1(5).Caption = Toan(question(orderno), 5) For i = 2 To 5 If UCase(Trim(Toan(orderno, 6))) = Left(UCase(Trim(lbl1(i).Caption)), 1) Then 'danh dau vao dap an dung Check1(i).Value = 1 End If Next i End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdtiep_Click() Dim i As Byte Check1(2).Value = 0 Check1(3).Value = 0 Check1(4).Value = 0 Check1(5).Value = 0 If orderno < totals Then orderno = orderno + 1 ' tro ve cau dap an truoc End If lbl1(0).Caption = "C©u" & CStr(orderno) & ":" lbl1(1).Caption = Toan(question(orderno), 1) lbl1(2).Caption = Toan(question(orderno), 2) lbl1(3).Caption = Toan(question(orderno), 3) lbl1(4).Caption = Toan(question(orderno), 4) lbl1(5).Caption = Toan(question(orderno), 5) For i = 2 To 5 If UCase(Trim(Toan(orderno, 6))) = Left(UCase(Trim(lbl1(i).Caption)), 1) Then Check1(i).Value = 1 End If Next i End Sub Private Sub Form_Load() Dim i As Byte Dim nsent As Integer lbl1(0).Caption = "C©u" & CStr(orderno) & ":" lbl1(1).Caption = Toan(question(orderno), 1) lbl1(2).Caption = Toan(question(orderno), 2) lbl1(3).Caption = Toan(question(orderno), 3) lbl1(4).Caption = Toan(question(orderno), 4) lbl1(5).Caption = Toan(question(orderno), 5) For i = 2 To 5 If UCase(Trim(Toan(orderno, 6))) = Left(UCase(Trim(lbl1(i).Caption)), 1) Then Check1(i).Value = 1 End If Next i End Sub 7. Form thêm câu hỏi : Frmthemtoan.frm 7.1. Thiết kế + Textbox: Nhập câu hỏi và câu trả lời + Option button: Đánh dấu câu trả lời đúng + Command : Nút lệnh 7.2. Code lệnh của form thêm: Option Explicit Dim XD Dim LUU, TG As String Dim CAUHOI As S

Các file đính kèm theo tài liệu này:

  • docP0035.doc
Tài liệu liên quan