版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基本算法語句
【課標要求】
1.經(jīng)歷將具體問題的程序框圖轉(zhuǎn)化為程序語句的過程,理解幾種基本算法語句——輸入語句、輸出語句、
賦值語句、條件語句、循環(huán)語句,進一步體會算法的基本思想;
2.通過閱讀中國古代數(shù)學(xué)中的算法案例,體會中國古代數(shù)學(xué)對世界數(shù)學(xué)發(fā)展的貢獻。
二.【命題走向】
算法是高中數(shù)學(xué)課程中的新內(nèi)容,本章的重點是算法的槪念和算法的三種邏輯結(jié)構(gòu)
預(yù)測2010年高考對本章的考察是:以選擇題或填空題的形式出現(xiàn),分值在5分左右,本講考察的熱點是識
別程序和編寫程序
三.【要點精講】
1.輸入語句
輸入語句的格式:INPUT”提示內(nèi)容”;變量
例如:INPUT"x”;x功能:實現(xiàn)算法的輸入變量信息(數(shù)值或字符)的功能。
要求:
(1)輸入語句要求輸入的值是具體的常量;
(2)提示內(nèi)容提示用戶輸入的是什么信息,必須加雙引號,提示內(nèi)容“原原本本”的在計算機屏幕上顯
示,提示內(nèi)容與變量之間要用分號隔開;
(3)一個輸入語句可以給多個變量賦值,中間用“,”分隔;輸入語句還可以是““提示內(nèi)容1”;變量
1,''提示內(nèi)容2”;變量2,“提示內(nèi)容3”;變量3,……”的形式。例如:INPUT"a=,b=,c=,";a,b,
Co
2.輸出語句
輸出語句的一般格式:PRINT"提示內(nèi)容”;表達式
例如:PRINT"S=";S
功能:實現(xiàn)算法輸出信息(表達式)
要求:
(1)表達式是指算法和程序要求輸出的信息;
(2)提示內(nèi)容提示用戶要輸出的是什么信息,提示內(nèi)容必須加雙引號,提示內(nèi)容要用分號和表達式分開。
(3)如同輸入語句一樣,輸出語句可以一次完成輸出多個表達式的功能,不同的表達式之間可用“,”分
隔;輸出語句還可以是“提示內(nèi)容1”;表達式1,“提示內(nèi)容2”;表達式2,“提示內(nèi)容3”;表達式3,……”
的形式;例如:PRINTaa,b,c:n;a,h,c.
3.賦值語句
賦值語句的一般格式:變量=表達式
賦值語句中的“="稱作賦值號
作用:賦值語句的作用是將表達式所代表的值賦給變量;
要求:
(1)賦值語句左邊只能是變量名字,而不是表達式,右邊表達式可以是一個常量、變量或含變量的運算式。
如:2=x是錯誤的;
(2)賦值號的左右兩邊不能對換。賦值語句是將賦值號右邊的表達式的值賦給賦值號左邊的變量。如“A=8”
“B=A”的含義運行結(jié)果是不同的,如%=5是對的,5=1是錯的,4+8=(2是錯的,C=4+8是對的。
(3)不能利用賦值語句進行代數(shù)式的演算。(如化簡、因式分解、解方程等),如
這是實現(xiàn)不了的。在賦值號右邊表達式中每一個變量的值必須事先賦給確定的值。在一個賦值語句中只能
給一個變量賦值。不能出現(xiàn)兩個或以上的但對于同一個變量可以多次賦值。
4.條件語句
(1)“IF—THEN—ELSE”語句
格式:
IF條件THEN
語句1
ELSE
語句2
ENDIF
說明:在“IF—THEN—ELSE”語句中,“條件”表示判斷的條件,“語句1”表示滿足條件時執(zhí)行的操
作內(nèi)容;“語句2”表示不滿足條件時執(zhí)行的操作內(nèi)容;ENDIF表示條件語句的結(jié)束。計算機在執(zhí)行“IF—
THEN—ELSE”語句時,首先對IF后的條件進行判斷,如果符合條件,則執(zhí)行THEN后面的“語句1”;若不
符合條件,則執(zhí)行ELSE后面的“語句2”。
(2)“IF—THEN”語句
格式:
IF條件THEN
語句
ENDIF
說明:“條件”表示判斷的條件;“語句”表示滿足條件時執(zhí)行的操作內(nèi)容,條件不滿足時,直接結(jié)束判
斷過程;ENDIF表示條件語句的結(jié)束。計算機在執(zhí)行“IF—THEN”語句時,首先對圧后的條件進行判斷,
如果符合條件就執(zhí)行THEN后邊的語句,若不符合條件則直接結(jié)束該條件語句,轉(zhuǎn)而執(zhí)行其它后面的語句
5.循環(huán)語句
(1)當(dāng)型循環(huán)語句
當(dāng)型(WHILE型)語句的一般格式為:
WHILE條件
循環(huán)體
WEND
說明:計算機執(zhí)行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,則執(zhí)行WHILE和WEND
之間的循環(huán)體,然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執(zhí)行循環(huán)體,這個過程反復(fù)
執(zhí)行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執(zhí)行循環(huán)體,而是跳到WEND語句后,
執(zhí)行WEND后面的語句。因此當(dāng)型循環(huán)又稱“前測試型”循環(huán),也就是我們經(jīng)常講的“先測試后執(zhí)行"、“先
判斷后循環(huán)”。
(2)直到型循環(huán)語句
直到型(UNTIL型)語句的一般格式為:
DO
循環(huán)體
LOOPUNTIL條件
說明:計算機執(zhí)行UNTIL語句時,先執(zhí)行DO和LOOPUNTIL之間的循環(huán)體,然后判斷“LOOP
UNTIL"后面的條件是否成立,如果條件成立,返回DO語句處重新執(zhí)行循環(huán)體。這個過程反復(fù)執(zhí)行,直到一
次判斷“LOOPUNTIL”后面的條件不成立為止,這時不再返回執(zhí)行循環(huán)體,而是跳出循環(huán)體執(zhí)行“LOOP
UNTIL條件”下面的語句。
因此直到型循環(huán)又稱“后測試型”循環(huán),也就是我們經(jīng)常講的“先執(zhí)行后測試”、“先循環(huán)后判斷”。
四.【典例解析】
題型1:輸入、輸出和賦值語句
例1.判斷下列給出的輸入語句、輸出語句和賦值語句是否正確?為什么?
(1)輸入語句INPUTa;b;c
(2)輸出語句A=4
(3)賦值語句3=8
(4)賦值語句A=B=-2
解析:(1)錯,變量之間應(yīng)用“,”號隔開;
(2)錯,PRINT語句不能用賦值號“=”;
(3)錯,賦值語句中“=”號左右不能互換;
(4)錯,一個賦值語句只能給一個變量賦值
點評:輸入語句、輸出語句和賦值語句基本上對應(yīng)于算法中的颯手綃料。輸入語句、輸出語句和賦值語句
都不包括“控制轉(zhuǎn)移”,由它們組成的程序段必然是順序結(jié)構(gòu)
(5)4、(2009年廣東卷文)某籃球隊6名主力隊員在最近三場比賽中投進的三分球個數(shù)如下表所示:
隊員i123456
三分球個數(shù)
下圖(右)是統(tǒng)計該6名隊員在最近三場比賽中投進的三分球總數(shù)的程序框圖,則圖中判斷框應(yīng)填,
輸出的s=
(注:框圖中的賦值符號“=”也可以寫成“一”或":=”)
【解析】順為是統(tǒng)計該6名隊員在最近三場比賽中投進的三分球總數(shù)
的程序框圖,所圖中判斷框應(yīng)填i46,輸出的
s=a
126,
答案i<6+〃++〃
例2.請寫出下面運算輸出的結(jié)果。
(1)
(2)
(3)
解析:
(1)16;語句c=(a+/?)/2是將。,力和的一半賦值給變量c,語句"=c*c是將c的平方賦值給d,最
后輸出d的值
(2)1,2,3;語句c=a+8是將0,分的和賦值給c,語句〃是將a+c-b的值賦值給了瓦
(3)20,30,20;經(jīng)過語句。=匕后a,b,c的值是20,20,30。經(jīng)過語句。=。后小江c的值是20,
30,30。經(jīng)過語句c=a后a,b,c的值是20,30,20。
點評:語句的識別問題是一個逆向性思維,一般我們認為我們的學(xué)習(xí)是從算法步驟(自然語言)至程序框
圖,再到算法語言(程序)。如果將程序擺在我們的面前時,我們要從識別逐個語句,整體把握,概括程序的
功能
題型2:賦值語句的應(yīng)用
例3.寫出求三個數(shù)a,b,c的方差的程序。
解析:方差是在初中統(tǒng)計內(nèi)容中學(xué)習(xí)過的知識,計算所有數(shù)的方差首先計算所有數(shù)的平均數(shù)X,通過公式
(X-X)2+(X—X)2+........+(X-X)2
S2=-----------------2---------------------------?---------來計算。
n
算法步驟:
-a+b+c
第一步:計算平均數(shù)了=---;
(X-Q)2+(X-Q)2+(X-Q)2
第二步:計算方差52=--------------------------------------;
第三步:得到的結(jié)果即為所求。
程序如下:
INPUTa,b,c
y=(a+b+c)/3
S=((a-y)2+(b—y)2+(c—y)2)/3
PRINTS
END
點評:套用公式求值問題是傳統(tǒng)數(shù)學(xué)求值問題的一種,它是一種典型的順序結(jié)構(gòu),也就是說只通過輸入、
輸出和賦值語句就可以完成任務(wù)。解決這類問題的關(guān)鍵是先分析這種問題的解法,即構(gòu)造計算的過程,再寫出
算法步驟和流程圖,再翻譯成算法語句即可
例4.編寫一個程序,要求輸入的兩個正數(shù)。和力的值,輸出磔和d的值。
解析:可以利用INPUT語句輸入兩個正數(shù),然后將山和兒的值分別賦給兩個變量輸出即可。也可以將通
和尻的底數(shù)和累數(shù)進行交換,故還可以利用賦值語句,采用將兩個變量的值互換的辦法實現(xiàn)。
程序1:
INPUT%,b:”…,b
A=a^b
B=b^a
PRINT"。仁”;A,"b“=”;B
END
程序2:
INPUT"a,b:”;a,h
A=a^b
PRINTuab=ff;A
x=a
a=h
b=x
A=aAb
PRINT"ab=A
END
點評:交換a,b的值可通過下面三個語句來實現(xiàn):
通過引進一個變量t實現(xiàn)變量a和b的值的交換,因此只需用賦值語句即可實現(xiàn)算法。在一些較為復(fù)雜的
問題算法中經(jīng)常需要對兩個變量的值進行交換,因此應(yīng)熟練掌握這種方法。
題型3:條件語句
例5.編寫程序,輸出兩個不相等的實數(shù)a、b的最大值
解析:要輸出兩個不相等的實數(shù)。、方的最大值,從而想到對a,b的大小關(guān)系進行判斷,a,b的大小關(guān)系
有兩種情況:(l)a>b;(2)b>a,這也就用到了我們經(jīng)常提及的分類討論的方式,找出兩個數(shù)的最大值
解:算法一:
第一步:輸入“,。的數(shù)值;
第二步:判斷°,。的大小關(guān)系,若a>b,
值,否則輸出b的值。
(程序框圖如右圖)
程序如下:(“IF—THEN—ELSE”語句)
INPUT"a,b”;a,b
IFa>bTHEN
PRINTa
ELSE
PRINTb
END圧
END
算法二:
第一步:輸入4b的數(shù)值;
第二步:判斷“力的大小關(guān)系,若b>“,則將b的值
賦予a;否則直接執(zhí)行第三步;
第三步:輸出a的值,結(jié)束。
(程序框圖如右圖)
程序如下:(“IF—THEN”語句)
INPUT“a,b”;a,b
IFb>aTHEN
a=b
ENDIF
PRINTa
END
點評:1.一個“好”的算法往往像上面教材例題屮的
“小技巧”,要熟練、有效的使用它們,則需要在大量的算
法設(shè)計中積累經(jīng)驗。我們也可以先根據(jù)自己的思路設(shè)計算
法,再與“成形”的、高效的、優(yōu)秀的算法比較,改進思
路,改進算法,以避免重復(fù)計算等問題,提高算法設(shè)計的水
平!
2.我們在平常的訓(xùn)練中盡可能的少引用變量,過多的變量不僅會
使得算法和程序變得復(fù)雜,而且不利于計算機的執(zhí)行。為此,我們在練
習(xí)中要積極思考盡可能少引入變量以及如何才能少引入變量
l,x>0
例6.高等數(shù)學(xué)中經(jīng)常用到符號函數(shù),符號函數(shù)的定義為y=<0,X=0,試編寫程序輸入x的值,輸出y
-l,x<0
的值。
程序一:(嵌套結(jié)構(gòu))
程序框圖:(右圖)
NN
x>0?x=0
程序語言:
INPUTx
IF40THEN
產(chǎn)1
ELSE
IFx=0THEN
y=0
ELSE
y=-1
ENDIF
ENDIF
PRINTy
END
程序二:(疊加結(jié)構(gòu))
程序框圖:
程序如下:
INPUTx
IF40THEN
y=i
ENDIF
IFx=0THEN
y=0
ENDIF
IF.r<0THEN
y=-1
ENDIF
PRINTy
END
點評:1.條件結(jié)構(gòu)的差異,造成程序執(zhí)行的不同。當(dāng)代
入X的數(shù)值時,“程序一”先判斷外層的條件,依次執(zhí)行不同
的分支,才有可能判斷內(nèi)層的條件而“程序二”中執(zhí)行了對
“條件1”的判斷,同時也對“條傳”進行判斷,是按程序
中條件語句的先后依次判斷所有的條件i足哪個條件就執(zhí)行
哪個語句
2.條件語句的嵌套可多于兩層,可以表達算法步驟中的多重限制條件。
題型4:循環(huán)語句
例7.設(shè)計一個計算1X3X5X7X…X99的算法,編寫算法程序。
解析:
算法如下:
第一步:s=l;
第二步:i=3;
第三步:s=sXi;
第四步:i=i+2;
第五步:如果iW99,那么轉(zhuǎn)到第三步;
第六步:輸出S;
程序如下:(“WHILE型”循環(huán)語句)
s=l
i=3
WHILEiV=99
s=s*i
i=i+2
WEND
PRINTs
END
點評:你能用“UNTIL”型循環(huán)語句表示“典例1”中的程序嗎?
例8.編寫一個程序,求1!+2!+…+10!的值
解析:這個問題是求前10個正整數(shù)的階乘之和,可以用循環(huán)嵌套語句格式來實現(xiàn)
程序結(jié)構(gòu)要做到如下步驟:
①處理"N!”的值;(注:處理N!值的變量就是一個內(nèi)循環(huán)變量)
②累加“N!”的值。(注:累加N!值的變量就是一個外循環(huán)變量)
顯然,通過10次循環(huán)可分別求出1!、2!........10!的值,并同時累加起來,可求得S的值。而求T=N!,又
可以用一個循環(huán)(內(nèi)循環(huán))來實現(xiàn)。
程序為:
s=0
i=l
WHILEi<=10
j=l
t=l
WHILEj<=i
t=t*j
j=j+l
WEND
s=s+t
i=i+l
WEND
PRINTs
END
上面程序中哪個變量是內(nèi)循環(huán)變量,哪個變量是外循環(huán)變量?
(1)內(nèi)循環(huán)變量:j,t
(2)夕卜循環(huán)變量:s,i
“典例2”程序是一個的“WHILE+WHILE”型循環(huán)嵌套語句格式。這是一個比較好想的方法,但實際上
對于求n!,我們也可以根據(jù)求出的(n—1)!乘上n即可得到,而無需重新從1再累乘到n。
程序可改為:
s=0
i=l
j=l
WHILEi<=10
j=j*i
s=s+j
i=i+l
WEND
PRINTs
END
顯然第二個程序的效率要比第一個高得多。第一程序要進行1+2+…+10=55次循環(huán),而第二程序進行10次
循環(huán)。如題目中求的是1!+2!+...+1000!,則兩個程序的效率區(qū)別更明顯
點評:解決具體的構(gòu)造循環(huán)語句的算法問題,要盡可能的少引入循環(huán)變量,否則較多的變量會使得設(shè)計程
序比較麻煩,并且較多的變量會使得計算機占用大量的系統(tǒng)資源,致使系統(tǒng)緩慢。另外,也盡可能使得循環(huán)嵌
套的層數(shù)少,否則也浪費計算機的系統(tǒng)資源。
題型5:實際應(yīng)用
例9.中國網(wǎng)通規(guī)定:撥打市內(nèi)電話時,如果不超過3分鐘,則收取話費0.22元;如果通話時間超過3分
鐘,則超出部分按每分鐘0.1元收取通話費,不足一分鐘按以一分鐘計算。設(shè)通話時間為t(分鐘),通話費用
y(元),如何設(shè)計一個程序,計算通話的費用。
解析:
算法分析:
數(shù)學(xué)模型實際上為:y關(guān)于t的分段函數(shù)。
關(guān)系是如下:
其中[t-3]表示取不大于t-3的整數(shù)部分
算法步驟如下:
第一步:輸入通話時間t;
第二步:如果tW3,那么y=0.22;否則判斷tWZ是否成立,若成立執(zhí)行y=0.2+0.1x(t—3);否則執(zhí)行丫=
0.2+0.lx([t-3]+D。
第三步:輸出通話費用c.
算法程序如下:
INPUT”請輸入通話時間:”;t
IFt<=3THEN
產(chǎn)0.22
ELSE
IFINT(t)=tTHEN
y=0.22+0.1*(t-3)
ELSE
y=0.22+0.1*(INT(t-3)+l)
ENDIF
ENDIF
PRINT”通話費用為:”;y
END
點評:實際應(yīng)用問題,在高考中是一個熱點。如何將實際問題轉(zhuǎn)化成數(shù)學(xué)問題是解題的關(guān)鍵,最后還要用
算法步驟和程序進行表達。如:中國網(wǎng)通通話費的規(guī)定在數(shù)學(xué)中就是通話時間到通話費用的分段函數(shù)。日常生
活中的分段函數(shù)問題還有很多:出租車的計費問題、個人所得稅問題、銀行利率問題等等
例10.編寫程序,計算數(shù)列{”}的前20項的和。(其中數(shù)列的前幾項分別為1,1,2,3,5,8,……)
解析:這是“F訪。nacci數(shù)列”的典型特征,從第三項起每一項都是它前兩項的和,即。=。+?o
n/j-1n-2
程序如下:
a=\
b=\
s=0
i=3
WHILEi<=20
s=s+a+b
t=a
a=h
b=b+t
i=i+l
WEND
PRINTs
END
點評:
1.計數(shù)變量的作用一般是統(tǒng)計循環(huán)體執(zhí)行的次數(shù),改變循環(huán)條件的取值,為結(jié)束循環(huán)作準備。譬如:計算
等差、等比數(shù)列的前n項的和,n就是計數(shù)變量的臨界值,在當(dāng)型結(jié)構(gòu)中“小于等于n”維持循環(huán),而在直到型
循環(huán)結(jié)構(gòu)中“大于n”跳出循環(huán)
2.累加變量是最終的輸出結(jié)果。每進入一次循環(huán)體隨著計數(shù)變量改變而改變。累加變量的初始值通常為0。
五.【思維總結(jié)】
在設(shè)計算法的過程中,解決問題的基本思想常常很簡單、很淸楚,但表述參與運算的數(shù)值的頻頻變換卻很
麻煩。為了解決這個問題,需要在程序中引入變量。前面通過對函數(shù)概念的學(xué)習(xí),我們就已經(jīng)了解變量的含義:
在研究問題的過程中可以取代不同數(shù)值的量稱為變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國大包原料奶粉供需形勢分析與營銷發(fā)展趨勢研究報告
- 2024-2030年中國塑鋼門窗隔斷行業(yè)發(fā)展趨勢與投資效益預(yù)測報告
- 2024-2030年中國地震傳感器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 公園戶外采購合同模板
- 化妝原料購銷合同模板
- 婚慶員工押金合同模板
- 外包工人協(xié)議合同模板
- 員工就業(yè)合同模板
- 農(nóng)資排隊購買合同模板
- 廚師與學(xué)校合同模板
- 人教版(2024)第二單元-漢語拼音《語文園地二》教學(xué)課件
- 2024-2025學(xué)年七年級道德與法治上冊 第一單元 單元測試卷(人教陜西版)
- Lesson 3 We are having a sports meet. 第一課時(教學(xué)設(shè)計)-2024-2025學(xué)年接力版英語六年級上冊
- 國家開放大學(xué)《養(yǎng)牛技術(shù)》形考任務(wù)1-5參考答案
- 蘇教版五年級上冊小數(shù)乘除法豎式計算題200道及答案
- 2024年高級司泵工職業(yè)鑒定考試題庫(含答案)
- 2024-2030年中國沉香行業(yè)發(fā)展運行現(xiàn)狀及投資策略研究報告
- 廉江市縣域公共建筑屋頂分布式光伏合作協(xié)議V2 -
- 上海市徐匯區(qū)2023-2024學(xué)年六年級下學(xué)期期末英語試題
- 2024中鐵建工勞務(wù)分包合同范本
- DZ∕T 0222-2006 地質(zhì)災(zāi)害防治工程監(jiān)理規(guī)范(正式版)
評論
0/150
提交評論