資源描述:
《條件語句修改 修改.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、1.2.2基本算法語句條件語句一、學習目標1.理解條件語句,及其與條件結(jié)構(gòu)的關(guān)系;2.初步體驗如何由程序框圖轉(zhuǎn)化程序語句;3.通過條件語句的學習,進一步體會算法的基本思想。二、重點與難點重點:條件語句的步驟、結(jié)構(gòu)及功能。難點:會編寫程序中的條件語句。復習鞏固1、輸入語句、輸出語句和賦值語句對應于算法中的哪種結(jié)構(gòu)?這三種語句的一般格式是什么?順序結(jié)構(gòu):輸入語句輸出語句賦值語句input“提示內(nèi)容”;變量print“提示內(nèi)容”;表達式變量=表達式算法中的條件結(jié)構(gòu)是由條件語句來表達的條件語句的一般格式滿足條件?語句是否1、只含一個“分支”
2、的條件結(jié)構(gòu)寫成條件語句為IF條件THEN語句體ENDIF注意:當計算機執(zhí)行這種形式的條件語句時,首先對IF后的條件進行判斷,如果條件符合,就執(zhí)行THEN后的語句體,否則執(zhí)行ENDIF之后的語句.滿足條件?語句1語句2是否2、含兩個“分支”的條件結(jié)構(gòu)寫成條件語句為IF條件THEN語句體1ELSE語句體2ENDIF注意:當計算機執(zhí)行上述語句時,首先對IF后的條件進行判斷,如果條件符合,就執(zhí)行THEN后的語句體1,否則執(zhí)行ELSE后的語句體2.條件語句的作用在程序執(zhí)行過程中,根據(jù)判斷是否滿足約定的條件而決定是否需要轉(zhuǎn)換到何處去。需要計算機
3、按條件進行分析、比較、判斷,并按判斷后的不同情況進行不同的處理。例1:你能寫出這個算法對應的程序嗎?x≥0?開始結(jié)束輸入x是輸出x否輸出-xENDINPUT“x=”;xIFx>=0THENPRINTxELSEPRINT-xENDIF【例題解析】〖例6〗:編寫程序,輸入一元二次方程ax2+bx+c=0的系數(shù),輸出它的實數(shù)根。算法分析:一元二次方程的根有三種不同情況:設(shè)判別式△=b2-4ac(1)當△>0時,一元二次方程有兩個不等的實數(shù)根.(2)當△=0時,一元二次方程有兩個相等的實數(shù)根.(3)當△<0時,一元二次方程沒有實數(shù)根.是【程
4、序框圖】開始輸入a,b,c△=b2-4ac△≥0?原方程無實根22結(jié)束否11△=0?輸出p是否x1=p+qx2=p-q輸出x1,x2【程序】INPUT“a,b,c=”;a,b,cd=b*b-4*a*cIFd>=0THENp=-b/(2*a)q=SQR(d)/(2*a)IFd=0THENPRINT“Onerealroot:”;pELSEx1=p+qx2=p-qPRINT“Tworealroots:“;x1,x2ENDIFELSEPRINT“Norealroot!”ENDIFEND條件結(jié)構(gòu)的嵌套結(jié)構(gòu)〖例7〗:編寫程序,使得任意輸入的3個
5、整數(shù)按從大到小的順序輸出。算法分析:第一步輸入3個整數(shù)a、b、c第二步將a與b比較,并把小者賦給b,大的賦給a;第三步將a與c比較,并把小者賦給c,大的賦給a第四步將b與c比較,并把小者賦給c,大的賦給b第五步按順序輸出a,b,cc=bb=tb=tc=ta=c【程序框圖】開始輸入a,b,cb>a?是t=aa=b否c>a?是t=a否c>b?t=c是否輸出a,b,c交換a,b的值結(jié)束【程序】INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHEN
6、t=bb=cc=tENDIFPRINTa,b,cEND條件結(jié)構(gòu)的疊加結(jié)構(gòu)1.課本P29頁T1.INPUT“a,b,c=”;a,b,cIFa+b>cANDa+c>bANDb+c>aTHENPRINT“Yes.”ELSEPRINT“No.”ENDIFEND參考答案:【課堂練習】【思路點撥】本題是分段函數(shù),條件較多,1、可利用在前一個條件下繼續(xù)對第二個條件判斷,即嵌套形式;2、也可以對每一個條件逐一判斷逐一得出結(jié)論,即疊加.練習:【解】法一:(嵌套結(jié)構(gòu))程序框圖如圖所示:程序如下:法二:(疊加結(jié)構(gòu))程序框圖如圖所示:程序如下:方法感悟方法
7、技巧1.條件語句使程序框圖中的條件結(jié)構(gòu)能讓計算機執(zhí)行其中IF后的“條件”表示判斷的條件,放在判斷框中,語句體1表示滿足條件時執(zhí)行的操作內(nèi)容,放在判斷框中“是”后的執(zhí)行框中,語句體2表示不滿足條件時執(zhí)行的操作內(nèi)容,放在判斷框中“否”后的執(zhí)行框中.2.若程序只對條件滿足時作處理,不用處理條件不滿足時的情況,則可以省略ELSE分支.3.當判斷條件多于一個時,若重復應用條件語句,書寫程序繁瑣,可利用條件語句的嵌套或疊加寫.2.課本P29頁T2.讀程序,說明程序的運行過程.INPUT“x=:”;xIF98、b=xMOD10x=10*b+aPRINTxENDIFEND如果有兩個或是兩個以上的并列條件時,用“AND”把它們連接起來?!啊庇脕砣∩?此處表示x除以10的商.“MOD”用來取余數(shù).此處表示x除以10所得余數(shù)為b.[問題]如輸入的