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

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

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 (1009.33 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
Đề 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
Đề 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.
Nguyễn Thị Quý SBD 238
4
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
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
5
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
Đề 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)
End Sub
Nguyễn Thị Quý SBD 238
6
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
Private Sub mnutoan_Click()
Nguyễn Thị Quý SBD 238
7
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
x = Left(frmchinh.Caption, 1)
Nguyễn Thị Quý SBD 238
8
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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"

End If
Nguyễn Thị Quý SBD 238
9
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
End Select
Nguyễn Thị Quý SBD 238
10
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
cau(cdr, i) = s
Nguyễn Thị Quý SBD 238
11
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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)
Select Case ketqua(lt)
Nguyễn Thị Quý SBD 238
12
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
Private Sub Timer2_Timer()
Nguyễn Thị Quý SBD 238
13
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
14
Đề 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."
frmchinh.Show
Nguyễn Thị Quý SBD 238
15
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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) & ":"
Lbl2(1).Caption = cau(cauhoi(lt), 1)
Nguyễn Thị Quý SBD 238
16
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
ketqua(lt) = "D"
Nguyễn Thị Quý SBD 238
17
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
Nguyễn Thị Quý SBD 238
18
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
i = 1
Nguyễn Thị Quý SBD 238
19
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
Case Else
Nguyễn Thị Quý SBD 238
20
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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)
y = Right(Label1.Caption, Len(Label1.Caption) - 1)
Nguyễn Thị Quý SBD 238
21
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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

Dim ketqua(10) As String * 1
Nguyễn Thị Quý SBD 238
22
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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()
If optchon(0).Value Then

Nguyễn Thị Quý SBD 238
23
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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)
Select Case ketqua(lt)
Nguyễn Thị Quý SBD 238
24
Đề Tài Visual Basic Trắc Nghiệm Tổng Hợp
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
MsgBox ("Day la cau dau tien.")
Nguyễn Thị Quý SBD 238
25

×