版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十一章算法初步與框圖
一、知識網(wǎng)絡(luò)
算法概念
順序結(jié)構(gòu)
算
法
初
步
1.算法的概念:算法通常是指按一定規(guī)則解決某一類問題的明確和有限的步驟.
2.程序框圖又稱流程圖,是一種用程序框、流程線與文字說明來表示算法的圖形.
3.程序框圖的三種基本邏輯結(jié)構(gòu)是順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu).
4.算法的描述方式有:自然語言、程序框圖、程序語言.
5.算法的基本特征:①明確性:算法的每一步執(zhí)行什么是明確的;②順序性:算法的“前
一步”是“后一步”的前提,“后一步”是“前一步”的繼續(xù);③有限性:算法必須在
有限步內(nèi)完成任務(wù),不能無限制的持續(xù)進(jìn)行;④通用性:算法應(yīng)能解決某一類問題.
※典例精析
例1.如圖所示是一個算法的程序框圖,則該程序框圖所表示
/輸出3/
|結(jié)束
解析:首先要理解各程序框的含義,輸入a,b,c三個數(shù)之后,接
著判斷a,b的大小,若b小,則把b賦給a,否則執(zhí)行下一步,
即判斷a與c的大小,若c小,則把c賦給a,否則執(zhí)行下一
步,這樣輸出的a是a,b,c三個數(shù)中的最小值.所以該程序框
圖所表示的功能是求a,b,c三個數(shù)中的最小值.
評注:求a,b,c三個數(shù)中的最小值的算法設(shè)計也可以用下面程
序框圖來表示.
例2.下列程序框圖表示的算法功能是()
(1)計算小于1。。的奇數(shù)的連乘積
(2)計算從1開始的連續(xù)奇數(shù)的連乘積
(3)計算從1開始的連續(xù)奇數(shù)的連乘積,當(dāng)乘積大于100時,計算奇數(shù)的個數(shù)
(4)計算1x3x5x…xnN100成立時〃的最小值
解析:為了正確地理解程序框圖表示的算法,可以將執(zhí)行過程分解,分析每一步執(zhí)行的結(jié)
果.可以看出程序框圖中含有當(dāng)型的循環(huán)結(jié)構(gòu),故分析每一次循環(huán)的情況,列表如下:
第一次:S=lx3,i=5;
第二次:S=lx3x5,i=7;
第三次:S=lx3x5x7,j=9,此時S<100不成立,輸出結(jié)果是7,程序框圖表示的算法功能是求
使Ix3x5x…xnNlOO成立時〃的最小值.選D.
評注:通過列表,我們能清楚了解程序的每一步中的各個變量是怎樣變化的,這正是程序運
行的本質(zhì)所在.本題若要求編寫求使Ix3x5x…xnNlOO成立時”的最小值的程序框圖或程
序時,很容易弄錯輸出的結(jié)果,應(yīng)注意.
例3.在音樂唱片超市里,每張唱片售價為25元,顧客如果購買5張以上(含5張)唱片,
則按九折收費,如果購買1。張以上(含10張)唱片,則按八折收費,請設(shè)計算法步驟
并畫出程序框圖,要求輸入張數(shù)x,輸出實際收費y(元).
分析:先寫出),與x之間的函數(shù)關(guān)系式,有,再利用條件結(jié)構(gòu)畫程序框圖.
解:算法步驟如下:
第一步,輸入購買的張數(shù)X,
第二步,判斷X是否小于5,若是,計算),=25町
否則,判斷工是否小于10,若是,計算尸22.5x;
否則,計算y=20x.
第三步,輸出y.
程序框圖如下:
評注:凡必須先根據(jù)條件做出判斷,然后再決定進(jìn)行
哪一個步驟的問題,在畫程序框圖時,必須引入判
斷框,采用條件結(jié)構(gòu)設(shè)計算法.如果變量分三級(或以
上)時,就需要用到條件結(jié)構(gòu)的嵌套,不能忽視結(jié)果中“是“、“否”的書寫,否則不知道執(zhí)
行哪一條路徑.一般地,分〃段的分段函數(shù),需要引入〃-1個判斷框.條件結(jié)構(gòu)有以下兩種基
本類型.
例4.畫出求的值的程序框圖.
分析:這是一個有規(guī)律的數(shù)列求和問題,每次都進(jìn)行了相同的運算,故應(yīng)用循環(huán)結(jié)構(gòu)進(jìn)行算
⑵直到型循
評注:(1)解題關(guān)鍵是選擇好計數(shù)變量,和累加變量S的初始值,并寫出用,表示的數(shù)列的通
項公式是;
⑵循環(huán)結(jié)構(gòu)主要用在一些有規(guī)律的重復(fù)計算的算法中,如累加求和,累乘求積等問題.在循
環(huán)結(jié)構(gòu)中,要注意根據(jù)條件,設(shè)計合理的計數(shù)變量、累加(積)變量以與它們的初始值等,特別
要注意循環(huán)結(jié)構(gòu)中條件的表述要恰當(dāng)、精確,以免出現(xiàn)多一次或少一次循環(huán).
(3)循環(huán)結(jié)構(gòu)分為兩類:一類是當(dāng)型循環(huán)結(jié)構(gòu),如下左圖所示;另一類是直到型循環(huán)結(jié)
構(gòu),如下右圖所示.
術(shù)改進(jìn)后預(yù)計以后后每年的年生產(chǎn)總值都比上一年增長5%.設(shè)計一個程序框圖,輸出預(yù)期
年生產(chǎn)總值超過300萬元的最早年份與2005年到此年份之前(不包此年份)的年生產(chǎn)總值
的和.
分析:本例可用循環(huán)結(jié)構(gòu)來實現(xiàn).(1)確定“循環(huán)體”:設(shè)a為某年的年生產(chǎn)總值,n為年份,S
為年產(chǎn)值的總和,則循環(huán)體為
⑵初始化變量:n的初始值為2005,a的初始值為200,S的初始值為0.
⑶設(shè)定循環(huán)控制條件:。>300
評注:本問題的關(guān)健是設(shè)計好循環(huán)體,注意S=S+a與〃之間的對應(yīng)關(guān)系.本題若將S=S+a
放在〃=〃+1之后,則輸出時須重新賦值〃,否則〃的值為超過30。萬的年份的下一年.
本題也可用當(dāng)型循環(huán)結(jié)構(gòu)來表示.
變式訓(xùn)練:設(shè)計一個程序框圖,求使S=lx2x3x...x〃>5000的最小"的值,并輸出此時S的
值.
解:程序框圖如下:
※基礎(chǔ)自測
一、選擇題
1.下列說法正確的是()
4算法就是某個問題的解題過程;
B.算法執(zhí)行后可以產(chǎn)生不同的結(jié)果;
C.解決某一個具體問題算法不同結(jié)果不同;
D.算法執(zhí)行步驟的次數(shù)不可以很大,否則無法實施.
1.解析:選項力,算法不能等同于解法;選項石,例如:判斷一個正整數(shù)是否為質(zhì)數(shù),
結(jié)果為“是質(zhì)數(shù)”和“不是質(zhì)數(shù)”兩種;選項C,解決某一個具體問題算法不同結(jié)果應(yīng)該
相同,否則算法構(gòu)造的有問題;選項D,算法可以為很多次,但不可以無限次.
2、如圖所示的程序框圖中,則第3個輸出的數(shù)是()
35
A.1B.-C.2D.-
22
2.解析:前3個分別輸出的數(shù)是1,1,2.故選C.
N=1
I*-
□
N=N+1
3.如圖給出的是求的值的一個程序框圖,
其中判斷框內(nèi)應(yīng)填入的條件是()
A.i>10?B.i<10?C.i>20?D.i<20?
開始
S=0,〃=2,i=l
I*------
□
n=n+2
i=i+\
輸出
結(jié)束
3.解析:通過列表,我們能清楚了解程序的每一步中的各個變量
是怎樣變化的,第一次:,
第二次:,…依此可知循環(huán)的條件是i>10?.選A開始
4.閱讀右邊的程序框圖,若輸入的〃是100,則輸出的變
量S和T的值依次是()
A.2550,2500
B.2550,2550
C.2500,2500
D.2500,2550
4.解析:依據(jù)框圖可得
5=100+98+96+...+2=2550,
7=99+97+95+...+1=2500.選A.
5.2006年1月份開始實施的《個人所得稅法》規(guī)定:全
月總收入不超過1600元的免征個人工資、薪金所得稅,超過
1600元部分需征稅.設(shè)全月總收入金額為x元,前三級稅
率如下左表所示:
級全月應(yīng)納稅金額稅
數(shù)X—1600率
1不超過500元部分5%
10
2超過500至2000元部分
%
超過2000至5000元部15
3
分%
....
??????
開始]
輸入X
當(dāng)工資薪金所得不超過3600元,計算個人所得稅的一個算法框圖如圖.則輸出①、輸出②
分別為().
A.0.05x;O.lxB0.05%;O.lx—185C0.05x-80;O.lx;
D.0.05x-80;0.lx-185
5.解析:設(shè)全月總收入金額為x元,所得稅額為y元,則),與x之間的函數(shù)關(guān)系為
0(0<x<1600)
y=<(%-1600).5%(1600<x<2100)選D.
25+(%-2100).10%(2100<x<3600)
二、填空題
6.執(zhí)行右邊的程序框圖,若尸0.8,則輸出的刀=..
6.解析:第一次循環(huán)后,,此時〃=2;第二次循環(huán)后,,此時〃=3;第三次循環(huán)后,,此時〃=4,
輸出,故填4.
8.如果執(zhí)行右面的程序框圖,那么輸出的s=
1開:1
匕=1
s=o
<fc^0?>----查——
s=s+景/輸出步
IS-口1
1彳3k=k+\[結(jié)束]
第8題8.解析:S=2+4+6+---+100=2550
三、解答題
9.請閱讀下面程序框圖,說明此程序的功能
_____1宣
(笫9題程序框圖)解:程序功能是求s的值.
s=l+2+22+..?+26,并輸出s
10.已知函數(shù),請畫出程序框圖,要求輸入自變量x的值,
輸出函數(shù)值y.
10.解:
11.畫出一個計算1X5X10X15X...X100的程序框圖.
11解:程序框圖如下
直到型循環(huán)
第二節(jié)算法的基本語句與算法案例
※知識回顧
1.任何一種程序設(shè)計語言都包含五種基本
的算法語句,
它們是輸入語句,輸出語句,賦值語句,
條件語句,循環(huán)語句
2.輸入語句的一般格式是WPUT”提示內(nèi)容”;變量;
輸出語句的一般格式是PAWT"提示內(nèi)容”;表達(dá)式;
賦值語句的一般格式是變量=表達(dá)式;
條件語句的一般格式是或;
循環(huán)語句的一般格式是和,.
輸入語句、輸出語句、賦值語句基本對應(yīng)于程序框圖中的順序結(jié)構(gòu);條件語句、循環(huán)語
句分別用來表達(dá)程序框圖中的條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu).
3.常用符號
運算符號:加工,減」,乘;_,除,乘方針3整數(shù)取商、,求余數(shù)MOD.
邏輯符號:且竺孫或竺,大于壬等于二,小于<,大于等于三,小于等于三,不等
于
常用函數(shù):絕對值A(chǔ)BS,平方根SQR,取整這
4.算法案例
(1)輾轉(zhuǎn)相除法和更相減損術(shù)
輾轉(zhuǎn)相除法和更相減損術(shù)都是求兩個正整數(shù)的最大公約數(shù)的方法.
(1)輾轉(zhuǎn)相除法就是對于給定的兩個正整數(shù),用大數(shù)除以小數(shù),若余數(shù)不為0,則將小
數(shù)和余數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,反復(fù)執(zhí)行此步驟,直到大數(shù)被小數(shù)除盡,則
這時較小的數(shù)就是原來兩個數(shù)的最大公約數(shù).
(2)更相減損術(shù)就是對于給定的兩個正整數(shù),若它們都是偶數(shù),則將它們反復(fù)除以2(假
設(shè)進(jìn)行了k次),直到它們至少有一個不是偶數(shù)后,將大數(shù)減小數(shù),然后將差和較小的數(shù)
構(gòu)成一對新數(shù),繼續(xù)上面的減法,反復(fù)執(zhí)行此步驟,直到差和較小的數(shù)相等,此時相等的
數(shù)再乘以原來約簡的2”即為所求兩數(shù)的最大公約數(shù).
(2)秦九韶算法
秦九韶算法是求多項式值的優(yōu)秀算法.
設(shè)/(x)=aHx"++…+qx+4,
改寫為如下形式:
/U)=(???{anx+an_x)x+an_2)x■--+a])x+a().
設(shè)%=%,匕=%X+4T
這樣求n次多項式F(x)的值就轉(zhuǎn)化為求n個二式的值.當(dāng)多項式中有些項不存在時,
可將這幾項看做Oxx”,補齊后再利用秦九韶算法進(jìn)行計算.對于一個n次多項式,只需做
M次乘法和巴次加法運算即可.
(3)進(jìn)位制
K進(jìn)制數(shù)的基數(shù)為k,k進(jìn)制數(shù)是由0~左-1之間的數(shù)字構(gòu)成的.
將十進(jìn)制的數(shù)轉(zhuǎn)化為k進(jìn)制數(shù)的方法是除k取余法.
把攵進(jìn)制數(shù)a”%…44(°<%<幺04??-i,…4,4〈人)化為十進(jìn)制數(shù)的方法為
n
=ank++-■■+aik+a0.
※典例精析
例L寫出用循環(huán)語句描述求S=l-;+…+白-小的值的算法程序.
77JL1717
解:算法程序如下:
(1)當(dāng)型循環(huán)(2)直到型循環(huán)
評注:在編寫算法的程序時,可先畫出程序框圖,抓住程序框圖表示算法這個核心.注意分
別用當(dāng)型循環(huán)和直到型循環(huán)語句編寫的程序中,循環(huán)條件的區(qū)別與聯(lián)系.
例2、某市對排污水進(jìn)行綜合治理,征收污水處理費,系統(tǒng)對各廠一個月內(nèi)排出的污水量
(zur,“A〃,噸收取的污水處理費y元,運行程序如下所示:
IIFm<=50THEN
y=13*zw
ELSE
IFntv=100THEN
y=5O+15*5?-5O)
ELSE
y=15025*(wr-10O)
ENDIF
ENDIF
END
請寫出y與m的函數(shù)關(guān)系,并求排放污水150噸的污水處理費用.
解:這個程序反映的是一個分段函數(shù)
13M(m<50)
y=\50+15(加一50)(50cmV100)
150+25(/??-100)(w>100)
因為機=150>100,所以y=150+25(150-100)=1400,故該廠應(yīng)繳納污水處理費1400元.
評注:解決分段函數(shù)要用條件語句來處理.本題可畫出程序框圖幫助理解.
例3.求三個數(shù)72,120,168的最大公約數(shù).
解法1:用輾轉(zhuǎn)相除法
先求120,168的最大公約數(shù),
因為168=120x1+48,120=48x2+24,48=24x2
所以120,168的最大公約數(shù)是24.
再求72,24的最大公約數(shù),
因為72=24x3,所以72,24的最大公約數(shù)為24,
即72,120,168的最大公約數(shù)為24.
解法2:用更相減損術(shù)
先求120,168的最大公約數(shù),
168-120=48,120-48=72,72-48=24,48-24=24
所以120,168的最大公約數(shù)為24.
再求72,24的最大公約數(shù),
72-24=48,48-24=24
72,24的最大公約數(shù)為24,
BP72,120,168的最大公約數(shù)為24.
評注:輾轉(zhuǎn)相除法與更相減損術(shù)均是求兩個正整數(shù)的最大公約數(shù)的方法,要理解和掌握它們
的最小公倍數(shù)的算法程序.
例4.用秦九韶算法求多項式/。)=/+2/+3/++5x+6在x=2時的值.
分析:先改寫多項式,再由內(nèi)向外計算.
/(x)=x5+2x4+3x3+4x2+5x+6
二((((x+2)x+3)x+4)x+5)x+6
%=1,Vj=%x+2=4
v2=VjX+3=ll
匕=%x+4=26
v4=v3x+5=57
v5=V4X+6=120
評注:用秦九韶算法求多項式值,關(guān)健是正確將多項式改寫,然后由內(nèi)向外計算求得.
本題也可簡寫為下式:
123456
2282252114
4112657120
例5.完成下列進(jìn)制的轉(zhuǎn)化
⑴1()202。)=——。。)(2)1()%。)=_____⑻
42
H:(1)10202(3)=lx3+2x3+2x3°=101(10)
⑵用8反復(fù)去除101,直到商為0止,所得的余數(shù)(從末位讀起)就是十進(jìn)制數(shù)101的
8進(jìn)制表示
所以10%0)=145⑻
評注:將女進(jìn)制的數(shù)轉(zhuǎn)化為k'進(jìn)制的數(shù)的方法是先將k進(jìn)制的數(shù)轉(zhuǎn)化為十進(jìn)制的數(shù),再將這
個數(shù)轉(zhuǎn)化為《進(jìn)制的數(shù).
變式訓(xùn)練:下面是把二進(jìn)制數(shù)11111⑵化為十進(jìn)制數(shù)的一個程序框圖,判斷框內(nèi)應(yīng)填入的條
件是()
A.Z>5?B.z<4?C.z>4?D.z<5?
解:11111⑵=1x24+1x23+1x22+1x2+1,故判斷框內(nèi)應(yīng)填入的條件,>4.選C.
派基礎(chǔ)自測
一、選擇題
1.下列給出的賦值語句中正確的是()
A4=MBM=-MCB=A=3Dx+y=0
1.解析:賦值語句的功能.選B
2當(dāng)x=2時,下面的程序輸出的結(jié)果是()
INPUTx
WHILEz<=4
5=5*X+1
Z=Z+1
WEND
PRINTs
END
A3B7C15D17
2解析:0x2+1=1,1x2+1=3,3x2+1=7,7x2+1=15.選C
3.運行下列程序:
INPUTm,n
DO
r=mMODn
m-n
n=r
LOOPUNTILr=0
PRINTm
END
當(dāng)輸入56,42時,輸出的結(jié)果是
A.56B.42C.84D.14
3.解析:該程序的功能是用輾轉(zhuǎn)相除法求正整數(shù)九〃(機>“)的最大公約數(shù),故選D
4下邊程序運行后輸出的結(jié)果為()
(1=0
7=1
WHILEj<=5
a=(a+j)MOD5
j=j+l
WEND
PRINTa
END
A50B5C25DO
4解析:j=lM=l;j=2,a=3;/=3M=1;/=4,a=0;J=5,a=0.選D
二、填空題
5三個數(shù)324,243,135的最大公約數(shù)是_________________
5解析:324=243x1+81,135=81x1+54,81=54x1+27,54=27x2.填27
6.閱讀下列程序:
(INPUTx
IFx>100ANDx<1000THEN
a=x\100
b=(x-a*100)\10
c=xMOD10
x=100*c+10*6+a
PRINTx
ENDIF
\^NDJ
當(dāng)程序輸入i值為1
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級數(shù)學(xué)上冊-第21章-二次根式單元復(fù)習(xí)(1)課件-人教新課標(biāo)版2
- 現(xiàn)代氣動與液壓技術(shù) 課件 3-10 水管閥門雙作用氣缸
- 人教版五年級語文下冊同步作業(yè)課件第1單元1草原-一課一練-課課練試卷
- 北師大版六上數(shù)學(xué)第2課時-觀察的范圍公開課教案教學(xué)課件課時訓(xùn)練作業(yè)練習(xí)知識點總結(jié)
- 人教版小學(xué)數(shù)學(xué)三年級上冊課件:《倍的認(rèn)識》課件2副本
- 第2章 第4節(jié) 神經(jīng)系統(tǒng)的分級調(diào)節(jié)-2024-2025學(xué)年高二生物選擇性必修1 (配人教版)配套課件
- 【課件】服務(wù)社會課件
- 湖南省岳陽市(2024年-2025年小學(xué)四年級語文)人教版能力評測(上學(xué)期)試卷及答案
- 湖南省益陽市(2024年-2025年小學(xué)四年級語文)人教版小升初模擬(下學(xué)期)試卷及答案
- 湖南省婁底市(2024年-2025年小學(xué)四年級語文)人教版隨堂測試((上下)學(xué)期)試卷及答案
- 24年注安-其他安全-必背考點-王培山
- 2024中國通信服務(wù)股份限公司招聘高頻500題難、易錯點模擬試題附帶答案詳解
- 空氣動力學(xué)仿真技術(shù):計算流體力學(xué)(CFD):CFD在飛機設(shè)計中的應(yīng)用
- 6個關(guān)鍵點!二十屆三中全會解讀課件
- 上海市普通高中學(xué)業(yè)水平合格性考試地理基礎(chǔ)知識點復(fù)習(xí)提綱
- 2024年歐洲碲鋅鎘(CZT)輻射探測器市場主要企業(yè)市場占有率及排名
- 教師資格考試初中歷史學(xué)科知識與教學(xué)能力試卷及解答
- 中考數(shù)學(xué)二輪復(fù)習(xí)-專題08 尺規(guī)作圖+補全證明過程 解析版
- 登革熱診療方案(2024年版)
- 統(tǒng)編版(2024年新教材)七年級上冊道德與法治期末復(fù)習(xí)主要知識點提綱
- 監(jiān)理大綱工程監(jiān)理方案技術(shù)標(biāo)投標(biāo)方案
評論
0/150
提交評論