黃濤
(湖北省大冶市第一中學(xué),湖北黃石435100)
隨機(jī)推門聽課系統(tǒng)設(shè)計(jì)與分析
黃濤
(湖北省大冶市第一中學(xué),湖北黃石435100)
推門聽課是許多學(xué)校采用的一種教師管理制度,可以很好地約束教師備好課、上好課、提高課堂教學(xué)水平、加強(qiáng)教學(xué)過(guò)程管理。文章使用VFP為編程環(huán)境來(lái)實(shí)現(xiàn)隨機(jī)推廣聽課系統(tǒng)制作和開發(fā)的技術(shù),該系統(tǒng)是通過(guò)可行性分析、需求分析和設(shè)計(jì)開發(fā)的,具備方便、隨機(jī)的特點(diǎn),為學(xué)校采取推門聽課制度提拱了基礎(chǔ),保障了課堂的建全發(fā)展。
推門聽課;隨機(jī);VFP
在電腦普及之前,學(xué)校聽課采取的是手工的安排,這樣會(huì)導(dǎo)致有的教師、有的科目重復(fù),更有可能造成被聽課的教師提前知道,以做好準(zhǔn)備。使用隨機(jī)聽課系統(tǒng),可以快速、簡(jiǎn)便地確定要聽的科目和教師,而且可以避免重復(fù)聽一個(gè)教師的課和科目。這樣可以很好地提高課堂效率,提升教師的課堂教學(xué)效果。
根據(jù)需求分析的結(jié)果,“隨機(jī)聽課系統(tǒng)”主要由隨機(jī)抽取、清空、次數(shù)歸零、采用、重新抽取等五大功能組成,同時(shí)被抽取聽課的教師有三位?;驹O(shè)計(jì)概念及處理流程如圖1所示。
在整個(gè)系統(tǒng)中,隨機(jī)抽取和重新抽取的設(shè)計(jì)是難點(diǎn),它涉及隨機(jī)函數(shù)的應(yīng)用。如果該教師以前被抽取過(guò),或該次被聽課的三人有相同學(xué)科,那么再用重新抽取功能再次抽取,以求達(dá)到最佳的平衡,使學(xué)校可以對(duì)教師和學(xué)科的管理更加普及。
通過(guò)VFP 自帶的數(shù)據(jù)庫(kù),建立如圖2所示DBF格式數(shù)據(jù)表,該表取名為“教師名單”,包含字段有“序號(hào)”、“年級(jí)”、“學(xué)科”、“被抽次數(shù)”。
在主窗體初始化中,我們使用以下代碼,其中rand()是隨機(jī)函數(shù),而m=RAND(-1)的作用是,每次使用系統(tǒng)時(shí),我們使用的隨機(jī)函數(shù)種子是時(shí)鐘,這樣生成的隨機(jī)數(shù)序列將不重復(fù)。在m=int(t*rand()%r+ 1)中,t的值取決于r,如果教師在百人以下,則為100,如果在千人以下百人以上,則取1000,以此類推,在這個(gè)實(shí)例中,我們?nèi)〉氖?000。這樣,m就會(huì)是在0至r中隨機(jī)取值,m代表是“教師名單”數(shù)據(jù)表中某一位教師的指針。
SET exact ON
PUBLIC f,h1,h2,h3,k1,k2,k3,m
f=0
h1=0
h2=0
h3=0
k1=''
k2=''
k3=''
thisform.command2.Enabled=.F.
thisform.command4.Enabled=.F.
thisform.command5.Enabled=.F.
thisform.command6.Enabled=.F.
thisform.command7.Enabled=.F.
m=RAND(-1)
在隨機(jī)抽取功能中使用以下主要代碼,實(shí)現(xiàn)第一次隨機(jī)抽取抽出三位不同的教師。
USE教師名單
COUNT FOR序號(hào)<1000 to r
if r<1000 and r>100 then
t=1000
ENDIF
x=1
DOWHILE x<4
m=int(t*rand()%r+1)
gotom
IF x=1 THEN
h1=序號(hào)
x1=ALLTRIM(姓名)
k1=ALLTRIM(學(xué)科)
n1=ALLTRIM(年級(jí))
c1=被抽次數(shù)
ENDIF
IF x=2 THEN
k2=ALLTRIM(學(xué)科)
IF k2<>k1 THEN
h2=序號(hào)
x2=ALLTRIM(姓名)
k2=ALLTRIM(學(xué)科)
n2=ALLTRIM(年級(jí))
c2=被抽次數(shù)
ELSE
k2=''
ENDIF
ENDIF
IF x=3 THEN
k3=ALLTRIM(學(xué)科)
IF k3<>k1 AND k3<>k2 THEN
h3=序號(hào)
x3=ALLTRIM(姓名)
k3=ALLTRIM(學(xué)科)
n3=ALLTRIM(年級(jí))
c3=被抽次數(shù)
ELSE
k3=''
ENDIF
ENDIF
ENDDO
USE
在重新抽取功能中,主要使用以下代碼,如果第一次抽取的三位教師中有相同學(xué)科或以前被抽取過(guò)多次,則使用該功能,就會(huì)重新隨機(jī)抽取另一位教師。
USE教師名單
COUNT FOR序號(hào)<1000 to r
if r<1000 and r>100 then
t=1000
ENDIF
x=1
DOWHILE x<2
m=int(t*rand()%r+1)
gotom
IF x=1 THEN
h1=序號(hào)
x1=ALLTRIM(姓名)
k1=ALLTRIM(學(xué)科)
n1=ALLTRIM(年級(jí))
c1=被抽次數(shù)
IF k1<>k2 AND k1<>k3 AND x1<>'黃濤'THEN
x=x+1
ENDIF
ENDIF
ENDDO
USE
在清空和次數(shù)歸零功能中,實(shí)現(xiàn)把抽取的三位教師信息清空,再重新抽取,而數(shù)據(jù)歸零則為把所有教師都重新設(shè)為零次。
清空主要代碼:
tk.xm1.caption=''
tk.xm2.caption=''
tk.xm3.caption=''
tk.xk1.caption=''
tk.xk2.caption=''
tk.xk3.caption=''
tk.nj1.caption=''
tk.nj2.caption=''
tk.nj3.caption=''
tk.cq1.caption=''
tk.cq2.caption=''
tk.cq3.caption=''
次數(shù)歸零主要代碼:
USE教師名單
REPLACEALL被抽次數(shù)WITH0
use
在采用功能中,如果已選定了三位被聽課的教師,那么該三位教師將會(huì)在被抽次數(shù)上累加一次:
REPLACE ALL被抽次數(shù)WITH被抽次數(shù)+1 FOR序號(hào)=h1 OR序號(hào)=h2 OR序號(hào)=h3
本軟件運(yùn)行所需硬件設(shè)備(計(jì)算機(jī))的最低配置為:
CPU:奔騰3(主頻500MHz及以上)
內(nèi)存:128M或以上
硬盤:6G或以上
本系統(tǒng)在MicrosoftWindows XP下進(jìn)行設(shè)計(jì)開發(fā)及調(diào)試,程序以Visual Foxpro 9.0為軟件來(lái)完成程序的開發(fā)。
隨機(jī)推門聽課是一項(xiàng)嚴(yán)謹(jǐn)又非常細(xì)致的工作,有利于學(xué)校課堂教學(xué)和教師的發(fā)展,可以促使教師提升自身的業(yè)務(wù)能力,對(duì)一個(gè)學(xué)校的長(zhǎng)遠(yuǎn)發(fā)展有著重要的作用。本文介紹了以Visual Foxpro 9.0為編程環(huán)境制作的隨機(jī)聽課系統(tǒng),該系統(tǒng)操作簡(jiǎn)便,界面友好,靈活、安全,經(jīng)過(guò)實(shí)際使用證明,該系統(tǒng)完全滿足學(xué)校聽課制度的實(shí)施。
(編輯:魯利瑞)
TP315
B
1673-8454(2011)02-0081-03