Tải bản đầy đủ (.pdf) (54 trang)

Bài toán về quản lý trắc nghiệm (BC;10)

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 (374.37 KB, 54 trang )


1
A.Phn M u

I. Lý do chn ti
Ngy nay vi s chuyn hng ca ngnh giỏo dc ang chuyn dn t
hỡnh thc thi vit sang thi trc nghim nhm nõng cao kh nng hc tp v k nng
thc hnh b mụn cho hc sinh cú th vn dng nhng kin thc mỡnh tip thu
c mt cỏch linh hot v hiu qu nht.
ti ny giỳp ớch cho vic ging dy v hc tp ca giỏo viờn v hc sinh
trng v k nng, phng phỏp hc tp v ging dy theo hinh thc hc tp
mi.Giỳp cho hc sinh vn dng cỏc kin thc ó hc theo nhiu cỏch t duy
nh:Phng ỏn loi tr,chn phng ỏn ỳng nht,Giỳp giỏo viờn cú th
ỏnh giỏ chớnh xỏc c nng lc v kh nng tip thu kin thc cahc sinh.
Vi ti ny giỳp em cú th nm vng hn v k nng lp trỡnh cng nh
s dng cỏc lờnh x lý chng trỡnh c thnh thc hn nõng cao kh nng ca
bn thõn v b mụn Visual basic v kh nng vn dng ca nú trong tng trng
hp, c th nh trong bi toỏn v qun lý trc nghim m em thc hiờn.
II. Mc ớch v nhim v nghiờn cu .
-Nhng nh hng t ra:
+Xỏc nh ni dung mụn hc, phm vi kin thc nh:cõu hi, ỏp ỏn tr
li,..
+Kh nng tip thu, vn dng ca hc sinh trong tng mụn hc.
+Nhng cõu hi phi i sỏt vi chng trỡnh hc ca hc sinh.
+Quy ch thi c, ra bi thi, chm bi thi.
+a ra cõu hi v ỏp ỏn tr li chớnh xỏc.
+Cu trỳc chng trỡnh xõy dng nờn chng trỡnh qun lý trc nghim
ny.
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

2


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: Tố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à thốt về chương trình chính. Kết quả
bài thi sẽ lưu trong tệp ‘kết quả’. Ngồ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
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.

THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

3
2.Li ớch ca ti i vi bn thõn
-Nm vng v thnh tho hn v kin thỳc lp trỡnh trong hc tp v vn dng
thc t.
Xin chõn thnh cm n thy ó tn tỡnh ch dy, hng dn v cỏc bn ó giỳp
tụi hon thnh chng trỡnh ny !
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

4
B.Phn ni dung
I. Biu Phõn Cp Chc Nng.

Hinh 1: Bieu do phan cap chuc nang
II. Bieu do luong du lieu
Cỏc biu lung d liu cú tỏc ng mụ t s hot ng ca h thng
Chỳ thớch

cú trao i thụng tin vi h thng.
Chc nng x lý lm bin i thụng tin.
Lung d liu vo hay ra ca h thng
Ni lu tr thụng tin cn cho h thng.


1. Biu lung d liu mc khung cnh.
Trc nghim
Hng Dn Gii Trớ
Toỏn Hc
Vt Lý

Vn Hc
Lch S
Game
Ca nhc
Thoỏt
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

5
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 ngồi.













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
Tốn học

Lịch sử
Hướng dẫn
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

6
Giao Diện Form
Frmchinh

Code Form frmchinh
Private Sub dabong_Click()
Dim g
g = Shell("Chinh phuc ai tinh.exe", vbNormalFocus)
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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

7
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

Private Sub mnutoan_Click()
Frmtoan.Show
frmchinh.Hide
End Sub

Private Sub mnuvan_Click()
frmvanhoc.Show
frmchinh.Hide

THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

8
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
x = Left(frmchinh.Caption, 1)
y = Right(frmchinh.Caption, Len(frmchinh.Caption) - 1)
frmchinh.Caption = y + x
End Sub
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

9
Mn 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"
End If
If optchon(2).Value Then
ketqua(lt) = "C"
End If
If optchon(3).Value Then
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

10
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
frmchinh.Show
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

11
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
cau(cdr, i) = s
Next i
Loop
Close #1
Randomize
i = 1
Do While i <= 5
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

12
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
Case Else
optchon(0).Value = False
optchon(1).Value = False
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

13
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)
y = Right(Label1.Caption, Len(Label1.Caption) - 1)
Label1.Caption = y + x
End Sub

Màn hình Form FrmVậtlý
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

14


Code Form FrmVậtlý

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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

15


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()
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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

16
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)
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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

17
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
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)
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

18
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

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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

19
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
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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

20
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
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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

21

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)
y = Right(Label1.Caption, Len(Label1.Caption) - 1)
Label1.Caption = y + x
End Sub

Màn hình Form FrmVănhọc
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

22


Code Form FrmVănhọc

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

THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

23

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()
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"
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

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

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
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

25
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
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)
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

×