版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、VB程序設(shè)計課題目程設(shè)計報(2016- 2017學(xué)年第1學(xué)期)排序演示學(xué)院:經(jīng)濟與管理學(xué)院班級:物流管理1502學(xué)號:姓名:指導(dǎo)教師:阮冰 時間:起2017年1月3日止1月6日一、課程設(shè)計基本信息課程代碼:05190124課程名稱:計算機基礎(chǔ)課程設(shè)計課程英文名稱:Computer-basedCourseDesign課程所屬單位(院(系)、教研室):數(shù)學(xué)與計算機學(xué)院計算機基礎(chǔ)課程 群課程面向?qū)I(yè):生物科學(xué)類、制藥工程、制藥工程 (生物制藥)、藥物制劑、 物流管理課程類型:必修課先修課程:大學(xué)計算機基礎(chǔ)通識選修課程、VisualBasic程序設(shè)計課程學(xué)分:1總學(xué)時:16二、課程設(shè)計目標(biāo)掌握所學(xué)語言
2、程序設(shè)計的方法,熟悉所學(xué)語言的開發(fā)環(huán)境及調(diào)試過程, 熟悉 所學(xué)語言中的數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)、語句結(jié)構(gòu)、運算方法,鞏固和加深對理論課 中知識的理解,提高學(xué)生對所學(xué)知識的綜合運用能力。 通過綜合設(shè)計要求達到下 列基本技能:1 培養(yǎng)查閱參考資料、手冊的自學(xué)能力,通過獨立思考深入鉆研問題,學(xué) 會自己分析、解決問題。2 通過對所選題目方案分析比較,確立方案,編制與調(diào)試程序,初步掌握 程序設(shè)計的方法,能熟練調(diào)試程序。3 系統(tǒng)設(shè)計編程簡練,可用,功能全面,并有一定的容錯能力。用戶界面 良好,有較好的輸出功能。在完成課題基本要求后,具有創(chuàng)新型設(shè)計,具有一定 的實用價值。4 根據(jù)個人的設(shè)計調(diào)試過程,撰寫設(shè)計報告。
3、?三、課程設(shè)計內(nèi)容利用已掌握的VB程序設(shè)計語言基礎(chǔ),以及面向?qū)ο蟮某绦蛟O(shè)計方法、事件 驅(qū)動的編程方式,進行應(yīng)用程序和系統(tǒng)的開發(fā)設(shè)計。在強化鞏固已有編程知識基 礎(chǔ)之上,訓(xùn)練新的設(shè)計與編程思路,通過綜合應(yīng)用所學(xué)知識設(shè)計、編制、調(diào)試實 用的 VisualBasic程序。四、課程設(shè)計要求1. 要求每個同學(xué)都要認(rèn)真對待,積極參與。2. 課程設(shè)計結(jié)束時,提交完成的所有源程序、相關(guān)文件和可執(zhí)行文件。同 時填寫并完成課程設(shè)計報告冊。3. 不符合要求的程序、設(shè)計報告、抄襲的設(shè)計報告或源程序代碼、在設(shè)計 中完全未參與的將作不及格處理。五、考核方式指導(dǎo)老師負(fù)責(zé)驗收程序的運行結(jié)果,并結(jié)合學(xué)生的工作態(tài)度、實際動手能力、
4、 創(chuàng)新精神和設(shè)計報告等進行綜合考評, 百分制計算,具體考核標(biāo)準(zhǔn)主要包含以下 幾個部分:1. 程序運行情況20分2. 程序功能的完善程度10分3. 程序結(jié)構(gòu)的合理性10分4. 對問題的答辯情況20分5. 創(chuàng)新情況10分6. 學(xué)生的工作態(tài)度與獨立工作能力 10分7. 設(shè)計報告內(nèi)容的規(guī)范性20分備注:1. 按規(guī)定時間填寫各階段文檔,學(xué)習(xí)態(tài)度加5分2. 設(shè)計報告內(nèi)容雷同扣40分,無調(diào)試過程問題分析扣10分,無參考文獻 扣10分3. 源程序無注釋則在程序結(jié)構(gòu)合理性扣10分六、課程設(shè)計主要參考資料VisualBasic程序設(shè)計教程第4版龔沛曾高等教育出版社VisualBasic程序設(shè)計實驗指導(dǎo)與測試第4版
5、龔沛曾高等教育出版社VisualBasic從入門到精通VisualBasic課程設(shè)計VisualBasic開發(fā)實戰(zhàn)1200例,七、課程設(shè)計計劃安排時間任務(wù)課程設(shè)計前一周選擇課程設(shè)計題目, 分析課題的要求,確定設(shè)計方案,完成報告冊中“課程設(shè)計概述”課程設(shè)計第1天按功能模塊編寫詳細設(shè)計說明,完成報告冊中“總體設(shè)計”課程設(shè)計第2天編寫程序、調(diào)試程序課程設(shè)計第3天編寫程序、調(diào)試程序,完成報告冊中“詳細設(shè)計”課程設(shè)計第4天調(diào)試程序,完成報告冊中“調(diào)試分析過程”課程設(shè)計第5天完成報告冊中“總結(jié)”、“參考文獻”、“課程設(shè)計評審表”部分內(nèi)容,提交課程設(shè)計報告、源程序、面試或答辯一、課程設(shè)計概述課 程 設(shè) 計
6、問 題 描 述本題主要是針對在程序設(shè)計中對 數(shù)值型數(shù)據(jù)進行排序的問題,這 雖然是最基本的數(shù)據(jù)處理操作,但本題不僅綜合了四種不同的排序算法: 比較法、選擇法、直接插入法和冒泡法,也涉及到了一些窗體編輯器, 快捷菜單的做法,定時器的編碼,使得本題更加的復(fù)雜,也增加了本題 的理解難度。本程序以動畫方式演示上述四種排序算法的排序過程,并可以比較 四種算法所需交換數(shù)據(jù)的次數(shù),從而對四種排序算法有一個比較直觀的 認(rèn)識,也可以對四種排序算法的排序效率進行對比。本程序還可以找出 所產(chǎn)生的10個隨機數(shù)中的最大值、最小值和平均值。設(shè)計 要 求1. 對所選題目方案分析比較,確立方案。2. 用戶界面良好,有較好的輸入
7、輸出能力。3. 編制與調(diào)試程序,初步掌握程序設(shè)計的方法,能熟練調(diào)試程序。4. 程序運行情況正常,程序功能完善,程序結(jié)構(gòu)合理。5. 系統(tǒng)設(shè)計編程可用,簡練,并有一定的容錯能力。6. 在完成基本要求后,最好能有一定的創(chuàng)新。設(shè) 計 目 的1. 以計算機語言程序設(shè)計(VB )課程為基礎(chǔ),目的是進一步培養(yǎng)學(xué) 生綜合應(yīng)用VB的各種編程知識和技巧進行程序設(shè)計的能力對本學(xué)期 VB課程學(xué)習(xí)的一個總結(jié),對所學(xué)知識的鞏固與加深。2. 開發(fā)和挖掘我們的創(chuàng)新和實踐能力,使我們達到具備設(shè)計功能較為復(fù) 雜的Windows應(yīng)用程序的能力。3. 通過課程設(shè)計,培養(yǎng)我們自主學(xué)習(xí)和獨立創(chuàng)新的精神, 也是人才培養(yǎng) 體系中極為重要的一
8、環(huán)。4. 掌握所學(xué)語言程序設(shè)計的方法,熟悉所學(xué)語言的開發(fā)環(huán)境及調(diào)試過 程,熟悉所學(xué)語言中的數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)、語句結(jié)構(gòu)、運算方法, 鞏固和加深對理論課中知識的理解,提高學(xué)生對所學(xué)知識的綜合運用 能力。開發(fā) 環(huán) 境.操作系統(tǒng): Windows10Sever/XP/Professional .處理器:486DX/66MH或更高的處理器.顯示器:VGA或更咼分辨率的顯示器.應(yīng)用軟件:系 統(tǒng) 功 能 需 求 分 析5.選擇“退出”命令可退出本程序,圖確認(rèn)退出對話 顏色設(shè)置二、總體設(shè)計(1)1. 程序啟動后,顯示圖所示的主界面。首先單擊“產(chǎn)生10個隨機數(shù)”按鈕來產(chǎn)生10個隨機數(shù),并顯示在 10個文本框中
9、;然后選擇一種“演示模式”和“排序 方式”,其中演示模式可以直接給出排序結(jié)果,也可以通過動畫動態(tài)演示整個排序過程,排序方式可以按從小到大順序,也可以按從大到小順序排序。圖啟動后的主界面2. 在主窗口的空白區(qū)單擊鼠標(biāo)右鍵,彈出如圖所示的快捷菜單。 從中選擇“排序算法”命令,打開圖所示的對話框, 從中選擇一種排序方式,單擊不同排序方式時,“算法描述”中簡要介紹了這種算法。單擊“確定”按鈕返回到主窗口,主窗口中最上方框架控件的標(biāo)題文字顯示當(dāng)前所選的排序算法。圖快捷菜單圖“排序算法選擇”對話框快捷菜單中有一 “從文件讀取數(shù)據(jù)” 命令,使用此命令可以從當(dāng)前目錄的文件 中讀入10個數(shù)。要使用這個命令,必須
10、事先建立這個文本文件。3. 設(shè)置完畢,單擊“開始排序”按鈕(此按鈕在生成數(shù)據(jù)之前是不可用的)啟動排序過程。若選擇了動畫方式 (見圖,紅色背景的文本框表示當(dāng)前正在比較的元素,黃色的代表己排序的元素,兩個運動的文本框表示交換過程。在排序過程中可以調(diào)節(jié)水平滾動條來控制演示的速度。排序結(jié)束后程序以消息框的形式報告數(shù)據(jù)交 換的次數(shù)(如圖??梢允褂每旖莶藛沃械摹皩?shù)據(jù)寫入文件”命令將排序后的數(shù)據(jù) 保存到“”中覆蓋原有內(nèi)容。圖程序主界面4. 選擇窗口主菜單中的 “顏色設(shè)置”命令,主窗口擴大,底部顯示“顏色設(shè)置” 框架(如圖所示),可以對“文本背景色”、“文本前景色”、“已排序元素色”和“交 換結(jié)點色”進行設(shè)
11、置。再選擇此命令,窗口恢復(fù)到原來大小。圖顯示交換次數(shù)圖系統(tǒng)主菜單程序顯示圖所示的對話框予以確認(rèn)。、總體設(shè)計(2)系 統(tǒng) 總 體 設(shè) 計 框 架窗體設(shè)計編寫代碼1. 基本窗體控件設(shè)計2. 菜單編輯器-快捷菜單的彈出3. 定時器的編碼4. 窗體編輯器-多重窗體1. 四種排序方法(比較法、選擇法,直接 插入法和冒泡法)2. 最大值,最小值, 平均值的計算3. 動畫演示4. 對話框彈出三、詳細設(shè)計1.窗體設(shè)計1.四個Frame控件-第一個Frame控件包含此問題的基本運算的也是 時刻會發(fā)生變化的控件。第二個和第三個Frame控件主要是對此程序運行方式的選擇。第四個Frame控件實質(zhì)是菜單項中“顏色設(shè)置
12、”單機事件的結(jié)果,是對 第一個Frame中控件運行時的顏色設(shè)置。個文本框數(shù)組-包括10框個隨機數(shù)文本框和兩個 '交換時運動著的文本主 要 功 能 模 塊 源 程3.菜單設(shè)計-下拉式菜單部分功能不同。分為兩部分,每排序第袪 從文伸讀職數(shù)據(jù)彈出式菜單険據(jù)寫人文件分為三部分,第一部分的單機事件會出現(xiàn)一個新的Form窗體。三、詳細設(shè)計4. 一個水平滾動條-對Frame中控件運動時的速度調(diào)控。5五個commanc按鈕-"產(chǎn)生十個隨機數(shù)"命令按鈕 1 ( 0)單擊事件會在前十 個文本框中產(chǎn)生十個隨機數(shù)"開始排序"命令按鈕 1 ( 2)在第二個和第三個 Fra
13、me中控件都被選擇后才會 有效,然后對十個隨機數(shù)進行不同方式的排序?!澳J(rèn)值”命令按鈕2是對文本框數(shù)組顏色設(shè)置的默認(rèn)按鈕。演示模式1直接給出排序結(jié)果林聊滿示排序過穗“停止”命令按鈕1( 2)在情況下才有效?!巴顺觥泵畎粹o3是用來結(jié)束該程序的運行。6 一個timer控件-對此程序運行時的時間間隔控制7 一個combo數(shù)組-包括四個combo控件Color1(0)文本背景色 Color1(1)文本前景色Color1(2)已排序元素色 Color1(3)交換元素色功2.代碼設(shè)計能 模 塊 源 程 序1.變量聲明Opti on ExplicitOptio nBase1Dima(10)Asl nteg
14、er 隨機數(shù)數(shù)組DimFirstAsI ntegerDimSec on dAsI ntegerPrivatembl nM ovi ngAsBoolea nDimSpeedAsI ntegerDiminColor1AsLong 文本背景色Dimi nColor2AsL ong 文本前景色DiminColor3AsLong已排序元素色DiminColor4AsLong 交換元素色Dimi nNu mAsLo ng交換次數(shù)Public in SortMethodAsI nteger排序算法 0-比較法,1-選擇法 2-直接插入法,3-冒泡法PrivateinSortOrderAsInteger排序方
15、向 0-升序 1-降序Privatei nShowModeAsI nteger演示模式,0-直接求解,1-動態(tài)演示2 . 1command1(0)-產(chǎn)生十個隨機數(shù)PrRandivateSubCommand1 (0) _Click() )mizeFori='To10a(i)=l nt(R nd*201)-100Text1(i).Text=a(i)Text1(i).BackColor=i nColor 1Text1(i).ForeColor=i nColor2 Nexti=True2command1( 1)-開始排序 PrivateSpbOptio n1_Click(l ndexAsI n
16、teger) in tShowMode=In dexEndSubPrivateSubOptio n2_Click(I ndexAsI nteger) in tSortOrder =ln dexEndSub當(dāng)排序結(jié)束后,會彈出如下一個對話框。代碼為:3command1(2)-停止程序的運行 PrivateSubComma nd3_Click() ="停止"T=False="繼續(xù)"Elseen="繼續(xù)"Then=TrueEndIfEndIfEndSub="停止"4command2默認(rèn)顏色的按鈕ColoinCoColoi
17、nCoColoFrame2Frame3 中 option 的 選擇直接 關(guān)系到隨 機數(shù)的排序方式resp on se=MsgBox('t 匕較法 排序完畢,交換次數(shù)為:"+Str(Num),vbOK On ly,'系統(tǒng) 提示")PrivateSubComma nd2_Click() 1(0) .L istI ndex=0 or1=vbGreen 文本背景色 1(1). List In dex=1 or2=vbBlack 文本前景色_1(2) .L istI ndex=2in Color3=vbYellow 已排序元素色ColoinCo5command3-退出
18、按鈕數(shù)組1(3) .L istI ndex=3 or4=vbRed交換元素色Combo1(0)的 list屬性,用index 區(qū)分背景顏色。Combo1(1)的 list 屬性,用 index 區(qū)分前景 顏色。名稱分別為Color1(0)文本背景色Color1(1)文本前景色Color1(2)已排序元素色 Color1(3)交換元素色每個combo又有不同的list,都為黑色,綠色,藍色,青色,紅色,黃色紫色 分布。用index區(qū)分PrivateSubColor1_Click(l ndexAsI nteger) DimiAsI ntegerSelectCase In dexCase8olor1
19、(0)文本背景色SelectCaseColor1(0).Listl ndexCase0in Color仁vbGree nCase1in Color仁vbBlueCase2in Color4 仁 vbRedCase3in Color41=vbYellowEn dSelectForI=1To10Text1(l).BackColor=i nColor1NextIEn dSelectFori=仃o10Text1(i).BackColor=i ntColor1NextiC0se1color1(1) 文本前景色SelectCaseColor1(1).List In dexCase0in Color4=vb
20、Gree nCase1in Color4=vbBlueCase2in Color4=vbRedCase3in Color4=vbYellowEn dSelectForI=1To10Text1(l).ForeColor=i nColor2NextIEn dSelectFori=1To10Nextiqase2SelectCaseColorl (2) .ListI ndexCaseOin Color4=vbGree nCase1in Color4=vbBlueCase2in Color4=vbRedCase3in Color4=vbYellowEn dSelectForl=1To10Text1(l)
21、.ForeColor=i nColor2NextIEn dSelectCabe3'處理正在交換的結(jié)點的背景色SelectCaseColor1 (3) .ListI ndexCase0in Color4=vbGree nCase1in Color4=vbBlueCase2in Color4=vbRedCase3in Color4=vbYellowEn dSelectForI=1To10Combo1(2)的 list 屬 性,用in dex區(qū)分已 排序元 素色。Combo1(3)的 list 屬性,用 index I區(qū) 分交換元素色。Text1(I).ForeColor=i nColor2
22、NextIEn dSelectEndSub4. 開始排序PrivateSubCommand1 (1) _Click() DimMinAsI nteger,MaxAsl nteger,sAsSi ngle Mi n=1000:Max=-1000:s=0Fori=1To10 lfe(i)>MaxThe nM ax=e(i) Ife(i)<Mi nThe nMin=e(i) s=s+e(i)Nexti=Max最大值=Min最小值=s/10平均值=TrueSelectCasei ntSortMethodCaseO比較法comparati on _sorte(),i ntSortOrderC
23、asel選擇法selectio n_sorte(),i ntSortOrderCase2直接插入法in sertio n_sorte(),i ntSortOrderCase3冒泡法bubble_sorte(),i ntSortOrderEn dSelectPrivateSubCommand1 (2) _Click()Exit_ClickEndSub5. 彈出菜單PrivateSubForm_MouseUp(ButtonAsl nteger,ShiftAs In teger,xAsSi ngle,YAsSingle)IfButto n=2The nPopupMe nuMe nu2EndIfEnd
24、Sub6. 下拉式菜單PrivateSubColor_Click()=+2000=True=TrueEndSubPrivateSubExit_Click()DimIAsI ntegerI=MsgBox("您真的要退出嗎?”,vbYesNo+vbQuestion+vbDefaultButton2,"請您確認(rèn)!")IfI=vbYesThe nEndEndIfEndSub8.彈出菜單中排序算法-四種同時出現(xiàn)新窗體2個Frame控件一個包含了一個option數(shù)組,是對排序方式的選擇 另一個包含了一個text控件,是對選中的 option的解釋1個commanc按鈕,是和F
25、orm1的銜接,決定了 Form1中十個隨機數(shù)的排序方式四、調(diào)試分析過程(1)1.在程序一運行時,沒有對 speed進行初定量,在程序運行后,動態(tài)演示時,負(fù)責(zé) 顯示交換元素的兩個文本框不運動,也沒有排序的作用。解決:在 Forml的load事件中增加了 speed=100語句。2 下拉式菜單與快捷菜單分離不開調(diào) 試 過 程 出 現(xiàn) 的 問 題 及 解 決 方 法彈婦:二取人 舌養(yǎng)I? 謖崔據(jù) 能1二導(dǎo)致快捷菜單不出現(xiàn)下拉式菜單又出現(xiàn)太多選項解決:增加第二個主菜單“彈出式菜單”3.快捷菜單無法彈出,且無法聯(lián)系到窗體彈岀菜單要用 PopupMen方法在單擊“排序算法”時,出現(xiàn)語句,聯(lián)系到Forml
26、,且不可見。4.對四種排序方法的編程混淆不清在網(wǎng)絡(luò)上查找資料,先了解四種排序方法的特點和區(qū)別。用簡單的語句解釋理 解,然后隨機列舉幾個數(shù)字,用排序方法依次排大小,總結(jié)規(guī)律。寫出排序方法的代碼。5.動態(tài)演示如何演變用Timer事件進行編程。四、調(diào)試分析過程(2)程序運行后,單擊下拉式菜單,對顏色進行設(shè)置,單擊“產(chǎn)生十 個隨機數(shù)”,可以看到隨機數(shù)所在文本框的背景色和前景色發(fā)生改變, 然后對演示模式和排序方式進行選擇1.當(dāng)選擇靜態(tài)演示時,會彈出如下對話框。單擊確定后,發(fā)現(xiàn)排序和最值,平均值的運算已完成。12345&?8910知祗如樓阿何闕I停止I2.當(dāng)動態(tài)演示時,正在排序元素和已排序元素文本背景色發(fā)生變化, 且兩個變化文本框會運動,在排序結(jié)束后,也會出現(xiàn)系統(tǒng)提示的對話 框。還可以通過對水平滾動條設(shè)置來調(diào)整交換速度 單擊右鍵會彈出快捷菜單單擊“停止”按鈕時,排序運動會暫停,再次單擊時又會重新啟動。單擊“退出按鈕時”,會出現(xiàn)對話框2.第二個窗體的選擇也關(guān)系到第一個窗體的運行 Option的選擇不同,窗體一中的排序方法也不同。五、總結(jié)設(shè) 計 用 到 的 知 識 占J 、1多窗體的設(shè)計與銜接2四種排序方法的運用與編程3彈出式菜單的運用4最大值,最小值,平均值的計算5定
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級健康教學(xué)參考計劃范文5篇
- 肝癌微波消融術(shù)
- 《愚人節(jié)中英文》課件
- 注冊安全工程師(安全生產(chǎn)管理知識)考試真題及試題答案
- 機能學(xué)實驗.呼吸功能不全
- 《倉儲管理導(dǎo)論》課件
- 2023年度內(nèi)蒙古自治區(qū)政府采購評審專家資格典型題匯編及答案
- 以發(fā)展為導(dǎo)向共創(chuàng)教育新篇章-2024年期末校長總結(jié)講話稿
- 課件教學(xué)培訓(xùn)內(nèi)容
- 高寒沼澤濕地退化等級劃分
- 淮安市2023-2024學(xué)年七年級上學(xué)期期末歷史試卷(含答案解析)
- 血液透析室護士長年終總結(jié)報告
- 露天礦山邊坡穩(wěn)定性分析與防治措施
- 培養(yǎng)學(xué)生深度思考的能力
- 【瑞幸咖啡財務(wù)分析報告(附財務(wù)報表)5300字(論文)】
- 過敏性鼻炎-疾病研究白皮書
- 烏頭堿中毒急診科培訓(xùn)課件-
- 三軸水泥攪拌樁施工質(zhì)量措施
- 貴州茅臺2023審計報告
- 幼兒園學(xué)前教育五以內(nèi)的數(shù)字比大小練習(xí)題
- 高速鐵路沉降觀測與評估
評論
0/150
提交評論