【正文】
rollBars屬性為 “ 2Vertical” ?一個命令按鈕 Command1和一個框架 Frame1。 ? 一個自然數(shù) n不是素數(shù),它一定有這樣的因子i: 2 ? i ? n Sqr(n)、 n/2 ? 如圖 5- 4所示。 Next j Next i End Sub 不換行 5. 4 列表框與組合框 ? List Box amp。(已選中的項目的位置 ) Selected 在程序運行使用代碼來選定列表中的選項,例如 (2)= True使得列表框 List1中的第 3條選項被選中。 表 54 屬性設(shè)置 對 象 屬 性 屬性值 說 明 List1 Multiselect 0 None 不能多項選擇 Style 1Checkbox 風格 List2 Multiselect 2 Extended 擴展多項選擇 有錯誤 說明: ? ( 1)列表框的 Multiselect屬性決定了用戶是否能夠選擇多項數(shù)據(jù): ? Multiselect= 0None 不能 ? Multlselect= lSimple 簡單多重 ? Multiselect= 2Extended 擴展多重 ? ( 2)簡單或擴展的多重選擇。在組合框中輸入號碼,按 “ 開始 ” 按鈕可以得到中獎的號碼(如圖 5- 23所示)。 Format(y, ) amp。 xt55完全數(shù) ? 選作 xt55“完備數(shù) ” 是指一個數(shù)恰好等于它的因子之和,如 6的因子為 3,而6=1+2+3,因而 6就是完數(shù)。 xt516倒立、正立直角三角形 ? xt516倒立、正立直角三角形。 ? 如果做原 xt516有困難,可做下題。 ForNext Do WhileLoop Private Sub Command1_Click() i = 101 Do While i = 500 p = p amp。 vbCrLf = p s = s + i i = i + 2 Loop Private Sub Command2_Click() = = End Sub 附加習題 2學(xué)生多門成績 ? 從鍵盤上輸入學(xué)生的多門成績,顯示成績,( 1)求出總分。 Str(pj) End Sub 以下題目不作要求 xt57對調(diào)數(shù) ? xt57 xt511 1~ 1000之間的全部“同構(gòu)數(shù)” ? xt511找出 1~ 1000之間的全部“同構(gòu)數(shù)” xt512求出所有小于或等于 100的自然數(shù)對 ? xt512編制程序,求出所有小于或等于 100的自然數(shù)對。 Chr(13) amp。 Str(s) End Sub i = 101 Do While i = 500 p = p amp。 S ← 0 i 從 101到 500 步長 2 輸出 i S ← S+i 輸出 101~ 500奇數(shù)和。 正立直角三角形 xt516倒立直角三角形 ? xt516倒立、正立直角三角形。 !...!3!2!1 nxxxx ?????? 1e xxt515平行四邊形 ? xt515平行四邊形。 xt54勾股定理 ? xt54勾股定理中 3個數(shù)的關(guān)系是: a2+b2=c2。 ? 分析 :設(shè)有 x個男人, y個女人, z個小孩。 2.簡單組合框 Simple Combo ? 簡單組合框中的列表框總是被顯示出來,比列表框多了一個文本框可供輸入。 End Sub ? 刪除選中項目操作 Private Sub Command2_Click() k = Val(InputBox(輸入索引值 )) Cls Print 刪除的項目內(nèi)容 。(列出項目內(nèi)容 ) List(i) 添加 內(nèi)容 :Ctrl+Enter ListCount 返回列表框中的選項個數(shù)。 vbCrLf Next = a End Sub 窗體上打印圖形 ? 在窗體上用字符“ *”打印出下列圖形 ? i值控制行值, j值控制列值 ? 兩重循環(huán) ——循環(huán) 嵌套 ? 562打印金字塔形 Private Sub Command1_Click() For i = 1 To 5 Print Tab(20 i)。 ? 【 例 5- 2】 輸入一個正整數(shù),利用 “ for”循環(huán)判斷是否素數(shù)。 I 0 3 初值送循環(huán)變量 循環(huán)變量的值超過終值? 執(zhí)行循環(huán)體中各個語句 循環(huán)變量的值加步長值 Next后的語句 是 否 求整除的自然數(shù) ? 【 例 5- 5]顯示 1000以內(nèi)的所有能被 37整除的自然數(shù)(如圖 5l3 所示)。 ?( 3)最后的 m就是最大公約數(shù)。 ?分析:求最大公約數(shù)可以用“ 遞增法 ” ,方法如下: ? 可能的因子從 1到 n d=d+1 如果 m、 n都能被 d整除, 則 max ← d 輸出 max 當 d=n 除數(shù) d=1 大數(shù)放 m,小數(shù)放 n 輸入 m, n Private Sub Command1_Click() m = Val() n = Val() If n m Then t = m m = n n = t End If d = 1 Do While d = n If m Mod d = 0 And n Mod d = 0 Then Max = d d = d + 1 Loop = Max End Sub d=d+1 如果 m、 n都能被 d整除, 則 max ← d 輸出 max 當 d=n 除數(shù) d=1 大數(shù)放 m,小數(shù)放 n 輸入 m, n 求兩個正整數(shù)的最大公約數(shù)。 條件 循環(huán)體 假 真 求兩個正整數(shù)的最大公約數(shù)。因此執(zhí)行循環(huán)的最少次數(shù)為 1。 ? VB循環(huán)結(jié)構(gòu)語句: ? Do… Loop ? While… Wend ? For… Next ? 5. 2 Do...Loop語句 ? 前測型循環(huán)結(jié)構(gòu)與后測型循環(huán)結(jié)構(gòu)。 計算“條件”的值 條件真? 執(zhí)行循環(huán)體 假 真 求累加和 ? 例 5- l 求累加和 1+ 2+ 3+ ... + 100 (如圖 5- 2) 。 條件 循環(huán)體 假 真 例 5- l可以改為直到型: Private Sub Command1_Click() Dim s As Integer, n As Integer s = 0: n = 1 Do Until n 100 s = s + n n = n + 1 Loop = “1+2+3+...+100 = amp。 ? ( 2) 若 r≠0 ,則 m←n ,n←r ,繼續(xù)相除得到新的 r。窗體界面的設(shè)計如圖所示, Privat