第四章 算法基礎(chǔ)及VB的基本語句_第1頁
第四章 算法基礎(chǔ)及VB的基本語句_第2頁
第四章 算法基礎(chǔ)及VB的基本語句_第3頁
第四章 算法基礎(chǔ)及VB的基本語句_第4頁
第四章 算法基礎(chǔ)及VB的基本語句_第5頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、江蘇省計(jì)算機(jī)等級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 第四章第四章 算法基礎(chǔ)及算法基礎(chǔ)及vbvb的基本語句的基本語句 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 2 1 1、了解結(jié)構(gòu)化程序設(shè)計(jì)的基本概念、了解結(jié)構(gòu)化程序設(shè)計(jì)的基本概念 2 2、掌握、掌握vb vb 程序設(shè)計(jì)中的常用語句程序設(shè)計(jì)中的常用語句 3 3、掌握順序、選擇、和循環(huán)結(jié)構(gòu)、掌握順序、選擇、和循環(huán)結(jié)構(gòu)及相應(yīng)的語句及相應(yīng)的語句 教學(xué)要求教學(xué)要求 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 3 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visu

2、al basic 程序設(shè)計(jì)程序設(shè)計(jì) 4 4.1 4.1 算法及程序設(shè)計(jì)基礎(chǔ)算法及程序設(shè)計(jì)基礎(chǔ) : l有人認(rèn)為:有人認(rèn)為: 對數(shù)據(jù)的描述對數(shù)據(jù)的描述:指定所用數(shù)據(jù)的類型,作用域和數(shù)據(jù)的:指定所用數(shù)據(jù)的類型,作用域和數(shù)據(jù)的 組織形式,即數(shù)據(jù)結(jié)構(gòu)(組織形式,即數(shù)據(jù)結(jié)構(gòu)(data structure)。)。 對操作的描述對操作的描述:即操作步驟,也就是算法(:即操作步驟,也就是算法(algorithm)。)。 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算法算法=程序程序 程序程序=算法算法+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法程序設(shè)計(jì)方法+語言工具和環(huán)境語言工具和環(huán)境 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basi

3、c 程序設(shè)計(jì)程序設(shè)計(jì) 5 1 1、算法的概念、算法的概念 l算法算法 即解決某個(gè)問題或處理某件事的方法和步驟;即解決某個(gè)問題或處理某件事的方法和步驟;“采用什么采用什么 結(jié)構(gòu),使用什么語句以及如何安排這些語句結(jié)構(gòu),使用什么語句以及如何安排這些語句”。 l算法分類:算法分類: 數(shù)值計(jì)算算法數(shù)值計(jì)算算法 非數(shù)值計(jì)算算法非數(shù)值計(jì)算算法 l算法算法優(yōu)劣優(yōu)劣: 正確性,效率,占用系統(tǒng)資源,便于理解,易于調(diào)試等。正確性,效率,占用系統(tǒng)資源,便于理解,易于調(diào)試等。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 6 1810 m n r 8 10 8 2 8 2 0 2

4、0 r=8 r=2 r=0 m=2即即最大公約數(shù)最大公約數(shù) 求最大公約數(shù)求最大公約數(shù) 題目題目 :求兩個(gè)自然數(shù)的最大公約數(shù):求兩個(gè)自然數(shù)的最大公約數(shù) 分析分析 :求最大公約數(shù)的常用方法是輾轉(zhuǎn)相除法:求最大公約數(shù)的常用方法是輾轉(zhuǎn)相除法( (歐幾里德算法歐幾里德算法) )。 2 2、算法示例、算法示例 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 7 算法描述算法描述 : s1 s1 輸入兩個(gè)自然數(shù):輸入兩個(gè)自然數(shù):m m,n n; s2 s2 求求m m除以除以n n的余數(shù)的余數(shù)r r; s3 s3 使使m=nm=n,即用,即用n n代換代換m m; s4

5、s4 使使n=rn=r,即用,即用r r代換代換n n; s5 s5 若若r0r0,則重復(fù)執(zhí)行,則重復(fù)執(zhí)行s2,s3,s4,s2,s3,s4,否則轉(zhuǎn)至否則轉(zhuǎn)至s6s6 s6 s6 輸出輸出m m,m m即為即為m m,n n的最大公約數(shù)。的最大公約數(shù)。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 8 3 3、算法的特征、算法的特征 2 確定性確定性 2 可行性可行性 2 有窮性有窮性 2 輸入性輸入性 2 輸出性輸出性 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 9 4 4、算法的描述、算法的描述 l程序流程圖程序

6、流程圖 求最大公約數(shù)求最大公約數(shù) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 10 程序編碼程序編碼實(shí)現(xiàn)算法實(shí)現(xiàn)算法 l算法僅提供解題思路,計(jì)算機(jī)不可直接執(zhí)行。算法僅提供解題思路,計(jì)算機(jī)不可直接執(zhí)行。 l用用某一程序設(shè)計(jì)語言所提供的語言成分,根據(jù)該語言的特某一程序設(shè)計(jì)語言所提供的語言成分,根據(jù)該語言的特 點(diǎn),并利用該語言的各種工具和手段,遵照規(guī)定的語法規(guī)點(diǎn),并利用該語言的各種工具和手段,遵照規(guī)定的語法規(guī) 則去實(shí)現(xiàn)算法,得到原程序代碼,計(jì)算機(jī)可識別并執(zhí)行。則去實(shí)現(xiàn)算法,得到原程序代碼,計(jì)算機(jī)可識別并執(zhí)行。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visua

7、l basic 程序設(shè)計(jì)程序設(shè)計(jì) 11 5.5.基本算法結(jié)構(gòu)基本算法結(jié)構(gòu) 1 1). . 順序結(jié)構(gòu)順序結(jié)構(gòu) 語句語句1 語句語句2 語句塊語句塊 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 12 l2)選擇結(jié)構(gòu))選擇結(jié)構(gòu) 條件滿足? 塊1塊2 truefalse 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 13 l3)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu) 塊塊 true false 條件條件 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual

8、 basic 程序設(shè)計(jì)程序設(shè)計(jì) 14 三種基本結(jié)構(gòu)的共同特點(diǎn)三種基本結(jié)構(gòu)的共同特點(diǎn) l只有單一入口和單一出口;只有單一入口和單一出口; l結(jié)構(gòu)中的每一部分都有被執(zhí)行的可能;結(jié)構(gòu)中的每一部分都有被執(zhí)行的可能; l結(jié)構(gòu)內(nèi)不應(yīng)出現(xiàn)永不終止的死循環(huán)。結(jié)構(gòu)內(nèi)不應(yīng)出現(xiàn)永不終止的死循環(huán)。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 15 4.2 4.2 賦值語句及賦值語句及inputboxinputbox、msgboxmsgbox函數(shù)函數(shù) 4.2.1 賦值語句賦值語句 4.2.2 inputboxinputbox函數(shù)函數(shù) 4.2.3 msgboxmsgbox函數(shù)函數(shù)

9、江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 16 4.2.1 賦值語句賦值語句 格式格式 : = 功能功能 :先計(jì)算表達(dá)式的值,再將該值賦予左端的變量。:先計(jì)算表達(dá)式的值,再將該值賦予左端的變量。 說明說明 : - -賦值號左端不僅可以是變量名,還可以是對象的屬性;賦值號左端不僅可以是變量名,還可以是對象的屬性; - -表達(dá)式的類型和變量的類型要一致表達(dá)式的類型和變量的類型要一致 - -賦值語句是按語句出現(xiàn)的先后順序執(zhí)行的(順序結(jié)構(gòu))賦值語句是按語句出現(xiàn)的先后順序執(zhí)行的(順序結(jié)構(gòu)) 舉例舉例 : str1 = nice to meet you numbe

10、r% = 72 lable1.caption = filename is: text.fontsize = 12 改變字號改變字號 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 17 使用下面的方法可以獲取一個(gè)對象的屬性值:使用下面的方法可以獲取一個(gè)對象的屬性值: var = object . property 例如:例如:label1.caption=text1.text 式中,式中,varvar是變量名、是變量名、objectobject是對象名、是對象名、propertyproperty是該對是該對 象的某個(gè)屬性名。象的某個(gè)屬性名。 特別注意:特別注

11、意:屬性也存在數(shù)據(jù)類型,所以在獲取對象的屬性值時(shí),屬性也存在數(shù)據(jù)類型,所以在獲取對象的屬性值時(shí), 最好使用具有相同數(shù)據(jù)類型的變量。最好使用具有相同數(shù)據(jù)類型的變量。 說明說明 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 18 注意:賦值號(注意:賦值號(= =)與比較運(yùn)算符()與比較運(yùn)算符(= =)不同)不同 v 賦值是獨(dú)立的一條語句;賦值是獨(dú)立的一條語句; 由運(yùn)算符(由運(yùn)算符(= =)連結(jié)兩個(gè)操作數(shù)的關(guān)系表達(dá)式是)連結(jié)兩個(gè)操作數(shù)的關(guān)系表達(dá)式是語句的一部語句的一部 分分, , 不可單獨(dú)存在不可單獨(dú)存在 v 比較運(yùn)算符不會(huì)改變操作數(shù)的值;比較運(yùn)算符不會(huì)改變操

12、作數(shù)的值; 賦值語句會(huì),改變賦值號左邊的量,所以必須是可以被賦賦值語句會(huì),改變賦值號左邊的量,所以必須是可以被賦 值的變量或?qū)傩灾档淖兞炕驅(qū)傩?dim x as integer, y as integer, z as boolean x=3 : y=4 : y=x z = x=y print x, y, z 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 19 private sub form_click() dim a as integer,b as integer a=10 b=3*a print a,b end sub private sub form

13、_click() dim a as integer,b as integer b=3*a a=10 print a,b end sub 例:單擊窗體,下列兩段程序的執(zhí)行結(jié)果分別是例:單擊窗體,下列兩段程序的執(zhí)行結(jié)果分別是()()和和()()。 提示:利用賦值語句給變量賦值后,在未有新的提示:利用賦值語句給變量賦值后,在未有新的 賦值語句再次給它賦值前,變量值保持不變。賦值語句再次給它賦值前,變量值保持不變。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 20 例:交換兩個(gè)變量的值。例:交換兩個(gè)變量的值。 private sub form_click() d

14、im a as integer,b as integer a=10 : b=2 print a,b 填入程序代碼填入程序代碼 print a,b end sub 正確答案正確答案 dim temp as integer temp=a : a=b : b=temp 題目說明題目說明 單擊窗體程序執(zhí)行結(jié)果為:單擊窗體程序執(zhí)行結(jié)果為: 10 210 2 2 10 2 10 注意注意 變量變量a a和和b b為兩個(gè)不定值的變?yōu)閮蓚€(gè)不定值的變 量,因此不能直接用量,因此不能直接用 a=2 : b=10a=2 : b=10 語句來解決這個(gè)問題。語句來解決這個(gè)問題。 一旦利用賦值語句給變量賦一旦利用賦值語句

15、給變量賦 新值,會(huì)覆蓋原值,所以不能新值,會(huì)覆蓋原值,所以不能 直接用直接用 a=b : b=aa=b : b=a 語句來解決這個(gè)問題。語句來解決這個(gè)問題。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 21 例:求一元一次方程例:求一元一次方程x+5=0 x+5=0的解。的解。 private sub form_click() dim x as integer 3*x+5=0 print “x=”;x end sub private sub form_click() dim x as integer x=(0-)/3 - print “x=”;x end

16、 sub 語句語句是該例題的算法。是該例題的算法。 錯(cuò)誤程序錯(cuò)誤程序 正確程序正確程序 總結(jié):總結(jié): 利用程序設(shè)計(jì)語言處理問題,我們首先要知道的是利用程序設(shè)計(jì)語言處理問題,我們首先要知道的是怎么怎么 解決問題解決問題,其次要知道怎么將解決問題的方法,其次要知道怎么將解決問題的方法用程序設(shè)計(jì)語用程序設(shè)計(jì)語 言來表達(dá)言來表達(dá)。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 22 4.2.2 inputbox4.2.2 inputbox函數(shù)函數(shù) 格式格式 :inputbox$(,) 功能功能 : 彈出對話框,用戶輸入數(shù)據(jù)后回車或單擊彈出對話框,用戶輸入數(shù)據(jù)后回車

17、或單擊“確定確定”按鈕后,按鈕后, 將輸入內(nèi)容賦值給相應(yīng)的變量;按將輸入內(nèi)容賦值給相應(yīng)的變量;按escesc鍵或單擊鍵或單擊“取消取消”按鈕,按鈕, 返回返回空串空串。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 23 說明說明 (1 1)promptprompt:必選項(xiàng)。對話框中的提示信息。:必選項(xiàng)。對話框中的提示信息。 (2 2)titletitle:可選。對話框的標(biāo)題。省略則為應(yīng)用程序名。:可選。對話框的標(biāo)題。省略則為應(yīng)用程序名。 (3 3)defaultdefault:可選。顯示在用戶編輯框中的缺省值,省略為空。:可選。顯示在用戶編輯框中的缺省值

18、,省略為空。 (4 4)x,y:x,y:可選。指定對話框的顯示位置,省略則居中。可選。指定對話框的顯示位置,省略則居中。 例:例: i = inputbox(“i = inputbox(“輸入數(shù)組元素輸入數(shù)組元素”+chr(10)+“+chr(10)+“第一個(gè)元素為第一個(gè)元素為:”:”, 程序示例程序示例, , 100100) ) 缺省值缺省值 標(biāo)題標(biāo)題 提示字符串提示字符串 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 24 例:用例:用inputbox函數(shù)輸入出生日期,計(jì)算年齡。函數(shù)輸入出生日期,計(jì)算年齡。 option explicitoption

19、explicit private sub form_click()private sub form_click() dim birthday dim birthday as date, age as integer as date, age as integer birthday birthday = inputbox( = inputbox(輸入出生日期輸入出生日期, , 計(jì)算年齡計(jì)算年齡) age = year(date) - year(birthday age = year(date) - year(birthday) ) print print 你今年:你今年:; age; ; age

20、; 歲歲 end subend sub 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 25 如果賦值號左端的變量為數(shù)值型或日期型等非字符型變量,如果賦值號左端的變量為數(shù)值型或日期型等非字符型變量, 輸入字符數(shù)據(jù)輸入字符數(shù)據(jù) 單擊單擊“取消取消”按鈕按鈕 不輸入直接按回車不輸入直接按回車 鍵,則系統(tǒng)都會(huì)提示出錯(cuò):鍵,則系統(tǒng)都會(huì)提示出錯(cuò): dim x as integer x = inputbox(輸入數(shù)組元素輸入數(shù)組元素 + chr(10) + 第一個(gè)元素為:第一個(gè)元素為:, 示例示例, 10, 100, 100) 注意注意 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試

21、級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 26 4.2.3 msgbox4.2.3 msgbox函數(shù)函數(shù) 格式格式:msgbox(prompt,button,title,helpfile,context) 功能功能 :向用戶發(fā)布提示信息,并要求用戶作出必要的響應(yīng)。:向用戶發(fā)布提示信息,并要求用戶作出必要的響應(yīng)。 說明說明 : (1 1)prompt:prompt:必選項(xiàng)。字符串表達(dá)式,對話框中的提示信息。必選項(xiàng)。字符串表達(dá)式,對話框中的提示信息。 (2 2)button:button:指定顯示按鈕的數(shù)目及形式,使用的圖標(biāo)樣式,指定顯示按鈕的數(shù)目及形式,使用的圖標(biāo)樣式, 這是一個(gè)由這是

22、一個(gè)由4 4個(gè)數(shù)值常量組成的式子,形式為個(gè)數(shù)值常量組成的式子,形式為c1+c2+c3+c4c1+c2+c3+c4,用,用 于決定信息框中按鈕的個(gè)數(shù)和類型以及出現(xiàn)在信息框中的圖標(biāo)于決定信息框中按鈕的個(gè)數(shù)和類型以及出現(xiàn)在信息框中的圖標(biāo) 類型,各個(gè)參量的可選值及其功能類型,各個(gè)參量的可選值及其功能; ; 詳見詳見p.62p.62表表4.24.2 (3 3)title:title:對話框標(biāo)題欄的顯示信息。對話框標(biāo)題欄的顯示信息。 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 27 msgbox msgbox 需要重新來一次需要重新來一次?, 2 + 32 + 25

23、6 + 4096, ?, 2 + 32 + 256 + 4096, 詢問詢問 msgbox msgbox 數(shù)據(jù)非法,請重輸!數(shù)據(jù)非法,請重輸!,1 + 16 + 0 + 4096, ,1 + 16 + 0 + 4096, 警告警告 舉舉 例例 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 28 方法一方法一: 發(fā)布提示信息,無須用戶響應(yīng),在程序中作為獨(dú)立語發(fā)布提示信息,無須用戶響應(yīng),在程序中作為獨(dú)立語 句存在句存在,不加括號;不加括號; 例:例: msgbox 非法數(shù)據(jù)!非法數(shù)據(jù)!, , 警告警告 如果省略其中參數(shù),如果省略其中參數(shù), 逗號不能省略逗號不能

24、省略 msgbox函數(shù)的用法函數(shù)的用法 方法二方法二: 需要用戶響應(yīng),和普通函數(shù)調(diào)用方法相同。需要用戶響應(yīng),和普通函數(shù)調(diào)用方法相同。 例:例: response=msgbox(真的刪除該項(xiàng)嗎?真的刪除該項(xiàng)嗎?,4+48,提示信息提示信息) if response=vbyes then else end if 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 29 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 30 1、 if-then-else語句語句 格式格式1:if then else end if 4.3.1 if-

25、then-else- end if4.3.1 if-then-else- end if語句語句 邏輯變量、關(guān)系表達(dá)邏輯變量、關(guān)系表達(dá) 式、邏輯表達(dá)式式、邏輯表達(dá)式 b組語句組語句 條件?條件? 不成立不成立 成立成立 a組語句組語句 邏輯框圖邏輯框圖 : 功能功能 : 如果條件成立,則執(zhí)行如果條件成立,則執(zhí)行a a組語句,組語句, 否則執(zhí)行否則執(zhí)行b b組語句。組語句。 說明說明 : ifif和和end ifend if語句成對出現(xiàn),缺一不可;語句成對出現(xiàn),缺一不可; elseelse和和b組語句組語句部分可以省略部分可以省略, ,當(dāng)條件不成立時(shí)當(dāng)條件不成立時(shí), ,直接執(zhí)行直接執(zhí)行end if

26、end if的的 后繼語句;后繼語句; 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 31 private sub cmdcalculate_click() dim x as single x=val(text1.text) if x= 0 then text2.text = str(sqr(x) else text2.text = 數(shù)據(jù)小于數(shù)據(jù)小于0,錯(cuò)誤!,錯(cuò)誤! end if end sub private sub cmdexit_click() end end sub private sub cmdclear_click() text1.text

27、= text2.text = text1.setfocus end sub 例:從鍵盤輸入一個(gè)數(shù),求它的平方根。例:從鍵盤輸入一個(gè)數(shù),求它的平方根。 縮格輸入縮格輸入 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 32 例:計(jì)算分段函數(shù)例:計(jì)算分段函數(shù)y y的值。的值。 0672 025 xx xex y x private sub cmdcalculate_click() dim x as single,y as single x=val(text1.text) if x = 0 then y = 2*sqr(x+7)-6 else y = 5*x+ex

28、p(x)-2 end if text2.text=str(y) end sub cmdcalculate 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 33 格式格式22:單行:單行if-then-elseif-then-else語句語句 if if then then 1 else else 2 說明說明 : (1 1)在)在a組語句組語句和和b組語句組語句都只有一個(gè)語句時(shí),可使用該格式;都只有一個(gè)語句時(shí),可使用該格式; (2 2)end ifend if語句省略。語句省略。 例:上例可改寫為以下程序段。例:上例可改寫為以下程序段。 private su

29、b cmdcalculate_click() dim y as single,x as single x=val(text1.text) if x = 0 then y = 2*sqr(x+7)-6 else y = 5*x+exp(x)-2 text2.text=str(y) end sub 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 34 條件滿足條件滿足? 塊塊1 truefalse 格式格式33: if then end if 格式格式4:4: if then 邏輯框圖邏輯框圖 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程

30、序設(shè)計(jì)程序設(shè)計(jì) 35 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 36 開始開始 邊長邊長0? 是否能組成三角形是否能組成三角形 計(jì)算計(jì)算 輸出輸出 出錯(cuò)信息出錯(cuò)信息 結(jié)束結(jié)束 是是 否否 是是 否否 例:輸入三角形的三邊例:輸入三角形的三邊a a、b b、c c,求三角形的面積,求三角形的面積 p 64 例例4-1 a0 and b0 and c0 a+bc and b+ca and a+cb 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 37 private sub cmdcalculate_click() di

31、m a as single,b as single,c as single,p as single,s as single a=val(text1.text) b=val(text2.text) c=val(text3.text) if (1) then if a+bc and b+ca and c+ab then p=(a+b+c)/2 s=sqr(p*(p-a)*(p-b)*(p-c) text4.text=str(s) else text4.text=“不能構(gòu)成三角形不能構(gòu)成三角形” end if else text4.text=“邊長不能小于邊長不能小于0 0” end if end

32、sub 計(jì)算公式:計(jì)算公式: 其中:其中: )()(cpbpapps 2 cba p a0 and b0 and c0 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 38 例:計(jì)算分段函數(shù)例:計(jì)算分段函數(shù)y y的值。的值。 5 5xlnx x054x3x 0 x 5x 1 y 2 private sub cmdcalculate_click() dim x as single,y as single x=val(text1.text) if x0 then y=1/(x-5) else if x5 then y=3*x2+4*x+5 else y=log(

33、x) end if end if text2.text=str(y) end sub 05 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 39 例:輸入分?jǐn)?shù)并判斷等級分。計(jì)算規(guī)則如下:例:輸入分?jǐn)?shù)并判斷等級分。計(jì)算規(guī)則如下: 分?jǐn)?shù)分?jǐn)?shù) 100-90 89-80 79-70 69-60 60100-90 89-80 79-70 69-60 = 90 and score = 80 then degree = b else if score = 70 then degree = c else if score = 60 then degree = d else

34、degree = e end if end if end if end if text2.text = degree end if end sub 缺點(diǎn):缺點(diǎn): 嵌套層次過多,結(jié)構(gòu)嵌套層次過多,結(jié)構(gòu) 不清晰,容易出錯(cuò)不清晰,容易出錯(cuò)。 從文本框取數(shù)據(jù)從文本框取數(shù)據(jù) 向文本框放數(shù)據(jù)向文本框放數(shù)據(jù) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 40 3 3、多分支、多分支if-then-elseifif-then-elseif語句語句 格式格式 : ifif 1 thenthen elseif elseif 2 thenthen elseif elseif t

35、henn then else else end if end if 功能功能 : - -對條件自上而下依次判斷對條件自上而下依次判斷, ,若條件若條件i i成立成立, ,則執(zhí)行相應(yīng)的則執(zhí)行相應(yīng)的ai組語句組語句; - -若所有條件都不成立,則執(zhí)行若所有條件都不成立,則執(zhí)行an+1組語句組語句。 - -無論執(zhí)行了哪個(gè)語句塊,都將執(zhí)行無論執(zhí)行了哪個(gè)語句塊,都將執(zhí)行end ifend if的后繼語句。的后繼語句。 條件條件1 條件條件2 假假 假假 真真 真真 語句塊語句塊1語句塊語句塊2 條件條件 n 真真 假假 語句塊語句塊n語句塊語句塊n+1 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visua

36、l basic 程序設(shè)計(jì)程序設(shè)計(jì) 41 (1 1)該語句結(jié)構(gòu)可以解決多分支問題,只有一個(gè))該語句結(jié)構(gòu)可以解決多分支問題,只有一個(gè)end end ifif語句,語句, 避免避免ifif語句嵌套層數(shù)過多的情況;語句嵌套層數(shù)過多的情況; (2 2)elseelse語句可以省略;語句可以省略; (3 3)該結(jié)構(gòu)是一個(gè)單出口的結(jié)構(gòu),即該結(jié)構(gòu)是一個(gè)單出口的結(jié)構(gòu),即只會(huì)執(zhí)行只會(huì)執(zhí)行一組語句一組語句,若,若 條件中有兩個(gè)成立,則按語句的順序執(zhí)行前面的條件中有兩個(gè)成立,則按語句的順序執(zhí)行前面的一組語句。一組語句。 說說 明明 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 4

37、2 private sub text1_keypress(keyascii as integer) dim score as integer, degree as string if keyascii = 13 then score = val(text1.text) if score = 90 and score = 80 then degree = b elseif score = 70 then degree = c elseif score = 60 then degree = d else degree = e end if text2.text = degree end if en

38、d sub 特點(diǎn):特點(diǎn): 結(jié)構(gòu)清晰。結(jié)構(gòu)清晰。 將上例用將上例用if-then-elseifif-then-elseif語句改寫:語句改寫: 90score=80 ? 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 43 格式格式:select case case case case case else end select 功能功能 : 計(jì)算測試表達(dá)式的值,自計(jì)算測試表達(dá)式的值,自 上而下檢查測試條件上而下檢查測試條件; ; 若表達(dá)式的值符合測試若表達(dá)式的值符合測試 i i, 則執(zhí)行相應(yīng)的語句塊則執(zhí)行相應(yīng)的語句塊 i i; 若所有條件都不成立,則若所有條件

39、都不成立,則 執(zhí)行語句塊執(zhí)行語句塊n+1n+1。無論執(zhí)行了。無論執(zhí)行了 哪個(gè)語句塊,都將執(zhí)行哪個(gè)語句塊,都將執(zhí)行end end selectselect的后繼語句。的后繼語句。 4.3.2 4.3.2 多分支多分支select-case-end selectselect-case-end select語句語句 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 44 (1 1)測試表達(dá)式可以是算術(shù)表達(dá)式或字符表達(dá)式;)測試表達(dá)式可以是算術(shù)表達(dá)式或字符表達(dá)式; (2 2)測試條件有四種形式:)測試條件有四種形式: v 常量,如常量,如2 2、3 3、“a”a”等等

40、 v 閉區(qū)間閉區(qū)間,如,如3 3 toto 78 78、“b” b” toto“h”“h”等等 v 開區(qū)間,如開區(qū)間,如isis2020、 isis“p”“p”等等 v 以上三種形式的組合,以以上三種形式的組合,以逗號間隔逗號間隔,條件組合是,條件組合是或或 的關(guān)系,的關(guān)系,不能表示與的關(guān)系不能表示與的關(guān)系 (3 3)case elsecase else語句部分可以省略;語句部分可以省略; (4 4)以)以end selectend select語句結(jié)束;語句結(jié)束; (5 5)該結(jié)構(gòu)是一個(gè)單出口的結(jié)構(gòu),即該結(jié)構(gòu)是一個(gè)單出口的結(jié)構(gòu),即只會(huì)執(zhí)行一個(gè)語句塊只會(huì)執(zhí)行一個(gè)語句塊,若條,若條 件中有兩個(gè)成

41、立,則按語句的順序執(zhí)行前面的語句塊。件中有兩個(gè)成立,則按語句的順序執(zhí)行前面的語句塊。 說說 明明 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 45 例:將上例用例:將上例用select caseselect case語句改寫。語句改寫。 private sub text1_keypress(keyascii as integer) dim score as integer, degree as string if keyascii = 13 then score = val(text1.text) select case score case 90 to

42、 100 degree = a case 80 to 89 degree = b case 70 to 79 degree = c case 60 to 69 degree = d case is60 degree = e end select text2.text = degree end if end sub 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 46 練習(xí):練習(xí):鍵盤輸入三個(gè)數(shù),將它們從大到小依次排列輸出。鍵盤輸入三個(gè)數(shù),將它們從大到小依次排列輸出。 private sub form_click() dim a as integer, b a

43、s integer, c as integer, temp as integer a = inputbox(輸入輸入a, 順序輸出順序輸出) b = inputbox(輸入輸入b, 順序輸出順序輸出) c = inputbox(輸入輸入c, 順序輸出順序輸出) if a b then temp = a a = b b = temp end if if a c then print a, b, c else print a, c, b end if end sub 保證保證a為為a,b兩數(shù)中的大值兩數(shù)中的大值 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 4

44、7 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 48 4.4 4.4 循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)語句 4.4.1 do-loop循環(huán)結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)語句(條件循環(huán))(條件循環(huán)) 4.4.2 for-next 循環(huán)結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)語句(計(jì)數(shù)循環(huán))(計(jì)數(shù)循環(huán)) 4.4.3 循環(huán)嵌套循環(huán)嵌套 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 49 由一定的條件控制,反復(fù)執(zhí)行某個(gè)程序段的程序結(jié)構(gòu)稱由一定的條件控制,反復(fù)執(zhí)行某個(gè)程序段的程序結(jié)構(gòu)稱 為為循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)。 用于解決一些需要重復(fù)進(jìn)行某些操作的問題。用于解

45、決一些需要重復(fù)進(jìn)行某些操作的問題。 循環(huán)要素:循環(huán)要素: s end sub 實(shí)現(xiàn)累加實(shí)現(xiàn)累加 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 56 格式二格式二: do loop while 條件?條件? 循環(huán)體循環(huán)體 不成立不成立 loop的后繼語句的后繼語句 成立成立 執(zhí)行步驟:執(zhí)行步驟: 1 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體; 2 判斷條件是否成立。如果條判斷條件是否成立。如果條 件成立,轉(zhuǎn)向第件成立,轉(zhuǎn)向第 1 步步 3 條件不成立,則結(jié)束循環(huán),條件不成立,則結(jié)束循環(huán), 執(zhí)行執(zhí)行l(wèi)oop語句的后繼語句。語句的后繼語句。 當(dāng)型循環(huán)當(dāng)型循環(huán) 江蘇計(jì)算機(jī)等江蘇計(jì)算

46、機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 57 格式三格式三 do until loop 條件?條件? 循環(huán)體循環(huán)體 不成立不成立 loop的后繼語句的后繼語句 成立成立執(zhí)行步驟:執(zhí)行步驟: 1 判斷條件是否成立。如果條判斷條件是否成立。如果條 件成立,轉(zhuǎn)向第件成立,轉(zhuǎn)向第4步步 2 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體; 3 轉(zhuǎn)向執(zhí)行第轉(zhuǎn)向執(zhí)行第 1 步;步; 4 執(zhí)行執(zhí)行l(wèi)oop語句的后繼語句。語句的后繼語句。 直到型循環(huán)直到型循環(huán) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 58 格式四格式四 do loop until 條件?條件? 循環(huán)

47、體循環(huán)體 不成立不成立 loop的后繼語句的后繼語句 成立成立 執(zhí)行步驟:執(zhí)行步驟: 1 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體; 2 判斷條件是否成立。如果條判斷條件是否成立。如果條 件不成立,轉(zhuǎn)向第件不成立,轉(zhuǎn)向第 1 步,若條步,若條 件成立,則執(zhí)行件成立,則執(zhí)行 第第3步步 3 執(zhí)行執(zhí)行l(wèi)oop語句的后繼語句。語句的后繼語句。 直到型循環(huán)直到型循環(huán) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 59 (1 1)while while 短語總是在條件成立時(shí),繼續(xù)進(jìn)行循環(huán);條件短語總是在條件成立時(shí),繼續(xù)進(jìn)行循環(huán);條件 不成立時(shí),結(jié)束循環(huán)。因此用于不成立時(shí),結(jié)束循環(huán)。因

48、此用于“當(dāng)型當(dāng)型”循環(huán);循環(huán); (2 2)until until 短語總是在條件不成立時(shí),執(zhí)行循環(huán)體;條件短語總是在條件不成立時(shí),執(zhí)行循環(huán)體;條件 成立時(shí),則結(jié)束循環(huán)。因此稱為成立時(shí),則結(jié)束循環(huán)。因此稱為“直到型直到型”循環(huán);循環(huán); (3 3)上述兩條短語是可以相互轉(zhuǎn)換的。)上述兩條短語是可以相互轉(zhuǎn)換的。 總總 結(jié)結(jié) do while i=10 print “hello” i=i+1 loop 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 60 格式五(特殊形式)格式五(特殊形式): do loop 執(zhí)行過程:反復(fù)執(zhí)行循環(huán)體。執(zhí)行過程:反復(fù)執(zhí)行循環(huán)體。 該

49、結(jié)構(gòu)稱為該結(jié)構(gòu)稱為“死循環(huán)死循環(huán)“,在循環(huán)體,在循環(huán)體 內(nèi)必須通過內(nèi)必須通過 exit do 語句強(qiáng)制退出語句強(qiáng)制退出 循環(huán)體。循環(huán)體。 exit do語句一般與語句一般與if-then語句結(jié)合語句結(jié)合 使用,即當(dāng)滿足某一條件時(shí),才強(qiáng)使用,即當(dāng)滿足某一條件時(shí),才強(qiáng) 制退出循環(huán)。制退出循環(huán)。 if then exit do 循環(huán)體循環(huán)體 loop后續(xù)語句后續(xù)語句 do print “hello” i=i+1 if i=10 then exit do loop 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 61 (1 1)dodo和和looploop為循環(huán)結(jié)構(gòu)

50、關(guān)鍵字,必須成對出現(xiàn),缺一不可;為循環(huán)結(jié)構(gòu)關(guān)鍵字,必須成對出現(xiàn),缺一不可; (2 2)循環(huán)體為可執(zhí)行語句組成)循環(huán)體為可執(zhí)行語句組成, ,可以嵌套分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu);可以嵌套分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu); (3 3)語句)語句 exit do exit do 用于無條件退出循環(huán),可在任意用于無條件退出循環(huán),可在任意do-loopdo-loop語語 句結(jié)構(gòu)的循環(huán)體中出現(xiàn)。句結(jié)構(gòu)的循環(huán)體中出現(xiàn)。 (4 4)使用循環(huán)結(jié)構(gòu),一定要避免死循環(huán)的出現(xiàn)。)使用循環(huán)結(jié)構(gòu),一定要避免死循環(huán)的出現(xiàn)。 do-loop do-loop語句使用說明語句使用說明 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程

51、序設(shè)計(jì)程序設(shè)計(jì) 62 算法算法分析分析 :求最大公約數(shù)的常用方法是:求最大公約數(shù)的常用方法是 輾轉(zhuǎn)相除法。輾轉(zhuǎn)相除法。 例:求兩個(gè)數(shù)的最大公約數(shù)。例:求兩個(gè)數(shù)的最大公約數(shù)。 p 68 例例4-3 1810 m n r 8 10 8 2 8 2 0 2 0 r=8 r=2 r=0 m=2即即最大公約數(shù)最大公約數(shù) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 63 在該例中,我們使用了三個(gè)變量,分別表示被除數(shù)(在該例中,我們使用了三個(gè)變量,分別表示被除數(shù)(m m)、)、 除數(shù)(除數(shù)(n n)及余數(shù)()及余數(shù)(r r)。)。 do r=m mod n m=n n

52、=r loop until r=0 最大公約數(shù)是(最大公約數(shù)是( )?)? 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 64 由于輸入的數(shù)據(jù)由于輸入的數(shù)據(jù)m m和和n n要求是自然數(shù),在程序中應(yīng)加入對要求是自然數(shù),在程序中應(yīng)加入對 數(shù)據(jù)的合法性進(jìn)行檢驗(yàn)的部分;數(shù)據(jù)的合法性進(jìn)行檢驗(yàn)的部分; 考慮到程序的應(yīng)用范圍,數(shù)據(jù)類型可選用長整型??紤]到程序的應(yīng)用范圍,數(shù)據(jù)類型可選用長整型。 問題分析及界面設(shè)計(jì)問題分析及界面設(shè)計(jì) 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 65 private sub command1_click

53、() dim m as long, n as long, r as long m = val(text1.text) 取數(shù)據(jù)取數(shù)據(jù)m n = val(text2.text) 取數(shù)據(jù)取數(shù)據(jù)n if m int(m) or m 1 or n int(n) or n 1 then text3.text = 數(shù)據(jù)錯(cuò)誤!數(shù)據(jù)錯(cuò)誤! else do 求最大公約數(shù)求最大公約數(shù) r = m mod n m = n n = r loop until r = 0 text3.text = cstr(m) 輸出最大公約數(shù)輸出最大公約數(shù) end if end sub private sub command2_clic

54、k() text1.text = text2.text = text3.text = end sub private sub command3_click() end end sub 檢驗(yàn)數(shù)據(jù)檢驗(yàn)數(shù)據(jù) 合法性合法性 mod 前后加空格前后加空格 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 66 例:將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。例:將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。 算法分析算法分析 :十進(jìn)制向二進(jìn)制轉(zhuǎn)換,十進(jìn)制向二進(jìn)制轉(zhuǎn)換, 采取的是除采取的是除2 2取余法。取余法。 452 22 2 1 11 21 2 2 2 5 2 1 0 1 0 0 1 高位高位 低位低位 (

55、45)10=(101101)2 解決這類問題必須考慮的是如下幾點(diǎn):解決這類問題必須考慮的是如下幾點(diǎn): (1 1)需要重復(fù)運(yùn)行的操作)需要重復(fù)運(yùn)行的操作除除2 2取余取余 (2 2)終止循環(huán)的條件)終止循環(huán)的條件商為商為0 0 a=0? a mod 2 a=a2 f 結(jié)束循環(huán)結(jié)束循環(huán) t 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 67 注意:注意: 在循環(huán)控制條件中必須出現(xiàn)變量,且該變量在循環(huán)體中一定在循環(huán)控制條件中必須出現(xiàn)變量,且該變量在循環(huán)體中一定 要改變值,否則會(huì)造成要改變值,否則會(huì)造成“死循環(huán)死循環(huán)”,即無休止的循環(huán)。,即無休止的循環(huán)。 若在運(yùn)行

56、程序過程若出現(xiàn)若在運(yùn)行程序過程若出現(xiàn)“死循環(huán)死循環(huán)”,用,用ctrl+breakctrl+break可可 以強(qiáng)制終止程序的執(zhí)行。以強(qiáng)制終止程序的執(zhí)行。 private sub command1_click() dim a as integer, r as integer,s as string a = val(text1.text) do while a 0 r=a mod 2 a = a 2 loop text2.text = s end sub s = cstr(r) next i print i=; i end sub 執(zhí)行本程序,窗體上將顯示:執(zhí)行本程序,窗體上將顯示:1 3 5 7

57、9 i=111 3 5 7 9 i=11。 它表明循環(huán)一共執(zhí)行了它表明循環(huán)一共執(zhí)行了5 5次,退出循環(huán)時(shí),次,退出循環(huán)時(shí),i i的取值為的取值為1111。 例:請寫出窗體上打印的內(nèi)容,以及循環(huán)執(zhí)行的次數(shù)。例:請寫出窗體上打印的內(nèi)容,以及循環(huán)執(zhí)行的次數(shù)。 p 70 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 75 循環(huán)控制變量主要是用于控制循環(huán)的執(zhí)行次數(shù)循環(huán)控制變量主要是用于控制循環(huán)的執(zhí)行次數(shù), , 但我們通過但我們通過 合理的設(shè)置合理的設(shè)置, ,可以在循環(huán)體中巧妙加以利用可以在循環(huán)體中巧妙加以利用, ,以提高程序的效率以提高程序的效率. . 分析分析 :

58、這個(gè)式子有現(xiàn)成的求和公式,在這里主要借助該例體現(xiàn):這個(gè)式子有現(xiàn)成的求和公式,在這里主要借助該例體現(xiàn) 一下在循環(huán)體中計(jì)數(shù)變量的應(yīng)用。一下在循環(huán)體中計(jì)數(shù)變量的應(yīng)用。 設(shè)計(jì)數(shù)變量為設(shè)計(jì)數(shù)變量為i i,初值為,初值為1 1,終值為,終值為100100,步長值為,步長值為1 1,可省略。,可省略。 i i從從1 1變化到變化到2 2、3 3、4 4、100100,正好和式子中的通項(xiàng)變化一致。,正好和式子中的通項(xiàng)變化一致。 s=0 for i=1 to 100 s=s+i next i s=0 for i=100 to 1 step -1 s=s+i next i 例:求例:求s=1+2+3+s=1+2+

59、3+100+100。 s=0:n=0 for i=1 to 100 n=n+1 s=s+n next i 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 76 寫出下列程序的運(yùn)行結(jié)果寫出下列程序的運(yùn)行結(jié)果 private sub form_click() dim p as integer, i as integer, n as integer p = 2: n = 20 for i = 1 to n step p p = p + 2 n = n - 3 i = i + 1 if p = 10 then exit for next i print i, p,

60、n end sub 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等 級考試級考試 visual basic 程序設(shè)計(jì)程序設(shè)計(jì) 77 分析分析:這類問題沒有什么算法,只有將所有情況列舉然后檢查得:這類問題沒有什么算法,只有將所有情況列舉然后檢查得 分情況,直到發(fā)現(xiàn)答案為止。設(shè)該生共答對分情況,直到發(fā)現(xiàn)答案為止。設(shè)該生共答對i道題,答錯(cuò)(道題,答錯(cuò)(26-i)道題,道題, 如果如果 i*8-(26-i)*5=0 那么那么i就是答案。就是答案。i的變化范圍是的變化范圍是1-26。一旦找到答案,可以立即結(jié)。一旦找到答案,可以立即結(jié) 束循環(huán)。束循環(huán)。 窮舉法要點(diǎn):窮舉法要點(diǎn): -通過循環(huán)語句,通過循環(huán)語句, 遍歷所有可能的遍

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論