VB公共基礎(chǔ)之算法小結(jié)_第1頁
VB公共基礎(chǔ)之算法小結(jié)_第2頁
VB公共基礎(chǔ)之算法小結(jié)_第3頁
VB公共基礎(chǔ)之算法小結(jié)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——VB公共基礎(chǔ)之算法小結(jié)求最大、最小值,求和,求乘積,求素數(shù),逆序排列(交換)例1(求最值):輸入10個數(shù),求最大值提醒:引入max保存當前最大值問題過程分析:

首先輸入第1個數(shù),max等于第1個數(shù)的值

輸入第2個數(shù),比較第2個數(shù)和max,假使第2個大于max,max就等于第2個數(shù)

輸入第3個數(shù),比較第3個數(shù)和max,假使第3個大于max,max就等于第3個數(shù)

輸入第4個數(shù),比較第4個數(shù)和max,假使第4個大于max,max就等于第4個數(shù)….

輸入第10個數(shù),比較第10個數(shù)和max,假使第10個大于max,max就等于第10個數(shù)

經(jīng)過比較發(fā)現(xiàn),第2個數(shù)到第10個數(shù)處理過程一致

重復(fù)執(zhí)行的動作:輸入第i個數(shù),比較第i個數(shù)和max,假使第i個大于max,max就等于第i個數(shù)(i從2到10)代碼如下:

x=inputbox(“〞)max=x

Fori=2to10step1

?處理第i個數(shù)的過程x=inputbox(“〞)Ifx>maxthenmax=xEndifNexti

Print“10個數(shù)中的最大值是〞

輸入第2個數(shù),判斷該數(shù)是否為-1.不為-1時執(zhí)行累加和,計數(shù)加1;重復(fù)上述步驟,直到輸入的數(shù)為-1為止。

分析發(fā)現(xiàn),重復(fù)執(zhí)行的步驟如下:輸入第i個數(shù),判斷該數(shù)是否為-1,不為-1時,累加該數(shù)到sum中,并將計數(shù)值加1.

當輸入為-1時,中止執(zhí)行上述步驟,計算平均值ave=sum/count.代碼如下:

Dimsumasinteger,countasinteger,xasinteger,aveasdoublesum=0:count=0

x=val(InputBox(“請輸入一個數(shù)〞))(為了進行第一次判斷,必需先輸入一個數(shù))whilex-1sum=sum+xcount=count+1

x=val(InputBox(“請輸入一個數(shù)”))(接著輸入后面的數(shù))Wend

ave=sum/count

例3(求累乘)步驟和求累加類似,只是需要把乘積值的初值賦值為1,注意乘積值的類型(結(jié)果可能很大,需要定義為long或者double).代碼如下:

(1)輸入值的個數(shù)給定(如10個)dimmulasdouble,xasInteger

mul=1(這一步千萬不能忘記)fori=1to10step1

x=val(InputBox(“請輸入一個數(shù)”))mul=mul*xnexti

(2)輸入值待定,以一定條件結(jié)束(如輸入-1時結(jié)束)dimmulasdouble,xasInteger,countasIntegermul=1

x=val(InputBox(“請輸入一個數(shù)”))Dowhilex-1mul=mul*x

x=val(InputBox(“請輸入一個數(shù)〞))Loop

例4(求素數(shù)):從鍵盤輸入一個整數(shù)(x),判斷這個整數(shù)是否為素數(shù)

判斷方法1:從2到x-1為止,依次取其中的每一個數(shù)i,假使x能夠被i整除,則x不是素數(shù)。若都不能被x整除,則x是素數(shù)x=inputbox(“〞)‘x=9,5Fori=2tox-1step1Ifxmodi=0then

ExitforEndifNextiIfik=i

Forj=i+1To7Ifa(k)>a(j)Thenk=jNextj

t=a(k):a(k)=a(i):a(i)=tNextiFori=1To7Printa(i);NextiEndSub例9冒泡排序OptionBase1

PrivateSubCommand1_Click()

Dima,tAsInteger,iAsInteger,kAsIntegera=Array(4,3,4,9,23,7,8)Fori=1To7-1'7為數(shù)組的上界Forj=7Toi+1Step-1Ifa(j-1)>a(j)Then

t=a(j-1):a(j-1)=a(j):

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論