




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、沈陽航空航天大學(xué)設(shè)計用紙沈 陽 航 空 航 天 大 學(xué) 課程設(shè)計學(xué) 號 班 級 姓 名 指導(dǎo)教師 2012年 7 月 1日0課程設(shè)計任務(wù)書學(xué)院: 航空宇航工程學(xué)部 專業(yè):飛行器制造工程 班級:學(xué)號: 題目:我愛背單詞一、課程設(shè)計時間201112第2學(xué)期 第17周,共計1周,20學(xué)時。二、課程設(shè)計內(nèi)容 設(shè)計一個背單詞系統(tǒng)。詞庫為“大學(xué)英語四級詞庫”或“大學(xué)英語六級詞庫”,可選擇記憶單詞的范圍可選擇單詞的顯示方式為“循環(huán)”或“隨機(jī)”,可調(diào)整單詞顯示時的字體、大小和顏色等,可選擇單詞切換的速度。模擬英語詞庫由學(xué)生自行編寫,參考界面如下。三、課程設(shè)計要求程序質(zhì)量:² 貫徹事件驅(qū)動的程序設(shè)計思
2、想。² 用戶界面友好,功能明確,操作方便;可以增加其它功能或修飾。² 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計說明書:² 課設(shè)結(jié)束后,上交課程設(shè)計說明書和源程序。課程設(shè)計說明書的內(nèi)容參見提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:_ 學(xué)生簽名:_五、成績六、教師評語目 錄一、 需求分析3二、 設(shè)計分析4三、 技術(shù)要點5四、 主界面截圖8五、 總結(jié).11六、 完整的源程序.12七、 參考文獻(xiàn)20 一、需求分析設(shè)計一個背單詞系統(tǒng)。詞庫為“大學(xué)英語四級詞庫”或“大學(xué)英語六級詞庫”,可選擇記憶單詞的范圍可選擇單詞的顯示方式為“循環(huán)”或“隨機(jī)”,可調(diào)整
3、單詞顯示時的字體、大小和顏色等,可選擇單詞切換的速度。模擬英語詞庫由學(xué)生自行編寫。1) 運(yùn)行界面上安放Label,TextBox,CheckBox,OptionButton,ComboBox,HScrollBox,Timer,CommandButton控件。2) 可打開“大學(xué)英語四級詞庫”或“大學(xué)英語六級詞庫”,讀取有效內(nèi)容。3) 能夠?qū)崿F(xiàn)改變背景色,字體大小,顯示速度。4) 可選擇顯示單詞的字首字母范圍。5) 程序可“暫?!薄袄^續(xù)”,并可“退出”。6) 點擊“使用說明”,可提示相應(yīng)說明。二、設(shè)計分析(1)基本原理:創(chuàng)建程序和各按鈕,建立相應(yīng)控件與數(shù)據(jù)文件的連接。(2):總體設(shè)計:讀取詞庫文件
4、顯示(3)詳細(xì)設(shè)計:點擊開始讀取詞庫文件選擇詞庫及播放方式文本框按相應(yīng)字體大小,背景顏色,播放速度顯示。 三、技術(shù)要點A、時鐘與滾動 將時鐘的Interval設(shè)定為顯示速度滾動條的值的線性函數(shù)(Timer1.Interval = HScroll1.Value * 20),時鐘的速度便由滾動條的值控制,成為為可調(diào)的。為了循環(huán)的執(zhí)行,這里定義一個隨機(jī)變量k。隨著時鐘計時,當(dāng)text1中顯示內(nèi)容從左起的第一個字符的ASCII碼大于零,則其字幕顯示為前一個詞從第四位開始取長度為這個詞長度減三的部分和后一個詞前三位部分,k=k+3。而當(dāng)text1中顯示內(nèi)容從左起的第一個字符的ASCII碼小于零,則其字幕
5、顯示為前一個詞從第二位開始取長度為這個詞長度減一的部分和后一個詞第一位部分,k=k+1。如此便形成了字幕可以以不同速度滾動的效果。B、詞庫選擇與調(diào)用文檔 當(dāng)詞庫選擇的組合框1選擇大學(xué)英語四級詞匯時,便open大學(xué)英語四級詞匯的文本文檔命名為#1以input形式使用;當(dāng)詞庫選擇的組合框1選擇大學(xué)英語六級詞匯時,便open大學(xué)英語六級詞匯的文本文檔命名為#1以input形式使用。注意:文檔中的單詞按順序排列,一行一個,首字前有四個空格,每一次首字母變化前加入書寫“/”的一行,以便后面設(shè)定范圍之用。通過while循環(huán),文檔內(nèi)容以字符串nextline按行輸入遇到“/”則顯示空白。C、范圍設(shè)定 范圍設(shè)
6、定有兩個方面。1)若下限比上限小,下限設(shè)定為空白。如此便滿足了下限不比上限小的要求。2)組合框2和3 是用來設(shè)定范圍的,他們的每個選項都有一個編號ListIndex。設(shè)定上限時,我們再一次用到ASCII碼。當(dāng)用來存放nextline的數(shù)組s( )的元素s(m)的第五位(即單詞首字母)的ASCII碼比組合框2 的ListIndex+96的值大的時候,用來存放有效字符串的數(shù)組t(r)的下標(biāo)r開始計數(shù)。令s(m)=t(r),則上限設(shè)定成功。設(shè)定下限時,我們用變量j 來對“ /”計數(shù)。當(dāng)j比組合框3的ListIndex大時,跳出while循環(huán)。如此,下限便得到了控制。 D、對隨機(jī)顯示的控制 未選擇復(fù)選
7、框1時,用for循環(huán)按Text1.Text = Text1.Text & t(n)使字幕順序顯示;選擇時,用Randomize產(chǎn)生1到r-1之間的隨機(jī)數(shù),將r的值依次存入到數(shù)組a(n)中,用for循環(huán)按 Text1.Text = Text1.Text & t(a(n)使字幕隨機(jī)顯示。 E、循環(huán)控制 由于時鐘不會停,系統(tǒng)默認(rèn)的是循環(huán),所以我們只需對不選復(fù)選框2的情況進(jìn)行控制。我們在A中提到的k值,在這里開始顯示作用。當(dāng)k的值大于text1顯示內(nèi)容的總長度后,輸出空白,即不循環(huán)。F、字幕的左右移動 當(dāng)點擊按鈕5時,我們用Text1.Text = Mid(Text1.Text, 11
8、, Len(Text1.Text) - 10) & Left(Text1.Text, 10)來使字幕左移;當(dāng)點擊按鈕6時,我們用 Text1.Text = Mid(Text1.Text, Len(Text1.Text) - 9, 10) & Left(Text1.Text, Len(Text1.Text) - 10)來使字幕右移。四、主要界面截圖 五、總結(jié)通過這次課程設(shè)計,VB編程水平有了很大的提高。從最開始編寫這個程序到程序運(yùn)行,經(jīng)過對程序的反復(fù)調(diào)試與修改,深刻感受到編寫一個程序是一個漫長而辛苦的過程,需要編程人員具備足夠的耐心與細(xì)心。與此同時也培養(yǎng)我們查閱知識并通過自學(xué)掌握
9、知識的能力。程序的入手階段是困難的,首先要做一些準(zhǔn)備工作。要了解這個程序是干什么的,它應(yīng)具備怎樣的功能。當(dāng)明確了這些問題以后,就要針對不同的功能逐一的思考實現(xiàn)該功能的方法。對于每一個功能的實現(xiàn)需要用到那些知識,通過查閱相關(guān)知識,做到心中有數(shù),再進(jìn)行編程。編程時要先制定一個大的框架,用幾個模塊,什么模塊,那些事件過程,那些通用過程,當(dāng)大致的輪廓出來后再進(jìn)行深一步的編寫,考慮語句的語法、邏輯,各個通用過程的調(diào)用,事件過程的實現(xiàn)。這里會遇到真正難以解決的問題,要再次通過查閱多方資料并結(jié)合認(rèn)真思考來尋找解題思路。當(dāng)然在編程的過程中最重要的一點就是善于總結(jié),這樣可以避免重蹈覆轍。在程序編寫結(jié)束后,更要進(jìn)
10、行總結(jié),認(rèn)真思考怎樣編寫一個過程是簡便快捷的,在下次遇到同樣問題時可以節(jié)省時間,提高效率。 這次做課程設(shè)計,了解了程序的編制過程和基本的思維方法,同時也對編程產(chǎn)生了濃厚的興趣,希望能在課余時間多編制一些這樣的小程序,可以學(xué)到更多的知識,同時提高編程的速度,鍛煉思考方式,為我們今后的學(xué)習(xí)打下一個良好的基礎(chǔ)。六、完整的源程序(1)主界面(Form1):Dim i%, k%, m%, r%Private Sub Check1_Click()Check2.Value = 0If Check1.Value = 1 ThenCheck2.Enabled = FalseE
11、lseCheck2.Enabled = TrueEnd IfEnd Sub實現(xiàn)隨機(jī)與循環(huán)復(fù)選框的選擇Private Sub Combo2_click()Combo3_ClickEnd SubPrivate Sub Combo3_Click()If Combo3.ListIndex < Combo2.ListIndex ThenCombo3.Text = ""End IfEnd Sub防止出現(xiàn)上標(biāo)大于下標(biāo)出現(xiàn)Private Sub Command1_Click()Command2.Enabled = TrueDim j%, n%Dim s() As StringDim
12、t() As Stringj = 0k = 0m = 0r = 0Timer1.Interval = HScroll1.Value * 20If Combo1.Text = "大學(xué)英語四級詞匯" ThenOpen "E:背單詞程序完整大學(xué)英語四級.txt" For Input As #1ElseIf Combo1.Text = "大學(xué)英語六級詞匯" ThenOpen "E:背單詞程序完整大學(xué)英語六級詞匯.txt" For Input As #1End If詞庫選擇Do While Not EOF(1)On Erro
13、r Resume NextLine Input #1, nextlinem = m + 1ReDim Preserve s(m)s(m) = nextlineIf nextline = " /" Thenj = j + 1s(m) = ""End IfIf Asc(Mid(s(m), 5, 1) > Combo2.ListIndex + 96 Thenr = r + 1ReDim Preserve t(r)t(r) = s(m)End IfIf j > Combo3.ListIndex ThenExit DoEnd IfLoop將詞庫每行數(shù)據(jù)
14、存入s(n)中,下標(biāo)對應(yīng)行號。實現(xiàn)范圍選擇,并將范圍內(nèi)的每行數(shù)據(jù)存入t(r)中,下標(biāo)對應(yīng)行號。Select Case Check1.ValueCase 0Text1.Text = ""For n = 1 To rText1.Text = Text1.Text & t(n)Next nText1.Text=" " & Text1.Text 未選擇隨機(jī)時的文本輸出 Case 1Dim a() As StringDim Y%, X%, z%Text1.Text = ""z = r - 1For n = 1 To r - 1R
15、andomizeY = Int(z - 1) * Rnd) + 1ReDim Preserve a(n)a(n) = t(Y)For X = Y To z - 1t(X) = t(X + 1)將t()中已經(jīng)選擇存入a(n)中的元素剔除Next Xz = z - 1Next n將t(r)中的全部元素以隨機(jī)的順序存入a(n)For n = 1 To r - 1Text1.Text = Text1.Text & a(n)Next nText1.Text=" " & Text1.Text 隨機(jī)方式輸出End SelectCloseTimer1.Enabled = T
16、rueIf Command2.Caption = "繼續(xù)" ThenCommand2.Caption = "暫停"i = i + 1End SubPrivate Sub Command2_Click()If i Mod 2 = 0 ThenCommand2.Caption = "繼續(xù)": Timer1.Enabled = FalseElseCommand2.Caption = "暫停": Timer1.Enabled = TrueEnd Ifi = i + 1End SubPrivate Sub Command3_
17、Click()大學(xué)英語四六級.Visible = TrueForm1.Visible = FalseEnd SubPrivate Sub Command4_Click()Form2.Visible = TrueEnd SubPrivate Sub Command5_Click()Text1.Text = Mid(Text1.Text, 11, Len(Text1.Text) - 10) & Left(Text1.Text, 10)使?jié)L動字幕左移10位End SubPrivate Sub Command6_Click()Text1.Text = Mid(Text1.Text, Len(T
18、ext1.Text) - 9, 10) & Left(Text1.Text, Len(Text1.Text) - 10)使?jié)L動字幕右移10位End SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2窗口顯示居中Combo1.List(0) = "大學(xué)英語四級詞匯"Combo1.List(1) = "大學(xué)英語六級詞匯"Command2.Enabled = FalseCombo1.Text = Combo1.List(0)Com
19、bo2.List(0) = "A"Combo2.List(1) = "B"Combo2.List(2) = "C"Combo2.List(3) = "D"Combo2.List(4) = "E"Combo2.List(5) = "F"Combo2.List(6) = "G"Combo2.List(7) = "H"Combo2.List(8) = "I"Combo2.List(9) = "J"Com
20、bo2.List(10) = "K"Combo2.List(11) = "L"Combo2.List(12) = "M"Combo2.List(13) = "N"Combo2.List(14) = "O"Combo2.List(15) = "P"Combo2.List(16) = "Q"Combo2.List(17) = "R"Combo2.List(18) = "S"Combo2.List(19) = "
21、T"Combo2.List(20) = "U"Combo2.List(21) = "V"Combo2.List(22) = "W"Combo2.List(23) = "X"Combo2.List(24) = "Y"Combo2.List(25) = "Z" Combo2.ListIndex = 0Combo2.Text = Combo2.List(0)Combo3.List(0) = "A"Combo3.List(1) = "B&quo
22、t;Combo3.List(2) = "C"Combo3.List(3) = "D"Combo3.List(4) = "E"Combo3.List(5) = "F"Combo3.List(6) = "G"Combo3.List(7) = "H"Combo3.List(8) = "I"Combo3.List(9) = "J"Combo3.List(10) = "K"Combo3.List(11) = "L&q
23、uot;Combo3.List(12) = "M"Combo3.List(13) = "N"Combo3.List(14) = "O"Combo3.List(15) = "P"Combo3.List(16) = "Q"Combo3.List(17) = "R"Combo3.List(18) = "S"Combo3.List(19) = "T"Combo3.List(20) = "U"Combo3.List(21) =
24、 "V"Combo3.List(22) = "W"Combo3.List(23) = "X"Combo3.List(24) = "Y"Combo3.List(25) = "Z" Combo3.ListIndex = 25Combo3.Text = Combo3.List(25)Option1.Value = TrueCheck1.Value = 0Check2.Value = 0HScroll2.Value = 255HScroll3.Value = 255HScroll4.Value = 255End SubPrivate Sub HScroll1_Change()Timer1.Interval = HScroll1.Value * 20End SubPrivate Sub HScroll2_Change()Text1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)End SubPrivate Sub HScroll3_Change()Text1.BackColor = RGB(H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度木地板環(huán)保認(rèn)證與購銷信用評估合同
- 二零二五年度文化黨支部交流合作協(xié)議
- 2025年度智慧交通項目勞務(wù)合同風(fēng)險控制與優(yōu)缺點研究
- 2025年度月嫂家政服務(wù)與產(chǎn)后康復(fù)合同
- 2025年度物業(yè)費收取及公共設(shè)施維護(hù)管理合同
- 婦幼健康信息化發(fā)展趨勢試題及答案
- 2025年度終止房屋租賃合同雙方協(xié)商一致執(zhí)行細(xì)則
- 二零二五年度城市出租車安全運(yùn)營合作協(xié)議
- 二零二五年度分公司與總公司健康產(chǎn)業(yè)合作框架協(xié)議
- 二零二五年度模具維修與綠色制造技術(shù)合作協(xié)議
- 2025年湖北省七市州高三年級3月聯(lián)合統(tǒng)一調(diào)研測試 生物試卷(含答案解析)
- 山東省濟(jì)寧市2025年高考模擬考試(一模)思想政治試題(含答案)
- 現(xiàn)代企業(yè)組織架構(gòu)的動態(tài)調(diào)整策略
- 2024年人民防空知識競賽題庫及答案(50題)
- 水泵故障分析報告
- 印刷企業(yè)安全培訓(xùn)
- 社區(qū)獨居老人項目計劃書
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》專業(yè)解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024C0)【第2部分:131-273】
- 小學(xué)語文閱讀培訓(xùn)知識課件
- 商鋪二次轉(zhuǎn)租簡單合同范本2024年
- 初中新生成長規(guī)劃模板
評論
0/150
提交評論