Tải bản đầy đủ (.doc) (53 trang)

bài toán về quản lý trắc nghiệm.DOC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (956.28 KB, 53 trang )

Đề 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ắm được nội dung và kiến thức để xây dựng bài.Tam lý và khả năng áp dụng
phương pháp học tâp và thi cử theo hinh thức mới của giáo viên và học sinh.
2. Làm đến đâu?
Chương trình thiết kế 4 form trắc nghiệm tương đương vói 4 môn:Toánhọc.
Vật lý, Văn học,Lịch sử.Mỗi đề trắc nghiệm gồm 5 câu, mỗi câu có 4 lựa chọn để
trả lời.Thời gian làm bài trong 3 phút.Khi nhấp nút ‘kết quả’ hoặc hết thời gian
chương trình sẽ thông báo kết quả bài thi và thoát về chương trình chính.Kết quả
bài thi sẽ lưu trong tệp ‘kết quả’.Ngoài ra học sinh có thể tham gia một số trò giải
trí như chơi game,nghe nhạc, để làm giảm bớt sự căng thẳng trong học tập.
IV. Phương pháp nghiên cứu.
1.Nghiên cứu tìm hiểu thực tiễn.
-Tham khảo ý kiến của một số giáo viên và học sinh.
-Tham khảo qua sách vở về bộ môn của các môn học .
2.Nghiên cứu lý luận,chủ trương,chính sách,quy chế...
-Nghiên cứu chủ trương của bộ giào dục, của nhà trường.
-Quy chế ra đề thi và chấm bài thi.
-Các tài liệu bộ môn phù hợp.
3.nghiên cứu tài liệu.
-Sách giáo khoa, sách bài tập, sách nâng cao, một số giáo án của giáo viên về
bộ môn mà mình thực hiện.
4.Nghiên cứu cái đặt chương trình
Nguyễn Thị Quý SBD 238
2
Toán Học
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
V. Đóng góp của đề tài.
1.Đóng góp thưc tế của đề tài.
Đề 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 về
kỹ năng,phương pháp học tập và giảng dạy theo hình thức học tập mới.Giúp cho
học sinh có thể 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ủ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

Người dùng
Vật lý
Kết quả trắc nghiệm
Toán học
Lịch sử
Hướng dẫn
Trắc nghiệm
Hướng Dẫn Giải Trí
Toán Học
Vật Lý
Văn Học
Lịch Sử
Game
Ca nhạc
Thoát
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
Giao Diện Form Frmchinh
Code Form frmchinh
Private Sub dabong_Click()
Dim g
g = Shell("Chinh phuc ai tinh.exe", vbNormalFocus)
Nguyễn Thị Quý SBD 238
5
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
End Sub
Private Sub gt_Click()
Dim g
g = Shell("Tinh xin chang phai.exe", vbNormalFocus)
End Sub
Private Sub mnuhd_Click()

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()

Dim a
a = Shell("paint.exe", vbNormalFocus)
End Sub
Private Sub ol_Click()
Dim g
g = Shell("Xa vang.exe", vbNormalFocus)
End Sub
Private Sub quasong_Click()
Dim g
g = Shell("picachu_2005.exe", vbNormalFocus)
End Sub
Private Sub Timer1_Timer()
Dim x As String
Dim y As String
Nguyễn Thị Quý SBD 238
7
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
x = Left(frmchinh.Caption, 1)
y = Right(frmchinh.Caption, Len(frmchinh.Caption) - 1)
frmchinh.Caption = y + x
End Sub
Màn hình Form FrmToán
Code Form FrmToán
Private Sub cmdlai_Click()
If optchon(0).Value Then
ketqua(lt) = "A"
End If
If optchon(1).Value Then
ketqua(lt) = "B"
Nguyễn Thị Quý SBD 238

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

optchon(3).Value = False
Nguyễn Thị Quý SBD 238
9
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
End Select
End Sub
Private Sub Form_Activate()
If tn = 1 Then
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\toan.txt") = "" Then
tn = 1
Exit Sub
End If
Open App.Path & "\csdl\toan.txt" For Input As 1
cdr = 0
Do Until EOF(1)
cdr = cdr + 1
If cdr > socau Then
Exit Do
End If
For i = 1 To 6

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)

Lbl2(3).Caption = cau(cauhoi(lt), 3)
Lbl2(4).Caption = cau(cauhoi(lt), 4)
Lbl2(5).Caption = cau(cauhoi(lt), 5)
Nguyễn Thị Quý SBD 238
11
Đề 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 Optchon_Click(Index As Integer)
Select Case Index
Case 0: ketqua(lt) = "A"
Case 1: ketqua(lt) = "B"
Case 2: ketqua(lt) = "C"
Case 3: ketqua(lt) = "D"
End Select
End Sub
Private Sub Timer1_Timer()
dem = dem + 1
If dem >= 2 Then
Call cmdkq_Click

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

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."
Nguyễn Thị Quý SBD 238
14
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
frmchinh.Show
Unload Me
End Sub
Private Sub cmdtiep_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 (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

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
Nguyễn Thị Quý SBD 238
16
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
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

tn = 1
Exit Sub
End If
Open App.Path & "\csdl\vatly.txt" For Input As 1
cdr = 0
Do Until EOF(1)
cdr = cdr + 1
If cdr > socau Then
Exit Do
End If
For i = 1 To 6
Line Input #1, s
cau(cdr, i) = s
Next i
Loop
Close #1
Randomize
Nguyễn Thị Quý SBD 238
18
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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)
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)

Select Case Index
Case 0: ketqua(lt) = "A"
Case 1: ketqua(lt) = "B"
Case 2: ketqua(lt) = "C"
Case 3: ketqua(lt) = "D"
End Select
End Sub
Private Sub Timer1_Timer()
dem = dem + 1
If dem >= 2 Then
Call cmdkq_Click
End If
End Sub
Private Sub Timer2_Timer()
Dim x As String
Dim y As String
x = Left(Label1.Caption, 1)
Nguyễn Thị Quý SBD 238
20
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
y = Right(Label1.Caption, Len(Label1.Caption) - 1)
Label1.Caption = y + x
End Sub
Màn hình Form FrmVănhọc
Code Form FrmVănhọc
Option Explicit
Option Base 1
Dim cau(15, 6) As String
Dim cauhoi(5) As Byte
Nguyễn Thị Quý SBD 238

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

Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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 (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) & ":"
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)

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

Else
Nguyễn Thị Quý SBD 238
24
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
optchon(3).Value = False
End Select
End Sub
Private Sub Form_Activate()
If tn = 1 Then
frmchinh.Show
Unload Me
End If

ten = InputBox("Nhap ten cua ban :", "THONG BAO ")
End Sub
Nguyễn Thị Quý SBD 238
25

×