體育運(yùn)動(dòng)會(huì)計(jì)算機(jī)管理系統(tǒng)的關(guān)鍵技術(shù)討論
摘 要:
摘 要:將計(jì)算機(jī)技術(shù)應(yīng)用到體育運(yùn)動(dòng)會(huì)的管理當(dāng)中,研制出體育運(yùn)動(dòng)會(huì)計(jì)算機(jī)管理系統(tǒng),顯著提高運(yùn)動(dòng)會(huì)的現(xiàn)代化管理水平。本文主要闡述在具體實(shí)現(xiàn)過(guò)程中使用到的一些關(guān)鍵技術(shù)。
關(guān)鍵詞:
關(guān)鍵詞:體育運(yùn)動(dòng)會(huì) 計(jì)算機(jī)管理系統(tǒng) 智能分組分道
2010年,沈陽(yáng)藥科大學(xué)體育部提出加強(qiáng)體育運(yùn)動(dòng)會(huì)現(xiàn)代化管理技術(shù)的需求,與我校計(jì)算機(jī)中心聯(lián)合共同研制了體育運(yùn)動(dòng)會(huì)計(jì)算機(jī)管理系統(tǒng),該系統(tǒng)投入使用后,顯著提升運(yùn)動(dòng)會(huì)管理者的工作效率,與傳統(tǒng)人工實(shí)現(xiàn)相比,在準(zhǔn)確性、及時(shí)性、智能化和高效率等方面占有絕對(duì)優(yōu)勢(shì);系統(tǒng)還受到沈陽(yáng)市某事業(yè)單位的關(guān)注和使用。在研發(fā)和完善系統(tǒng)的過(guò)程中,運(yùn)動(dòng)員注冊(cè)、分組分道、成績(jī)錄入、數(shù)據(jù)導(dǎo)出和打印報(bào)告單/成績(jī)單等的功能設(shè)計(jì)部分都涉及不同的關(guān)鍵技術(shù)。
1 關(guān)鍵技術(shù)
1.1 智能分組分道
所謂智能分組分道技術(shù),是指由計(jì)算機(jī)按一定規(guī)則對(duì)某項(xiàng)目的報(bào)名數(shù)據(jù)進(jìn)行分組分道,模擬人工實(shí)現(xiàn)的過(guò)程效率高、速度快、準(zhǔn)確無(wú)誤。技術(shù)算法實(shí)現(xiàn)如下:
。1)將某項(xiàng)目報(bào)名數(shù)據(jù)所有運(yùn)動(dòng)員號(hào)碼讀取到動(dòng)態(tài)數(shù)組c中,并進(jìn)行排序。
Set g = Grid1
ReDim c(1 To g.rows - 1)
For i = 1 To g.rows - 1
c(i) = g.Cell(i, 3).Text
Next i
排序代碼省略。
。2)定義二維動(dòng)態(tài)數(shù)組s,其中第一維大小為小組數(shù),第二維大小為道數(shù)。
ReDim s(1 To lblXZS.Caption, 1 To lblDS.Caption)
。3)開始分組。這一步是將前面排好序的運(yùn)動(dòng)員號(hào)碼以道次為優(yōu)先,為每小組分配一個(gè)隊(duì)員,這樣保證了同一參賽單位的隊(duì)員盡量不出現(xiàn)在一個(gè)小組當(dāng)中,如圖1所示。
For j = 1 To lblDS.Caption
For i = 1 To lblXZS.Caption
If (j - 1) * lblXZS.Caption + i > UBound(c) Then Exit For
s(i, j) = c((j - 1) * lblXZS.Caption + i)
Next i
If i <= lblXZS.Caption Then Exit For
Next j
其中,(j - 1) * lblXZS.Caption + i > UBound(c)判斷是否分配完畢。
。4)重新隨機(jī)分道。針對(duì)此問(wèn)題,我們?cè)谠O(shè)計(jì)中采用類似約瑟夫環(huán)問(wèn)題解決:對(duì)某小組i分道時(shí),統(tǒng)計(jì)該組運(yùn)動(dòng)員數(shù)量ecount,隨機(jī)生成一個(gè)位置j,并將該位置的號(hào)碼s(i,j)移動(dòng)到s(i,ecount)位置去,其j位置之后直到ecount位置的號(hào)碼前移,,該組運(yùn)動(dòng)員數(shù)量ecount減1;重復(fù)此操作ecount-1遍,VB中的For循環(huán)終值一旦確定不會(huì)再改變。
For i = 1 To lblXZS.Caption
ecount = 0
For j = 1 To lblDS.Caption
If s(i, j) <> "" Then ecount = ecount + 1
Next j
For k = 1 To ecount - 1
j = Int(Rnd * ecount + 1)
t = s(i, j)
For M = j + 1 To ecount
s(i, M - 1) = s(i, M)
Next M
s(i, M - 1) = t
ecount = ecount - 1
Next k
Next i
1.2 生成秩序冊(cè)
賽前數(shù)據(jù)準(zhǔn)備結(jié)束之后,生成秩序冊(cè)是賽前最后的工作,也是傳統(tǒng)手工工作中最為繁瑣的過(guò)程。通過(guò)體育運(yùn)動(dòng)會(huì)計(jì)算機(jī)管理系統(tǒng)自動(dòng)將數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定規(guī)則編排保存到Word文檔中是非常重要的,在實(shí)現(xiàn)過(guò)程中關(guān)鍵的技術(shù)在于動(dòng)態(tài)創(chuàng)建Word文檔并添加內(nèi)容。
1.2.1 創(chuàng)建Word文檔
Dim wdApp As Word.Application, wdDoc As Word.Document
Set wdApp = CreateObject("word.application")
Set wdDoc = wdApp.Documents.Add
1.2.2 向文檔中追加段落及內(nèi)容
wdApp.Selection.TypeText Text:="生成秩序冊(cè)"
wdApp.Selection.TypeParagraph
1.2.3 保存文檔
wdDoc.SaveAs strDesktop & "生成秩序冊(cè).doc"
wdApp.Quit:Set wdDoc = Nothing:Set wdApp = Nothing
秩序冊(cè)生成過(guò)程中,小組、道數(shù)的標(biāo)題和運(yùn)動(dòng)員名單等問(wèn)題,在這里暫時(shí)不做詳細(xì)討論。
2 結(jié)語(yǔ)
本文針對(duì)沈陽(yáng)藥科大學(xué)體育運(yùn)動(dòng)會(huì)計(jì)算機(jī)管理系統(tǒng)中在智能分組分道關(guān)鍵技術(shù)中所采用的方法做了詳細(xì)的討論,并對(duì)秩序冊(cè)的生成技術(shù)進(jìn)行了簡(jiǎn)單的介紹,希望能夠?qū)M(jìn)行此類設(shè)計(jì)工作的程序設(shè)計(jì)人員提供幫助。
本文編號(hào):14609
本文鏈接:http://www.lk138.cn/kejilunwen/jisuanjikexuelunwen/14609.html