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