《高中數(shù)學《算法的含義》文字素材1 蘇教版必修3》由會員分享,可在線閱讀,更多相關《高中數(shù)學《算法的含義》文字素材1 蘇教版必修3(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、蘇教必修3 1.1—1.2教材解讀
一. 學前探究:
假設你早上從起床到出門需要做以下幾件事情:洗臉刷牙(5min)、燒水(8min)、泡面(3min)、吃飯(10min)、聽廣播(8min),你為了節(jié)省時間,會按怎樣的方法步驟進行呢?
二.難點、易忽略點剖析:
1.算法有哪些特征?
(1)有限性:一個算法在執(zhí)行有限步驟后必須結(jié)束,不能無限地執(zhí)行下去。
(2)確定性:算法的每一個步驟和次序應當是確定的,而不應當模棱兩可,比如求的近似值卻沒有近似的精確度,則該問題不能求解.
(3)有效性: 算法的每一個步驟都必須是有效的、可行的.
(4)不唯一性:求解某一個問題的解法不一定是
2、唯一的,對于一個問題可以有不同的解法.
易忽略點:在設計算法時,算法應有一個或多個輸出,算法的目的是為了求解問題,所以沒有輸出的算法是沒有意義的.
求解某一個問題的算法一般不是唯一的,我們通常選擇較簡單的算法.
只要有公式,利用公式解決問題是最理想,最簡單的方法,比如在解方程的算法時,用求根公式來做,步驟則較為簡潔.
2.畫流程圖有哪些要求?
(1)使用標準圖框符號;
(2)圖框一般按從上到下、從左到右的方向畫;
(3)除了判斷框外,大多流程圖框只有一個進入點和一個輸出點;
(4)在圖形符號內(nèi)描述的語言要非常簡練清楚.
3.算法的三種基本結(jié)構(gòu)
(1)順序結(jié)構(gòu):是最簡單的算法
3、結(jié)構(gòu),框與框之間是按從上到下的順序進行的,它是由若干個依次執(zhí)行的處理步驟組成的,是任何一個算法都離不開的一種算法結(jié)構(gòu),可從用右圖表示順序結(jié)構(gòu)的示意圖,其中A和B兩個框是依次執(zhí)行的,只有在執(zhí)行完A框所指定的操作后,才能接著執(zhí)行B框所指定的操作.
易忽略點:對順序結(jié)構(gòu)的理解及運用,其先后次序是易出錯的地方.
順序結(jié)構(gòu)中的語句一旦執(zhí)行完,就不能再次被執(zhí)行.
(2)條件結(jié)構(gòu):是一種先根據(jù)條件作出判斷,再決定執(zhí)行哪一種操作的結(jié)構(gòu),如右圖所示是一個選擇結(jié)構(gòu).此結(jié)構(gòu)中包含一個判斷框,根據(jù)給定的條件P是否成立而選擇執(zhí)行A框或B框,請注意,無論P條件是否成立,只能執(zhí)行A框或B框之一,不可能既執(zhí)行A框又執(zhí)行
4、B框,也不可能A框、B框都不執(zhí)行.A或B兩個框中,可以有一個是空的,即不執(zhí)行任何操作.
易忽略點:判斷框必須有兩個出口。
(3)循環(huán)結(jié)構(gòu):即反復執(zhí)行某一部分的操作。其中反復執(zhí)行的處理步驟稱為循環(huán)體。它的框圖一般可分為直到型和當型.
編者提示:兩種循環(huán)結(jié)構(gòu)的詳細比較請參閱第四版《兩種循環(huán)結(jié)構(gòu)精析》.
在循環(huán)結(jié)構(gòu)中常見到、這樣的語句,其中變量作為計數(shù)變量,記錄某個規(guī)定的事件已發(fā)生的次數(shù);變量作為累計變量,用于輸出結(jié)果.二者一般同步執(zhí)行.
易忽略點:循環(huán)結(jié)構(gòu)的初始階段,應設置計數(shù)變量和累加變量的初值.
結(jié)構(gòu)內(nèi)不允許出現(xiàn)死循環(huán),即無終止的循環(huán),如右圖所示就是一個死循環(huán)。
在循環(huán)結(jié)構(gòu)中往
5、往包含了選擇結(jié)構(gòu)與順序結(jié)構(gòu),因此在設計循環(huán)結(jié)構(gòu)時要兼顧
選擇結(jié)構(gòu)與順序結(jié)構(gòu).
三、典型例題
例.一位商人有9枚銀元,其中有一枚略輕的是假銀元。你能用天平(無砝碼)將假銀元找出來嗎?寫出解決這一問題的一種算法。
分析:最容易想到的解決辦法是:把9枚銀元順次排成一列,先稱前兩個,若不平衡,則可找出較輕的一個是假銀元;若平衡,則兩枚都是真的,再依次與剩下的銀元作稱量比較,就可找到假銀元。
[解法1]:算法步驟如下:
第一步:任取兩枚銀元分別放在天平兩邊,如果天平左右不平衡,則輕的哪一邊就是假銀元;如果天平平衡,則進行第二步;
第二步:取下右邊的銀元,放在一邊,然后把剩下的7枚銀元依次放
6、在右邊進行稱量,直到天平不平衡,則偏輕的哪一邊就是假銀元。
[評注]:對于這種非數(shù)值問題算法設計問題,應當首先建立過程模型,根據(jù)過程設計步驟,完成算法。另外,這種算法最少要稱量一次,最多則要稱量7次,仔細分析,我們還可以有以下更好的算法。
[解法2]:算法步驟如下:
第一步:把9枚銀元平均分成3組,每給3枚;
第二步:先將其中的兩組放在天平的兩邊,如果天平不平衡,那么假銀元就在輕的哪一組;如果天平平衡,則假銀元就在未稱的那一組中;
第三步:取出含假銀元的那一組,從中任取兩個放在天平的兩邊進行稱量,如果天平不平衡,則假銀元就是較輕的那一個;如果天平平衡,則假銀元就是沒稱量的那一個。
7、[評注]:利用以下算法,只要2次稱量就可以將假銀元找出來,顯然比第一種算法簡潔、有效。
感悟算法
1.算法的概念
算法是指可以用計算機來解決的某一類問題的程序或步驟,這些程序或步驟必須是明確的和有效的,而且能夠在有限步之內(nèi)完成。
算法可概括為以下幾個特點:
(1)有窮性
一個算法的步驟序列是有限的,它應在有限步操作之后停止,而不能是無限的。
(2)確定性
算法中的每一步應該是確定的并且能有效地執(zhí)行且得到確定的結(jié)果,而不應當是摸棱兩可。
(3)順序性與正確性
算法從初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的后繼步驟,前一步是后一步的前提,只有執(zhí)行完
8、前一步才能進行下一步,并且每一步都準確無誤,才能完成問題。
(4)不唯一性
求解某一個問題的解法不一定是唯一的,對于一個問題可以有不同的算法。
(5)普遍性
很多具體的問題,都可以設計合理的算法去解決。例如手算、心算或用算盤、計算器去計算都要經(jīng)過有限的、事先設計好的步驟加以解決。
2.給出一個問題,設計算法時應注意:
(1)認真分析問題,聯(lián)系解決此問題的一般數(shù)學方法;
(2)綜合考慮次類問題中可能涉及的各種情況;
(3)借助有關的變量或參數(shù)對算法加以描述;
(4)將解決問題的過程劃分為若干個步驟;
(5)用簡練的語言將各個步驟表示出來。
3.對于數(shù)值性計算問題,例如:解方
9、程、方程組,解不等式、不等式組,套用公式判斷性的問題,累加、累乘等這一類問題的算法描述,可通過相應的數(shù)學模型借助一般數(shù)學計算方法,分解成清晰的步驟,使之條理化即可。
4.對于一些非數(shù)值計算問題,例如:排序、查找、變量變換、文字處理等需要先建立過程模型,通過過程模型進行算法設計與描述。
例1 寫出求經(jīng)過點的直線與兩坐標軸圍成的三角形面積的一個算法。
分析:已知直線上兩點、,由兩點式可寫出直線的方程,令得與軸的交點,令得與軸的交點,求出三角形兩直角邊的長,根據(jù)三角形的面積公式求出三角形的面積。
解析:算法步驟如下:
第一步:??;
第二步:得直線方程;
第三步:在第二步的方程中,令得
10、的值,從而得直線與軸的交點;
第四步:在第二步的方程中,令得的值,從而得直線與軸的交點;
第五步:根據(jù)三角形的面積公式求;
第六步:輸出運算結(jié)果。
評注:由于兩點式直線方程可以有公式套用,所以這一步驟選擇了套用公式的算法;三角形面積需要求兩直角邊的長度,而本題中正是先求出三角形的兩直角邊的長度,再代入三角形的面積公式求出三角形的面積。
例2 一位商人有9枚銀元,其中有一枚略輕的是假銀元,你能用天平(不用砝碼)將假銀元找出來嗎?
分析:最容易想到的解決這個問題的一種方法是:把9枚銀元按順序排成一列,先稱前2枚,若不平衡,則可找出假銀元;若平衡,則2枚銀元都是真的,再依次與剩下的
11、銀元比較,就能找出假銀元。
解析:算法步驟如下:
第一步:任取2枚銀元分別放在天平的兩邊,如果天平左右不平衡,則輕的一邊就是假銀元;如果天平平衡,則進行第二步。
第二步:取下右邊的銀元放在一邊,然后把剩余的7枚銀元依次放在右邊進行稱量,直到天平不平衡,偏輕的那一枚就是假銀元。
評注:上述算法至少要稱1次,最多稱7次,我們可以采用下面的辦法,使稱量次數(shù)少一些。
第一步:把銀元分成3組,每組3枚。
第二步:先將兩組分別放在天平的兩邊,如果天平不平衡,那么假銀元就在輕的一組;如果天平左右平衡,則假銀元就在未稱的第3組里。
第三步:取出含假銀元的那一組,從中任取兩枚銀元放在天平的兩邊,如
12、果左右不平衡,則輕的那一邊就是假銀元;如果天平兩邊平衡,則未稱的那一枚就是假銀元。
練一練
1.寫出求過、兩點的直線的斜率的一個算法。
2.寫出解方程的一個算法。
算法趣話
就像人類發(fā)明機器是為了拓展人的生產(chǎn)能力、發(fā)明交通工具是為了拓展人的行動能力一樣,計算機的發(fā)明是為了將人的抽象思維能力拓展到自身以外。每一天,我們使用計算機的電子表格、字處理器、網(wǎng)頁瀏覽器等程序塊來完成各種各樣的任務。表面看來,計算機做的事情非常漂亮,但那只是一種幻覺。計算機可以做的所有事情只是非??焖俚夭僮饔?和0組成的數(shù)字。另一方面,我們?nèi)祟悈s不能用1和0進行思考。算法就是將人類的思維能力形
13、式化為計算機可以執(zhí)行的步驟,使得若干微小的電子元件代替人類進行思考。具體過程是先將解決問題的一系列步驟寫成算法,再翻譯成某種程序設計語言在計算機上實現(xiàn),就得到了我們每天操作的程序塊。因此,算法是計算機科學的核心,換句話說,算法是計算機程序的基礎。沒有算法,計算機的存在也就失去了意義。
隨著社會和科學技術(shù)的發(fā)展與進步,科學的兩大研究方法──理論和實驗越來越多地表現(xiàn)出局限性。許多研究的對象既不可能用理論精確地描述,也不可能通過實驗手段來實現(xiàn),而計算方法與之相比,有其獨到之處。科學計算是20世紀后期才興起的一門學科,如今已經(jīng)廣泛滲透到生物醫(yī)學研究、基因工程、太空探測和每日天氣預報等各個領域。人們利
14、用計算機進行模擬和實驗來理解現(xiàn)象,猜測新的事實,發(fā)現(xiàn)新的理論,使各個領域的研究都獲得突破的可能。例如,醫(yī)生想知道病人大腦或其他器官的一些情況,他無法簡單地將病人解剖來進行觀察,但可以利用計算機來處理超聲波或磁場共振信號,并建立可視圖像;經(jīng)濟學家想為政府制定經(jīng)濟政策提供輔助信息,若采用在局部區(qū)域內(nèi)制定實驗性的經(jīng)濟政策的方法,可能會給該區(qū)域造成巨大的損失,但通過建立經(jīng)濟行為的算法模型,模擬各種經(jīng)濟現(xiàn)象,則可能得到理想的結(jié)果??茖W計算對每個專業(yè)和每個研究領域都產(chǎn)生了巨大的沖擊。隨著幾乎所有學科走向定量化和精確化,科學知識結(jié)構(gòu)也發(fā)生了巨大的變化,產(chǎn)生了一系列計算性的學科分支,如計算幾何、算法數(shù)論、計算
15、統(tǒng)計、計算流體力學、計算量子化學、計算胚胎學、計算地質(zhì)學、計算氣象學、計算材料科學、計算天文學等等?,F(xiàn)在,科學計算繼實驗、理論之后,已經(jīng)成為第三種科學研究手段。在以規(guī)?;笊a(chǎn)為特征的“機械時代”,一般不需要勞動者擁有出眾的才華或者獨特的創(chuàng)意,在這種體制下培養(yǎng)出的人才是“模式化”的、“整齊劃一”的,勞動者只需要掌握自己所從事工作的基礎知識,并按照上級的指令認真做事就可以了。如今,我們的生活方式正在被計算機和網(wǎng)絡所日益改變著。更加重要的是,計算機不僅在形式上改變著我們的生活方式,而且從思維的深處改變著我們認識世界、改造世界的方式,對我們?nèi)绾嗡伎妓鎸Φ膯栴}和如何解決問題都產(chǎn)生了深刻的影響。21世紀是創(chuàng)意與構(gòu)思的時代,有意識地培養(yǎng)我們的算法思想,構(gòu)建算法意識,以“算法的視角”看待和解決問題,必將有利于未來的發(fā)明與創(chuàng)新。