【文章內(nèi)容簡介】
授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 例:下列程序段的運行結(jié)果是: Sub sel() Dim n as Integer i=21:n=3 Do Until i n i=in Loop Print “ i=“ 。i End Sub ① i=21 (Do Until in) ② i=0 (Do Until in) ③ i=21 (Do while in) ④ i=3 (Do while in) ⑤ i=18 (Loop Until in) ⑥ i=0 (Loop Until in) ⑦ i=18 (Loop while in) ⑧ i=3 (Loop while in) while Until i n while (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 例:以下程序計算 12- 22+3242+… +(N1)2N2,請補充完該程序。 N = Val(InputBox(請輸入大于零的偶數(shù) )) s = 0 i = 1 c = 1 Do s = _______________ c = ________ i = i + 1 Loop While i = N Print s s + c*(i*10+2) c )...(35231 精度為?。±}: ???(二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 3. while… ..wend語句 使用格式如下: While 條件 循環(huán)塊 Wend 說明:該語句的功能與 Do While 條件 … .Loop實現(xiàn)的循環(huán)完全相同 。 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC For....to Next Do while/ until .... Loop do .... Loop While /until ... 循環(huán)類型 當(dāng)型循環(huán) 當(dāng)型循環(huán) 直到循環(huán) 循環(huán)控制條 件 循環(huán)變量大于 或小于終值 條件成立 / 不成立 執(zhí)行循環(huán) 條件成立 / 不成立 執(zhí)行循環(huán) 循環(huán)變量初 值 在 FOR 語句行 中 在 DO 之前 在 DO 之前 使循環(huán)結(jié)束 F or 語句中無 需專門語句 必須用專門語句 必須使用專門語句 使用場合 循環(huán)次數(shù)容易 確定 循環(huán) / 結(jié)束 控制條 件易給出 循環(huán) / 結(jié)束 控制條 件易給出 比較三種循環(huán)結(jié)構(gòu) (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 一個循環(huán)體內(nèi)又包含了一個完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套 . 打印九九乘法表 . 對于循環(huán)的嵌套,要注意以下事項: (1) 內(nèi)循環(huán)變量與外循環(huán)變量不能同名; (2) 外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉; (3) 不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),也不能從外循環(huán)轉(zhuǎn)向內(nèi)循環(huán), 反之則可以。 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC ? Private Sub Command1_Click() ? 循序結(jié)構(gòu) —— 賦值語句、輸入輸出語句 ? 分支結(jié)構(gòu) —— 單分支結(jié)構(gòu)( if then) ? 雙分支結(jié)構(gòu)( if then else) 多分之結(jié)構(gòu) ? 循環(huán)結(jié)構(gòu) —— do… loop、 for … .next ? while … .wend ? End Sub 程序的基本結(jié)構(gòu)與過程 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC ? 函數(shù)與過程定義及其相互調(diào)用 ? 形參與實參的相互關(guān)系及差別 ? 參數(shù)傳遞的 2種方式 ? 變量的作用域 ? 多種變量類型與參數(shù)傳遞的復(fù)雜程序分析 函數(shù)過程及作用域 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC (一)過程概述 在 ,除了系統(tǒng)提供的內(nèi)部函數(shù)過程和事件過程外,用戶可自定義過程下列兩種過程: ▲ “ Sub” 保留字開始的為子過程 ▲ “ Function” 保留字開始的為函數(shù)過程 子過程和函數(shù)過程的區(qū)別: ? 函數(shù)過程有返回值。 ? 而子過程無返回值 。 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC (二)子過程及函數(shù)過程的定義形式 [Static][Public|Private]Sub 子過程名 [(參數(shù)列表 )] 局部變量或常數(shù)定義 語句 End Sub [Static][Public|Private]Function 函數(shù)過程名 ([參數(shù)列表 ]) [As 類型 ] 局部變量或常數(shù)定義 語句 函數(shù)名 = 返回值 End Function 語句 [Exit Sub] 語句 語句 函數(shù)名 = 返回值 [Exit Function] 語句 函數(shù)名 = 返回值 例:課本 P96 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 過程的分類 ? 過程分為 自定義過程 與 事件過程 ,區(qū)分的關(guān)鍵在于過程的名稱。 –自定義過程: 普通的過程名稱,如: Private sub abc() –事件過程: Private sub Command1_click Private sub Form1_click Private sub Form1_Load (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC (三) 過程的調(diào)用 1 子過程的調(diào)用: 子過程名 [參數(shù)列表 ] 或 Call 子過程名 (參數(shù)列表 ) 2 函數(shù)過程的調(diào)用: 變量名 = 函數(shù)過程名 ([參數(shù)列表 ]) 子過程 中定義的參數(shù)列表稱之為 形參。 父過程 中參數(shù)列表稱為 實參或?qū)嵲?,它必須與形參保持 個數(shù)相同 , 位置與類型 一一對應(yīng)。 ( P99) 程序舉例說明 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC (四)參數(shù)傳遞 指主調(diào)過程的實參傳遞給被調(diào)過程的形參。 ? 傳址與傳值 傳址: 形參得到的是實參的地址,當(dāng)形參值的改變同時也改變實參的值。 傳值: 形參得到的是實參的值,形參值的改變不會影響實參的值。 形式一: Sub Change1(ByVal x%, ByVal y%) t% = x: x = y: y = t End Sub 形式二: Sub Change2(ByRef x%, ByRef y%) t% = x: x = y: y = t End Sub (圖示 ) (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 傳值 (形參前有 ByVal說明) 實參的值不隨形參的值變化而改變 Private Sub Command1_Click() a% = 10 b% = 20 call Swap1 (a, b) End Sub Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = t End Sub 主過程中的變量的值不受影響 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 傳址 (形參前有 ByRef說明或者空缺) 實參的值隨形參值的改變而改變 Private Sub Command2_Click() a% = 10 b% = 20 call Swap1 (a, b) End Sub Sub Swap2(x%, y%) t% = x: x = y: y = t End Sub 主過程中的變量的值受到修改 (二) VB程序設(shè)計基礎(chǔ) 授課教師:葉夏 計算機應(yīng)用基礎(chǔ)及 VBASIC 例:單擊 Command1后的運行結(jié)果 Sub SS(ByVal X%, ByRef Y%, Z%) X = X + 1 Y = Y + 1 Z = Z + 1 End Sub Private