亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電腦派位錄取程序的原理及其編寫

        2008-12-04 02:36:00張小剛
        中國教育信息化·基礎教育 2008年11期
        關(guān)鍵詞:源代碼程序

        張小剛

        摘 要:鑒于當前部分民辦學校擁有較優(yōu)質(zhì)資源和教學實績,往往出現(xiàn)報名人數(shù)多于錄取人數(shù)的情況。這時,采用電腦軟件進行隨機派位錄取是學校和社會所能接受的解決問題的普遍方法。本文介紹了電腦派位錄取程序的原理及其編寫。

        關(guān)鍵詞:電腦派位;隨機;程序;源代碼

        中圖分類號:TP312 文獻標識碼:B 文章編號:1673-8454(2008)22-0060-02

        鑒于當前部分民辦學校擁有較優(yōu)質(zhì)資源和教學實績,往往出現(xiàn)報名人數(shù)多于錄取人數(shù)的情況。這時,采用電腦軟件進行隨機派位錄取是學校和社會所能接受的解決問題的普遍方法。鑒于社會關(guān)注度高等因素,決定了本程序設計必須做到選擇公平公正、選擇隨機、源代碼可以當場展示講解且程序代碼百分之百正確,因此,雖然程序原理及運行流程比較簡單,許多學校也有具備一定知識水平的人員,卻很少有敢于承擔此項編程工作的。為此,本文就程序原理、代碼編寫及其在某校實際運行過程中的操作方法進行簡要論述,并附全部源代碼,以供參考。

        一、編程語言的選擇

        由于關(guān)注度高,因此程序和運行環(huán)節(jié)的公正性要求能接受社會公開監(jiān)督。有些學校為了保證其公正性不受置疑,除了請公證處全程公證,甚至采取電視直播的方法進行。這就要求我們的程序能以最簡潔的代碼來實現(xiàn)所需功能,以便能在運行前當場展示并講解程序代碼及原理?;诖?,綜合考慮當前流行的主要編程語言,我們優(yōu)先選擇了Visual Foxpro:代碼簡潔、便于講解、源代碼無需編譯即可直接運行,同時其DBF文件格式與學校一般采用的Excel錄入的報名學生名冊文件可以自由轉(zhuǎn)換。

        二、程序原理

        以在江蘇省南通市有影響的某實驗初中為例,要求在報名的1500多名學生中隨機選擇516人錄取,分6個批次進行,前5批次每次取100人,最后取16人。程序運行時,先對原始數(shù)據(jù)文件進行備份,根據(jù)在屏幕上顯示“第x批”按鈕及當前待選庫人數(shù)、本批選擇進度條等組成程序運行界面。每按動“第x批”按鍵一次,電腦計算本批次應產(chǎn)生的選中人數(shù)(如果總的待選擇數(shù)大于100則為100,否則為剩余數(shù)),隨機對當前待選擇庫進行派位,直到選中本批次待選人數(shù),顯示選擇結(jié)果,將選中名單導出到“批次.dbf”和“批次.xls”文件,并顯示報告,將已選出名單從待選擇庫中刪除,打印本批名單交公證處及相關(guān)人員簽字,如果還有待選擇名單,則屏幕界面上顯示 “第x+1批”按鈕,以供下一批次的選擇,否則選擇按鈕顯示為“選擇結(jié)束”。

        三、數(shù)據(jù)準備及代碼編寫

        數(shù)據(jù)準備:將學校提供的經(jīng)公證處檢查認可的報名Excel文件保留其中的“姓名”、“身份證號”或登記號(需唯一)并另存生成bmk.DBF文件。打開該DBF文件,運行modi stru命令,添加“原始記錄號”、“選中”、“選中順序”三個數(shù)值型字段,運行命令repl all原始記錄號 with recno(),數(shù)據(jù)準備完畢。

        在新窗體添加四個標簽,分別為Label1、Label2、Label3、Progress1,將Label2的Caption設置為“進度”且與Progress1水平對齊,將Progress1的BackColor設置為“0,0,255”,即藍色,添加兩個命令按鈕,名稱分別為Command1、Command2,將Command1的Caption設置為“第1批”,將Command2的Caption設置為“退出”。

        1.對窗體的Init即初始化部分添加代碼

        *行前帶*號的為注解

        set esca off

        set talk off

        this.visible=.t.

        this.autocenter=.t.

        this.Command1.Caption="第1批"

        public 批次,需選人數(shù),已選出數(shù),oldwidth

        clos all

        sele 1

        use bmk

        *將標志清0,防止被事先設置

        repl all 選中 with 0,選中順序 with 0

        copy to bmk原始備份

        批次=1

        需選人數(shù)=516

        this.label1.Caption="待選出總?cè)藬?shù)"+ltrim(str(需選人數(shù)))+",已選出0"

        已選出數(shù)=0

        **隨機數(shù)初始化

        rand(-100)

        oldwidth=thisform.Progress1.width

        coun to totalnow

        this.label3.Caption="待選庫現(xiàn)有總?cè)藬?shù)"+ltrim(str(totalnow))

        **界面顯示完成,等待進行選擇

        2.對Command1的Click即點擊事件添加代碼

        rand(-100)

        if 需選人數(shù)-已選出數(shù)>100 then

        本批數(shù)=100

        else

        本批數(shù)=需選人數(shù)-已選出數(shù)

        endi

        go bott

        庫中還有總?cè)藬?shù)=recno()

        本批已選=0

        **當本批已選<本批數(shù)時 循環(huán)選擇,考慮了防止被事先設置選中標記的情況

        do whil 本批已選<本批數(shù)

        **產(chǎn)生隨機的選中行號隨機數(shù)精度為小數(shù)后5位(0-1)

        隨機數(shù)=round(庫中還有總?cè)藬?shù)*round(rand(),5),0)

        **如果隨機數(shù) 變量>=1,就去判斷選擇該行,

        if 隨機數(shù)>=1 then

        go 隨機數(shù)

        **如果該行的選中標記不是1,那么“本批已選”變量加1,該行的“選中”為1,選擇順序放置在“選中順序” if 選中<>1 then

        本批已選=本批已選+1

        repl 選中 with 1,選中順序 with 本批已選

        thisform.Progress1.width=本批已選*oldwidth/本批數(shù)

        thisform.refresh

        endi

        endi

        **空循環(huán),產(chǎn)生延時效果

        delay1=1

        do whil delay1<10000

        kk=round(123456789/456789.8,8)

        delay1=delay1+1

        endd

        endd

        **將本批選中的行拷貝到“批次.dbf”例如“1.dbf”

        copy to ltrim(str(批次)) for 選中=1

        **將本批選中的行拷貝到 批次.xls

        copy to ltrim(str(批次)) xlsfor 選中=1

        **將本批選中的行從當前待選擇表刪除

        dele allfor 選中=1

        pack

        已選出數(shù)=已選出數(shù)+本批已選

        thisform.Progress1.width=oldwidth

        thisform.Label1.Caption="待選出總?cè)藬?shù)"+ltrim(str(需選人數(shù)))+",已選出"+ltrim(str(已選出數(shù)))

        coun to totalnow

        thisform.label3.Caption="待選庫現(xiàn)有總?cè)藬?shù)"+ltrim(str(totalnow))

        =MESSAGEBOX("第"+ltrim(str(批次))+"批"+ltrim(str(本批已選))+"已選出",48,'提示')

        =MESSAGEBOX("本批名單已導出到文件"+ltrim(str(批次))+".xls及"+ltrim(str(批次))+".dbf",48,'提示')

        批次=批次+1

        if 已選出數(shù)<需選人數(shù)

        thisform.Command1.Caption="第"+ltrim(str(批次))+"批"

        else

        =MESSAGEBOX('選擇全部完成!',48,'提示')

        thisform.Command1.Caption="選擇結(jié)束"

        thisform.Command1.Enabled=.f.

        thisform.Command2.Enabled=.T.

        endi

        retu

        CLOS all

        四、程序運行

        程序運行前,先將經(jīng)公證處檢驗密封的派位運行專用電腦啟封,查看派位程序運行的硬盤分區(qū)如E盤內(nèi)容應為空白。將經(jīng)公證處事先檢驗并密封的數(shù)據(jù)和程序U盤插上,將數(shù)據(jù)和程序從U盤拷貝到E盤,打開 Bmk.dbf文件當眾展示,打開程序文件展示源代碼并講解其原理,即可準備運行。在每一批次(一般由嘉賓點擊按鈕)錄取名單生成后,根據(jù)指示當場將運行文件夾下的如 “2.xls”文件打開,展示并打印交簽字。

        本軟件通過簡潔有效的代碼實現(xiàn)了電腦隨機派位錄取,結(jié)合相應的操作流程,保證了整個選擇的隨機性、公平公正性,在實際應用中取得良好的社會效果。

        猜你喜歡
        源代碼程序
        人工智能下復雜軟件源代碼缺陷精準校正
        計算機仿真(2023年8期)2023-09-20 11:23:42
        基于TXL的源代碼插樁技術(shù)研究
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        軟件源代碼非公知性司法鑒定方法探析
        失能的信仰——走向衰亡的民事訴訟程序
        基于語法和語義結(jié)合的源代碼精確搜索方法
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        揭秘龍湖產(chǎn)品“源代碼”
        創(chuàng)衛(wèi)暗訪程序有待改進
        欧美成aⅴ人高清免费| 成人免费无码大片a毛片抽搐色欲| 48久久国产精品性色aⅴ人妻| 红杏亚洲影院一区二区三区| 亚洲欧美日韩中文综合在线不卡| 按摩少妇高潮在线一区| 内射人妻无套中出无码| 激情综合色五月丁香六月亚洲| 亚洲成人免费无码| 亚洲国产综合精品中文| 国产人妻鲁鲁一区二区| 少妇高潮尖叫黑人激情在线| 五月丁香六月综合激情在线观看| 日本黄色高清视频久久| 熟妇高潮一区二区三区在线观看| 99精品欧美一区二区三区| 亚洲成av人片无码不卡播放器| 国内精品久久人妻互换| 老鲁夜夜老鲁| 无码成人aaaaa毛片| 在线观看亚洲精品国产| 99久久精品人妻一区二区三区| 久久精品国产字幕高潮| 在线观看国产精品日韩av| 人妻无码AⅤ中文系列久久免费 | 久久精品亚洲成在人线av乱码| 国内成+人 亚洲+欧美+综合在线 | 亚洲av永久无码精品成人| 亚洲熟妇av一区二区在线观看| 国产欧美日韩一区二区三区| 成人在线激情网| 国产99视频一区二区三区| 午夜天堂av天堂久久久| 亚洲精品无播放器在线播放| 国产欧美日本亚洲精品一4区| 少妇被粗大的猛进69视频| 成午夜精品一区二区三区| 97欧美在线| 亚洲av午夜福利一区二区国产| 免费a级毛片无码a∨蜜芽试看| 99久久国产综合精品麻豆|