




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機程序設計基礎(VB)實驗指導書主編:劉華偉單位:信息工程學院實驗一 VB6.0環(huán)境和程序設計初步一、實驗目的1學會使用VB開發(fā)環(huán)境。2學會建立、編輯、運行一個簡單的VB應用程序的全過程。3掌握變量的概念及使用。4通過程序實踐結合課堂例子,理解類、對象的概念,掌握屬性、事件、方法的應用。5學會如何用斷點調試程序二、實驗內容:1熟悉VB開發(fā)環(huán)境的標題欄、菜單欄、工具欄、窗體窗口、屬性窗口、工程資源管理器窗口、代碼窗口、立即窗口、窗體布局窗口、工具箱窗口的位置以及用法。2編寫一個四則運算的功能,在界面上輸入兩個數,并設置加減乘除四個按鈕,點擊不同的按鈕,顯示不同的運算結果。步驟:(1)建立用戶界面的對象。(2)對象屬性的設置。(3)對象事件過程及編程。(4)保存和運行程序。3自己編寫一個小程序,使用斷點技術來測試程序運行過程中的某一瞬間,某變量的值。步驟:(1) 在某一個事件過程中編寫一個5-10行的簡單程序。(2) 在測試行的左端打上斷點。(3) 運行程序,程序中斷時將鼠標放在測試變量上。實驗二 選擇結構程序設計一、 實驗目的1 掌握邏輯表達式的正確書寫形式。2 掌握單分支與雙分支語句的使用。3 掌握多分支條件語句的使用。4 掌握情況語句的使用與多分支條件語句的區(qū)別。二、 實驗內容1 P307實驗三的3.1,3.2,3.3,界面按自己思路設計。 其中實驗3.1要求用兩種方法實現(xiàn)。2 在界面上輸入4個數,求最大值和最小值并顯示,要求用兩種方法實現(xiàn)。提示:先編寫求最大值的程序,然后再編寫求最小值的程序。實驗三 循環(huán)和數組一、實驗目的1理解循環(huán)結構的思想2學會用for語句編寫程序3掌握數組的概念、用法4學會用for循環(huán)語句與數組結合來解決問題二、實驗內容(1)課本101頁第9題前兩小題(2)求1-2+3-4+5-6+99-100(3)在界面上設計5個文本框,輸入5個數并存入一數組中,通過for語句求出最大值,最小值以及和數,并在另外的幾個文本框中顯示出來.實驗四 簡單算法設計一、實驗目的1鞏固循環(huán)以及數組的知識2學習多重循環(huán)二、實驗內容1驗證歌德巴赫猜想:任意一個充分大的偶數,都可以分解成兩個質數的和。編一個程序,界面上有三個文本框,在一個文本框中輸入一個任意大的偶數,點擊按鈕后,在另兩個文本框中顯示出分解的兩個質數。當輸入的數小于5或者不是偶數時,用msgbox提示出錯信息。(要注意存盤,輸入的數據如果特別大,可能造成死機)。步驟:(1)先參照課本例題編寫一個如何判斷一個數是否是素數的小程序(2)用雙重循環(huán)來實現(xiàn)數的分割。2用數組結合自定義類型實現(xiàn)以下功能:首先從界面上依次輸入一些(不超過5個)學生的姓名和成績信息,每輸入一個學生信息,點擊一下“下一個”按鈕,輸入5個學生后,依次自動顯示出5個學生信息,然后在同一個窗體上設置查詢功能,使得能夠通過輸入學生的姓名進行查詢(設置姓名文本框以及查詢按鈕),若該姓名與曾經輸入的某個學生的姓名相同,則在窗體的左上角顯示出該學生姓名以及成績,如果不同,則給出相應提示信息,如果輸入的學生信息超過5個,給出出錯信息。步驟:(1)定義一個存放學生信息的數組。(2)每次輸入一個學生信息,都將其信息存入數組中。(3)每次輸入一個學生信息,都要判斷是否已經是第5個學生,如果是,就顯示數組中所有學生信息,如果超過5,則給出出錯信息。(4)輸入需要查詢的學生信息后,將其姓名與數組中存放的所有學生的信息進行比較,若存在相同,則顯示出所有信息,若不存在相同的,顯示相應提示信息。實驗五 過程一、實驗目的1掌握自定義函數過程和自過程的定義和調用方法。2掌握形參和實參的對應關系。3掌握變量、函數和過程的作用域。二、實驗內容1求出1-50的所有素數,并依次顯示在窗體的左上角,要求定義一個判斷一個數是否為素數的函數,通過調用函數的方式來逐一求得。步驟:(1)定義一個判斷一個數是否為素數的函數,首先確定參數的個數,類型,意義,然后確定返回值的類型。(2)通過循環(huán)的方法,將1-50的每個數都作為函數的參數調用一次,如果判斷結果為真,則顯示,若為假,則不顯示。2在三個文本框上輸入不等整數x,y,z,排列一下使得結果為xyz,并將結果依次顯示在窗體的左上角。要求定義一個交換兩個數的子過程,通過調用子過程的方式來求解。步驟:(1)復習課本83頁例4.4,吃透思想。(2)程序中三處用到交換兩個數的功能,因此將此功能定義成子過程。(3)在程序中將每一處交換兩個數的地方都換成子過程調用的形式。實驗六 常用控件和普通菜單設計一、實驗目的1掌握單選鈕、復選框、框架等控件的基本用法。2掌握菜單設計技術。二、實驗內容1做一個簡易考試系統(tǒng),包括兩道單選題,一道多選題(4個選項,正確答案為其中三個選項),一道填空題,要求所有的題目做在一個窗體界面上,題目及答案自定。評分標準為:單選題每題20分,多選題40分(錯選不得分,漏選:選中一個得10分,選中兩個得20分),填空題20分,滿分100分,共4道題,點擊提交按鈕,用msgbox函數顯示總成績以及每題的得分情況。步驟:先設計一個單選題,調試成功了再設計一個單選題,在調試成功了設計多選題,單選題主要考慮如何用框架分組,多選題主要考慮實現(xiàn)按照評分標準判分,最后設計分數的顯示功能。2設計一個三級菜單,每一級別并列項數不少于兩項。實驗七 項目實踐-五子棋軟件設計一、實驗目的1通過五子棋軟件設計或者自擬題目設計,鞏固本課程所學的各個章節(jié)重點知識。2通過開發(fā)一個較大的系統(tǒng),增強軟件開發(fā)能力。3通過調試系統(tǒng),增強邏輯思維能力。二、實驗內容1基本要求:(1)輸入兩個對手名字,然后進入游戲界面。(2)用鼠標點擊的方式在棋盤上擺放棋子,黑白交替。(棋盤15*15)(3)可以悔棋。(4)五子連在一起的時候能判斷勝利,并且顯示出勝利者的名字。(5)能夠將棋局的結果保存,保存該棋局結束的狀態(tài)、對手名字、 棋局名字(棋局名字在保存時由用戶在相應的界面下添入)(此功能要求用數據庫和文件兩種技術實現(xiàn))。(6)棋局能夠恢復,即重新打開,打開后出現(xiàn)棋局結束的狀態(tài)、對手名字(此功能要求用數據庫和文件兩種技術實現(xiàn))。2其它要求:(1)界面友好、漂亮。(2)程序盡可能無bug。(3)程序健壯性強,基本上達到無論用戶如何操作,軟件都不出錯,都有相應的處理方法。3設計步驟(1)首先做界面界面包括幾個窗體,窗體上有相應的控件。因為需要畫棋盤,所以必須有圖形容器,這里用picturebox框第一個窗體是登陸界面,因為玩家姓名需要在程序中不斷變換,因此需要將玩家名定義成兩個變量,又因為這兩個變量在幾個窗體中都用到,所以在模塊中定義為全局變量當五子棋主界面啟動之后,首先系統(tǒng)要自動繪制棋盤。思路:用直線繪制棋盤-直線是由點繪制的-每個點都有坐標-改變坐標系為用戶坐標系用戶坐標系的定義要在窗體啟動時實現(xiàn)。(2)坐標系的兩個頂點坐標的確定?考慮到五子棋15*15,確定棋盤坐標系頂點為(-8, 8),(8, -8)(3)棋子的繪制與存儲棋子的繪制用實心圓模式,顏色為黑色及白色兩種。棋子在內存中的存儲方式:因為表示各個棋子的數據類型都相同,所以考慮用數組存儲,因為棋盤是二維的,因此棋子用二維數組a存儲。a(i,j)表示用戶坐標(i,j)的棋子狀態(tài),0表示此處無棋子,1表示此處為黑子,2表示此處為白子,下棋初始時,棋盤所有位置的初始狀態(tài)都為0(4)下棋子的步驟鼠標點擊棋盤交叉點附近的位置,系統(tǒng)應實現(xiàn)自動識別鼠標點擊位置附近的交叉點解決方法:坐標系的變換已經將棋盤交叉點坐標整數化,因此系統(tǒng)所需要實現(xiàn)的功能即是將鼠標所點擊的位置坐標化為整數即可,例如將(6.2, -5.3)變成(6, -5)。在交叉點上交替下黑白棋子。解決方法:定義一個邏輯數據類型變量blackwhite,該變量的值為真時下黑子,為假時下白子,每下一個棋子,該變量的值都要取反(NOT)。(5)判斷贏棋每次下子時都必須進行贏棋判斷,判斷的依據是5個子按照橫線、豎線或斜線連成一行。解決方法:2層循環(huán)。當有一方勝利時,棋局結束,此時在棋盤上繼續(xù)點擊,將不再下棋。解決方法:設置一個邏輯變量wuziqi,其值為真時說明棋局沒有結束,可以在棋盤上放棋子,該值為假時,說明該棋局結束,不能放棋子。(6)五子棋保存棋局思路:保存棋局的功能即把內存中與棋局相關的數據(棋局名稱、棋子位置、棋子顏色、棋局狀態(tài)(即棋局是否結束)存入外存中,以便以后能夠恢復棋局。保存的實現(xiàn)用兩種技術實現(xiàn):文件和數據庫。采用數據庫技術實現(xiàn)棋局保存:數據庫設計:數據表字段:棋局名、x坐標、y坐標、該點狀態(tài)值、下棋狀態(tài)。每條記錄表示棋盤上一個存儲的點的信息。 要實現(xiàn)用數據庫保存數據,就必須使程序連接到數據庫上,這里用的是data控件,通過在程序中對data控件屬性的設置來連接數據庫、數據表。首先判斷如果輸入的棋局名和當前記錄的棋局名相等,說明表中有輸入棋局名對應的棋局信息,將其刪除,判斷過程是將用戶輸入的棋局名(字符串)從記錄集(即表)的棋局字段頂端至下逐一比較在表的最后,也就是最后一條記錄后加上新保存棋局的各條記錄因為棋盤上空點居多,大部分點的信息為0,因此只需保存有棋子的點的信息用文件技術進行棋局保存,思路相同。(7)五子棋恢復棋局思路:首先從數據庫文件中找到要恢復棋局的數據(即曾經保存的數據),然后把這些數據賦值給內存中相應的數組或者變量中,按照這些數據重新繪制棋盤和棋子,即完成了對棋局的恢復。窗體啟動事件應該完成的事情:組合框中應該顯示曾經保存的棋局名。因為每次保存棋局時,都是將棋局所有棋子的記錄添加在表的最后,因此表中關于棋局名的記錄只能是類似于aaabbbbccccc的形式,而不可能是abbcacc的形式,根據這個特點編程序取出表中不同的棋局名。具體算法:用一個字符串變量strfile初始值為空,從表的頂端向下依次移動記錄指針,如果當前記錄的棋局名字段和strfile不相等,說明進入另一個棋局的記錄中,將該棋局記錄的棋局名賦值給strfile,并加入到組合框中,一直到表中最后一個記錄因為要從數據庫中取出相關數據到a數組中,因此要將a數組所有數據清零。要建立一個data控件,與數據庫連接起來,而后識別棋局(即表中的棋局名字段與在列表框中選擇的棋局名比較),將數據庫該棋局中所有信息都賦值給a數組及相關變量。剛才僅僅是數據的恢復,即將數據庫中已經保存過的數據恢復到內存中,下一步應該根據內存中的數據重新繪制棋盤以及棋子。重新繪制棋盤是獨立的一塊功能,因此考慮用全局子過程來實現(xiàn),該子過程定義在模塊中。思路如下:清屏繪制棋盤根據a數組中的每一項的兩個下標來決定繪制棋子的位置,根據每一項的值是1還是2來決定在該位置繪制何顏色的棋子。決定該黑白方走的blackwhite變量當時沒有保存,可以采用在數據庫中保存的方式來解決,本例中解決方法是通過數黑白棋子個數來決定恢復棋局
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金融科技在財富管理領域的創(chuàng)新應用研究
- 2025年在線教育平臺課程進度跟蹤與用戶滿意度評價報告
- 工業(yè)互聯(lián)網平臺入侵檢測系統(tǒng)2025年可視化安全監(jiān)控優(yōu)化報告001
- 深度解讀2025年不良資產處置市場格局與創(chuàng)新模式發(fā)展報告
- 2025年醫(yī)院電子病歷系統(tǒng)優(yōu)化與醫(yī)療信息化人才培養(yǎng)策略報告
- 2025屆廣東省廣州市南沙區(qū)八年級英語第二學期期中達標測試試題含答案
- 咨詢工程師2017課件
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的臨床試驗監(jiān)測與數據收集報告
- 周長課件介紹
- 麻醉護理制度培訓課件
- 電力市場交易體系規(guī)則培訓PPT
- 內河船員(一類)輪機實操考試資料二三管輪
- 抽樣檢驗知識培訓
- 急性肺栓塞搶救流程
- 零件清理、精整作業(yè)指導書
- 2023年廣東省廣州市南沙區(qū)萬頃沙鎮(zhèn)社區(qū)工作人員考試模擬題含答案
- GB/T 9634.8-2018鐵氧體磁心表面缺陷極限導則第8部分:PQ型磁心
- GB/T 1094.16-2013電力變壓器第16部分:風力發(fā)電用變壓器
- GA 1016-2012槍支(彈藥)庫室風險等級劃分與安全防范要求
- 從亮劍看銷售精神-王朝之道
- word版DL/T5210.1-2012電力建設施工質量驗收及評定規(guī)程第1部分:土建工程
評論
0/150
提交評論