資源描述:
《《vb上機(jī)def》word版》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、實(shí)驗(yàn)D循環(huán)結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?.掌握For語(yǔ)句的使用。2.掌握Do語(yǔ)句的各種形式的使用。3.掌握如何控制循環(huán)條件,防止死循環(huán)或不循環(huán)。二、實(shí)驗(yàn)內(nèi)容1.利用單循環(huán)結(jié)構(gòu)顯示如圖D.1所示的界面。提示:循環(huán)體內(nèi)的顯示用String函數(shù)來(lái)實(shí)現(xiàn),找出循環(huán)控制變量與String函數(shù)內(nèi)字符個(gè)數(shù)的關(guān)系:即String(2*i-1,Trim(Str(i)))。其中Str(i)表示將數(shù)值型i轉(zhuǎn)換成字符串,Trim函數(shù)表示去除字符串兩邊的空格,因?yàn)閷?shù)值轉(zhuǎn)換成字符串后,系統(tǒng)自動(dòng)在數(shù)字前面符號(hào)位,正數(shù)為空格,負(fù)數(shù)為“—”,而String函數(shù)只取字
2、符串中的第一個(gè)字符,本例為空格,因此需要用Trim函數(shù)。2.用單循環(huán)實(shí)現(xiàn)如圖D.2所示的界面。圖D.1實(shí)驗(yàn)D.1運(yùn)行界面圖D.2實(shí)驗(yàn)D.2運(yùn)行界面3.計(jì)算當(dāng)?shù)趇項(xiàng)的值<時(shí)結(jié)束。提示:找出規(guī)律,第i項(xiàng)的分母是前一項(xiàng)的分母加i開始計(jì)數(shù)??衫肍or循環(huán)結(jié)構(gòu)的循環(huán)控制變量獲得項(xiàng)數(shù),當(dāng)某項(xiàng)達(dá)到規(guī)定的精度時(shí)就退出循環(huán)。4.計(jì)算π的近似值,π的計(jì)算公式為:注意:分別顯示當(dāng)n=10,100,1000時(shí)的結(jié)果,由此可見,此計(jì)算公式收斂程度如何?同時(shí)要防止大數(shù)相乘時(shí)結(jié)果溢出的問(wèn)題,將變量類型改為長(zhǎng)整型或?qū)崝?shù)類型。5.求…+,其中a是一個(gè)由
3、隨機(jī)數(shù)產(chǎn)生的1~9(包括1,9)中的一個(gè)正整數(shù),n是一個(gè)由隨機(jī)數(shù)產(chǎn)生的5~10(包括5,10)中的一個(gè)數(shù)。例如,當(dāng),a=2,n=5時(shí),提示:該題的關(guān)鍵是通項(xiàng)T是一個(gè)不斷在原來(lái)基礎(chǔ)上增加1位的過(guò)程,通項(xiàng)關(guān)系式為:T的初始值為0。6.編一程序,顯示出所有水仙花數(shù)。所謂水仙花數(shù),是指一個(gè)3位數(shù),其各位數(shù)字立方和等于該數(shù)字本身。例如,153是水仙花數(shù),因?yàn)?53=。提示:解該題有兩種方法:利用三重循環(huán),將三個(gè)數(shù)連成一個(gè)3位數(shù)進(jìn)行判斷。例如,將1~9連成一個(gè)九位數(shù)123456789,程序段如下:s=0Fori=1To9s=s*10
4、+iNexti利用單循環(huán)將一個(gè)3位數(shù)逐位分離后進(jìn)行判斷。例如,將一個(gè)九位數(shù)123456789,從右邊開始逐位分離,程序段如下:s=123456789DoWhiles>0s1=sMod10s=s10Prints1;‘從右邊開始顯示分離出的每一位Loop7.參閱教材例4.20,用迭代法求。求立方根的迭代公式為:迭代到為止,為方程的近似解。顯示a=3,27的值,并通過(guò)求的表達(dá)式加以驗(yàn)證。提示:假定的初始值為a,根據(jù)迭代公式求得,若,迭代結(jié)束;否則用代替繼續(xù)迭代。迭代的流程圖如圖D.3所示。圖D.3迭代法求根流程圖8.一個(gè)富翁
5、試圖與陌生人做一筆生意,換錢規(guī)則為:陌生人每天給富翁10萬(wàn)元錢,直到滿一個(gè)月(30天);而富翁第一天給陌生人1分錢,第二天2分錢,第天4分錢,……,富翁每天給陌生人的錢是前一天的兩倍,直到滿一個(gè)月。分別顯示富翁給陌生人的錢和陌生人給富翁的錢為多少?提示:設(shè)富翁第一天給出的錢為是0.01,第二天給出的錢為前一天的兩倍,即=2*,如此重復(fù)到30天,累計(jì)求得富翁給出的錢數(shù)遠(yuǎn)遠(yuǎn)超過(guò)陌生人給出的錢數(shù)10萬(wàn)*30=300萬(wàn)元。9.用計(jì)算機(jī)按排考試日程。期末某專業(yè)在周一~周六的6天時(shí)間內(nèi)要考X,Y,Z三門課程,考試順序?yàn)閄,Y,Z,規(guī)
6、定一天只能考一門,且Z只能安排在周五或周六考。編寫程序安排考試日程(即三門課各在哪天考),要求列出滿足條件的所有方案。實(shí)驗(yàn)E數(shù)組和自定義類型一,實(shí)驗(yàn)?zāi)康?,掌握數(shù)組的聲明,數(shù)組元素的引用。2,掌握固定長(zhǎng)度數(shù)組和動(dòng)態(tài)數(shù)組的使用差別。3,掌握數(shù)組常用的操作和常用算法。4,掌握列表框和組和框的使用。5,掌握自定義類型和數(shù)組的使用。二,實(shí)驗(yàn)內(nèi)容1.隨機(jī)產(chǎn)生30~100(包括30和100)的10個(gè)正整數(shù),求最大值,最小值,平均值,并顯示整個(gè)數(shù)組的值和結(jié)果,如圖E.1所示。圖E.1實(shí)驗(yàn)E.1運(yùn)行界面2.已知6個(gè)學(xué)生的成績(jī),通過(guò)對(duì)數(shù)組
7、賦初值的方法,利用String函數(shù),以每5分為一個(gè)“◆”顯示,并顯示學(xué)生的成績(jī),如圖E.2所示:圖E.2實(shí)驗(yàn)E.2運(yùn)行界面3.隨機(jī)產(chǎn)生20個(gè)學(xué)生成績(jī),統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)。即0~59,60~69,70~79,80~89,90~100,并顯示結(jié)果。產(chǎn)生的數(shù)據(jù)在Picture1顯示,統(tǒng)計(jì)結(jié)果在Picture2顯示,如圖E.3所示:圖E.3實(shí)驗(yàn)E.3運(yùn)行界面提示:本程序有兩個(gè)事件過(guò)程,都要用到存放20個(gè)學(xué)生的數(shù)組,因此在通用聲明段聲明一個(gè)數(shù)組,例,Dimmark%(19);在Command2事件過(guò)程中聲明一個(gè)數(shù)組s(9),分別存放
8、分?jǐn)?shù)段的人數(shù)。統(tǒng)計(jì)時(shí)的關(guān)鍵在于:確定每個(gè)人的分?jǐn)?shù)mark(i)與數(shù)組下標(biāo)s之間的關(guān)系,即:Fori=0To19k=mark(i)10SelectCasekCase0To5s(5)=s(5)+1Case9To10s(9)=s(9)+1Case6To8s(k)=s(k)+1EndSelectNexti4.隨機(jī)產(chǎn)生10個(gè)