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
35 trang |
Chia sẻ: huong.duong | Lượt xem: 1607 | Lượt tải: 4
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:
- P0035.doc