《2022年高一數學教案 算法語句復習 新課標 蘇教版》由會員分享,可在線閱讀,更多相關《2022年高一數學教案 算法語句復習 新課標 蘇教版(5頁珍藏版)》請在裝配圖網上搜索。
1、2022年高一數學教案 算法語句復習 新課標 蘇教版
教學目標:總結算法解題的一般思路,即算法分析(提煉問題的數學本質)——畫出程序框圖——按框圖編寫偽代碼;通過本節(jié)學習增強解題的規(guī)范性.
教學重點:在準確理解算法的基礎上,掌握流程圖的畫法及判斷,掌握偽代碼的編寫.
教學難點:程序的嵌套.
課 型:新授課
教學手段:多媒體
教學過程:
一、概念梳理
輸入語句:
1.輸入語句的一般格式:Read“提示內容”;x,“提示內容”可以省略。
輸入語句可以同時給多個變量賦值,實現算法的輸入信息功能。提示內容可以是英文,也可以是中文,但提示內容一定要加引號.輸入語句要求輸入的值
2、是具體的常數。
2.輸出語句的一般格式:Print“提示內容”;表達式,“提示內容”可以省略。
輸出語句可以在計算機的屏幕上輸出常量,變量的值和系統(tǒng)信息,也可以輸出數值計算的結果.
3. 賦值語句的一般格式是:變量←表達式,賦值語句的作用是將表達式所代表的值賦給變量。
賦值號與數學中的等號的意義是不同的,賦值號左邊的變量如果原來沒有值,則執(zhí)行賦值語句后,獲得一個值,如果已有值,則執(zhí)行該語句,以賦值號右邊表達式的值代替該變量的原值,即將原值“沖掉”。
4.條件語句的格式是:If 條件 Then
語句l
E1se
3、 語句2
End If
(1)為了便于閱讀和醒目,語句1和語句2及Else一般縮進書寫.
(2)“條件”可以是復合條件,此時用and加以連結.
(3)條件語句一般用在需要對條件進行判斷的算法設計中,如判斷一個數的正負、確定兩個數的大小等問題都要用到條件語句,另外,求分段函數的函數值往往要用條件語句編寫程序,有時還要用到條件語句的嵌套,其格式為:
If 條件1 Then
語句l
E1se If 條件2 Then
4、 語句2
E1se
語句3
End If
(4)End If是“出口”,是條件語句的結束符號,在書寫程序時不要漏掉.
5.循環(huán)語句主要用來實現算法中的循環(huán)結構.在處理一些需要反復執(zhí)行的運算任務,如累加求和,累乘求積等問題中常常用循環(huán)語句編寫程序.
(1)當循環(huán)的次數已經確定,可用“For”語句來表示.一般形式為:
For I From“初值”to“終值”step“步長” … End For
5、 初值和終值是循環(huán)量的兩端,For和End FOr之間縮進的步驟稱為循環(huán)體.
計算機執(zhí)行FOr語句時,先執(zhí)行循環(huán)體,后判斷條件是否成立,如果條件成立,則執(zhí)行循環(huán)體,這個過程反復執(zhí)行,直到某一次不符合條件為止,此時不再執(zhí)行循環(huán)體,跳出循環(huán).
(2)當循環(huán)次數不能確定時,用While語句.一般形式為:
While A … End while 其中A表示判斷執(zhí)行循環(huán)的條件,While和End While之間縮進的步驟稱為循環(huán)體.
計算機執(zhí)行While語句時,先判斷條件是否成立,如果成立,則執(zhí)行While和End While之間的循環(huán)體,然后再判斷上述條件,再次
6、執(zhí)行循環(huán)體,這個過程反復執(zhí)行,直到某一次不符合條件為止,這時不再執(zhí)行循環(huán)體,將跳到End while語句后,執(zhí)行End while后面的語句.
二、題型分析
考點題型1 輸入、輸出語句,實現數據的輸入、輸出功能
例1編寫—個程序,求用長度為的細鐵絲分別圍成一個正方形和一個圓時所圍成的正方形和圓的面積.要求輸入的值,輸出正方形和圓的面積(取3.14).
解析:可以用順序結構實現這一算法,采用Read語句輸入的值,利用賦值語句得到面積,最后輸出兩個面積.
程序如下:
Read “=”;
S1←(×)/16
S2←(×)/(4×3.14)
Print “正方形的面積為S2
7、
歸納點評:編寫程序的關鍵在于搞清問題的算法,特別是算法的結構,然后確定采取哪一種算法語句.本題中要用到相關的平面幾何的知識來尋求正方形和圓的面積的計算公式,在此基礎上確定利用順序結構實現算法.
誤區(qū)警示:輸入語句中輸入的值只能是具體的常數,輸出語句可以輸出常量、變量或表達式的值及字符.
考點題型2 賦值語句,將表達式的值轉給變量
例2編寫一個程序,要求輸入兩個正數a和b的值,輸出ab與ba的值
解析:可以利用Read語句輸入兩個正數,然后將ab與ba的值分別賦給兩個變量,然后輸出這兩個變量的值即可;另一方面ab與ba作為兩個冪的值,是把底數和指數進行了交換,故還可以利用賦值語
8、句,采用將兩個變量的值互換的辦法實現這一算法.
方法一:Read a,b 方法二:Read a,b
A←ab A←ab
B←ba Print A
Print A x←a
PrintB a
9、←b
b←x
Print A
歸納點評:方法二中通過引進一個變量x實現了變量a和b的值的交換,因此只需一個賦值語句即可實現算法.在一些較為復雜的問題算法中經常需要對兩個變量的值進行交換,因此應熟練掌握這種方法.
考點題型3 If---Then---Else語句,條件滿足或不滿足均有可執(zhí)行的操作內容
例3編寫程序,輸入兩點的坐標,輸出這兩點連線的斜率.
解析:對于平面上給定的兩點A(xl,y1)和B(
10、x2,y2),若x1=x2,則直線AB的斜率不存在,若xl≠x2,則直線AB的斜率.因此在輸入兩點的坐標后應先判斷xl=x2是否成立,若成立,應輸出斜率不存在的信息,若不成立,可將的值賦給變量k輸出,故可利用條件語句實現這一算法.
程序為:
Read xl,x2,y1,y2
If x1=x2 Then
Print “斜率不存在”
Else
Print “k=”;k
End If
歸納點評:由于當x1=x2和x1≠x2時,直線的斜率的情況是不同的,故輸入坐標數據后,應先進行條件的判斷,用條件語句設計算法.
考點題型4 If---
11、Then語句,條件不滿足時無可執(zhí)行的操作內容
例4編寫程序,輸入兩個實數,由小到大輸出這兩個數.
程序:
Read a,b
If a>b Then
t←a
a←b
b←t
End If
Print a,b
歸納點評:排序通常用到條件結構,若兩數不符合所排順序,通常是交換兩個變量的值,注意本例中If—Then語句的使用.
考點題型5 For語句,先執(zhí)行循環(huán)體,后判斷條件(循環(huán)次數確定)
例5算法:S←0
For I From l To
12、1000
S←S+I
End For
中,執(zhí)行循環(huán)的次數是( )
A.1 000 B.999 C.1001 D.998
解析:因為循環(huán)中step=1,初值為1,終值為1000,故循環(huán)的次數是1000,選A
歸納點評:本題的算法設計具有靈活性和通用性,如計算l×2×3×…×1 000時,只需將S←S+I改為S←S×I即可,而計算1+3+5十…+999時,只需增加step=2即可.在設計算法程序時要有經典的程序作為基礎。
考點題型6 While語句,先判斷條件,再執(zhí)行循環(huán)體(循
13、環(huán)次數不確定)
例6設計一個計算1×3×5×7×9的算法.下面給出了程序的一部分,則在橫線①上不能填人下面數據中的( )
S←l
I←3
While I< ①
S←S×I
I←I+2
End While
Print S
End
A.9 B.9.5 C. 10 D.10.5
解析:因為S←S×I在I←I+2前,故I=9必須代入運算。因此I=9是運算的終值,故I<10.
選A。
歸納點評:當循環(huán)次數不確定時,我們采用While語句,此題解法具有普遍性.在輸出時一定要注意I←
14、I+2在S←S×I前,還是在后,從而確定循環(huán)次數,不要多一次循環(huán),也不要少一次循環(huán),否則不合題意.
三、課后練習
1.下列一段偽代碼的目的是( )
S←0 a←l
For I From l To 4 a←2a
S←S+a
End For Print a End
A.計算2+22+23+24 B.計算2+22+23 C.計算23 D.計算24
a←3
b←5
c←(a+b)/2
d←(a+b+c)/3
e←(a+b+c+d)/4
Print e
End
15、
D
2.下面程序的運行結果不為4的是( )
a←3
b←5
If b>a Then
c←(a+b)/2
Print c
Else
Print b
End If
End
A
a←3
b←4
If a≤b Then
c←a+b
Print c
Else
a←a+b-3
End If
Print a
End
C
a←3
b←4
If a>b Tthen
Print b
Else
a←a+l
End If
Print
16、 a
End
B
3.圖中的程序運行結果為6 012,則①的內容應為( )
A.I≥2 002 B.I≤2 002 C.I>2 002 D.1<2 002
4.閱讀下列偽代碼,并指出當時的計算結果:
(1)Read a, b (2) Read a, b (3)Read a, b
X←a+b a←a+b a←a+b
y←a-b b←a-b
17、 b←a-b
a←(x+y)/2 a←(a+b)/2 a←(a-b)/2
b←(x-y)/2 b←(a-b)/2 b←(a+b)/2 (第3題)
Print a, b Print a, b Print a, b
a=____,b___ a=____,b___ a=____,b___
5.一球從l00m高度落下,每次落地后反彈回原高度的一半,再落下,在第十次落地時,共經過多少
18、路程?第十次下落多高?
6.根據下列的偽代碼,指出相應的算法功能并畫出相應的流程圖.
I←1
S←1
While S<10 000
S←S×I
I←I+1
End While
Print I- 2
End
參考答案
1. D 2. C 3. C
4.(1)a=3,b=-5;(2)a=3,b=-5;(3)a=-5,b=3;
5.S←0
H←100
S←S+H
For I From 2 To 10
H←H/2
S←S+2H
Print S, H
6.功能是求滿足不等式:
1×2×3×┅×I<10000的最大正整數,流程圖如下所示.