《循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 》PPT課件

上傳人:san****019 文檔編號(hào):22344114 上傳時(shí)間:2021-05-24 格式:PPT 頁數(shù):102 大?。?49KB
收藏 版權(quán)申訴 舉報(bào) 下載
《循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 》PPT課件_第1頁
第1頁 / 共102頁
《循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 》PPT課件_第2頁
第2頁 / 共102頁
《循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 》PPT課件_第3頁
第3頁 / 共102頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 》PPT課件(102頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、Visual Basic第五章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 四 種 基 本 結(jié) 構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)方法的四種基本結(jié)構(gòu): 順序 分支 循環(huán) 過程(函數(shù)和子程序)僅使用四種基本的控制結(jié)構(gòu)來編寫程序。 每種控制結(jié)構(gòu)只有一個(gè)入口和一個(gè)出口。 循 環(huán) 結(jié) 構(gòu) 在實(shí)際工作中,經(jīng)常遇到一些操作過程并不復(fù)雜,但又需要反復(fù)進(jìn)行相同處理的問題,比如,統(tǒng)計(jì)本單位所有人員的工資,求全班同學(xué)各科的平均成績(jī)等等。解決這些問題從邏輯上說并不復(fù)雜,但如果單純用順序結(jié)構(gòu)來處理,那將得到一個(gè)非常乏味和冗長(zhǎng)的程序。 循 環(huán) 結(jié) 構(gòu)n ForNext 語句。n WhileWend 語句。n DoLoop 語句。 For循 環(huán) 語 句語法: Fo

2、r 循環(huán)變量初值 to 終值 Step 步長(zhǎng) 語句塊Exit For循環(huán)體 語句塊 Next 循環(huán)變量其中:循環(huán)變量,必須為數(shù)值型變量。初值、終值、步長(zhǎng),均為數(shù)值型表達(dá)式。省略Step子句則步長(zhǎng)為1。 For語句、Next語句中的循環(huán)變量必須相同。 功能:For: 循環(huán)變量置初值、確定終值和步長(zhǎng)。 判斷是進(jìn)入循環(huán)還是跳過循環(huán)。Next:實(shí)現(xiàn)循環(huán)變量“增值”。 判斷是繼續(xù)循環(huán)還是跳出循環(huán)。循環(huán)終止條件:循環(huán)變量的值沿變化方向“超過”終值。For循 環(huán) 語 句 For循 環(huán) 的 流 程 圖循環(huán)變量賦初值、計(jì)算終值、步長(zhǎng)。 執(zhí)行循環(huán)體 循環(huán)變量超過終值?循環(huán)變量增值For語句Next語句是 是否否循

3、環(huán)變量超過終值? 看 幾 個(gè) 簡(jiǎn) 單 的 例 子例1:Dim i As IntegerFor i = 1 To 5Print i,Next i注意:在 For 語句中沒有 Step 子句,缺省的步長(zhǎng)是 1 。循環(huán)變量 i 的變化方向是從小到大,“超過”終值指的是大于終值。 讓我們走一走程序 看 幾 個(gè) 簡(jiǎn) 單 的 例 子例2:Dim i As IntegerFor i = 5 To 1 Step -2Print i,Next i注意:步長(zhǎng)不是 1 , For 語句中不能省略 Step 子句。循環(huán)變量 i 的變化方向是從大到小,“超過”終值指的是小于終值。 讓我們走一走程序 看 幾 個(gè) 簡(jiǎn) 單

4、的 例 子例3:Dim i As IntegerFor i = 1 To 5 Step -3Print i,Next i循環(huán)體一次也不執(zhí)行 ! 循 環(huán) 次 數(shù) 的 計(jì) 算 在For循環(huán)中,循環(huán)體的循環(huán)次數(shù)由初值、終值和步長(zhǎng)三個(gè)表達(dá)式的值確定,計(jì)算公式為: 循環(huán)次數(shù) = Int( 終值 - 初值 ) / 步長(zhǎng) ) + 1 For循環(huán)主要用于循環(huán)次數(shù)已知或可以用一個(gè)表達(dá)式計(jì)算出來的題目中。 循 環(huán) 變 量 的 用 法 循環(huán)變量的兩個(gè)主要作用: 用于控制循環(huán)的次數(shù); 用作數(shù)組元素的下標(biāo)。 先看一個(gè)例子:Dim i As IntegerFor i = 1 TO 5Print i,i = i + 1Ne

5、xt i讓我們走一走 程序 一 個(gè) 原 則在For循環(huán)的循環(huán)體中只引用循環(huán)變量的值;不改變循環(huán)變量的值。 求 S=1+2+10題目分析:累加類型的題目,使用累加結(jié)構(gòu)的賦值語句。程序如下:Dim s As Integer, i As Integers = 0For i = 1 To 10s = s + iNext iPrint “S=”; s 求 T=1*2*10題目分析:累乘類型的題目,使用累乘結(jié)構(gòu)的賦值語句。程序如下:Dim t As Double, i As Integert = 1For i = 1 To 10t = t * iNext iPrint “T=”; t Exit For 語

6、 句語法:Exit For 功能: 退出當(dāng)前循環(huán)。 Exit For 語句一般與 If 語句一起使用。For i = If 邏輯表達(dá)式 then Exit For Next i 例題:將1100間各奇數(shù)(1、3、5、7)順序累加,直到其和大于100時(shí)為止。Dim s As Integer, i As Integers = 0For i = 1 To 100 Step 2s = s + iIf s 100 then Exit ForNext iPrint “S=”; sExit For 語 句 WhileWend語 句語法:While 邏輯表達(dá)式循環(huán)體Wend功能: 如果邏輯表達(dá)式的值為 Tru

7、e,則執(zhí)行循環(huán)體,一直執(zhí)行到 Wend 語句。然后再回到 While 語句,并再一次檢查邏輯表達(dá)式的值,如果 還是為 True,則重復(fù)執(zhí)行。如果不為 True,執(zhí)行Wend語句的下一句。 例題:將1100間各奇數(shù)(1、3、5、7)順序累加,直到其和大于100時(shí)為止。Dim s As Integer, i As Integers = 0i = 1While s 100 then Exit Doi = i + 2LoopPrint “S=“; sDoLoop語 句讓我們走一走 程序 DoLoop語句的三種主要用法:2、當(dāng)型Do循環(huán)Do While 邏輯表達(dá)式循環(huán)體Loop注意:當(dāng)型Do循環(huán)是前測(cè)試

8、型,循環(huán)體有可能一次也不執(zhí)行。DoLoop語 句 DoLoop語 句例題:將1100間各奇數(shù)(1、3、5、7)順序累加,直到其和大于100時(shí)為止。Dim s As Integer, i As Integers = 0 : i = 1Do While s 100Print “S=“; s讓我們走一走程序 循 環(huán) 的 五 種 結(jié) 構(gòu)n For If 型循環(huán)n While Wend 型循環(huán)n Do If 型循環(huán)n 當(dāng)型 Do 循環(huán)n 直到型 Do 循環(huán) For If 型 循 環(huán)For 循環(huán)變量初值 to 終值 Step 步長(zhǎng) If 邏輯表達(dá)式 Then Exit For Next 循環(huán)變量 Whil

9、eWend 型 循 環(huán)While 邏輯表達(dá)式 Wend Do If 型 循 環(huán)Do If 邏輯表達(dá)式 Then Exit Do Loop 當(dāng) 型 Do 循 環(huán)Do While 邏輯表達(dá)式 Loop 直 到 型 Do 循 環(huán)Do Loop Until 邏輯表達(dá)式 循 環(huán) 的 嵌 套 在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán),這樣的結(jié)構(gòu)稱為多重循環(huán)或循環(huán)的嵌套。在程序設(shè)計(jì)時(shí),許多問題要用二重或多重循環(huán)才能解決。For循環(huán)、While循環(huán)、Do循環(huán)都可以互相嵌套。 多重循環(huán)的執(zhí)行過程是外循環(huán)執(zhí)行一次,內(nèi)循環(huán)執(zhí)行一遍,在內(nèi)循環(huán)結(jié)束后,再進(jìn)行下一次外循環(huán),如此反復(fù),直到外循環(huán)結(jié)束。 循 環(huán) 嵌 套 的 規(guī)

10、則只許嵌套,不許交叉;只許轉(zhuǎn)出,不許轉(zhuǎn)入。 For ii =1 To 10 For jj=1 To 20 Next ii Next jj For ii =1 To 10 For ii=1 To 20 Next ii Next ii For ii =1 To 10 For jj=1 To 20 Next jj Next ii For ii =1 To 10 Next ii For ii =1 To 10 Next ii 循 環(huán) 嵌 套 的 規(guī) 則 一 個(gè) 簡(jiǎn) 單 的 二 重 循 環(huán)Dim i As Integer, j As IntegerFor i = 1 To 4 Print , For j

11、 = 1 To 4 Print i; j, Next j Print Next i 一 個(gè) 簡(jiǎn) 單 的 二 重 循 環(huán) 打 印 九 九 乘 法 表 打 印 九 九 乘 法 表Private Sub Form_Click()Dim i As Integer, j As Integer, str As StringPrint : Print : Print Print Tab(40); 九九乘法表“ : PrintFor i = 1 To 9Print Tab(6); For j = 1 To 9 str = i str; Next j : PrintNext i End Sub 有 一 個(gè) 問

12、題81次!記?。簝?nèi)循環(huán)的執(zhí)行次數(shù)外循環(huán)的循環(huán)次數(shù)內(nèi)循環(huán)的循環(huán)次數(shù)內(nèi)循環(huán)總共執(zhí)行了多少次? 1、Go To 語句 形式: Go To 標(biāo)號(hào)|行號(hào) 作用:無條件地轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的語句。 標(biāo)號(hào)是一個(gè)標(biāo)識(shí)符,行號(hào)是一個(gè)整數(shù)。2、Exit 語句 多種形式:Exit For、Exit Do、Exit Sub、Exit Function 等。 作用:退出某種控制結(jié)構(gòu)的執(zhí)行。3、End 語句 多種形式: End、 End If、 End Select、 End With、 End Type、 End Sub、 End Function 等。 作用:End 結(jié)束一個(gè)程序的運(yùn)行;其余表示某個(gè)結(jié)構(gòu)的結(jié)束,與對(duì)

13、應(yīng)的結(jié)構(gòu)語句配對(duì)出現(xiàn)。 其 他 輔 助 控 制 語 句 With語 句語法:With 對(duì)象名 語句塊 End With功能:對(duì)某個(gè)對(duì)象執(zhí)行一系列的操作,而不用重復(fù)對(duì)象名稱。With Label1.Height = 200 Label1.Height = 200.Width = 200 Label1.Width = 200.FontSize=22 Label1.FontSize=22.Caption = MyLabel Label1.Caption = MyLabel End With 循 環(huán)習(xí) 題 課 程 序 設(shè) 計(jì) 三 劍 客 窮舉法 遞推法 迭代法 窮 舉 法窮舉法的基本思路: 窮舉所有可

14、能出現(xiàn)的情況,逐一進(jìn)行測(cè)試,判斷其是否滿足給定的條件。窮舉法實(shí)現(xiàn)的關(guān)鍵: 建立正確的窮舉,一般用循環(huán)來實(shí)現(xiàn)。注意:1、有意義的選項(xiàng),一項(xiàng)不能少。2、盡量排除無意義的選項(xiàng),以減少循環(huán)的次數(shù)。 遞 推 法遞推法的基本思路: 利用已知的一項(xiàng)或多項(xiàng)數(shù)據(jù),推算出新的數(shù)據(jù)項(xiàng)。然后,再利用這個(gè)新的數(shù)據(jù)項(xiàng)推算出下一個(gè)數(shù)據(jù)項(xiàng)。重復(fù)此過程,直到推算出最后結(jié)果時(shí)為止。遞推法實(shí)現(xiàn)的關(guān)鍵:確定遞推初值;建立遞推公式。 遞 歸 法遞歸的概念: 遞歸定義 對(duì)象利用自己定義自己。 遞歸調(diào)用 過程或函數(shù)自己調(diào)用自己。遞歸調(diào)用又分為: 直接遞歸調(diào)用 過程或函數(shù)直接調(diào)用自己。 間接遞歸調(diào)用 過程或函數(shù)通過其它過程或函數(shù)調(diào)用自己。注

15、意:遞歸調(diào)用一般要用 if 語句來進(jìn)行控制,使遞歸過程到某一條件滿足時(shí)結(jié)束。 遞歸法的基本思路: 遞歸法類似于數(shù)學(xué)證明中的反推法,一般是從結(jié)果出發(fā),歸納出后一結(jié)果與前一結(jié)果的關(guān)系,尋找其規(guī)律性。遞歸法實(shí)現(xiàn)的關(guān)鍵:建立遞歸函數(shù);確定遞歸終止條件。遞 歸 法 題 型 : 累 加題目:求 S = 1 + 2 + 3 + +10。程序如下:Dim s As Integer, i As Integers = 0For i = 1 To 10s = s + iNext iPrint “S=”; s 題 型 : 累 加題目:求 S = 1 + 2 + 2 + 3 + 18 + 19 + 19 + 20。程序

16、如下:Dim s As Integer, i As Integers = 0For i = 1 To 19s = s + i + (i+1)Next iPrint “S=”; s 題 型 : 累 加題目:求1001991.4131211 S程序如下:Dim s As Double, i As Integer, t AS Integers = 0 : t = -1For i = 1 To 100t = t * -1s = s + t / iNext i Print “S=”; s 題 型 : 累 乘題目:求 T = 1 * 2 * 3 * * 10。程序如下:Dim t As Double, i

17、 As Integert = 1For i = 1 To 10t = t * iNext iPrint “T=”; t 題 型 : 累 乘1110.433221 T題目:程序如下:Dim t As Double, i As Integert = 1For i = 1 To 10t = t * i / (i+1)Next iPrint “T=”; t 題 型 : 累 加 累 乘程序的基本架構(gòu):s = 0 : t = For i = 程序段,將 t 置為下一項(xiàng)的值s = s + tNext iPrint “S=”; s 題 型 : 累 加 累 乘題目:求 S = 1! + 2! + 3! + +1

18、0!。程序如下: Dim s As Long, t As LongDim i As Integer, j As Integers = 0For i = 1 To 10t = 1For j = 1 To it = t * jNext js = s + tNext i Print S=; s 題 型 : 累 加 累 乘題目:求 S = 1! + 2! + 3! + +10!。使用遞推法來做:1、確定遞推初值T 12、建立遞推公式N項(xiàng)(N1)項(xiàng)n 題 型 : 累 加 累 乘題目:求 S = 1! + 2! + 3! + +10!。程序如下: Dim s As Long, t As Long, i A

19、s Integers = 1 : t = 1 For i = 2 To 10 t = t * i s = s + t Next i Print S=; s 例題:求 S = 20 + 21 + 22 + + 2n,n = 63。遞推初值: 20 =1。遞推公式:n項(xiàng) = (n-1)項(xiàng) * 2 。Dim s As Double, t As Double, i As Integers = 1 : t = 1For i = 1 To 63t = 2i/t*2s = s + tNext iPrint S=; s題 型 : 累 加 累 乘 題 型 : 判 斷 m能 否 被 n整 除注意 VB 中兩個(gè)獨(dú)特

20、的算術(shù)運(yùn)算符:Mod取余整除例如:10 Mod 3運(yùn)算結(jié)果 110 3運(yùn)算結(jié)果 3判斷 m 能否被 n 整除的方法:m Mod n 0 題 型 : 判 斷 m能 否 被 n整 除例題:求出 100 以內(nèi)所有能被 3 和 4 同時(shí)整除的數(shù)。程序如下: Dim i As Integer For i = 1 To 100 If i Mod 3 = 0 And i Mod 4 = 0 Then Print i; Next i 例題:求20002050年之間的所有閏年。閏年的條件是: (1)能被4整除,但不能被100整除的年份是閏年; (2)能被100整除,又能被400整除的年份是閏年。程序如下:Dim

21、 i As IntegerFor i = 2000 To 2050If i Mod 4=0 And i Mod 1000 Then Print i;If i Mod 100=0 And i Mod 400=0 Then Print i;Next i 題 型 : 判 斷 m能 否 被 n整 除 VB的 取 子 串 函 數(shù)語法:Left(串表達(dá)式, n)函數(shù)值功能:取字符串左邊 n 個(gè)字符。示例:Left(“ABCDEFG”, 3) “ABC”語法:Mid(串表達(dá)式, n1 ,n2)功能:在字符串中從 n1 開始向右取 n2 個(gè)字符。示例: Mid(“ABCDEFG”, 2, 3) “BCD”語法

22、:Right(串表達(dá)式, n)功能:取字符串右邊 n 個(gè)字符。示例: Right(“ABCDEFG”, 3) “EFG” 題 型 : 打 印 圖 形 題 型 : 打 印 圖 形Private Sub Form_Click() Dim s As String * 8, i As Integer s = * Print: Print For i = 1 To 8 Print Tab(10 + i); s Next iEnd Sub 題 型 : 打 印 圖 形 分析:1)首先確定圖形中心線位置第20個(gè)字符處。2)將第 n 行的起始打印位置,表示為行號(hào) n 的函數(shù),起始打印位置 = F(21 - n)

23、 。3)將第 n 行打印星號(hào)的個(gè)數(shù),表示為行號(hào) n 的函數(shù),星號(hào)個(gè)數(shù) = F(2 * n - 1) 。4)可先將一個(gè)有十五個(gè)星號(hào)的字符串賦給串變量 S,打印時(shí)取其子串輸出。 題 型 : 打 印 圖 形 程序如下:Private Sub Form_Click() Dim s As String, i As Integer s = *For i = 1 To 8 Print Tab( 21 i ); Left( s, 2 * i 1 ) Next iEnd Sub 題 型 : 打 印 圖 形 題 型 : 打 印 圖 形 程序如下:Private Sub Form_Click() Dim s As

24、String, i As Integer s = 0123456789 Print: Print For i = 1 To 10 Print Tab(21 - i); String(2 * i - 1, Mid(s, i, 1) Next iEnd Sub 題 型 : 打 印 圖 形 題 型 : 打 印 圖 形程序如下:Private Sub Form_Click() Dim i As Integer Print: Print For i = 1 To 10 Print Tab(21 - i); String(2 * i - 1, Chr(47 + i) Next iEnd Sub VB中 的

25、 取 整 函 數(shù)語法:Int( 數(shù)值表達(dá)式 )Fix( 數(shù)值表達(dá)式 )Round( 數(shù)值表達(dá)式 ,小數(shù)點(diǎn)右邊應(yīng)保留的位數(shù))功能:1)如果數(shù)值表達(dá)式的值為正, Int 和 Fix 都會(huì)刪除其小數(shù)部份而返回剩下的整數(shù)。2)如果數(shù)值表達(dá)式的值為負(fù),則 Int 返回小于或等于其值的第一個(gè)負(fù)整數(shù),而 Fix 則會(huì)返回大于或等于其值的第一個(gè)負(fù)整數(shù)。3)Round將數(shù)值表達(dá)式的值四舍五入到 n 位小數(shù)。 例如:Int( 3.4 ) 3Fix( 3.4 ) 3Int( -3.4 ) -4Fix( -3.4 ) -3Round( -3.3456, 1 ) -3.3Round( -3.3456, 2 ) -3.3

26、5VB中 的 取 整 函 數(shù)0 3 4-3-4 題 型 : 分 拆 數(shù) 字例題:求0999之間所有的“水仙花”數(shù)。例如:153=13+53+33 。Dim i As Integer, a As Integer, b As Integer, c As IntegerFor i = 0 To 999a = Int(i / 100)b = Int(i - a * 100) / 10)c = i - a * 100 - b * 10If i = a * a * a + b * b * b + c * c * c Then Print i;Next i 題 型 : 分 拆 數(shù) 字思考題 求1100之間所

27、有的“同構(gòu)數(shù)”。 “同構(gòu)數(shù)”是這樣一種數(shù):它出現(xiàn)在它的平方數(shù)的右端。例如:5的平方是25,5是25中右端的數(shù),5就是同構(gòu)數(shù)。25也是一個(gè)同構(gòu)數(shù),它的平方是625。 題 型 : 數(shù) 列例題:求裴波那契數(shù)列 1,1,2,3,5,8, 的前20項(xiàng)。遞推初始條件:F1 = 1,F(xiàn)2 = 1 。遞推公式:Fn = Fn-2 + Fn-1 。遞推過程:a=1 b=1 c=2a=1 b=2 c=3a=2 b=3 c=5 例題:求裴波那契數(shù)列 1,1,2,3,5,8, 的前20項(xiàng)。Dim a As Integer, b As Integer, c As Integer a = 1 : b = 1 Print

28、a; b; For i = 3 To 20 c = a + b Print c; a = b : b = c Next i 題 型 : 數(shù) 列 例題:求e,直到前后兩項(xiàng)之差小于104為止。 Dim e As Double, m1 As Double, m2 As Double,n As Integere = 2: m2 = 1: n = 1Do n = n + 1m1 = m2m2 = m1 / ne = e + m2Loop Until m1 - m2 0.0001Print e=; e !1.!31!21!111 ne 題 型 : 級(jí) 數(shù)例題:求 S = 20 + 21 + 22 + +

29、2n,n = 63。遞推初值: 20 =1。遞推公式:n項(xiàng) = (n-1)項(xiàng) * 2 。Dim s As Double, t As Double, i As Integers = 1 : t = 1For i = 1 To 63t = t * 2s = s + tNext iPrint S=; s 第一步:求出通項(xiàng)公式。第二步:求出第 n 項(xiàng)與 n-1 項(xiàng)之比 k 。第三步: 建立遞推公式:n 項(xiàng) = k * ( n-1 )項(xiàng)。 題 型 : 級(jí) 數(shù) 例題:求 Sin(x) = x/1 x3/3! + x5/5! x7/7! + ,n = 20。第一步,通項(xiàng)公式。第n項(xiàng) = 第二步,第n項(xiàng)與n-

30、1項(xiàng)之比。k = 第三步,遞推公式。n項(xiàng) = (n-1)項(xiàng))!12()1( 121 nx nn )12)(22()1( 2 nn x )12)(22()1( 2 nn x 題 型 : 級(jí) 數(shù) Dim SinX As Double, x As Double, t As DoubleDim i As Integer x = InputBox(“X=”, “輸入框) SinX = x : t = x For i = 2 To 20 t = t * (-1) * x * x / (2 * i - 2) / (2 * i - 1) SinX = SinX + t Next i Print x=; x,

31、Sin(x)=; SinX 題 型 : 級(jí) 數(shù) 隨 機(jī) 函 數(shù)Rnd函數(shù)語法:Rnd功能: Rnd函數(shù)返回均勻分布在 0,1) 區(qū)間上的隨機(jī)數(shù),類型為Single 。( 0 Rnd 1 )Randomize語句語法: Randomize功能:利用系統(tǒng)計(jì)時(shí)器的值初始化隨機(jī)數(shù)生成器。 隨 機(jī) 函 數(shù)Dim i As Integer Print: Print For i = 1 To 50 If i Mod 5 = 0 Then Print Round(Rnd, 4) Else Print Round(Rnd, 4), End If Next i 隨 機(jī) 函 數(shù) 兩次運(yùn)行程序得到的隨機(jī)數(shù),其序列是相

32、同的。 隨 機(jī) 函 數(shù)Dim i As Integer Print: PrintRandomize 隨機(jī)函數(shù)初始化語句 For i = 1 To 50 If i Mod 5 = 0 Then Print Round(Rnd, 4) Else Print Round(Rnd, 4), End If Next i 隨 機(jī) 函 數(shù) 第一次運(yùn)行程序得到的隨機(jī)數(shù): 第二次運(yùn)行程序得到的隨機(jī)數(shù):隨 機(jī) 函 數(shù) 使用以下公式可產(chǎn)生均勻分布在某個(gè)區(qū)間上的隨機(jī)整數(shù): Int(UpperBound - LowerBound + 1) * Rnd + LowerBound)這里,UpperBound 是隨機(jī)數(shù)范圍的

33、上限,而 LowerBound 是隨機(jī)數(shù)范圍的下限。例如:0,10 Int(11 * Rnd)100,120 Int(21 * Rnd + 100)10,99 Int(90 * Rnd + 10)隨 機(jī) 函 數(shù) 隨 機(jī) 函 數(shù)題目:利用隨機(jī)函數(shù)求。(輔助圖形:1/4 單位圓)1,1 0,0 隨 機(jī) 函 數(shù)1/4 單位圓的面積:R*R* / 41*1* / 4單位正方形的面積:1*11另外:落在圓內(nèi)的點(diǎn)數(shù)m,總點(diǎn)數(shù)n因此:4 * m / n 隨 機(jī) 函 數(shù)Dim m As Long, n As Long, i As Long Dim x As Single, y As Single n = In

34、putBox(N=, 輸入對(duì)話框): m = 0 For i = 1 To n x = Rnd: y = Rnd If x * x + y * y n ; (2) m 除以 n 得余數(shù) r ; (3) 若 r = 0,則 n 為最大公約數(shù),結(jié)束;否則執(zhí)行(4); (4) m n,n r,再重復(fù)執(zhí)行(2)。求最小公倍數(shù)的算法: 原始的 m 和 n 的乘積除以最大公約數(shù),就得到它們的最小公倍數(shù)。 最 大 公 約 數(shù) 和 最 小 公 倍 數(shù)M N R12 9 3M N R9 3 0 最 大 公 約 數(shù) 和 最 小 公 倍 數(shù) Private Sub Command計(jì)算_Click() Dim m A

35、s Integer, n As Integer, r As Integer m = TextM.Text n = TextN.Text If m n Then r = m m = n n = r End If 最 大 公 約 數(shù) 和 最 小 公 倍 數(shù) r = m Mod n Do While (r 0) m = n n = r r = m Mod n Loop Label最大公約數(shù).Caption = 最大公約數(shù) = & n r = n : m = TextM.Text : n = TextN.Text Label最小公倍數(shù).Caption = 最小公倍數(shù) = & m * n / rEnd

36、Sub 最 大 公 約 數(shù) 和 最 小 公 倍 數(shù) 百 錢 買 百 雞例題:雞翁一、值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞,問雞翁、母、雛各幾何?For x = 0 To 100 For y = 0 To 100 For z = 0 To 100 If x + y + z = 100 And 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z End If Dim x As Integer, y As Integer, z As Integer Print cock, hen, chick For x = 0 To 19 For y = 0 To 33 z = 100 - x - y If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z End If Next y Next x 百 錢 買 百 雞

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!