資源簡介 “用循環(huán)的思想解決問題—冒泡排序” 【學(xué)習(xí)目標(biāo)】 1 熟練掌握for循環(huán)嵌套 2 理解冒泡排序的思想 3 學(xué)會(huì)用程序?qū)崿F(xiàn)排序算法 【重點(diǎn)】用循環(huán)嵌套的思想解決問題 【難點(diǎn)】冒泡排序的算法 回顧上節(jié)課所學(xué)的循環(huán)案例 (1)、Sum=1!+2!+3!…+i!…+n! 3用遞歸函數(shù)實(shí)現(xiàn) For i=1 to n s=s+f(i) Next i 遞歸函數(shù)function 函數(shù)名(變量as類型)as類型 Function f(n As Integer) As Integer If n = 0 Then f = 1 Else f = n * f(n - 1) End If End Function (2)打印字符圖形 循環(huán)思想在冒泡中的應(yīng)用 6.8 89 16.8 72.8 120 17.2 63 9.8 1在這些數(shù)據(jù)中,先找出最大值 2在剩余的數(shù)中,在找出最大值 3重復(fù)2,一直到剩下一個(gè)數(shù),即完成了排序 ——如何求n個(gè)數(shù)最大值? a(1) a(2) a(3) a(4) ……a(n) 首先a(1) a(2)比較,最大值存放在a(2)中 然后a(2)a(3),比較,最大值放在a(3)中 以此類推,一直到a(n-1)和a(n)比較,最大值放在a(n)中 推論:利用a(i)>a(i+1)為判斷條件,當(dāng)條件成立,兩個(gè)數(shù)交換值,否則進(jìn)行下一輪比較 如下圖所示: 課堂實(shí)踐1 8名學(xué)生分別代表a(1)……a(8),分別存儲(chǔ) 6.8 89 16.8 72.8 120 17.2 63 9.8 以其他學(xué)生為導(dǎo)演,展示兩兩相比,交換的過程,如圖 研究第i輪時(shí): 總結(jié)冒泡排序的思路: 課堂實(shí)踐2:完善“冒泡”程序,調(diào)試并運(yùn)行 附 參考代碼: Private Sub Command1_Click() '選擇排序——從小到大排序 Text1.Text = "" Text2.Text = "" Dim i, j As Integer Dim t, a(1 To 100) As Single '定義數(shù)組,相當(dāng)于定義a(1) a(2)……a(10) n = InputBox("請(qǐng)輸入n的值", "輸入n", "") For i = 1 To n Step 1 a(i) = InputBox("請(qǐng)輸入第" & i & "個(gè)數(shù)字", "標(biāo)題_輸入數(shù)據(jù)", "") '輸入數(shù)據(jù)到數(shù)組中 Next i For i = 1 To n Text1.Text = Text1.Text & a(i) & " " '把輸入的數(shù)據(jù)串起來,在text1.text輸出 Next i '冒泡排序 For i = 1 To n-1 For j = 1 To n - i If a(j) > a(j + 1) Then t = a(j) a(j) = a(j + 1) a(j + 1) = t End If Next j Next i '輸出數(shù)據(jù) For i = 1 To n Text2.Text = Text2.Text & a(i) & " " '把輸入的數(shù)據(jù)串起來,在text1.text輸出 Next i End Sub 三、參考資料 1.Dim 變量名 as 變量類型 (integer、long、single、double、string、boolean、date) 如:dim x as ingeger 定義整形的變量x Dim x,y,z as double 定義雙精度實(shí)數(shù)變量 x y z 2.If 條件 then 語句1 else 語句2 If 條件 then 語句1 語句2 …… 語句n Endif 1、 If 條件表達(dá)式 then 語句1 else 語句2 Then 條件? Step1 2、If 條件表達(dá)式 then 語句 Else Then 條件? Step2 Step1 1 2 3例如:求兩個(gè)數(shù)的最大值(設(shè)定 a b max 三個(gè)single 類型的變量) N Y 開始 結(jié)束 輸入a、b a>b? Max=b Max=a 輸出max 4★★★ For i=初始值 to 終點(diǎn)值 step 步長 黑箱子 Next i 開始 結(jié)束 N Y 表達(dá)式 執(zhí)行循環(huán)體中的語句塊 循環(huán)變量i初始值 向 終點(diǎn)值 進(jìn)軍 ,每一步走 一個(gè)步長 For i=1 to 100 step 1(可以省略) 黑箱子 Next i For i=100 to 19 step -10 黑箱子 Next i 5、Do while 條件表達(dá)式 語句塊 Loop 6.★★★ Dim s(1 To 8) As String '定義字符串?dāng)?shù)組s(1)、s(2)……s(8),8個(gè)變量 ★★★ New_password=”” new_password = new_password + s(i) '把新字符串到新密碼上 new_password = new_password + s(i) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫