資源描述:
《VB常用算法的介紹》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、....常用算法介紹VB算法(Algorithm):計算機解題的基本思想方法和步驟。算法的描述:是對要解決一個問題或要完成一項任務(wù)所采取的方法和步驟的描述,包括需要什么數(shù)據(jù)(輸入什么數(shù)據(jù)、輸出什么結(jié)果)、采用什么結(jié)構(gòu)、使用什么語句以及如何安排這些語句等。通常使用自然語言、結(jié)構(gòu)化流程圖、偽代碼等來描述算法。一、計數(shù)、求和、求階乘等簡單算法 此類問題都要使用循環(huán),要注意根據(jù)問題確定循環(huán)變量的初值、終值或結(jié)束條件,更要注意用來表示計數(shù)、和、階乘的變量的初值?! ±河秒S機函數(shù)產(chǎn)生100個[0,99]范
2、圍內(nèi)的隨機整數(shù),統(tǒng)計個位上的數(shù)字分別為1,2,3,4,5,6,7,8,9,0的數(shù)的個數(shù)并打印出來?! ”绢}使用數(shù)組來處理,用數(shù)組a(1to100)存放產(chǎn)生的確100個隨機整數(shù),數(shù)組x(1to10)來存放個位上的數(shù)字分別為1,2,3,4,5,6,7,8,9,0的數(shù)的個數(shù)。即個位是1的個數(shù)存放在x(1)中,個位是2的個數(shù)存放在x(2)中,……個位是0的個數(shù)存放在x(10)?! ⒊绦蚓帉懺谝粋€GetTJput過程中,代碼如下: PublicSubGetTJput()??? ???Dima(1To
3、100)AsInteger ???Dimx(1To10)AsInteger ???DimiAsInteger,pAsInteger ???'產(chǎn)生100個[0,99]范圍內(nèi)的隨機整數(shù),每行10個打印出來 ???Fori=1To100 ???????a(i)=Int(Rnd*100) ???????Ifa(i)<10Then ???????????Form1.PrintSpace(2);a(i); ???????Else ???????????Form1.PrintSpace(1);
4、a(i); ???????EndIf ???????IfiMod10=0ThenForm1.Print ???Nexti ???'統(tǒng)計個位上的數(shù)字分別為1,2,3,4,5,6,7,8,9,0的數(shù)的個數(shù),并將統(tǒng)計結(jié)果保存在數(shù)組x(1),x(2),...,x(10)中,將統(tǒng)計結(jié)果打印出來 ???Fori=1To100 ???????p=a(i)Mod10???'求個位上的數(shù)字 ???????Ifp=0Thenp=參考....10 ???????x(p)=x(p)+1 ???Nexti
5、 ???Form1.Print"統(tǒng)計結(jié)果" ???Fori=1To10 ???????p=i ???????Ifi=10Thenp=0 ???????Form1.Print"個位數(shù)為"+Str(p)+"共"+Str(x(i))+"個" ???Nexti EndSub 二、求兩個整數(shù)的最大公約數(shù)、最小公倍數(shù)分析:求最大公約數(shù)的算法思想:(最小公倍數(shù)=兩個整數(shù)之積/最大公約數(shù))??????(1)對于已知兩數(shù)m,n,使得m>n;??????(2)m除以n得余數(shù)r;??????(3)若r=0
6、,則n為求得的最大公約數(shù),算法結(jié)束;否則執(zhí)行(4);??????(4)m←n,n←r,再重復(fù)執(zhí)行(2)。????例如:求m=14,n=6的最大公約數(shù).???????m?????n???????r???????????????????????????????????????14?????6??????2????????????????????????????????????????????6??????2??????0 m=inputBox("m=") n=inputBox("n=") nm=
7、n*m Ifm0)???????????????????????????????????????m=n????????n=r????????r=mmodn???Loop???Print"最大公約數(shù)=",n Print"最小公倍數(shù)=",nm/n三、判斷素數(shù) 只能被1或本身整除的數(shù)稱為素數(shù)基本思想:把m作為被除數(shù),將2—INT()作為除數(shù),如果都除不盡,m就是素數(shù),否則就不是。(可用以下程序段實現(xiàn))
8、m=val(InputBox("請輸入一個數(shù)"))?????????Fori=2Toint(sqr(m))??????????????IfmModi=0Then???ExitFor??????????Nexti?????????Ifi>int(sqr(m))Then?????????????Print"該數(shù)是素數(shù)"?????????Else?????????????Print"該數(shù)不是素數(shù)"?????????EndIf 將其寫成一函數(shù),若為素數(shù)返回True,不是則返回False