資源描述:
《順序結(jié)構(gòu)與選擇結(jié)構(gòu)課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、§2算法框圖的基本結(jié)構(gòu)及設(shè)計(jì)2.1順序結(jié)構(gòu)與選擇結(jié)構(gòu)已知點(diǎn)A(x0,y0)和直線L:Ax+By+C=0,設(shè)計(jì)一個(gè)算法,求點(diǎn)A到直線L的距離d.●A(x0,y0)L解:算法步驟如下:(1)輸入點(diǎn)A的橫、縱坐標(biāo)x0,y0和直線方程的系數(shù)A,B,C(2)計(jì)算Z1=Ax0+By0+C(3)計(jì)算Z2=A2+B2(5)輸出d為了更簡(jiǎn)潔、清晰、直觀和便于檢查,我們一般用如下圖形表示算法.輸入x0,y0,A,B,C開始計(jì)算Z1=Ax0+By0+C計(jì)算Z2=A2+B2結(jié)束計(jì)算d=輸出d算法框圖解:算法步驟如下:(1)輸入點(diǎn)A的橫、縱坐標(biāo)x0,y0和直線方程的系數(shù)A,B,C(2)計(jì)算Z1=Ax0
2、+By0+C(3)計(jì)算Z2=A2+B2(5)輸出d算法框圖:在算法設(shè)計(jì)中,算法框圖(也叫程序框圖)可以準(zhǔn)確、清晰、直觀地表達(dá)解決問題的思路和步驟.框圖功能賦值、計(jì)算判斷某一條件是否成立終端框(起止框)輸入、輸出框處理框判斷框表示一個(gè)算法的起始和結(jié)束表示一個(gè)算法輸入和輸出的信息基本的框圖和它們各自表示的功能例1尺規(guī)作圖,確定線段AB的一個(gè)5等分點(diǎn).ABGPFECMD作法:作圖步驟如下:1.從已知線段的左端點(diǎn)A出發(fā),作一條射線AP;2.在射線上任取一點(diǎn)C,得線段AC;3.在射線上作線段CE=AC;4.在射線上作線段EF=AC;5.在射線上作線段FG=AC;6.在射線上作線段GD=
3、AC,那么線段AD=5AC;7.連接DB;8.過C作BD的平行線,交線段AB于點(diǎn)M,這樣點(diǎn)M就是線段AB的一個(gè)5等分點(diǎn).步驟甲步驟乙順序結(jié)構(gòu)算法框圖開始從A點(diǎn)出發(fā)作一條射線在射線上取點(diǎn)C,得單位線段AC在射線上作線段CE=EF=FG=GD=AC過點(diǎn)C作BD的平行線交AB于點(diǎn)M,即為線段AB的一個(gè)5等分點(diǎn)結(jié)束連接DB由若干個(gè)依次執(zhí)行的處理步驟組成的邏輯結(jié)構(gòu).這是任何一個(gè)程序都離不開的基本結(jié)構(gòu).步驟甲步驟乙順序結(jié)構(gòu)變式練習(xí):設(shè)計(jì)算法,求一元二次方程ax2+bx+c=0(a≠0,b2-4ac>0)的根,畫出相應(yīng)的流程圖.算法分析:第一步,計(jì)算b2-4ac>0第二步,輸入系數(shù)a,b,
4、c輸出X1、X2結(jié)束開始計(jì)算計(jì)算順序結(jié)構(gòu)計(jì)算計(jì)算計(jì)算例2通常說一年有365天,它表示地球圍繞太陽(yáng)轉(zhuǎn)一周所需要的時(shí)間,但事實(shí)并不是這樣簡(jiǎn)單.根據(jù)天文資料,地球圍繞太陽(yáng)轉(zhuǎn)一周所需要的精確時(shí)間是365.2422天,稱之為天文年.這個(gè)誤差看似不大,卻引起季節(jié)和日歷之間難以預(yù)料的大變動(dòng).在歷法上規(guī)定四年一閏,百年少一閏,每四百年又加一閏.如何判斷某一年是不是閏年呢?請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法,解決這個(gè)問題,并用框圖描述這個(gè)算法.【解題關(guān)鍵】1、設(shè)y為年份,按照歷法的規(guī)定,如果y為閏年,那么或者y能被4整除不能被100整除,或者能被400整除.2、對(duì)于給定的年份y,要確定它是否為閏年,需要進(jìn)行判斷,
5、判斷的結(jié)果決定后面的步驟,像這樣的結(jié)構(gòu)通常稱為選擇結(jié)構(gòu).在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向,這種算法結(jié)構(gòu)稱為選擇結(jié)構(gòu).條件步驟甲步驟乙選擇結(jié)構(gòu)假真解:算法步驟如下:1.若y不能被4整除,則輸出“y不是閏年”.2.若y能被4整除,則判斷y是否能被100整除:(1)若y不能被100整除,則輸出“y是閏年”;(2)若y能被100整除,則判斷y是否能被400整除:①若y能被400整除,則輸出“y是閏年”;②若y不能被400整除,則輸出“y不是閏年”.這個(gè)算法的框圖如圖:開始輸入y4整除y是否100整除y400整除y否是輸出“y不是閏年”輸出
6、“y是閏年”結(jié)束是否變式練習(xí):任意給定一個(gè)實(shí)數(shù)x,設(shè)計(jì)一個(gè)算法,求x的絕對(duì)值,并畫出程序框圖.第一步:判斷x是否大于0,若x>0,則x的絕對(duì)值等于x,令m=x;若x≤0,則執(zhí)行第二步.第二步:x的絕對(duì)值等于-x,令m=-x;第三步,輸出m.算法分析:m=-x開始輸入xx>0m=x輸出m否是結(jié)束選擇結(jié)構(gòu)1.畫出從a,b,c三個(gè)數(shù)中找出最大值的算法流程圖.2.設(shè)計(jì)一個(gè)算法,求一元二次方程ax2+bx+c=0(a≠0)的根,畫出相應(yīng)的框圖.輸入a,b,c輸出x1,x2結(jié)束開始△<0否是輸出無(wú)實(shí)數(shù)解計(jì)算△選擇結(jié)構(gòu)算法程序框圖概念表示選擇結(jié)構(gòu)順序結(jié)構(gòu)人有了知識(shí),就會(huì)具備各種分析能力,明
7、辨是非的能力。所以我們要勤懇讀書,廣泛閱讀,古人說“書中自有黃金屋?!蓖ㄟ^閱讀科技書籍,我們能豐富知識(shí),培養(yǎng)邏輯思維能力;通過閱讀文學(xué)作品,我們能提高文學(xué)鑒賞水平,培養(yǎng)文學(xué)情趣;通過閱讀報(bào)刊,我們能增長(zhǎng)見識(shí),擴(kuò)大自己的知識(shí)面。有許多書籍還能培養(yǎng)我們的道德情操,給我們巨大的精神力量,鼓舞我們前進(jìn)。