《《分支結(jié)構(gòu)》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《分支結(jié)構(gòu)》PPT課件(24頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、分支結(jié)構(gòu)分支結(jié)構(gòu)算法的教學(xué)建議算法的教學(xué)建議分支結(jié)構(gòu)分支結(jié)構(gòu)v重要的知識(shí)點(diǎn)重要的知識(shí)點(diǎn)v引入方法引入方法v選用的例題意圖及學(xué)生容易出現(xiàn)的錯(cuò)誤選用的例題意圖及學(xué)生容易出現(xiàn)的錯(cuò)誤v分支結(jié)構(gòu)的概念:根據(jù)給定條分支結(jié)構(gòu)的概念:根據(jù)給定條件是否成立而決定執(zhí)行不同步件是否成立而決定執(zhí)行不同步驟的算法結(jié)構(gòu)。驟的算法結(jié)構(gòu)。v基本模式:雙分支結(jié)構(gòu)和單分基本模式:雙分支結(jié)構(gòu)和單分支結(jié)構(gòu)支結(jié)構(gòu)v復(fù)習(xí)算法基礎(chǔ)中的復(fù)習(xí)算法基礎(chǔ)中的“算術(shù)表達(dá)算術(shù)表達(dá)式式”、“關(guān)系表達(dá)式關(guān)系表達(dá)式”和和 “邏邏輯表達(dá)式輯表達(dá)式”,找出其本質(zhì)的不,找出其本質(zhì)的不同。同。v執(zhí)行到分支結(jié)構(gòu)時(shí),在兩條可執(zhí)行到分支結(jié)構(gòu)時(shí),在兩條可能的路徑中,根據(jù)條
2、件是否成能的路徑中,根據(jù)條件是否成立而選擇立而選擇其中一條其中一條執(zhí)行。執(zhí)行。5.5.流程圖規(guī)范畫法流程圖規(guī)范畫法 流程線,走直角,自上而下。流程線,走直角,自上而下。雙分支結(jié)構(gòu)中,條件判斷的是、否雙分支結(jié)構(gòu)中,條件判斷的是、否結(jié)果左右分列;單分支結(jié)構(gòu)中,條結(jié)果左右分列;單分支結(jié)構(gòu)中,條件判斷成立時(shí),往下執(zhí)行預(yù)定步驟件判斷成立時(shí),往下執(zhí)行預(yù)定步驟,否則跳過預(yù)定步驟。,否則跳過預(yù)定步驟。無論單、雙分支都一定有判斷框和無論單、雙分支都一定有判斷框和匯聚點(diǎn),判斷框是分支結(jié)構(gòu)的開始匯聚點(diǎn),判斷框是分支結(jié)構(gòu)的開始,匯聚點(diǎn)是分支結(jié)構(gòu)的結(jié)束。,匯聚點(diǎn)是分支結(jié)構(gòu)的結(jié)束。判斷框有一個(gè)入口,兩個(gè)出口,而判斷框有一
3、個(gè)入口,兩個(gè)出口,而分支結(jié)構(gòu)只有一個(gè)入口,即判斷框分支結(jié)構(gòu)只有一個(gè)入口,即判斷框的入口,一個(gè)出口,即匯聚點(diǎn)的出的入口,一個(gè)出口,即匯聚點(diǎn)的出口???。v分支結(jié)構(gòu)的引入方法,如同分支結(jié)構(gòu)的引入方法,如同前面順序結(jié)構(gòu)一樣,建議先前面順序結(jié)構(gòu)一樣,建議先用用現(xiàn)實(shí)生活中的實(shí)際問題現(xiàn)實(shí)生活中的實(shí)際問題引引入入 。例例1 1:雙分支結(jié)構(gòu):上完:雙分支結(jié)構(gòu):上完體育課,體育課,如果如果是上午最是上午最后一節(jié),下課后去食堂后一節(jié),下課后去食堂吃飯;吃飯;否則否則,進(jìn)教室上,進(jìn)教室上課。課。單分支結(jié)構(gòu)是雙分支結(jié)構(gòu)的單分支結(jié)構(gòu)是雙分支結(jié)構(gòu)的一種特例。一種特例。例例2 2:單分支結(jié)構(gòu):出門帶傘:單分支結(jié)構(gòu):出門帶傘問
4、題:問題:如果如果下雨,帶傘后下雨,帶傘后出出門門,否則否則直接直接出門出門。分支結(jié)構(gòu)的兩種基本模式與程序設(shè)計(jì)中的分支結(jié)構(gòu)的兩種基本模式與程序設(shè)計(jì)中的IFIF語句:語句:此時(shí),一定要問清楚學(xué)生,此時(shí),一定要問清楚學(xué)生,“否否”的這個(gè)分支含義是什么,這樣當(dāng)?shù)倪@個(gè)分支含義是什么,這樣當(dāng)學(xué)生學(xué)習(xí)學(xué)生學(xué)習(xí)IFIF語句中的語句中的ELSEELSE時(shí),可時(shí),可以理解以理解ELSEELSE語句中其實(shí)隱含著不語句中其實(shí)隱含著不成立的條件,無須重復(fù)書寫。成立的條件,無須重復(fù)書寫。雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)單分支結(jié)構(gòu)單分支結(jié)構(gòu)雙分支的語句格式:雙分支的語句格式:IF IF THEN THEN ELSEELSE END
5、IFEND IF單分支的語句格式:單分支的語句格式:IF IF THEN THEN END IFEND IF分支結(jié)構(gòu)的兩種基本模式與程序設(shè)計(jì)中的分支結(jié)構(gòu)的兩種基本模式與程序設(shè)計(jì)中的IFIF語句對(duì)應(yīng)關(guān)系:語句對(duì)應(yīng)關(guān)系:IFIFTHENTHENELSEELSEEND IFEND IFIFIFTHENTHENEND IFEND IF雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)單分支結(jié)構(gòu)單分支結(jié)構(gòu)條件條件IFIF語句:語句:雙分支的語句格式:IF THEN ELSE END IF單分支的語句格式:IF THEN END IF要強(qiáng)調(diào)IF和END IF的一一 對(duì)應(yīng)。要強(qiáng)調(diào)分支結(jié)構(gòu)中語句塊采用縮進(jìn)方法書寫。要講清楚分支結(jié)構(gòu)的執(zhí)行過
6、程,特別要和順序結(jié)構(gòu)區(qū)別開來。選用的例題意圖及學(xué)生容易出現(xiàn)的錯(cuò)誤選用的例題意圖及學(xué)生容易出現(xiàn)的錯(cuò)誤v引入階段引入階段例例1 1、例、例2 2(生活實(shí)例)(生活實(shí)例)v分支結(jié)構(gòu)的初步學(xué)習(xí)分支結(jié)構(gòu)的初步學(xué)習(xí)例例3 3、練習(xí)、練習(xí)1 1、練習(xí)、練習(xí)2 2v分支結(jié)構(gòu)的初步應(yīng)用分支結(jié)構(gòu)的初步應(yīng)用例例4 4、例、例5 5v分支嵌套分支嵌套例例6 6、例、例7 7、拓展練習(xí)、拓展練習(xí)1 1、拓展練習(xí)、拓展練習(xí)2 2v分支結(jié)構(gòu)的提高應(yīng)用分支結(jié)構(gòu)的提高應(yīng)用例例8 8、例、例9 9例例3 3:從鍵盤輸入的兩個(gè)不相等的數(shù),打印出其中:從鍵盤輸入的兩個(gè)不相等的數(shù),打印出其中較大的數(shù)。(雙分支結(jié)構(gòu))較大的數(shù)。(雙分支結(jié)
7、構(gòu))v 意圖:讓學(xué)生著手簡單的分支結(jié)構(gòu)的運(yùn)用,嘗試意圖:讓學(xué)生著手簡單的分支結(jié)構(gòu)的運(yùn)用,嘗試寫分支的判斷條件。寫分支的判斷條件。上機(jī)調(diào)試時(shí),再次強(qiáng)調(diào)ELSE語句后面不加條件v練習(xí)練習(xí)1 1:求分段函數(shù)值:求分段函數(shù)值 y=x2 x3 2x+1 x0)0 (x=0)-1(x0)分段函數(shù)學(xué)生容易理解,條件顯而易見,分段函數(shù)學(xué)生容易理解,條件顯而易見,可以用數(shù)軸的辦法,讓學(xué)生觀察數(shù)值區(qū)域,可以用數(shù)軸的辦法,讓學(xué)生觀察數(shù)值區(qū)域,選擇從大到小,或從小到大的判斷方法,選擇從大到小,或從小到大的判斷方法,用分支嵌套來實(shí)現(xiàn)。用分支嵌套來實(shí)現(xiàn)。此處是處理框,其中的此處是處理框,其中的y=0是賦值語句,是賦值語句
8、,=是賦值號(hào)。是賦值號(hào)。此處是判斷框,其中此處是判斷框,其中x=0是關(guān)系表達(dá)式,是關(guān)系表達(dá)式,=是關(guān)系運(yùn)算符。是關(guān)系運(yùn)算符。注意語句的書寫規(guī)范,注意語句的書寫規(guī)范,IF和和END IF成對(duì)出現(xiàn)。成對(duì)出現(xiàn)。例例7 7:購買地鐵車票:乘:購買地鐵車票:乘1-4 1-4 站站 3 3元元/位;位;5-95-9站站 4 4元元/位;位;9 9站以上站以上5 5元元/位;輸入人數(shù)位;輸入人數(shù)personperson、站、站數(shù)數(shù)n n,輸出應(yīng)付款,輸出應(yīng)付款paypay(分支嵌套)。(分支嵌套)??偨Y(jié)不管先判斷哪個(gè)條件,后判哪個(gè)條件,總結(jié)不管先判斷哪個(gè)條件,后判哪個(gè)條件,都要看到條件不成立時(shí)隱含著的條件,
9、判斷都要看到條件不成立時(shí)隱含著的條件,判斷過的無需反復(fù)進(jìn)行判斷,但也不要漏掉哪段過的無需反復(fù)進(jìn)行判斷,但也不要漏掉哪段范圍,尤其是一個(gè)個(gè)的邊界值。學(xué)生的做法范圍,尤其是一個(gè)個(gè)的邊界值。學(xué)生的做法可能有多種,請(qǐng)教師務(wù)必留意判斷條件的正可能有多種,請(qǐng)教師務(wù)必留意判斷條件的正確性。確性。上述例題和后續(xù)的兩個(gè)拓展練習(xí)上述例題和后續(xù)的兩個(gè)拓展練習(xí)“手手機(jī)通話費(fèi)用計(jì)算機(jī)通話費(fèi)用計(jì)算”和和“一元二次方程一元二次方程求解求解”都是為鞏固分支嵌套而設(shè)計(jì)的。都是為鞏固分支嵌套而設(shè)計(jì)的。例例8 8:輸入三個(gè)不相等的數(shù):輸入三個(gè)不相等的數(shù)a a,b b,c c,將最大數(shù)賦值給,將最大數(shù)賦值給變量變量maxmax并輸出
10、。(一題多解)并輸出。(一題多解)v 講解方法:先回憶兩數(shù)比較大小,然后可先在黑板講解方法:先回憶兩數(shù)比較大小,然后可先在黑板上將三個(gè)數(shù)的關(guān)系分析清楚,再根據(jù)其邏輯關(guān)系畫上將三個(gè)數(shù)的關(guān)系分析清楚,再根據(jù)其邏輯關(guān)系畫出流程圖??赏ㄟ^讓學(xué)生讀流程圖或補(bǔ)全流程圖來出流程圖??赏ㄟ^讓學(xué)生讀流程圖或補(bǔ)全流程圖來降低難度。降低難度。如果如果abab如果如果acacmax=a如果如果acacmax=c如果如果abab如果如果bcbcmax=b如果如果bcb=b THEN IF a=c THEN max=a ELSE max=c END IFELSE IF b=c THEN max=b ELSE max=c
11、END IFEND IFIF a=b and a=c THEN max=aELSE IF b=a and b=c THEN max=b ELSE max=c END IFEND IFPRINT max學(xué)生可能用邏輯表達(dá)式來找出最大值,甚至利用邏輯學(xué)生可能用邏輯表達(dá)式來找出最大值,甚至利用邏輯表達(dá)式,連續(xù)用三句單分支結(jié)構(gòu)來解決問題。教師此表達(dá)式,連續(xù)用三句單分支結(jié)構(gòu)來解決問題。教師此時(shí)需要指出的是重要的是利用時(shí)需要指出的是重要的是利用分支嵌套的思想分支嵌套的思想來理順來理順數(shù)之間的關(guān)系,數(shù)之間的關(guān)系,追求的是邏輯思維過程追求的是邏輯思維過程,而非最后的,而非最后的結(jié)果。結(jié)果。IF a=b and
12、 a=c THEN max=aEND IFIF b=a and b=c THEN max=bEND IFIF c=a and c=b THEN max=cEND IFPRINT max擂臺(tái)法:max=aIF bmax THEN max=bEND IFIF cmax THEN max=cEND IF擂臺(tái)法學(xué)生不容易想到,卻是擂臺(tái)法學(xué)生不容易想到,卻是最精煉的一種算法,在有條件最精煉的一種算法,在有條件的學(xué)校,教師可以嘗試提示不的學(xué)校,教師可以嘗試提示不用分支嵌套結(jié)構(gòu)和邏輯表達(dá)式用分支嵌套結(jié)構(gòu)和邏輯表達(dá)式來完成本題。來完成本題。例例9 9:輸入一個(gè)三位數(shù)的整數(shù),將數(shù)字位置重新排列,:輸入一個(gè)三位數(shù)
13、的整數(shù),將數(shù)字位置重新排列,組成一個(gè)盡可大的三位數(shù)。例如:輸入組成一個(gè)盡可大的三位數(shù)。例如:輸入213213,重新排,重新排列可得到盡可能大的三位數(shù)是列可得到盡可能大的三位數(shù)是321321。v 本例題是對(duì)學(xué)生思路的一種拓展,需要結(jié)合前面學(xué)本例題是對(duì)學(xué)生思路的一種拓展,需要結(jié)合前面學(xué)習(xí)的函數(shù)與運(yùn)算符,如習(xí)的函數(shù)與運(yùn)算符,如modmod運(yùn)算符運(yùn)算符 和和 intint函數(shù)。教函數(shù)。教師可以提示學(xué)生這些運(yùn)算符和函數(shù)的功能。師可以提示學(xué)生這些運(yùn)算符和函數(shù)的功能。以上兩題都是分支結(jié)構(gòu)的提高應(yīng)用,教師可以以上兩題都是分支結(jié)構(gòu)的提高應(yīng)用,教師可以結(jié)合學(xué)生的特點(diǎn),選用讀流程圖、讀程序、流結(jié)合學(xué)生的特點(diǎn),選用讀
14、流程圖、讀程序、流程圖填空或程序填空的方法,降低難度,加深程圖填空或程序填空的方法,降低難度,加深理解。理解。v 引入階段引入階段例例1 1、例、例2 2(生活實(shí)例)(生活實(shí)例)v 分支結(jié)構(gòu)的初步學(xué)習(xí)分支結(jié)構(gòu)的初步學(xué)習(xí)例例3 3、練習(xí)、練習(xí)1 1、練習(xí)、練習(xí)2 2v 分支結(jié)構(gòu)的初步應(yīng)用分支結(jié)構(gòu)的初步應(yīng)用例例4 4、例、例5 5v 分支嵌套分支嵌套例例6 6、例、例7 7、拓展練習(xí)、拓展練習(xí)1 1、拓展練習(xí)、拓展練習(xí)2 2v 分支結(jié)構(gòu)的提高應(yīng)用分支結(jié)構(gòu)的提高應(yīng)用例例8 8、例、例9 9以上題目難度逐漸遞進(jìn),通過以上題目難度逐漸遞進(jìn),通過3434個(gè)課時(shí)加深學(xué)生對(duì)分支結(jié)個(gè)課時(shí)加深學(xué)生對(duì)分支結(jié)構(gòu)的理解,為后續(xù)的循環(huán)結(jié)構(gòu)和構(gòu)的理解,為后續(xù)的循環(huán)結(jié)構(gòu)和算法實(shí)例打下基礎(chǔ)。算法實(shí)例打下基礎(chǔ)。上海市向明中學(xué) 勵(lì)穎