《2019-2020學年高中數學 第1章 算法初步 1-2-2 條件語句學案 新人教A版必修3》由會員分享,可在線閱讀,更多相關《2019-2020學年高中數學 第1章 算法初步 1-2-2 條件語句學案 新人教A版必修3(23頁珍藏版)》請在裝配圖網上搜索。
1、1.2.2 條件語句
1.理解條件語句的格式及功能.
2.體驗如何把判斷框轉化為條件語句.
3.通過條件語句的學習,進一步體會算法的基本思想.
1.條件語句
(1)條件語句的格式、功能及與條件結構的對應關系
(2)兩種條件語句的區(qū)別與聯系
2.條件語句的嵌套和疊加
(1)條件語句的嵌套
②條件語句嵌套的實質
將外層條件語句中的分支語句再設計成一個條件語句.
溫馨提示:在條件語句中的嵌套中,每一個“IF”對應著一個“END IF”,注意書寫格式.
(2)條件語句的疊加
其程序框圖如圖.其語句格式如下:
溫馨提示:從表達形式上看,
2、條件語句嵌套中內層的每一個條件語句在它上層條件語句的一個分支里面,上層條件語句中的“END IF”要在內層條件語句之后;而條件語句疊加中每一個條件語句是一個獨立的整體,在下一個條件語句之前要加上“END IF”.
判斷正誤.(正確的打“√”,錯誤的打“×”)
(1)條件語句與程序框圖中的循環(huán)結構相對應.( )
(2)條件語句中的單詞“THEN”“ELSE”可以理解為“那么”“否則”的意思.( )
(3)條件語句中必須有ELSE和END IF.( )
(4)條件語句中可以沒有ELSE,但是必須有END IF.( )
[提示] (1)× (2)√ (3)× (4)√ 條件語
3、句與程序框圖中的條件結構相對應,(1)錯;(2)對;條件語句有2種不同的格式,一種格式中沒有ELSE,但兩種格式都有END IF,故(3)錯;(4)對.
題型一條件語句與條件結構
【典例1】 已知函數f(x)=對任意的x,求函數值,請畫出程序框圖并寫出程序語句.
[解] 程序框圖如圖所示:
程序如下:
兩種語句的選擇方法
(1)要解決的問題,如果只需要對滿足條件時的情況作出處理,不需要處理不滿足條件時的情況,那么就選用IF-THEN-END IF條件語句.
(2)要解決的問題,如果既需要解決滿足條件時的情況,又需要解決不滿足條件時的情況,那么應選用IF-THEN
4、-ELSE-END IF條件語句.
[針對訓練1] 根據下面的程序框圖寫出程序語句.
[解] 程序框圖所實現的算法功能是:求任意一個實數a的立方的絕對值.
程序如下:
題型二條件語句的應用
【典例2】 (1)已知下列程序,當輸入x=-2時,輸出的結果是________.
(2)編寫程序,使得任意輸入2個整數按從大到小的順序輸出.
[解析] (1)由程序可知其功能是求函數f(x)=的函數值,所以f(-2)=2×(-2)2-5=3.
(2)算法:
第一步,輸入2個整數a,b.
第二步,若a
5、
程序:
[答案] (1)y=3 (2)見解析
引申探究1:如果典例2(1)中輸入x=3,求輸出的結果是什么?
[解] 該程序的功能是求函數f(x)=
的函數值,故f(3)=32-1=8,即輸出的結果是y=8.
引申探究2:如果典例2(1)中輸出的y=3,那么輸入的x是多少?
[解] 當x≥0時,x2-1=3,解得x=2(x=-2舍去);當x<0時,2x2-5=3,解得x=-2(x=2舍去),所以輸入的x是2或-2.
利用條件語句描述算法的一般步驟
(1)分析算法,能用自然語言描述算法.
(2)畫出程序框圖.
(3)根據畫出的程序框圖,依據條件語句的格式,寫
6、出程序語句.為了程序的可能性,一般IF,ELSE,END IF頂格書寫,其他的語句體前面空兩格.
[針對訓練2] 已知分段函數y=編寫程序,輸入x的值,輸出相應的y的值.
[解] 程序如下:
題型三條件語句的疊加
【典例3】 已知分段函數y=編寫程序,要求輸入自變量x的值,輸出相應的函數值,并畫出程序框圖.
[解] 程序框圖如圖所示:
程序如下:
(1)適用范圍:已知分段函數的解析式求函數值的問題,須用條件語句書寫程序,當條件的判斷有兩個以上的結果時,可以選擇條件結構疊加去解決.
(2)解此類問題的步驟
①構思出解決問題的一個算法(可用自然語言).
7、②畫出程序框圖,形象直觀地描述算法.
③根據框圖編寫程序,即逐步把框圖中的算法步驟用算法語句表達出來.
[針對訓練3] 已知a,b,c三個實數中,有且只有一個負數,畫出程序框圖,設計一個程序,篩選出這個負數.
[解] 程序框圖如圖.
程序如下:
課堂歸納小結
1.使用條件語句時應注意的問題
(1)條件語句是一個語句,IF,THEN,ELSE,END IF都是語句的一部分.
(2)條件語句必須是以IF開始,以END IF結束,一個IF必須與一個END IF相對應.
(3)如果程序中只需對條件為真的情況作出處理,不用處理條件為假的情況時,ELSE分支可以省略,此時
8、條件語句就由雙支變?yōu)閱沃В?
(4)為了程序的可讀性,一般IF、ELSE與END IF頂格書寫,其他的語句體前面則空兩格.
2.對于三段或三段以上的分段函數求函數值時,需要條件語句的嵌套結構.在編寫條件語句的嵌套中的“條件”時,要注意“IF”與“END IF”的配對,通??梢岳梦淖?
的縮進來表示嵌套的層次,以幫助我們對程序的閱讀和理解.
3.條件語句的嵌套,其一般形式是
1.下列關于條件語句的說法正確的是( )
A.條件語句中必須有ELSE和END IF
B.條件語句中可以沒有END IF
C.條件語句中可以沒有ELSE,但是必須有END IF
D.條件語句
9、中可以沒有END IF,但是必須有ELSE
[解析] 條件語句中必須有END IF,但可以沒有ELSE,故選C.
[答案] C
2.下列對條件語句的描述正確的是( )
A.ELSE后面的語句不可以是條件語句
B.兩個條件語句可以共用一個END IF語句
C.條件語句可以沒有ELSE后的語句
D.條件語句中IF—THEN和ELSE后的語句必須都有
[解析] 條件語句有兩種格式:分別是IF—THEN格式和IF—THEN—ELSE格式.對于一個分支的條件語句可以沒有ELSE后的語句.
[答案] C
3.下列問題需要用條件語句來描述其算法的是( )
A.輸入x,輸出它的相反數
10、
B.輸入x,輸出它的絕對值
C.求邊長為1的正三角形的面積
D.求棱長為1的正四面體的體積
[解析] A,C,D都不需要分類,所以不需要條件語句;而B需要分類,故需用條件語句.
[答案] B
4.若a=11,下面的程序段輸出的結果是____________.
[解析] 由于當a=11時,不滿足條件a<10,所以執(zhí)行y=a MOD 10,得到的結果是y=1.注意“a MOD 10”是a除以10的余數.
[答案] 1
5.為了在運行下面的程序后得到輸出y=9,則應該輸入____________.
[解析] 該程序的功能是求函數f(x)=
的函數值,故或
,解得
11、x=4或-4.
[答案] 4或-4
課后作業(yè)(六)
(時間45分鐘)
學業(yè)水平合格練(時間25分鐘)
1.輸入x=3,根據程序輸出的結果是( )
A.13 B.20
C.12 D.5
[解析] ∵x=3<4,∴y=x2-4=32-4=5.
[答案] D
2.給出下列程序:
如果輸入x1=2,x2=3,那么執(zhí)行此程序后,輸出的結果是( )
A.7 B.10
C.5 D.8
[解析] ∵x1=2,x2=3,∴x1≠x2.
∴執(zhí)行END IF后的語句,即y=x1+x2=5.
[答案] C
3.根據下列算法語句,當輸入x為60時,
12、輸出y的值為( )
A.25 B.30
C.31 D.61
[解析] 由題意,得y=
當x=60時,y=25+0.6×(60-50)=31.
∴輸出y的值為31.
[答案] C
4.運行下面程序:
在兩次運行這個程序時,第一次輸入8和4,第二次輸入2和4,則兩次運行后輸出的結果分別為( )
A.8,2 B.8,4
C.4,2 D.4,4
[解析] 第一次A=8,B=4,A>B成立,則C==4;第二次A=2,B=4,A>B不成立,則C==2.
[答案] C
5.在下面程序中,若輸入x=,則輸出的y值為( )
A.0 B.1
13、
C.3 D.
[解析] 由于>0,故輸出y=×-5=1,故選B.
[答案] B
6.下列程序語句是求函數y=|x-4|+1的函數值,則①處為( )
A.y=3-x B.y=x-5
C.y=5-x D.y=x-3
[解析] ∵y=|x-4|+1=故選C.
[答案] C
7.讀程序,完成下列題目:
程序如圖:
(1)若執(zhí)行程序時,沒有執(zhí)行語句y=x+1,則輸入的x的范圍是____________;
(2)若執(zhí)行結果為3,則執(zhí)行的賦值語句是____________,輸入的x的值是____________.
[解析] (1)不執(zhí)行y=x+1語句
14、,說明不滿足條件x≥1,故有x<1.
(2)當x<1時,y<2×1+1=3,只有x+1=3,x=2.
[答案] (1)x<1 (2)y=x+1 2
8.完成如圖所示的程序,輸入x的值,求函數y=|8-2x2| 的值.
[答案]?、賦>=-2 AND x<=2?、趛=
9.讀下列所給的程序,依據程序畫出程序框圖,并說明其功能.
[解] 此程序表達的是一個分段函數.
當-1≤x≤1時,輸出y的值為0,否則(當x<-1或x>1時),輸出y的值為1.
程序框圖如圖:
10.讀下列所給程序,依據程序畫出程序框圖,并說明其功能.
[解] 如圖:
這個程序是從鍵
15、盤上輸入三個正數(表示三條線段),檢驗這三個數是否為三角形的三條邊長.如果是,求出三角形的面積,否則,輸出“輸入的三個數不是三角形三邊長”的算法.
應試能力等級練(時間20分鐘)
11.閱讀下列程序:
若輸入5,則程序運行的結果為( )
A.1 B.10
C.25 D.26
[解析] a=5時,條件a>5不成立,故執(zhí)行ELSE后面的語句b=a2+1=26.
[答案] D
12.下列程序的功能是:判斷任意輸入的數x是否為正數,若是,輸出它的平方值;若不是,輸出它的相反數.
則填入的條件應該是( )
A.x>0 B.x<0
C.x>=0 D
16、.x<=0
[解析] 因為條件真則執(zhí)行y=-x,條件假則執(zhí)行y=x * x,由程序功能知條件應為x<=0.
[答案] D
13.給出下列程序:
若輸出的結果是5,則輸入的x=________.
[解析] 令3x+1=5,則x=>1成立;令x+4=5,則x=1≤1成立,則x=或1.
[答案] 或1
14.閱讀下面的程序:
上述程序如果輸入的值是51,則運行結果是____________.
[解析] a=51÷10=5.1,b=51 MOD 10=1,x=10×1+5.1=15.1
[答案] 15.1
15.某商場購物實行優(yōu)惠措施,若購物金額x在800元以上(包括800元),打8折;若購物金額x在500元以上(包括500元),但不足800元,則打九折,否則不打折.設計程序框圖,并編寫程序,要求輸入購物金額x,能輸出實際交款額y.
[解] 由題意建立函數模型為y=
程序框圖如圖所示.
程序如下:
23