Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
A.Phần Mở Đầu
I. Lý do chọn đề tài
Ngày nay với sự chuyển hướng của ngành giáo dục đang chuyển dần từ
hình thức thi viết sang thi trắc nghiệm nhằm nâng cao khả năng học tập và kỹ năng
thực hành bộ môn cho học sinh có thể vận dụng những kiến thưc mình tiếp thu
được một cách linh hoạt và hiệu quả nhất.
Đề tài này giúp ích cho việc giảng dạy và học tập của giáo viên và học sinh
trường về kỹ năng, phương pháp học tập và giảng dạy theo hinh thức học tập
mới.Giúp cho học sinh vận dụng các kiến thức đã học theo nhiều cách tư duy
như:Phương án loại trừ,chọn phương án đúng nhất,………Giúp giáo viên có thể
đánh giá chính xác được năng lực và khả năng tiếp thu kiến thức củahọc sinh.
Với đề tài này giúp em có thể nắm vững hơn về kỹ năng lập trình cũng như
sử dụng các lênh xử lý chương trình được thành thục hơn để nâng cao khả năng của
bản thân về bộ môn Visual basic và khả năng vận dụng của nó trong từng trường
hợp, cụ thể như trong bài toán về quản lý trắc nghiệm mà em thực hiên.
II. Mục đích và nhiệm vụ nghiên cứu .
-Những định hướng đặt ra:
+Xác định nội dung môn học, phạm vi kiến thức như:câu hỏi, đáp án trả lời,
……..
+Khả năng tiếp thu, vận dụng của học sinh trong từng môn học.
+Những câu hỏi phải đi sát với chương trình học của học sinh.
+Quy chế thi cử, ra bài thi, chấm bài thi.
+Đưa ra câu hỏi và đáp án trả lời chính xác.
+Cấu trúc chương trình để xây dưng nên chương trình quản lý trăc nghiệm
này.
Nguyễn Thị Quý SBD 238
1
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
III. Đối tượng và phạm vi nghiên cứu.
1. Nghiên cứu gì?
án loại trừ,chọn phương án đúng nhất…….Giúp giáo viên có thể đánh giá chính xác
được năng lực và khả năng tiếp thu kiến thức của học sinh.
2.Lợi ích của đề tài đối với bản thân
-Nắm vững và thành thạo hơn về kiến thúc lập trình trong học tập và vận dụng
thực tế.
Xin chân thành cảm ơn thầy LÊ ĐỨC KHIÊM đã tận tình chỉ dạy, hướng dẫn
và các bạn đã giúp đỡ tôi hoàn thành chương trình này !
Nguyễn Thị Quý SBD 238
3
Toán Học
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
B.Phần nội dung
I. Biểu Đồ Phân Cấp Chức Năng.
Hinh 1: Bieu do phan cap chuc nang
II. Bieu do luong du lieu
Các biểu đồ luồng dữ liệu có tác động mô tả sự hoạt động của hệ thống
Chú thích
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.
Nguyễn Thị Quý SBD 238
4
Người dùng
file hướng dẫn
Văn học
frmhuongdan.Show
frmchinh.Hide
End Sub
Private Sub mnuly_Click()
frmvatly.Show
frmchinh.Hide
End Sub
Private Sub mnusu_Click()
frmlichsu.Show
frmchinh.Hide
End Sub
Private Sub mnuthoat_Click()
End
End Sub
Private Sub mnutinh_Click()
Dim a
a = Shell(" calc.exe", vbNormalFocus)
End Sub
Nguyễn Thị Quý SBD 238
6
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Private Sub mnutoan_Click()
Frmtoan.Show
frmchinh.Hide
End Sub
Private Sub mnuvan_Click()
frmvanhoc.Show
frmchinh.Hide
End Sub
Private Sub mnuve_Click()
8
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
End If
If optchon(2).Value Then
ketqua(lt) = "C"
End If
If optchon(3).Value Then
ketqua(lt) = "D"
End If
If lt > 1 Then
lt = lt - 1
Else
MsgBox ("Day la cau dau tien.")
Beep
End If
Lbl2(0).Caption = "C©u " & CStr(lt) & ":"
Lbl2(1).Caption = cau(cauhoi(lt), 1)
Lbl2(2).Caption = cau(cauhoi(lt), 2)
Lbl2(3).Caption = cau(cauhoi(lt), 3)
Lbl2(4).Caption = cau(cauhoi(lt), 4)
Lbl2(5).Caption = cau(cauhoi(lt), 5)
Select Case ketqua(lt)
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
Line Input #1, s
Nguyễn Thị Quý SBD 238
10
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
cau(cdr, i) = s
Next i
Loop
Close #1
Randomize
i = 1
Do While i <= 5
cauhoi(i) = 0
cc = Int(Rnd * socau) + 1
nd = 0
For j = 1 To i - 1
If cauhoi(j) = cc Then
nd = 1
End If
Next j
If nd <> 1 Then
cauhoi(i) = cc
ketqua(i) = ""
i = i + 1
End If
Loop
diem = 0
lt = 1
Lbl2(0).Caption = "C©u " & CStr(lt) & ":"
Lbl2(1).Caption = cau(cauhoi(lt), 1)
Lbl2(2).Caption = cau(cauhoi(lt), 2)
End If
End Sub
Nguyễn Thị Quý SBD 238
12
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Private Sub Timer2_Timer()
Dim x As String
Dim y As String
x = Left(Label1.Caption, 1)
y = Right(Label1.Caption, Len(Label1.Caption) - 1)
Label1.Caption = y + x
End Sub
Màn hình Form FrmVậtlý
Code Form FrmVậtlý
Nguyễn Thị Quý SBD 238
13
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Option Explicit
Option Base 1
Dim cau(15, 6) As String
Dim cauhoi(5) As Byte
Dim ketqua(10) As String * 1
Dim tn, nd
Dim s As String
Dim i, j, dem As Integer
Dim lt, cc, diem, socau As Integer
Dim ten
Private Sub cmdkq_Click()
For i = 1 To 5
If ketqua(i) = UCase(cau(cauhoi(i), 6)) Then
ketqua(lt) = "D"
End If
If (optchon(0).Value = False) And (optchon(1).Value = False) And
(optchon(2).Value = False) And (optchon(3).Value = False) Then
MsgBox ("Ban chua chon cau tra loi")
Beep
End If
If lt < 5 Then
lt = lt + 1
Else
MsgBox ("Day la cau cuoi cung.")
Beep
End If
Lbl2(0).Caption = "C©u " & CStr(lt) & ":"
Nguyễn Thị Quý SBD 238
15
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Lbl2(1).Caption = cau(cauhoi(lt), 1)
Lbl2(2).Caption = cau(cauhoi(lt), 2)
Lbl2(3).Caption = cau(cauhoi(lt), 3)
Lbl2(4).Caption = cau(cauhoi(lt), 4)
Lbl2(5).Caption = cau(cauhoi(lt), 5)
Select Case ketqua(lt)
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
Lbl2(4).Caption = cau(cauhoi(lt), 4)
Lbl2(5).Caption = cau(cauhoi(lt), 5)
Select Case ketqua(lt)
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 tn = 1 Then
Nguyễn Thị Quý SBD 238
17
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
frmchinh.Show
Unload Me
End If
ten = InputBox("Nhap ten cua ban :", "THONG BAO ")
End Sub
Private Sub Form_Load()
Dim cdr As Integer
socau = 15
tn = 0
dem = 0
If Dir(App.Path & "\csdl\vatly.txt") = "" Then
If nd <> 1 Then
cauhoi(i) = cc
ketqua(i) = ""
i = i + 1
End If
Loop
diem = 0
lt = 1
Lbl2(0).Caption = "C©u " & CStr(lt) & ":"
Lbl2(1).Caption = cau(cauhoi(lt), 1)
Lbl2(2).Caption = cau(cauhoi(lt), 2)
Lbl2(3).Caption = cau(cauhoi(lt), 3)
Lbl2(4).Caption = cau(cauhoi(lt), 4)
Lbl2(5).Caption = cau(cauhoi(lt), 5)
Select Case ketqua(lt)
Case "A": optchon(0).Value = True
Case "B": optchon(1).Value = True
Case "C": optchon(2).Value = True
Case "D": optchon(3).Value = True
Nguyễn Thị Quý SBD 238
19
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Case Else
optchon(0).Value = False
optchon(1).Value = False
optchon(2).Value = False
optchon(3).Value = False
End Select
End Sub
Private Sub Optchon_Click(Index As Integer)
21
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Dim ketqua(10) As String * 1
Dim tn, nd
Dim s As String
Dim i, j, dem As Integer
Dim lt, cc, diem, socau As Integer
Dim ten
Private Sub cmdkq_Click()
For i = 1 To 5
If ketqua(i) = UCase(cau(cauhoi(i), 6)) Then
diem = diem + 2
End If
Next i
Open App.Path & "\ket qua\ketqua" & CStr(Hour(Time)) &
CStr(Minute(Time)) & ".txt" For Output As 2
Print #2, ten
Print #2, "So diem cua ban la: " & CStr(diem)
Print #2, CStr(Hour(Time)) & ":" & CStr(Minute(Time)) & ":" &
CStr(Second(Time))
Print #2, CStr(Date)
Close #2
MsgBox "So diem cua ban la:" & CStr(diem) & Chr(13) & Chr(10) & "Nhan
OK de ket thuc."
frmchinh.Show
Unload Me
End Sub
Private Sub cmdtiep_Click()
Nguyễn Thị Quý SBD 238
22
Nguyễn Thị Quý SBD 238
23
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Select Case ketqua(lt)
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 cmdlai_Click()
If optchon(0).Value Then
ketqua(lt) = "A"
End If
If optchon(1).Value Then
ketqua(lt) = "B"
End If
If optchon(2).Value Then
ketqua(lt) = "C"
End If
If optchon(3).Value Then
ketqua(lt) = "D"
End If
If lt > 1 Then
lt = lt - 1
ten = InputBox("Nhap ten cua ban :", "THONG BAO ")
End Sub
Nguyễn Thị Quý SBD 238
25