




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章算法初步
本章教材分析
算法是數學及其應用的重要組成部分,是計算科學的重要基礎.算法的應用是學習數學
的一個重要方面.學生學習算法的應用,目的就是利用已有的數學知識分析問題和解決問題.
通過算法的學習,對完善數學的思想,激發應用數學的意識,培養分析問題、解決問題的能力,
增強進行實踐的能力等,都有很大的幫助.
本章主要內容:算法與程序框圖、基本算法語句、算法案例和小結.教材從學生最熟悉
的算法入手,通過研究程序框圖與算法案例,使算法得到充分的應用,同時也展現了古老算
法和現代計算機技術的密切關系.算法案例不僅展示了數學方法的嚴謹性、科學性,也為計
算機的應用提供了廣闊的空間.讓學生進一步受到數學思想方法的熏陶,激發學生的學習熱
情.
在算法初步這一章中讓學生近距離接近社會生活,從生活中學習數學,使數學在社會生
活中得到應用和提高,讓學生體會到數學是有用的,從而培養學生的學習興趣.“數學建模”
也是高考考查重點.
本章還是數學思想方法的載體,學生在學習中會經常用到“算法思想'’"轉化思想”,從而
提高自己數學能力.因此應從三個方面把握本章:
(1)知識間的聯系;
(2)數學思想方法;
(3)認知規律.
本章教學時間約需12課時,具體分配如下(僅供參考):
1.1.1算法的概念約1課時
1.1.2程序框圖與算法的基木邏輯結構約4課時
1.2.1輸入語句、輸出語句和賦值語句約1課時
1.2.2條件語句約1課時
1.2.3循環語句約1課時
1.3算法案例約3課時
本章復習約1課時
1.1算法與程序框圖
1.1.1算法的概念
整體設計
教學分析
算法在中學數學課程中是一個新的概念,但沒有一個精確化的定義,教科書只對它作了
如下描述:“在數學中,算法通常是指按照一定規則解決某一類問題的明確有限的步驟為
了讓學生更好理解這一概念,教科書先從分析一個具體的二元一次方程組的求解過程出發,
歸納出了二元一次方程組的求解步驟,這些步驟就構成了解二元一次方程組的算法.教學中,
應從學生非常熟悉的例子引出算法,再通過例題加以鞏固.
三維目標
1.正確理解算法的概念,掌握算法的基本特點.
2.通過例題教學,使學生體會設計算法的基本思路.
3.通過有趣的實例使學生了解算法這一概念的同時,激發學生學習數學的興趣.
重點難點
教學重點:算法的含義及應用.
教學難點:寫出解決一類問題的算法.
課時安排
1課時
教學過程
導入新課
思路1(情境導入)
一個人帶著三只狼和三只羚羊過河,只有i條船,同船可容納?個人和兩只動物,沒有
人在的時候,如果狼的數量不少于羚羊的數量狼就會吃羚羊.該人如何將動物轉移過河?請
同學們寫出解決問題的步驟,解決這一問題將要用到我們今天學習的內容——算法.
思路2(情境導入)
大家都看過趙本山與宋丹丹演的小品吧,宋丹丹說了一個笑話,把大象裝進冰箱總共分
幾步?
答案:分三步,第一步:把冰箱門打開;第二步:把大象裝進去;第三步:把冰箱門關上.
上述步驟構成了把大象裝進冰箱的算法,今天我們開始學習算法的概念.
思路3(直接導入)
算法不僅是數學及其應用的重要組成部分,也是計算機科學的重要基礎.在現代社會里,
計算機已成為人們日常生活和工作中不可缺少的工具.聽音樂、看電影、玩游戲、打字、畫
卡通畫、處理數據,計算機是怎樣工作的呢?要想弄清楚這個問題,算法的學習是一個開始.
推進新課
新知探究
提出問題
(1)解二元一次方程組有幾種方法?
(2)結合教材實例‘'式'總結用加減消元法解二元一次方程組的步驟.
2x+y=l,(2)
x-2v=-1⑴
(3)結合教材實例《,總結用代入消元法解二元一次方程組的步驟.
2x+y=l,(2)
(4)請寫出解一般二元一次方程組的步驟.
(5)根據上述實例談談你對算法的理解.
(6)請同學們總結算法的特征.
(7)請思考我們學習算法的意義.
討論結果:
(1)代入消元法和加減消元法.
(2)回顧二元一次方程組
\的求解過程,我們可以歸納出以下步驟:
[2x+y^l,(2)
第一步,①+②*2,得5x=l.③
第二步,解③,得x=(.
第三步,②-①x2,得5y=3.④
第四步,解④,得尸士.
1
第五步,得到方程組的解為“5,
(3)用代入消元法解二元一次方程組
fx-2y=-1,(1)
\我們可以歸納出以下步驟:
2x+y=1,(2)
第一步,由①得x=2y-l.③
第二步,把③代入②,得2(2y-l)+y=l.④
第三步,解④得y=33.⑤
31
第四步,把⑤代入③,得X=2X±-1=M
1
x—
第五步,得到方程組的解為4,
a.x+b,y=c.,(l)
(4)對于一般的二元一次方程組1117'V
a2x+b2y^C2,(2)
其中ab—azbi/O,可以寫出類似的求解步驟:
第一步,①xb2-②xbi,得
—
(a|b2a2bj)x=b2C|-b|C2.(§)
第二步,解③,得x=-C「仇C、2
a}b2-a2b]
—
第三步,②xa「①xa?,得(a??—azb])y=a|C2a2Ci.(4)
第四步,解④,得尸年2-“2。
a}b2-a2bl
'b2cx-b,c2
A一,
ah-a^h.
第五步,得到方程組的解為《1221
CliCj—Q'G
y=------.
ayb2-a2bx
(5)算法的定義:廣義的算法是指完成某項工作的方法和步驟,那么我們可以說洗衣機的使
用說明書是操作洗衣機的算法,菜譜是做菜的算法等等.
在數學中,算法通常是指按照一定規則解決某一類問題的明確有限的步驟.
現在,算法通常可以編成計算機程序,讓計算機執行并解決問題.
(6)算法的特征:①確定性:算法的每一步都應當做到準確無誤、不重不漏.“不重”是指不是
可有可無的,甚至無用的步驟,“不漏”是指缺少哪一步都無法完成任務.②邏輯性:算法從
開始的“第一步''直到"最后一步”之間做到環環相扣,分工明確,"前一步’'是"后一步''的前提,
“后一步”是“前一步”的繼續.③有窮性:算法要有明確的開始和結束,當到達終止步驟時所要
解決的問題必須有明確的結果,也就是說必須在有限步內完成任務,不能無限制地持續進行.
(7)在解決某些問題時,需要設計出一系列可操作或可計算的步驟來解決問題,這些步驟稱
為解決這些問題的算法.也就是說,算法實際上就是解決問題的一種程序性方法.算法一般是
機械的,有忖需進行大量重復的計算,它的優點是一種通法,只要按部就班地去做,總能得
到結果.因此算法是計算科學的重要基礎.
應用示例
思路1
例1(1)設計一個算法,判斷7是否為質數.
(2)設計一個算法,判斷35是否為質數.
算法分析:(1)根據質數的定義,可以這樣判斷:依次用2—6除7,如果它們中有一個能
整除7,則7不是質數,否則7是質數.
算法如下:(1)第一步,用2除7,得到余數1.因為余數不為0,所以2不能整除7.
第二步,用3除7,得到余數1.因為余數不為0,所以3不能整除7.
第三步,用4除7,得到余數3.因為余數不為0,所以4不能整除7.
第四步,用5除7,得到余數2.因為余數不為0,所以5不能整除7.
第五步,用6除7,得到余數1.因為余數不為0,所以6不能整除7.因此,7是質數.
(2)類似地,可寫出“判斷35是否為質數”的算法:第一步,用2除35,得到余數1.因為
余數不為0,所以2不能整除35.
第二步,用3除35,得到余數2.因為余數不為0,所以3不能整除35.
第三步,用4除35,得到余數3.因為余數不為0,所以4不能整除35.
第四步,用5除35,得到余數0.因為余數為0,所以5能整除35.因此,35不是質數.
點評:上述算法有很大的局限性,用上述算法判斷35是否為質數還可以,如果判斷1997
是否為質數就麻煩了,因此,我們需要尋找普適性的算法步驟.
變式訓練
請寫出判斷n(n>2)是否為質數的算法.
分析:對于任意的整數n(n>2),若用i表示2一(31)中的任意整數,貝lj“判斷n是否為質數”
的算法包含下面的重復操作:用i除n,得到余數r.判斷余數r是否為0,若是,則不是質數;
否則,將i的值增加1,再執行同樣的操作.
這個操作一直要進行到i的值等于(n-1)為止.
算法如下:第一步,給定大于2的整數n.
第二步,令i=2.
第三步,用i除n,得到余數r.
第四步,判斷是否成立.若是,則n不是質數,結束算法;否則,將i的值增加1,
仍用i表示.
第五步,判斷“i>(n-1)”是否成立.若是,則n是質數,結束算法;否則,返回第三步.
例2寫出用“二分法”求方程X2-2=0(x>0)的近似解的算法.
分析:令*x)=x2-2,則方程X2-2=0(x>0)的解就是函數f(x)的零點.
“二分法”的基本思想是:把函數f(x)的零點所在的區間[a,b](滿足f(a)-f(b)<0)“一分
為二”,得到[a,m]和[m,b].根據“f(a>f(m)〈O”是否成立,取出零點所在的區間[a,m]或
[m,b],仍記為[a,b].對所得的區間[a,b]重復上述步驟,直到包含零點的區間[a,b]“足
夠小'',則[a,b]內的數可以作為方程的近似解.
解:第一步,令f(x尸x2-2,給定精確度d.
第二步,確定區間[a,b],滿足f(a>f(b)<0.
第三步,取區間中點m=3〃.
2
第四步,若f(a>f(m)<0,則含零點的區間為Ca,m];否則,含零點的區間為[m,b].將新得
到的含零點的區間仍記為[a,b].
第五步,判斷[a,b]的長度是否小于d或f(m)是否等于0.若是,則m是方程的近似解;
否則,返回第三步.
當d=0.005時,按照以上算法,可以得到下表.
ab|a-b|
121
11.50.5
1.251.50.25
1.3751.50.125
1.3751.43750.0625
1.406251.43750.03125
1.406251.4218750.015625
1.41406251.4218750.0078125
1.41406251.417968750.00390625
于是,開區間(1.4140625,1.41796875)中的實數都是當精確度為0.005時的原方程的
近似解.實際上,上述步驟也是求痣的近似值的一個算法.
點評:算法一般是機械的,有時需要進行大量的重復計算,只要按部就班地去做,總能算出
結果,通常把算法過程稱為“數學機械化數學機械化的最大優點是它可以借助計算機來完
成,實際上處理任何問題都需要算法.如:中國象棋有中國象棋的棋譜、走法、勝負的評判
準則;而國際象棋有國際象棋的棋譜、走法、勝負的評判準則;再比如申請出國有一系列的
先后手續,購買物品也有相關的手續……
思路2
例1一個人帶著三只狼和三只羚羊過河,只有一條船,同船可容納一個人和兩只動物,沒
有人在的時候,如果狼的數量不少于羚羊的數量就會吃羚羊.該人如何將動物轉移過河?請
設計算法.
分析:任何動物同船不用考慮動物的爭斗但需考慮承載的數量,還應考慮到兩岸的動物都得
保證狼的數量要小于羚羊的數量,故在算法的構造過程中盡可能保證船里面有狼,這樣才能
使得兩岸的羚羊數量占到優勢.
解:具體算法如下:
算法步驟:
第一步:人帶兩只狼過河,并自己返回.
第二步:人帶一只狼過河,自己返回.
第三步:人帶兩只羚羊過河,并帶兩只狼返回.
第四步:人帶一只羊過河,自己返回.
第五步:人帶兩只狼過河.
點評:算法是解決某一類問題的精確描述,有些問題使用形式化、程序化的刻畫是最恰當的.
這就要求我們在寫算法時應精練、簡練、清晰地表達,要善于分析任何可能出現的情況,體
現思維的嚴密性和完整性.本題型解決問題的算法中某些步驟重復進行多次才能解決,在現
實生活中,很多較復雜的情境經常遇到這樣的問題,設計算法的時候,如果能夠合適地利用
某些步驟的重復,不但可以使得問題變得簡單.,而且可以提高工作效率.
例2喝一杯茶需要這樣兒個步驟:洗刷水壺、燒水、洗刷茶具、沏茶.問:如何安排這幾
個步驟?并給出兩種算法,再加以比較.
分析:本例主要為加深對算法概念的理解,可結合生活常識對問題進行分析,然后解決問題.
解:算法一:
第一步,洗刷水壺.
第二步,燒水.
第三步,洗刷茶具.
第四步,沏茶.
算法二:
第一步,洗刷水壺.
第二步,燒水,燒水的過程當中洗刷茶具.
第三步,沏茶.
點評:解決一個問題可有多個算法,可以選擇其中最優的、最簡單的、步驟盡量少的算法.上
面的兩種算法都符合題意,但是算法二運用了統籌方法的原理,因此這個算法要比算法一更
科學.
例3寫出通過尺軌作圖確定線段AB一個5等分點的算法.
分析:我們借助于平行線定理,把位置的比例關系變成已知的比例關系,只要按照規則一步
一步去做就能完成任務.
解:算法分析:
第一步,從已知線段的左端點A出發,任意作一條與AB不平行的射線AP.
第二步,在射線上任取一個不同于端點A的點C,得到線段AC.
第三步,在射線上沿AC的方向截取線段CE=AC.
第四步,在射線上沿AC的方向截取線段EF=AC.
第五步,在射線上沿AC的方向截取線段FG=AC.
第六步,在射線上沿AC的方向截取線段GD=AC,那么線段AD=5AC.
第七步,連結DB.
第八步,過C作BD的平行線,交線段AB于M,這樣點M就是線段AB的一個5等分點.
點評:用算法解決幾何問題能很好地訓練學生的思維能力,并能幫助我們得到解決幾何問題
的一般方法,可謂一舉多得,應多加訓練.
知能訓練
設計算法判斷一元二次方程ax2+bx+c=O是否有實數根.
解:算法步驟如下:
第一步,輸入一元二次方程的系數:a,b,c.
第二步,計算A=b2-4ac的值.
第三步,判斷AK)是否成立.若AK)成立,輸出“方程有實根”;否則輸出“方程無實根”,結
束算法.
點評:用算法解決問題的特點是:具有很好的程序性,是一種通法.并且具有確定性、邏輯
性、有窮性.讓我們結合例題仔細體會算法的特點.
拓展提升
中國網通規定:撥打市內電話時,如果不超過3分鐘,則收取話費0.22元;如果通話
時間超過3分鐘,則超出部分按每分鐘0.1元收取通話費,不足一分鐘按?分鐘計算.設通話
時間為t(分鐘),通話費用丫(元),如何設計一個程序,計算通話的費用.
解:算法分析:
數學模型實際上為:y關于t的分段函數.
關系式如下:
0.22,(0<f<3),
y=?0.22+0.1(/—3),(f〉3,twZ),
0.22+0.1([T-3]+1),(7>3,f[Z).
其中[t-3]表示取不大于t—3的整數部分.
算法步驟如下:
第一步,輸入通話時間t.
第二步,如果S3,那么y=0.22;否則判斷twz是否成立,若成立執行
y=0.2+0.1x(t-3);否則執行y=0.2+0.1x([t-3]+1).
第三步,輸出通話費用c.
課堂小結
(1)正確理解算法這一概念.
(2)結合例題掌握算法的特點,能夠寫出常見問題的算法.
作業
課本本節練習1、2.
設計感想
本節的引入精彩獨特,讓學生在感興趣的故事里進入本節的學習.算法是本章的重點也
是本章的基礎,是一個較難理解的概念.為了讓學生正確理解這一概念,本節設置了大量學
生熟悉的事例,讓學生仔細體會反復訓練.本節的事例有古老的經典算法,有幾何算法等,
因此這是一節很好的課例.
備課資料
這是中國古代的一個著名算法案例:雞兔49頭,100根腿往地里走,問雞兔各多少?
分析:求解雞兔的問題簡單直觀,卻包含著深刻的算法思想.應用解二元詼方程組的方法
來求解雞兔同籠問題.
解:算法如下:
第一步,設有小雞X只,小兔y只,則有;二仆
2x+4y=100.(2)
第二步,將方程組中的第一個方程兩邊乘以一2加到第二個方程中去,得到
x+y=49,,
\?解得尸1.
[(4-2)^^100-49x2,
第三步,將y=l代入①,得x=48.
1.1.2程序框圖與算法的基本邏輯結構
整體設計
教學分析
用自然語言表示的算法步驟有明確的順序性,但是對于在一定條件下才會被執行的步
驟,以及在?定條件下會被重復執行的步驟,自然語言的表示就顯得困難,而且不直觀、不
準確.因此,本節有必要探究使算法表達得更加直觀、準確的方法.程序框圖用圖形的方式表
達算法,使算法的結構更清楚、步驟更直觀也更精確.為了更好地學好程序框圖,我們需要
掌握程序框的功能和作用,需要熟練掌握三種基本邏輯結構.
三維目標
1.熟悉各種程序框及流程線的功能和作用.
2.通過模仿、操作、探索,經歷通過設計程序框圖表達解決問題的過程.在具體問題的解決
過程中,理解程序框圖的三種基本邏輯結構:順序結構、條件結構、循環結構.
3.通過比較體會程序框圖的直觀性、準確性.
重點難點
數學重點:程序框圖的畫法.
數學難點:程序框圖的畫法.
課時安排
4課時
教學過程
第1課時程序框圖及順序結構
導入新課
思路1(情境導入)
我們都喜歡外出旅游,優美的風景美不勝收,如果迷了路就不好玩了,問路有時還聽不
明白,真是急死人,有的同學說買張旅游圖不就好了嗎,所以外出旅游先要準備好旅游圖.
旅游圖看起來直觀、準確,本節將探究使算法表達得更加直觀、準確的方法.今天我們開始
學習程序框圖.
思路2(直接導入)
用自然語言表示的算法步驟有明確的順序性,但是對于在一定條件下才會被執行的步
驟,以及在一定條件下會被重復執行的步驟,自然語言的表示就顯得困難,而且不直觀、不
準確.因此,本節有必要探究使算法表達得更加直觀、準確的方法.今天開始學習程序框圖.
推進新課
新知探究
提出問題
(1)什么是程序框圖?
(2)說出終端框(起止框)的圖形符號與功能.
(3)說出輸入、輸出框的圖形符號與功能.
(4)說出處理框(執行框)的圖形符號與功能.
(5)說出判斷框的圖形符號與功能.
(6)說出流程線的圖形符號與功能.
(7)說出連接點的圖形符號與功能.
(8)總結幾個基本的程序框、流程線和它們表示的功能.
(9)什么是順序結構?
討論結果:
(1)程序框圖又稱流程圖,是一種用程序框、流程線及文字說明來表示算法的圖形.
在程序框圖中,一個或幾個程序框的組合表示算法中的一個步驟;帶有方向箭頭的流程線將
程序框連接起來,表示算法步驟的執行順序.
(2)橢圓形框:O表示程序的開始和結束,稱為終端框(起止框).表示開始時只有一個
出口;表示結束時只有一個入口.
(3)平行四邊形框:2表示一個算法輸入和輸出的信息,又稱為輸入、輸出框,它有一個
入口和一個出口.
(4)矩形框:口表示計算、賦值等處理操作,又稱為處理框(執行框),它有一個入口和
一個出口.
(5)菱形框:。是用來判斷給出的條件是否成立,根據判斷結果來決定程序的流向,稱
為判斷框,它有一個入口和兩個出口.
(6)流程線:一表示程序的流向.
(7)圓圈:。連接點.表示相關兩框的連接處,圓圈內的數字相同的含義表示相連接在一
起.
(8)總結如下表.
圖形符號名稱功能
終端框(起止框)表示一個算法的起始和結束
//輸入、輸出框表示一個算法輸入和輸出的信息
—處理框(執行框)賦值、計算
判斷某一條件是否成立,成立時在出口處標明
判斷框
<>“是,,或“Y”;不成立時標明“否”或“N”
1流程線連接程序框
O連接點連接程序框圖的兩部分
(9)很明顯,順序結構是由若干個依次執行的步驟組成的,這是任何一個算法都離不開的基
本結構.
三種邏輯結構可以用如下程序框圖表示:
例1請用程序框圖表示前面講過的“判斷整數n(n>2)是否為質數”的算法.
解:程序框圖如下:
點評:程序框圖是用圖形的方式表達算法,使算法的結構更清楚,步驟更直觀也更精確.這
里只是讓同學們初步了解程序框圖的特點,感受它的優點,暫不要求掌握它的畫法.
變式訓練
觀察下面的程序框圖,指!1!該算法解決的問題.
解:這是一個累加求和問題,共99項相加,該算法是求—+—+—+…+--—
1x22x33x499x100
的值.
例2已知一個三角形三條邊的邊長分別為a,b,c,利用海倫一秦九韶公式設計一個計算
三角形面積的算法,并畫出程序框圖表示.(已知三角形三邊邊長分別為a,b,c,則三角形的
面積為S=4p(p-a)(p-b)(p-c)),其中p="*:*’這個公式被稱為海倫—秦九韶公
式)
算法分析:這是一個簡單的問題,只需先算出p的值,再將它代入分式,最后輸出結果.因
此只用順序結構應能表達出算法.
算法步驟如下:
第一步,輸入三角形三條邊的邊長a,b,c.
第二步,計算p=a+1+c.
第三步,計算S=dp(p-a)(p一b)(p一c).
第四步,輸出S.
程序框圖如下:
[開始]
,十,
/輸Afl.ac/
P沖
'I
S=JP(P-a)(P-b)(P-c)
,I,
/輸/
[d束]
點評:很明顯,順序結構是由若干個依次執行的步驟組成的,它是最簡單的邏輯結構,它是
任何一個算法都離不開的基本結構.
變式訓練
卜.圖所示的是一個算法的流程圖,已知旬=3,輸出的b=7,求a2的值.
[開始)
輸/
、I,
|將小沁的和記而
,i;
I將[記作力
/輸配/
解:根據題意色土色一7,
2
,.飛]=3,二@2=]].即a?的值為11.
例3寫出通過尺軌作圖確定線段AB的一個5等分點的程序框圖.
解:利用我們學過的順序結構得程序框圖如下:
[開始]
|從4點、出發作一條與48不平行的射線AP|
在射線I:任取一個不同于端點4的點C,取4C為單位線段.
再在/1C1:順次取點E.EG"滿足CE=EF=FG=G0=4C
連結8D
過點C作即的平行線交48于點M點”即為線段48的一個5等分點
(結束)
點評:這個算法步驟具有一般性,對于任意自然數n,都可以按照這個算法的思想,設計出
確定線段的n等分點的步驟,解決問題,通過本題學習可以鞏固順序結構的應用.
知能訓練
有關專家建議,在未來幾年內,中國的通貨膨脹率保持在3%左右,這將對我國經濟
的穩定有利無害.所謂通貨膨脹率為3%,指的是每年消費品的價格增長率為3%.在這種情
況下,某種品牌的鋼琴2004年的價格是10000元,請用流程圖描述這種鋼琴今后四年的價
格變化情況,并輸出四年后的價格.
解:用P表示鋼琴的價格,不難看出如下算法步驟:
2005年P=10000x(1+3%)=10300;
2006年P=10300x(1+3%)=10609;
2007年P=10609x(1+3%)=10927.27;
2008年P=10927.27x(1+3%)=11255.09;
因此,價格的變化情況表為:
年份20042005200620072008
鋼琴的價格10000103001060910927.2711255.09
程序框圖如下:
[開始]
.十.
|p=ioooo|
|E0000X1.03=10300|
,I,
|-二10300x1.03=106091
.廠,
|尸=10609x103=10927.27]
,i,
|P=10927.27x1.03=11255詞
/輸出尸/
~jr
[結束]
點評:順序結構只需嚴格按照傳統的解決數學問題的解題思路,將問題解決掉.最后將解題
步驟"細化就可以.“細化”指的是寫出算法步驟、畫出程序框圖.
拓展提升
如下給出的是計算的值的一個流程圖,其中判斷框內應填入的條
24620
件是
/輸出S/
[結束]
答案:i>10.
課堂小結
(1)掌握程序框的畫法和功能.
(2)了解什么是程序框圖,知道學習程序框圖的意義.
(3)掌握順序結構的應用,并能解決與順序結構有關的程序框圖的畫法.
作業
習題1.1A1.
設計感想
首先,本節的引入新穎獨特,旅游圖的故事闡明了學習程序框圖的意義.通過豐富有趣
的事例讓學生了解了什么是程序框圖,進而激發學生學習程序框圖的興趣.本節設計題目難
度適中,逐步把學生帶入知識的殿堂,是一節好的課例.
第2課時條件結構
導入新課
思路1(情境導入)
我們以前聽過這樣一個故事,野獸與鳥發生了一場戰爭,蝙蝠來了,野獸們喊道:你有
牙齒是我們一伙的,鳥們喊道:你有翅膀是我們一伙的,蝙蝠一時沒了主意.過了一會兒蝙
蝠有了一個好辦法,如果野獸贏了,就加入野獸這一伙,否則加入另一伙,事實上蝙蝠用了
分類討論思想,在算法和程序框圖中也經常用到這一思想方法,今天我們開始學習新的邏輯
結構——條件結構.
思路2(直接導入)
前面我們學習了順序結構,順序結構像是一條沒有分支的河流,奔流到海不復回,事實
上多數河流是有分支的,今天我們開始學習有分支的邏輯結構——條件結構.
推進新課
新知探究
提出問題
(1)舉例說明什么是分類討論思想?
(2)什么是條件結構?
(3)試用程序框圖表示條件結構.
(4)指出條件結構的兩種形式的區別.
討論結果:
(1)例如解不等式ax>8(a#)),不等式兩邊需要同除a,需要明確知道a的符號,但條件沒有
給出,因此需要進行分類討論,這就是分類討論思想.
(2)在一個算法中,經常會遇到一些條件的判斷,算法的流程根據條件是否成立有不同的
流向.條件結構就是處理這種過程的結構.
(3)用程序框圖表示條件結構如下.
條件結構:先根據條件作出判斷,再決定執行哪種操作的結構就稱為條件結構(或分支結
構),如圖1所示.執行過程如下:條件成立,則執行A框;不成立,則執行B框.
注:無論條件是否成立,只能執行A、B之一,不可能兩個框都執行.A、B兩個框中,可
以有一個是空的,即不執行任何操作,如圖2.
(4)一種是在兩個“分支”中均包含算法的步驟,符合條件就執行“步驟A”,否則執行“步驟
B”;另一種是在一個“分支”中均包含算法的步驟A,而在另一個“分支”上不包含算法的任何
步驟,符合條件就執行“步驟A”,否則執行這個條件結構后的步驟.
應用示例
例1任意給定3個正實數,設計一個算法,判斷以這3個正實數為三邊邊長的三角形
是否存在,并畫出這個算法的程序框圖.
算法分析:判斷以3個任意給定的正實數為三條邊邊長的三角形是否存在,只需驗證這3
個數中任意兩個數的和是否大于第3個數.這個驗證需要用到條件結構.
算法步驟如下:
第一步,輸入3個正實數a,b,c.
第二步,判斷a+b>c,b+c>a,c+a>b是否同時成立.若是,則存在這樣的三角形;否則,不
存在這樣的三角形.
程序框圖如右圖:
點評:根據構成三角形的條件,判斷是否滿足任意兩邊之和大于第三邊,如果滿足則存在這
樣的三角形,如果不滿足則不存在這樣的三角形.這種分類討論思想是高中的重點,在畫程
序框圖時,常常遇到需要討論的問題,這時要用到條件結構.
例2設計一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示.
算法分析:我們知道,若判別式△=b2』ac>0,則原方程有兩個不相等的實數根
—b+A/A-b-VA
Xl=--------,X2=--------;
2a2a
b
若A=0,則原方程有兩個相等的實數根xi=x=——;
22a
若A<0,則原方程沒有實數根.也就是說,在求解方程之前,可以先判斷判別式的符號,根
據判斷的結果執行不同的步驟,這個過程可以用條件結構實現.
又因為方程的兩個根有相同的部分,為了避免重復計算,可以在計算X1和X2之前,先計算
bVA
p=----,q=----.
2a2a
解決這一問題的算法步驟如下:
第一步,輸入3個系數a,b,c.
第二步,計算A=b2Nac.
第三步,判斷A>0是否成立.若是,貝U計算p=-2,q=YA.否則,輸出“方程沒有實數根”,
2a2a
結束算法.
第四步,判斷A=0是否成立.若是,則輸出xi=x2=p:否則,計算xi=p+q,x2=p-q,并輸出
X),x2.
程序框圖如下:
例3設計算法判斷一元二次方程ax2+bx+c=O是否有實數根,并畫出相應的程序框圖.
解:算法步驟如下:
第一步,輸入3個系數:a.b,c.
第二步,計算△=!?—4ac.
第三步,判斷AK)是否成立.若是,則輸出“方程有實根”;否則,輸出“方程無實根”.結束算
法.
相應的程序框圖如右:
[開始)
/輸Aa,“c/
'JI:
=6'-4ac|
/箱出力程有實根?//輸出“方程無實根;/
I.[
[結束)
點評:根據一元二次方程的意義,需要計算判別式4ac的值.再分成兩種情況處理:(1)
當AK)時,一元二次方程有實數根;
(2)當A<0時,一元二次方程無實數根.該問題實際上是一個分類討論問題,根據一元二
次方程系數的不同情況,最后結果就不同.因而當給出一個一元二次方程時,必須先確定判
別式的值,然后再用判別式的值的取值情況確定方程是否有解.該例僅用順序結構是辦不到
的,要對判別式的值進行判斷,需要用到條件結構.
例4(1)設計算法,求ax+b=O的解,并畫出流程圖.
解:對于方程ax+b=O來講,應該分情況討論方程的解.
我們要對次項系數a和常數項b的取值情況進行分類,分類如下:
b
(1)當a#)時,方程有唯?的實數解是--;
a
(2)當a=0,b=0B'f,全體實數都是方程的解;
(3)當a=0,b#)時,方程無解.
聯想數學中的分類討論的處理方式,可得如下算法步驟:
第一步,判斷存0是否成立.若成立,輸出結果“解為
a
第二步,判斷a=0,b=0是否同時成立.若成立,輸出結果“解集為R”.
第三步,判斷a=0,b翔是否同時成立.若成立,輸出結果“方程無解”,結束算法.
程序框圖如下:
點評:這是條件結構疊加問題,條件結構疊加,程序執行時需依次對“條件1”“條件2”“條件
3”……都進行判斷,只有遇到能滿足的條件才執行該條件對應的操作.
知能訓練
設計算法,找出輸入的三個不相等實數a、b、c中的最大值,并畫出流程圖.
解:算法步驟:
第一步,輸入a,b,c的值.
第二步,判斷a>b是否成立,若成立,則執行第三步;否則執行第四步.
第三步,判斷a>c是否成立,若成立,則輸出a,并結束;否則輸出c,并結束.
第四步,判斷b>c是否成立,若成立,則輸出b,并結束;否則輸出c,并結束.
程序框圖如下:
/輸出。//輸出c//輸出6//輸出c/
[結束)
點評:條件結構嵌套與條件結構疊加的區別:
(1)條件結構疊加,程序執行時需依次對“條件1”“條件2”“條件3”……都進行判斷,只有
遇到能滿足的條件才執行該條件對應的操作.
(2)條件結構的嵌套中,“條件2”是“條件1”的一個分支,“條件3”是“條件2”的一個分支……
依此類推,這些條件中很多在算法執行過程中根據所處的分支位置不同可能不被執行.
(3)條件結構嵌套所涉及的“條件2”“條件3”……是在前面的所有條件依次一個一個的滿足
“分支條件成立'’的情況下才能執行的此操作,是多個條件同時成立的疊加和復合.
例5“特快專遞”是目前人們經常使用的異地郵寄信函或托運物品的種快捷方式.某快遞
公司規定甲、乙兩地之間物品的托運費用根據下列方法計算:
(0.530,(3<50),
50x0.53+(ty-50)x0.85,(<y>50).
其中f(單位:元)為托運費,3為托運物品的重量(單位:千克).
試畫出計算費用f的程序框圖.
分析:這是一個實際問題,根據數學模型可知,求費用f的計算公式隨物品重量3的變化而
有所不同,因此計算時先看物品的重量,在不同的條件下,執行不同的指令,這是條件結構
的運用,是二分支條件結構.其中,物品的重量通過輸入的方式給出.
解:算法程序框圖如右圖:
拓展提升
有一城市,市區為半徑為15km的圓形區域,近郊區為距中心15—25km的范圍內的
環形地帶,距中心25km以外的為遠郊區,如右圖所示.市區地價每公頃100萬元,近郊區
地價每公頃60萬元,遠郊區地價為每公頃20萬元,輸入某一點的坐標為(x,y),求該點的地
價.
分析:由該點坐標(x,y),求其與市中心的距離尸正+/2,確定是市區、近郊區,還是
100,0<r<15,
遠郊區,進而確定地價p.由題意知,p=<60,15<r<25,
20,r>25.
解:程序框圖如下:
課堂小結
(1)理解兩種條件結構的特點和區別.
(2)能用學過的兩種條件結構解決常見的算法問題.
作業
習題1.1A組3.
設計感想
本節采用引人入勝的方法引入正課,選用的例題難度適中,有的經典實用,有的新穎獨
特,每個例題都是很好的素材.條件結構是邏輯結構的核心,是培養學生邏輯推理的好素材,
本節設計符合新課標精神,難度設計略高于教材.
第3課時循環結構
導入新課
思路1(情境導入)
我們都想生活在一個優美的環境中,希望看到的是碧水藍天,大家知道工廠的污水是怎
樣處理的嗎?污水進入處理裝置后進行第一次處理,如果達不到排放標準,則需要再進入處
理裝置進行處理,直到達到排放標準.污水處理裝置是一個循環系統,對于處理需要反復操
作的事情有很大的優勢.我們數學中有很多問題需要反復操作,今天我們學習能夠反復操作
的邏輯結構——循環結構.
思路2(直接導入)
前面我們學習了順序結構,順序結構像一條沒有分支的河流,奔流到海不復回;上一節
我們學習了條件結構,條件結構像有分支的河流最后歸入大海;事實上很多水系是循環往復
的,今天我們開始學習循環往復的邏輯結構一循環結構.
推進新課
新知探究
提出問題
(1)請大家舉出一些常見的需要反復計算的例子.
(2)什么是循環結構、循環體?
(3)試用程序框圖表示循環結構.
(4)指出兩種循環結構的相同點和不同點.
討論結果:
(1)例如用二分法求方程的近似解、數列求和等.
(2)在?些算法中,經常會出現從某處開始,按照一定的條件反復執行某些步驟的情況,
這就是循環結構.反復執行的步驟稱為循環體.
(3)在一些算法中要求重復執行同一操作的結構稱為循環結構.即從算法某處開始,按照
定條件重復執行某,處理的過程.重復執行的處理步驟稱為循環體.
循環結構有兩種形式:當型循環結構和直到型循環結構.
1°當型循環結構,如圖(1)所示,它的功能是當給定的條件P成立時,執行A框,A
框執行完畢后,返回來再判斷條件P是否成立,如果仍然成立,返回來再執行A框,如此
反復執行A框,直到某一次返回來判斷條件P不成立時為止,此時不再執行A框,離開循
環結構.繼續執行下面的框圖.
2°直到型循環結構,如圖(2)所示,它的功能是先執行重復執行的A框,然后判斷
給定的條件P是否成立,如果P仍然不成立,則返回來繼續執行A框,再判斷條件P是否
成立.繼續重復操作,直到某一次給定的判斷條件P時成立為止,此時不再返回來執行A框,
離開循環結構.繼續執行下面的框圖.
見示意圖:
當型循環結構直到型循環結構
(4)兩種循環結構的不同點:直到型循環結構是程序先進入循環體,然后對條件進行判斷,
如果條件不滿足,就繼續執行循環體,直到條件滿足時終止循環.
當型循環結構是在每次執行循環體前,先對條件進行判斷,當條件滿足時,執行循環體,
否則終止循環.
兩種循環結構的相同點:兩種不同形式的循環結構可以看出,循環結構中一定包含條件
結構,用于確定何時終止執行循環體.
應用示例
思路1
例1設計一個計算1+2+……+100的值的算法,并畫出程序框圖.
算法分析:通常,我們按照下列過程計算1+2+……+1法的值.
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
第100步,4950+100=5050.
顯然,這個過程中包含重復操作的步驟,可以用循環結構表示.分析上述計算過程,可
以發現每一步都可以表示為第(i-l)步的結果+1=第i步的結果.
為了方便、有效地表示上述過程,我們用一個累加變量S來表示第一步的計算結果,
即把S+i的結果仍記為S,從而把第i步表示為S=S+i,
其中S的初始值為0,i依次取1,2,…,100,由于i同時記錄了循環的次數,所以也
稱為計數變量.
解決這一問題的算法是:
第一步,令i=l,S=0.
第二步,若區100成立,則執行第三步;否則,輸出S,結束算法.
第三步,S=S+i.
第四步,i=i+l,返回第二步.
程序框圖如右:
上述程序框圖用的是當型循環結構,如果用直到型循環結構表示,則程序框圖如下:
點評:這是一個典型的用循環結構解決求和的問題,有典型的代表意義,可把它作為一個范
例,仔細體會三種邏輯結構在程序框圖中的作用,學會畫程序框圖.
變式訓練
已知有一列數』,2」,一J,設計框圖實現求該列數前2。項的和.
234n+1
分析:該列數中每一項的分母是分子數加1,單獨觀察分子,恰好是1,2,3,4,....n
因此可用循環結構實現,設計數器i,用14+1實現分子,設累加器S,用5=5+——,可
/+1
實現累加,注意i只能加到20.
解:程序框圖如下:
方法一:方法二:
點評:在數學計算中,i=i+l不成立,S=S+i只有在i=0時才能成立.在計算機程序中,它
們被賦予了其他的功能,不再是數學中的“相等”關系,而是賦值關系.變量i用來作計數器,
i=i+l的含義是:將變量i的值加1,然后把計算結果再存貯到變量i中,即計數器i在原值
的基礎上又增加了1.
變量S作為累加器,來計算所求數據之和.如累加器的初值為0,當第一個數據送到變
量i中時,累加的動作為S=S+i,即把S的值與變量i的值相加,結果再送到累加器S中,
如此循環,則可實現數的累加求和.
例2某廠2005年的年生產總值為200萬元,技術革新后預計以后每年的年生產總值都比
上一年增長5%,設計一個程序框圖,輸出預計年生產總值超過300萬元的最早年份.
算法分析:先寫出解決本例的算法步驟:
第一步,輸入2005年的年生產總值.
第二步,計算下一年的年生產總值.
第三步,判斷所得的結果是否大于300,若是,則輸出該年的年份,算法結束;否則,返回
第二步.
由于“第二步”是重復操作的步驟,所以本例可以用循環結構來實現.我們按照“確定循環
體”“初始化變量”“設定循環控制條件'’的順序來構造循環結構.
(1)確定循環體:設a為某年的年生產總值,t為年生產總值的年增長量,n為年份,則循
環體為t=0.05a,a=a+t,n=n+l.
(2)初始化變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國傳統文化試題及答案
- 新疆奎屯市農七師高級中學2024-2025學年高二數學第二學期期末達標檢測試題含解析
- 西藏林芝地區一中2025屆物理高二下期末預測試題含解析
- 溫州市重點中學2024-2025學年化學高二第二學期期末聯考試題含解析
- 彩鋼房倉儲物流中心建造合同規范范本
- 旅游預訂平臺酒店充值卡合作合同
- 茶葉出口認證及檢驗合同樣本
- 餐飲公司廚房承包及品牌形象提升合同
- 餐飲門面租賃合同租金調整及支付方式解析
- 出租車租賃合同范本(含司機聘用)
- Machine-Cmk-設備能力指數Cmk分析表
- 2025年全國保密教育線上培訓考試試題庫【完整版】附帶答案詳解
- 幼兒園小班科學領域《云朵和雨點》課件
- (二模)青島市2025年高三年級第二次適應性檢測歷史試卷(含標準答案)
- 福建農信招聘筆試真題2024
- 電氣二次部分試題及答案
- 2025年高考語文備考之文言文翻譯強化訓練(一)含答案
- 2025年山西杏花村汾酒集團有限責任公司招聘筆試參考題庫含答案解析
- 2025年新部編統編版中學七年級下冊歷史全冊分課知識點總結課件105張
- 《FTA分析案例》課件 - 深入解析自由貿易協定對經濟發展的影響
- 接送孩子申請書
評論
0/150
提交評論