版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.雙重循環(huán):某些枚舉算法的問題比較復(fù)雜,需要通過復(fù)雜的雙重循環(huán)來實(shí)現(xiàn)。雙重循環(huán)就是循環(huán)的嵌套,在一層循環(huán)結(jié)構(gòu)內(nèi)部又是另一層循環(huán),其結(jié)構(gòu)如下所示:Fori=…語句塊
Forj=…語句塊
NextjNexti3.3枚舉算法及程序?qū)崿F(xiàn)(2)1.雙重循環(huán):某些枚舉算法的問題比較復(fù)雜,需要通過復(fù)雜的雙重此結(jié)構(gòu)由兩個(gè)For循環(huán)構(gòu)成,外循環(huán)是循環(huán)變量為i的循環(huán),內(nèi)循環(huán)是循環(huán)變量為j的循環(huán),這兩個(gè)循環(huán)之間的關(guān)系是嵌套關(guān)系,循環(huán)變量為i的循環(huán)將循環(huán)變量為j的循環(huán)包含在內(nèi),在循環(huán)執(zhí)行時(shí),外循環(huán)變量i每變化一次,都要執(zhí)行一次完整的內(nèi)循環(huán)。在枚舉算法中,有很多時(shí)候用到循環(huán)的嵌套來解決問題。此結(jié)構(gòu)由兩個(gè)For循環(huán)構(gòu)成,外循環(huán)是循環(huán)變量為i的循環(huán),內(nèi)循2.循環(huán)嵌套:循環(huán)嵌套的層數(shù)沒有具體限定,選考時(shí)的多重循環(huán)結(jié)構(gòu)一般只要求到雙重循環(huán)。多重循環(huán)在使用時(shí),每個(gè)循環(huán)必須只有一個(gè)唯一的變量名作為循環(huán)變量;在Next語句結(jié)束循環(huán)時(shí),必須內(nèi)循環(huán)先結(jié)束,不得出現(xiàn)互相交叉。3.編寫枚舉算法的程序要注意兩個(gè)要點(diǎn):①For循環(huán)的范圍要盡可能的小,這決定可能解的范圍是否已經(jīng)盡可能的??;②條件表達(dá)式必須要正確無誤,這決定哪些解才是真正的解。2.循環(huán)嵌套:循環(huán)嵌套的層數(shù)沒有具體限定,選考時(shí)的多重循環(huán)結(jié)4.素?cái)?shù)問題①素?cái)?shù)的概念素?cái)?shù)(質(zhì)數(shù))就是一個(gè)大于等于2的整數(shù),并且只能被1和本身整除,而不能被其他整數(shù)整除的數(shù)。②算法說明判別某數(shù)n是否是素?cái)?shù)的經(jīng)典算法是,對于n,從i=2,3,4,……,n-1依次判別能否被i整除,只要有一個(gè)能整除,n就不是素?cái)?shù),否則n是素?cái)?shù)。4.素?cái)?shù)問題③代碼實(shí)現(xiàn)Functionsushu(nAsLong)AsBoolean
'定義素?cái)?shù)函數(shù)
DimiAsLongFori=2Ton-1
If(nModi)=0ThenExitForNexti
Ifi=nthensushu=TrueEndFunction③代碼實(shí)現(xiàn)5.最大公約數(shù)問題①最大公約數(shù):就是幾個(gè)數(shù)共同最大的約數(shù)。②算法說明:用輾轉(zhuǎn)相除法求兩自然數(shù)m、n的最大公約數(shù),再由最大公約數(shù)求出最小公倍數(shù)。㈠首先,對于已知兩數(shù)m、n,比較并使得m>n;㈡m除以n得余數(shù)r;㈢若r=0,則n為求得的最大公約數(shù),算法結(jié)束;否則執(zhí)行步驟㈣;㈣使m=n,n=r再重復(fù)執(zhí)行㈡。5.最大公約數(shù)問題③代碼實(shí)現(xiàn):Functiongcd(mAsLong,nAsLong)AsLongDimtempAsLongIfm<nThentemp=m:m=n:n=tempDimrAsLongDowhile
r=mModn
Ifr=0ThenExitDo
m=n
n=rLoopgcd=nEndFunction③代碼實(shí)現(xiàn):本節(jié)課學(xué)習(xí)多重循環(huán)的程序?qū)崿F(xiàn)方法,難點(diǎn)是理解內(nèi)循環(huán)與外循環(huán)的概念,并能根據(jù)算法編寫簡單的多重循環(huán)代碼。掌握常見素?cái)?shù)問題算法與最大公約數(shù)問題算法??疾榉绞綖檫x擇題與填空題。本節(jié)課學(xué)習(xí)多重循環(huán)的程序?qū)崿F(xiàn)方法,難點(diǎn)是理解內(nèi)循環(huán)與外循環(huán)的有如下VB程序段:Fori=0to3
Forj=5to1Step-1Ifi*j>7Thens=i*j
NextjNexti則語句s=i*j的執(zhí)行次數(shù)是 (
)A.15 B.4 C.5 D.20C有如下VB程序段:C2.某工廠購入100千克原材料,每4千克原材料可以生產(chǎn)一件A產(chǎn)品,每5千克原材料可以生產(chǎn)一件B產(chǎn)品。下列VB程序的功能是:計(jì)算恰好用盡這些原材料時(shí),生產(chǎn)A產(chǎn)品和B產(chǎn)品數(shù)量的各種可能,并在列表框中輸出。2.某工廠購入100千克原材料,每4千克原材料可以生產(chǎn)一件PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
'x、y分別為A、B產(chǎn)品的數(shù)量
Forx=0To25Fory=0To20
If①Then
List1.AddItem“A產(chǎn)品”+Str(x)+“件,”+“B產(chǎn)品”+Str(y)+“件”
EndIf
②
NextxEndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入______________________________________________。(2)劃線②處應(yīng)填入______________________________________________。(x*4+y*5)=100NextyPrivateSubCommand1_Click()(x3.一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示中,如果數(shù)字“1”的個(gè)數(shù)多于數(shù)字“0”的個(gè)數(shù),則稱該整數(shù)為A類數(shù)。如十進(jìn)制整數(shù)26的二進(jìn)制表示為11010,26是一個(gè)A類數(shù)。下列VB程序的功能是:統(tǒng)計(jì)前1000個(gè)自然數(shù)中A類數(shù)的個(gè)數(shù),并在文本框Text1中輸出。3.一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示中,如果數(shù)字“1”的個(gè)數(shù)多于數(shù)字PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
DimsAsInteger
's為A類數(shù)的個(gè)數(shù)
DimtAsInteger
't為二進(jìn)制數(shù)中的“1”的個(gè)數(shù)
DimkAsInteger
'k為二進(jìn)制數(shù)中的“0”的個(gè)數(shù)
s=0
Fori=1To①n=i:t=0:k=0DoWhilen>0
IfnMod2=1Thent=t+1elsek=k+l
n=n\2LoopIf②Thens=s+1
Nexti
Text1.Text=Str(s)EndSub
請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入________。(2)劃線②處應(yīng)填入__________。1000t>kPrivateSubCommand1_Click()104.尋找勾股數(shù):“勾股數(shù)”是指滿足勾股定理關(guān)系的一組數(shù),也就是直角三角形三邊長恰好都取整數(shù)的特殊情況。3、4、5就是一組勾股數(shù)32+42=52。請編程實(shí)現(xiàn)30以內(nèi)能夠組成勾股數(shù)的整數(shù)組及組數(shù)。該程序運(yùn)行界面如下圖所示:4.尋找勾股數(shù):“勾股數(shù)”是指滿足勾股定理關(guān)系的一組數(shù),也就程序代碼如下:PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsSingle
DimsAsInteger
s=0
Fora=1To30Forb=a+1To30
c=①
If
②Then
s=s+1
List1.AddItem(Str(a)+Str(b)+Str(c))
EndIfNextb
Nexta
Label1.Caption=“共找到”+Str(s)+“勾股數(shù)?!盓ndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入______________。(2)劃線②處應(yīng)填入_______________________。注:該示例程序在素材文件夾下vb18文件夾中。Sqr(a^2+b^2)c=Int(c)Andc<=30程序代碼如下:Sqr(a^2+b^2)c=Int(c)An設(shè)計(jì)一個(gè)VB程序,求100以內(nèi)所有素?cái)?shù)的和。該程序運(yùn)行后界面如下:點(diǎn)擊“找素?cái)?shù)”按鈕Command1,在列表框List1中顯示所有100以內(nèi)的素?cái)?shù),并在標(biāo)簽Label1中顯示所有素?cái)?shù)的和。設(shè)計(jì)一個(gè)VB程序,求100以內(nèi)所有素?cái)?shù)的和。該程序運(yùn)行后界面程序代碼如下:PrivateSubCommand1_Click()
DimnAsInteger
DimiAsInteger
DimsumAsInteger
s=0
Forn=1To100For①
If(nModi)=0ThenExitForNextiIfi=nThen
List1.AddItemn
②EndIf
Nextn
Label1.Caption=“所有的素?cái)?shù)和為”+Str(sum)EndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入____________。(2)劃線②處應(yīng)填入_________________。sum=sum+ni=2ton-1程序代碼如下:sum=sum+ni=2ton-1某電視臺的直播節(jié)目結(jié)束后,主持人從參與短信投票的觀眾中抽取若干名幸運(yùn)觀眾。假設(shè)共有500名觀眾參與短信投票,抽獎程序的部分VB代碼如下,程序運(yùn)行時(shí)界面如圖所示。主持人在文本框Text1中輸入幸運(yùn)觀眾數(shù)量后,單擊“開始”按鈕Command1,在列表框List1中顯示幸運(yùn)觀眾的手機(jī)號碼。請?jiān)趧澗€處填入合適的代碼。某電視臺的直播節(jié)目結(jié)束后,主持人從參與短信投票的觀眾中抽取若Dima(1To500)AsString
'參與短信投票觀眾的手機(jī)號碼 'Form_load過程用于將參與短信投票觀眾的手機(jī)號碼存放到數(shù)組a中PrivateSubForm_Load() '該過程代碼略EndSubPrivateSubCommand1_Click()
DimnAsInteger
'幸運(yùn)觀眾的數(shù)量
DimtAsInteger
'幸運(yùn)觀眾的序號
DimiAsInteger
Randomize
(1)
List1.Clear
Fori=1Ton t=Int(Rnd*500)+1 DoWhile____(2)____=True
t=Int(Rnd*500)+1 Loop List1.AddltemMid(a(t),1,3)+“****”+Mid(a(t),8,4) NextiEndSubDima(1To500)AsString'參與 'check函數(shù)用于判斷隨機(jī)產(chǎn)生的幸運(yùn)觀眾的序號是否重復(fù)PrivateFunctioncheck(tAsInteger)AsBoolean '函數(shù)值為True表示序號重復(fù) '該函數(shù)代碼略EndFunction請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入_____________________________。(2)劃線②處應(yīng)填入_____________________________。n=Val(Text1.text)Check(t) 'check函數(shù)用于判斷隨機(jī)產(chǎn)生的幸運(yùn)觀眾的序號是否重復(fù)n將一張100元的鈔票兌換成面值為20元、10元和5元的鈔票,要求每種至少有1張,共有多少中不同的換法?程序運(yùn)行時(shí)的界面如下所示,點(diǎn)擊“計(jì)算方案”按鈕Command1,在列表框List1中顯示詳細(xì)的兌換方案列表,同時(shí)在標(biāo)簽Label1中顯示兌換方案的總數(shù)。將一張100元的鈔票兌換成面值為20元、10元和5元的鈔票,程序代碼如下所示:PrivateSubCommand1_Click()DimaAsInteger
'存儲20元張面值張數(shù)DimbAsInteger
'存儲10元張面值張數(shù)DimcAsInteger
'存儲5元張面值張數(shù)DimiAsInteger
'存儲兌換方案數(shù)i=0Fora=____①____
Forb=1To9Forc=1To19
If____②____Then
i=i+1
List1.AddItem”第”+Str(i)+”種方案:”+Str(a)+”*20+”+Str(b)+”*10+”+Str(c)+”*5”
EndIfNextc
NextbNextaLabel1.Caption=”共有”+Str(i)+”種兌換方案?!盓ndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入_______。(2)劃線②處應(yīng)填入_____________________。注:該示例程序在素材文件夾下vb20文件夾中。1to4a*20+b*10+c*5=100程序代碼如下所示:1to4a*20+b*10+c*5=1在1000個(gè)奇自然數(shù)中,計(jì)算恰好有三位為1的二進(jìn)制數(shù)的個(gè)數(shù)(例如19對應(yīng)的二進(jìn)制數(shù)10011,是一個(gè)符合題目要求的數(shù)字,而23對應(yīng)的10111,則不符合本題目的要求)。
解決此問題的算法如下:
計(jì)數(shù)器c的初值置為0在1000個(gè)奇自然數(shù)中,計(jì)算恰好有三位為1的二進(jìn)制數(shù)的個(gè)數(shù)( Fori=1To1000計(jì)算第i個(gè)奇數(shù)j:j=2]'使用除2取余法將j化成為二進(jìn)制數(shù),并統(tǒng)計(jì)其中1的位數(shù)w計(jì)數(shù)器w的初值置為0
Dowhilej>0
計(jì)算j除以2的余數(shù)n If余數(shù)n是1Thenw=w+1 j的值縮小1/2
Loop
Ifw=3Thenc=c+1輸出j輸出j的二進(jìn)制編碼
EndifNexti Fori=1To1000程序運(yùn)行界面如下:程序運(yùn)行界面如下:相應(yīng)的VB程序如下:PrivateSubCommand1_Click()DimcAsInteger,iAsInteger,jAsInteger,wAsInteger,nAsIntegerDimsAsStringList1.Clearc=0Fori=1To1000j=2*i-1w=0s=“”DoWhilej>0
'(1)
Ifn=1Thenw=w+1
'(2)
s=s+Str(n)LoopIfw=3Then
c=c+1
List1.AddItemStr((2*i-1))+“:”+sEndIfNextiLabel1.Caption=“個(gè)數(shù):”+Str(c)EndSubN=j\2j=j\2相應(yīng)的VB程序如下:N=j\2j=j\2程序加框處代碼有錯(cuò),請改正。(1)加框處①有錯(cuò),應(yīng)改為____________________。(2)加框處②有錯(cuò),應(yīng)改為____________________。注:該示例程序在素材文件夾下vb21文件夾中。n=jMod2j=j\2程序加框處代碼有錯(cuò),請改正。n=jMod2j=j\2求兩數(shù)最大公約數(shù)的VB程序代碼如下:Functiongcd(mAsLong,nAsLong)AsLongDimtempAsLongIfm<nThentemp=m:m=n:n=tempDimrAsLongDo
r=mModn
Ifr=0ThenExitDom=nn=rLoopgcd=nEndFunctionPrivateSubCommand1_Click()DimmAsLong,nAsLongDimrAsLongm=Val(InputBox(“請輸入第1個(gè)數(shù)”))n=Val(InputBox(“請輸入第2個(gè)數(shù)”))r=____________________________MsgBox“兩數(shù)最大公約數(shù)為”+Str(r)EndSub求兩數(shù)最大公約數(shù)的VB程序代碼如下:(1)該程序采用的算法是______________。(2)代碼中劃線處應(yīng)填入______________。注:該示例程序在素材文件下vb22文件夾中。gcd(m,n)輾轉(zhuǎn)相除法(1)該程序采用的算法是______________。gcd1.雙重循環(huán):某些枚舉算法的問題比較復(fù)雜,需要通過復(fù)雜的雙重循環(huán)來實(shí)現(xiàn)。雙重循環(huán)就是循環(huán)的嵌套,在一層循環(huán)結(jié)構(gòu)內(nèi)部又是另一層循環(huán),其結(jié)構(gòu)如下所示:Fori=…語句塊
Forj=…語句塊
NextjNexti3.3枚舉算法及程序?qū)崿F(xiàn)(2)1.雙重循環(huán):某些枚舉算法的問題比較復(fù)雜,需要通過復(fù)雜的雙重此結(jié)構(gòu)由兩個(gè)For循環(huán)構(gòu)成,外循環(huán)是循環(huán)變量為i的循環(huán),內(nèi)循環(huán)是循環(huán)變量為j的循環(huán),這兩個(gè)循環(huán)之間的關(guān)系是嵌套關(guān)系,循環(huán)變量為i的循環(huán)將循環(huán)變量為j的循環(huán)包含在內(nèi),在循環(huán)執(zhí)行時(shí),外循環(huán)變量i每變化一次,都要執(zhí)行一次完整的內(nèi)循環(huán)。在枚舉算法中,有很多時(shí)候用到循環(huán)的嵌套來解決問題。此結(jié)構(gòu)由兩個(gè)For循環(huán)構(gòu)成,外循環(huán)是循環(huán)變量為i的循環(huán),內(nèi)循2.循環(huán)嵌套:循環(huán)嵌套的層數(shù)沒有具體限定,選考時(shí)的多重循環(huán)結(jié)構(gòu)一般只要求到雙重循環(huán)。多重循環(huán)在使用時(shí),每個(gè)循環(huán)必須只有一個(gè)唯一的變量名作為循環(huán)變量;在Next語句結(jié)束循環(huán)時(shí),必須內(nèi)循環(huán)先結(jié)束,不得出現(xiàn)互相交叉。3.編寫枚舉算法的程序要注意兩個(gè)要點(diǎn):①For循環(huán)的范圍要盡可能的小,這決定可能解的范圍是否已經(jīng)盡可能的??;②條件表達(dá)式必須要正確無誤,這決定哪些解才是真正的解。2.循環(huán)嵌套:循環(huán)嵌套的層數(shù)沒有具體限定,選考時(shí)的多重循環(huán)結(jié)4.素?cái)?shù)問題①素?cái)?shù)的概念素?cái)?shù)(質(zhì)數(shù))就是一個(gè)大于等于2的整數(shù),并且只能被1和本身整除,而不能被其他整數(shù)整除的數(shù)。②算法說明判別某數(shù)n是否是素?cái)?shù)的經(jīng)典算法是,對于n,從i=2,3,4,……,n-1依次判別能否被i整除,只要有一個(gè)能整除,n就不是素?cái)?shù),否則n是素?cái)?shù)。4.素?cái)?shù)問題③代碼實(shí)現(xiàn)Functionsushu(nAsLong)AsBoolean
'定義素?cái)?shù)函數(shù)
DimiAsLongFori=2Ton-1
If(nModi)=0ThenExitForNexti
Ifi=nthensushu=TrueEndFunction③代碼實(shí)現(xiàn)5.最大公約數(shù)問題①最大公約數(shù):就是幾個(gè)數(shù)共同最大的約數(shù)。②算法說明:用輾轉(zhuǎn)相除法求兩自然數(shù)m、n的最大公約數(shù),再由最大公約數(shù)求出最小公倍數(shù)。㈠首先,對于已知兩數(shù)m、n,比較并使得m>n;㈡m除以n得余數(shù)r;㈢若r=0,則n為求得的最大公約數(shù),算法結(jié)束;否則執(zhí)行步驟㈣;㈣使m=n,n=r再重復(fù)執(zhí)行㈡。5.最大公約數(shù)問題③代碼實(shí)現(xiàn):Functiongcd(mAsLong,nAsLong)AsLongDimtempAsLongIfm<nThentemp=m:m=n:n=tempDimrAsLongDowhile
r=mModn
Ifr=0ThenExitDo
m=n
n=rLoopgcd=nEndFunction③代碼實(shí)現(xiàn):本節(jié)課學(xué)習(xí)多重循環(huán)的程序?qū)崿F(xiàn)方法,難點(diǎn)是理解內(nèi)循環(huán)與外循環(huán)的概念,并能根據(jù)算法編寫簡單的多重循環(huán)代碼。掌握常見素?cái)?shù)問題算法與最大公約數(shù)問題算法。考查方式為選擇題與填空題。本節(jié)課學(xué)習(xí)多重循環(huán)的程序?qū)崿F(xiàn)方法,難點(diǎn)是理解內(nèi)循環(huán)與外循環(huán)的有如下VB程序段:Fori=0to3
Forj=5to1Step-1Ifi*j>7Thens=i*j
NextjNexti則語句s=i*j的執(zhí)行次數(shù)是 (
)A.15 B.4 C.5 D.20C有如下VB程序段:C2.某工廠購入100千克原材料,每4千克原材料可以生產(chǎn)一件A產(chǎn)品,每5千克原材料可以生產(chǎn)一件B產(chǎn)品。下列VB程序的功能是:計(jì)算恰好用盡這些原材料時(shí),生產(chǎn)A產(chǎn)品和B產(chǎn)品數(shù)量的各種可能,并在列表框中輸出。2.某工廠購入100千克原材料,每4千克原材料可以生產(chǎn)一件PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
'x、y分別為A、B產(chǎn)品的數(shù)量
Forx=0To25Fory=0To20
If①Then
List1.AddItem“A產(chǎn)品”+Str(x)+“件,”+“B產(chǎn)品”+Str(y)+“件”
EndIf
②
NextxEndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入______________________________________________。(2)劃線②處應(yīng)填入______________________________________________。(x*4+y*5)=100NextyPrivateSubCommand1_Click()(x3.一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示中,如果數(shù)字“1”的個(gè)數(shù)多于數(shù)字“0”的個(gè)數(shù),則稱該整數(shù)為A類數(shù)。如十進(jìn)制整數(shù)26的二進(jìn)制表示為11010,26是一個(gè)A類數(shù)。下列VB程序的功能是:統(tǒng)計(jì)前1000個(gè)自然數(shù)中A類數(shù)的個(gè)數(shù),并在文本框Text1中輸出。3.一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示中,如果數(shù)字“1”的個(gè)數(shù)多于數(shù)字PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
DimsAsInteger
's為A類數(shù)的個(gè)數(shù)
DimtAsInteger
't為二進(jìn)制數(shù)中的“1”的個(gè)數(shù)
DimkAsInteger
'k為二進(jìn)制數(shù)中的“0”的個(gè)數(shù)
s=0
Fori=1To①n=i:t=0:k=0DoWhilen>0
IfnMod2=1Thent=t+1elsek=k+l
n=n\2LoopIf②Thens=s+1
Nexti
Text1.Text=Str(s)EndSub
請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入________。(2)劃線②處應(yīng)填入__________。1000t>kPrivateSubCommand1_Click()104.尋找勾股數(shù):“勾股數(shù)”是指滿足勾股定理關(guān)系的一組數(shù),也就是直角三角形三邊長恰好都取整數(shù)的特殊情況。3、4、5就是一組勾股數(shù)32+42=52。請編程實(shí)現(xiàn)30以內(nèi)能夠組成勾股數(shù)的整數(shù)組及組數(shù)。該程序運(yùn)行界面如下圖所示:4.尋找勾股數(shù):“勾股數(shù)”是指滿足勾股定理關(guān)系的一組數(shù),也就程序代碼如下:PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsSingle
DimsAsInteger
s=0
Fora=1To30Forb=a+1To30
c=①
If
②Then
s=s+1
List1.AddItem(Str(a)+Str(b)+Str(c))
EndIfNextb
Nexta
Label1.Caption=“共找到”+Str(s)+“勾股數(shù)?!盓ndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入______________。(2)劃線②處應(yīng)填入_______________________。注:該示例程序在素材文件夾下vb18文件夾中。Sqr(a^2+b^2)c=Int(c)Andc<=30程序代碼如下:Sqr(a^2+b^2)c=Int(c)An設(shè)計(jì)一個(gè)VB程序,求100以內(nèi)所有素?cái)?shù)的和。該程序運(yùn)行后界面如下:點(diǎn)擊“找素?cái)?shù)”按鈕Command1,在列表框List1中顯示所有100以內(nèi)的素?cái)?shù),并在標(biāo)簽Label1中顯示所有素?cái)?shù)的和。設(shè)計(jì)一個(gè)VB程序,求100以內(nèi)所有素?cái)?shù)的和。該程序運(yùn)行后界面程序代碼如下:PrivateSubCommand1_Click()
DimnAsInteger
DimiAsInteger
DimsumAsInteger
s=0
Forn=1To100For①
If(nModi)=0ThenExitForNextiIfi=nThen
List1.AddItemn
②EndIf
Nextn
Label1.Caption=“所有的素?cái)?shù)和為”+Str(sum)EndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入____________。(2)劃線②處應(yīng)填入_________________。sum=sum+ni=2ton-1程序代碼如下:sum=sum+ni=2ton-1某電視臺的直播節(jié)目結(jié)束后,主持人從參與短信投票的觀眾中抽取若干名幸運(yùn)觀眾。假設(shè)共有500名觀眾參與短信投票,抽獎程序的部分VB代碼如下,程序運(yùn)行時(shí)界面如圖所示。主持人在文本框Text1中輸入幸運(yùn)觀眾數(shù)量后,單擊“開始”按鈕Command1,在列表框List1中顯示幸運(yùn)觀眾的手機(jī)號碼。請?jiān)趧澗€處填入合適的代碼。某電視臺的直播節(jié)目結(jié)束后,主持人從參與短信投票的觀眾中抽取若Dima(1To500)AsString
'參與短信投票觀眾的手機(jī)號碼 'Form_load過程用于將參與短信投票觀眾的手機(jī)號碼存放到數(shù)組a中PrivateSubForm_Load() '該過程代碼略EndSubPrivateSubCommand1_Click()
DimnAsInteger
'幸運(yùn)觀眾的數(shù)量
DimtAsInteger
'幸運(yùn)觀眾的序號
DimiAsInteger
Randomize
(1)
List1.Clear
Fori=1Ton t=Int(Rnd*500)+1 DoWhile____(2)____=True
t=Int(Rnd*500)+1 Loop List1.AddltemMid(a(t),1,3)+“****”+Mid(a(t),8,4) NextiEndSubDima(1To500)AsString'參與 'check函數(shù)用于判斷隨機(jī)產(chǎn)生的幸運(yùn)觀眾的序號是否重復(fù)PrivateFunctioncheck(tAsInteger)AsBoolean '函數(shù)值為True表示序號重復(fù) '該函數(shù)代碼略EndFunction請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入_____________________________。(2)劃線②處應(yīng)填入_____________________________。n=Val(Text1.text)Check(t) 'check函數(shù)用于判斷隨機(jī)產(chǎn)生的幸運(yùn)觀眾的序號是否重復(fù)n將一張100元的鈔票兌換成面值為20元、10元和5元的鈔票,要求每種至少有1張,共有多少中不同的換法?程序運(yùn)行時(shí)的界面如下所示,點(diǎn)擊“計(jì)算方案”按鈕Command1,在列表框List1中顯示詳細(xì)的兌換方案列表,同時(shí)在標(biāo)簽Label1中顯示兌換方案的總數(shù)。將一張100元的鈔票兌換成面值為20元、10元和5元的鈔票,程序代碼如下所示:PrivateSubCommand1_Click()DimaAsInteger
'存儲20元張面值張數(shù)DimbAsInteger
'存儲10元張面值張數(shù)DimcAsInteger
'存儲5元張面值張數(shù)DimiAsInteger
'存儲兌換方案數(shù)i=0Fora=____①____
Forb=1To9Forc=1To19
If____②____Then
i=i+1
List1.AddItem”第”+Str(i)+”種方案:”+Str(a)+”*20+”+Str(b)+”*10+”+Str(c)+”*5”
EndIfNextc
NextbNextaLabel1.Caption=”共有”+Str(i)+”種兌換方案?!盓ndSub請?jiān)趧澗€處填入合適代碼。(1)劃線①處應(yīng)填入_______。(2)劃線②處應(yīng)填入_____________________。注:該示例程序在素材文件夾下vb20文件夾中。1to4a*20+b*10+c*5=100程序代碼如下所示:1to4a*20+b*10+c*5=1在1000個(gè)奇自然數(shù)中,計(jì)算恰好有三位為1的二進(jìn)制數(shù)的個(gè)數(shù)(例如19對應(yīng)的二進(jìn)制數(shù)10011,是一個(gè)符合題目要求的數(shù)字,而23對應(yīng)的10111,則不符合本題目的要求)。
解決此問題的算法如下:
計(jì)數(shù)器c的初值置為0在1000個(gè)奇自然數(shù)中,計(jì)算恰好有三位為1的二進(jìn)制數(shù)的個(gè)數(shù)( Fori=1To1000計(jì)算第i個(gè)奇數(shù)j:j=2]'使用除2取余法將j化成為二進(jìn)制數(shù),并統(tǒng)計(jì)其中1的位數(shù)w計(jì)數(shù)器w的初值置為0
Dow
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店餐飲部年度工作計(jì)劃(24篇)
- 安徽省亳州市渦陽縣2024-2025學(xué)年高一上學(xué)期10月月考 化學(xué)試題(含答案解析)
- 腦出血個(gè)案護(hù)理分享
- 學(xué)校減輕校外培訓(xùn)負(fù)擔(dān)實(shí)施方案
- 擼一口鹵味調(diào)查問卷
- 六年級語文下冊 第四單元測試卷3(有答案)(部編版)
- 冀教版六年級上冊數(shù)學(xué)期末考試試題及答案
- 北師大五年級下冊數(shù)學(xué)專項(xiàng)試卷-方法技能提升卷2 抽象的空間想象能力
- 護(hù)理工作核心制度培訓(xùn)
- 商場第三方免責(zé)協(xié)議書(2篇)
- 淘寶品牌授權(quán)書
- 《有機(jī)化學(xué)》課程教案
- 傳統(tǒng)文化融入思政課教學(xué)探究
- 遠(yuǎn)大住工-裝配式建筑發(fā)展現(xiàn)狀和技術(shù)標(biāo)準(zhǔn)
- 打造機(jī)關(guān)文化方案
- 貴州省貴陽市2022-2023學(xué)年高一上學(xué)期期末監(jiān)測地理試題(含答案)
- 鋼結(jié)構(gòu)質(zhì)量控制要點(diǎn)與管理
- 江西省2023年高等職業(yè)院校單獨(dú)招生考試-江西電力職業(yè)技術(shù)學(xué)院-樣卷
- 《體育課堂常規(guī)》課件
- 繪本《圖書館獅子》
- 浙江省溫州市普通高中2024屆高三上學(xué)期第一次適應(yīng)性考試數(shù)學(xué)試題(解析版)
評論
0/150
提交評論