第一篇:高中數學1.1算法的含義教案6蘇教版必修3
算法的含義
教學目標:通過對解決具體問題過程與步驟的分析,理解并掌握算法的概念與意義,會用“算法”的思想編制數學問題的算法。
教學重點:通過實例體會算法思想,初步理解算法的含義. 教學難點:算法概念以及用自然語言描述算法. 課 型:新授課 教學手段:多媒體 教學過程:
一、創設情境
請大家研究解決下面的一個問題 問題1.寫出你在家里燒開水的過程.一般地,第一步:把水注入電鍋;第二步:打開電源把水燒開;第三步:把燒開的水注入熱水瓶.問題2.兩個大人和兩個小孩一起渡河,渡口只有一條小船,每次只能渡1 個大人或兩個小孩,他們四人都會劃船,但都不會游泳。試問他們怎樣渡過河去?請寫出一個渡河方案。(通過學生討論得出渡河方案與步驟如下)
S1 兩個小孩同船過河去; S2 一個小孩劃船回來; S3 一個大人劃船過河去; S4 對岸的小孩劃船回來; S5 兩個小孩同船渡過河去; S6 一個小孩劃船回來;
S7 余下的一個大人獨自劃船渡過河去;對岸的小孩劃船回來;
S8 兩個小孩再同時劃船渡過河去。
二、活動嘗試
廣義地說為了解決某一問題而采取的方法和步驟,就稱之為算法。做任何事情都有一定的步驟。例如:描述太極拳動作的圖解,就是“太極拳的算法”;一首歌的樂譜,可以稱之為該歌曲的算法。從小學到高中遇到的算法絕大多數都與“計算”有關的問題。
三、師生探究
例1:給出求1+2+3+4+5的一個算法.解: 算法1 按照逐一相加的程序進行
第一步:計算1+2,得到3;
第二步:將第一步中的運算結果3與3相加,得到6;
第三步:將第二步中的運算結果6與4相加,得到10;
第四步:將第三步中的運算結果10與5相加,得到15.算法2 可以運用公式1+2+3+?+n= 第一步:取n=5;
第二步:計算
n(n?1)直接計算 2n(n?1); 2 第三步:輸出運算結果.算法3 按照累積相加的程序進行
第一步:讓S=0,I=1 第二步:將S+I的值賦給S,I的值增加1 第三步:如果I比5大,則輸出S,否則轉第二步.(說明算法不唯一)例2:(課本第2頁,解二元一次方程組的步驟)
(可推廣到解一般的二元一次方程組,說明算法的普遍性)
四、數學理論
通過對以上幾個問題的分析,我們對算法有了一個初步的了解.在解決某些問題時,需要設計出一系列可操作或可計算的步驟,通過實施這些步驟來解決問題,通常把這些步驟稱為解決這些問題的算法.在數學中,現代意義上的“算法”通常是指可以用計算機來解決的某一類問題的程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成.問題:我們要解決解決一類問題,我們可以抽象出其解題步驟或計算序列,他們有什么樣的......要求?
(1)算法與一般意義上具體問題的解法既有聯系,又有區別,它們之間是一般和特殊的關系,也是抽象與具體的關系。算法的獲得要借助一般意義上具體問題的求解方法,而任何一個具體問題都可以利用這類問題的一般算法來解決。(2)算法的五個特征
①有窮性:一個算法的步驟序列是有限的,它應在有限步操作之后停止,而不能是無限地執行下去。
②確定性:算法中的每一步應該是確定的并且能有效地執行且得到確定的結果,而不應當是模棱兩可的。
③邏輯性:算法從初始步驟開始,分為若干個明確的步驟,前一步是后一步的前提,只有執行完前一步才能進行下一步,并且每一步都準確無誤,才能完成問題。
④不唯一性:求解某一個問題的算法不一定只有唯一的一個,可以有不同的算法。⑤普遍性:很多具體的問題,都可以設計合理的算法去解決,如心算、計算器計算都要經過有限的、事先設計好的步驟加以解決。
五、鞏固運用
例3:寫出求1×2×3×4×5的算法。
步驟1:先求1×2,得到結果2;
步驟2:將步驟1得到的結果2再乘以3,得到6;
步驟3:將步驟2得到的結果6再乘以4,得到結果24; 步驟4:將步驟3得到的結果24再乘以5,得到120。例4:寫出一個求整數a、b、c最大值的算法 解:S1 先假定序列中的第一個數為“最大值”。
S2 將序列中的下一個整數值與“最大值”比較,如果大于“最大值”,這時就假定這個數為“最大值”。
S3 如果序列中還有其它整數,重復S2。
S4 直到序列中沒有可比的數為止,這時假定的“最大值”就是序列的最大值。即 S1 max=a。
S2 如果b>max,則max=b。S3 如果c>max,則max=c。S4 max就是a、b、c的最大值。
六、回顧反思
1、算法的定義:
算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,并且這樣的步驟和序列可以解決一類問題。
2、算法的五大特征:
⑴邏輯性: 算法應具有正確性和順序性。算法從初始步驟開始,分為若干明確的步驟,前一步是后一步的基礎,只有執行完前一步才能進行下一步,并且每一步都有確切的含義,組成了具有很強的邏輯性的序列。
⑵概括性: 算法必須能解決一類問題,并且能重復使用。⑶有限性: 一個算法必須保證執行有限步后結束
⑷非唯一性:求解某個問題的算法不一定是唯一的,對于一個問題可以有不同的算法。⑸普遍性: 許多的問題可以設計合理的算法去解決。如:如用二分法求方程的近似零點,求幾何體的體積等等。
3、算法的表述形式:
⑴用日常語言和數學語言或借助于形式語言(算法語言)各處精確的說明。⑵程序框圖(簡稱框圖)。⑶程序語言。
七、課后練習
1.下列關于算法的說法中,正確的有()①求解某一類問題的算法是唯一的;②算法必須在有限步操作之后停止;③算法的每一步操作必須是明確的,不能有歧義或模糊;④算法執行后一定產生確定的結果。A、1個 B、2個 C、3個 D、4個 2.在數學中,現代意義上的算法是指()A.用阿拉伯數字進行運算的過程 B.解決某一類問題的程序或步驟
C.計算機在有限步驟之內完成,用來解決某一類問題的明確有效的程序或步驟 D.用計算機進行數學運算的方法
3.你要乘火車去外地辦一件急事,請你寫出從自己房間出發到坐在車廂內的三步主要算法S1,S2,S3 .
4.任意給定一個正實數,設計一個算法求以這個數為半徑的圓的面積.5.有藍和黑兩個墨水瓶,但現在卻錯把藍墨水裝在了黑墨水瓶中,黑墨水錯裝在了藍墨水瓶中,要求將其互換,請你設計算法解決這一問題。分析:由于兩個墨水瓶中的墨水不能直接交換,故可以考慮通過引入第三個空墨水瓶的辦法進行交換。
6.寫出求過兩點M(-3,-1)、N(2,5)的直線與坐標軸圍成面積的一個算法。參考答案
1.C 2.C 3.乘車去火車站、買車票、憑票上車對號入座.4.第一步:輸入任意正實數r;第二步:計算S??r;第三步:輸出圓的面積S.5.解:算法步驟如下:
第一步:取一只空的墨水瓶,設其為白色; 第二步:將黑墨水瓶中的藍墨水裝入白瓶中;
2第三步:將藍墨水瓶中的黑墨水裝入黑瓶中; 第四步:將白瓶中的藍墨水裝入藍瓶中; 第五步:交換結束。6.解:算法:
第一步:取x1=-3,y1=-1,x2=2,y2=5; 第二步:計算y?y1x?x1; ?y2?y1x2?x1第三步:在第二步結果中令x=0得到y的值m,得直線與y軸交點(0,m); 第四步:在第二步結果中令y=0得到x的值n,得直線與x軸交點(n,0); 第五步:計算S=1|m|?|n|; 2第六步:輸出運算結果。
第二篇:高中數學 1.1.1 算法的概念教案2 新人教A版必修3
算法的概念
教學目的:理解并掌握算法的概念與意義,會用“算法”的思想編制數學問題的算法。教學重點:算法的設計與算法意識的的培養 教學過程:
一、問題情景:
請大家研究解決下面的一個問題
1.兩個大人和兩個小孩一起渡河,渡口只有一條小船,每次只能渡1 個大人或兩個小孩,他們四人都會劃船,但都不會游泳。試問他們怎樣渡過河去?請寫出一個渡河方案。
(通過學生討論得出渡河方案與步驟如下)
S1 兩個小孩同船過河去; S2 一個小孩劃船回來; S3 一個大人劃船過河去; S4 對岸的小孩劃船回來; S5 兩個小孩同船渡過河去; S6 一個小孩劃船回來;
S7 余下的一個大人獨自劃船渡過河去;對岸的小孩劃船回來; S8 兩個小孩再同時劃船渡過河去。
2.一群小兔一群雞,兩群合到一群里,要數腿共48,要數腦袋整17,多少小兔多少雞?
先列方程組解題,得雞10只,兔7只; 再歸納一般二元一次方程組的通用方法,即用高斯消去法解一般的二元一次?a11x1?a12x2?b1方程組?。
ax?ax?b2222?211令D?a11a22?a21a12,若D?0,方程組無解或有無數多解。若D?0,則x1?b1a22?b2a12ba?b1a21,x2?211。
DD由此可得解二元一次方程組的算法。
S1 計算D?a11a22?a21a12;
S2 如果D?0,則原方程組無解或有無窮多組解;否則(D?0),x1?b1a22?b2a12ba?b1a21,x2?211
DDS3 輸出計算結果x1、x2或者無法求解的信息。
二、數學構建:
算法的概念:由基本運算及規定的運算順序所構成的完整的解題步驟,或者是按照要求設計好的有限的計算序列,并且這樣的步驟或序列能解決一類問題。
算法的五個重要特征:
(1)有窮性:一個算法必須保證執行有限步后結束;(2)確切性:算法的每一步必須有確切的定義;
(3)可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次即可完成;
(4)輸入:一個算法有0個或多個輸入,以刻劃運算對象的初始條件。所謂0個輸入是指算法本身定出了初始條件。
(5)輸出:一個算法有1個或多個輸出,以反映對輸入數據加工后的結果。沒有輸出的算法是毫無意義的。
三、知識運用:
例1.一個人帶三只狼和三只羚羊過河,只有一條船,同船可以容納一個人和兩只動物。沒有人在的時候,如果狼的數量不少于羚羊的數量,狼就會吃掉羚羊。(1)設計過河的算法;(2)思考每一步算法所遵循的相同之處原則是什么。
解:算法或步驟如下: S1 人帶兩只狼過河 S2 人自己返回
S3 人帶一只羚羊過河 S4 人帶兩只狼返回 S5 人帶兩只羚羊過河 S6 人自己返回 S7 人帶兩只狼過河
S8 人自己返回帶一只狼過河
例2.寫出一個求有限整數序列中的最大值的算法。解:為了便于理解,算法步驟用自然語言敘述:
S1 先將序列中的第一個整數設為最大值;
S
2將序列中的下一個整數值與“最大值”比較,如果它大于此“最大值”,這時就假定“最大值”就是這個整數;
S3 如果序列中還有其它整數,重復S2;
S4 在序列中一直進行到沒有可比的數為止,這時假定的“最大值”就是這個序列中的最大值。
試用數學語言寫出對任意3個整數a、b、c中最大值的求法
S1 max=a S2 如果b>max,則max=b S3 如果c>max,則max=c, S4 max就是a、b、c中的最大值。
四、學力發展:
1.給出求100!?1?2?3???100的一個算法。
2.給出求點P(x0,y0)關于直線Ax?By?C?0的對稱點的一個算法。
五、課堂小結:
算法的概念:由基本運算及規定的運算順序所構成的完整的解題步驟,或者是按照要求設計好的有限的計算序列,并且這樣的步驟或序列能解決一類問題。
算法的五個重要特征:
(1)有窮性:一個算法必須保證執行有限步后結束;(2)確切性:算法的每一步必須有確切的定義;
(3)可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次即可完成;
(4)輸入:一個算法有0個或多個輸入,以刻劃運算對象的初始條件。所謂0個輸入是指算法本身定出了初始條件。
(5)輸出:一個算法有1個或多個輸出,以反映對輸入數據加工后的結果。沒有輸出的算法是毫無意義的。
六、課外作業:
1.優化設計P3-4:變式練習1-10題。2.課本P6:練習1-4題
第三篇:[蘇教必修3]長江三峽
長江三峽
【教學目標】
1、通過比較閱讀,賞析“散文中三峽的神韻”。
2、借助研究性學習,培養學生收集、篩選信息的能力和創新能力。【教學過程】
一、導入課題
同學們,人們常用“亙古未變”來形容山川河流,現在,山川河流正在發生“日新月異”的變化。明年的6月1日,三峽這條古文明的大通道就要消失了,永遠的消失了。三峽是靈異的、浪漫的、富有詩意的,這一節課我們就一起用心去認讀三峽、研究三峽。
二、播放三峽風光片
1、學生談從“風光片” 中獲得的信息。(風光片中的三峽過于文靜、單薄)
2、學生補充自己收集的資料。
教師小結:從同學們的交流中,我深深地感到,人們的心中存在兩種三峽:一個是自然的三峽,一個是文學作品中的三峽。那么,到底哪個更具魅力?
三、明確研究專題
如此美麗的自然三峽就要消失了,這是令人遺憾的,幸運的是文學作品保存了三峽的美麗,這一節課我們就一起研讀“文學作品中的三峽”。文學作品的樣式很多,可研究的領域依然很廣闊,一節課是不可能面面俱到的,我們只可能就一種樣式展開研究,我們這一節課的研究專題是:“散文中的三峽神韻”。
四、比較閱讀 要求:
自讀酈道元《三峽》和劉白羽《長江三峽》,說說你更喜歡哪一篇?為什么?(提示:可以從景物特點、寫作角度、語言風格、情感態度等方面比較)讓學生跳讀兩分鐘,然后讓同一愛好的學生自由組合,學習研討,進而雙方擂臺賽。
(談到情感態度的差異時插入的資料:相同的景物,不同的作者,由此寫出不同的意韻;其實,就同一作者,對同一景物也會寫出不同的篇章。如李白58歲時流放到夜郎,經過三峽時,他的感覺是“三朝上黃牛,三暮行太遲。三朝又三暮,不覺鬢成絲”(《上三峽》)。而到白帝城時,忽然接到大赦的消息,這時的李白是“兩岸猿聲啼不住,輕舟已過萬重山”。“一切景語皆情語”,文學作品中的景物無不烙上作者的感情色彩。)
五、老師引導大家梳理歸納討論結果
大家剛才找出了許多的不同點,現在我們把它歸納整理一下,著重是哪幾方面?
異同點主要體現在:①景物特點②情感態度③語言風格④寫作角度 這就是我們這節課圍繞研究專題重點探討的四個方面,即四個切入點。
六、引導學生探究研究課題
我們從散文中去看三峽,還是一孔之見,三峽是我們民族古文化的繁衍之地,是自古以來文人墨客的聚集之地,值得我們去探究的東西還很多。如今,隨著“高峽出平湖”的奇觀出現,中國人70年的夢想就要實現了,其經濟價值是不言而喻的,但令人遺憾的是三峽的靈異、浪漫也將不復存在,它將意味著三峽的文化,特別是傳統文化面臨著如何繼承和發展的問題。
下面就請大家憑著對三峽的熱愛、了解,思考一下,你將確立哪方面的研究專題。(小小組討論,后大班交流;所研究的專題可以獨立操作,也可以幾個人合作。)
(如果時間允許,就其中的某一課題探討研究方向)
七、老師總結
你們關注、研究的領域很廣闊,三峽的文化積淀的確很豐厚的。同學們,隨著你們走近三峽、研究三峽,美麗的三峽將在你們心中永恒!
第四篇:【數學】1.3《算法案例》教案(新人教A版必修3)
知識改變命運,學習成就未來
1.3算法案例
(1)教學目標(a)知識與技能
1.理解輾轉相除法與更相減損術中蘊含的數學原理,并能根據這些原理進行算法分析。2.基本能根據算法語句與程序框圖的知識設計完整的程序框圖并寫出算法程序。(b)過程與方法
在輾轉相除法與更相減損術求最大公約數的學習過程中對比我們常見的約分求公因式的方法,比較它們在算法上的區別,并從程序的學習中體會數學的嚴謹,領會數學算法計算機處理的結合方式,初步掌握把數學算法轉化成計算機語言的一般步驟。
(c)情態與價值
1.通過閱讀中國古代數學中的算法案例,體會中國古代數學對世界數學發展的貢獻。2.在學習古代數學家解決數學問題的方法的過程中培養嚴謹的邏輯思維能力,在利用算法解決數學問題的過程中培養理性的精神和動手實踐的能力。
(2)教學重難點
重點:理解輾轉相除法與更相減損術求最大公約數的方法。
難點:把輾轉相除法與更相減損術的方法轉換成程序框圖與程序語言。(3)學法與教學用具
學法:在理解最大公約數的基礎上去發現輾轉相除法與更相減損術中的數學規律,并能模仿已經學過的程序框圖與算法語句設計出輾轉相除法與更相減損術的程序框圖與算法程序。
教學用具:電腦,計算器,圖形計算器(4)教學設想
(一)創設情景,揭示課題
1.教師首先提出問題:在初中,我們已經學過求最大公約數的知識,你能求出18與30的公約數嗎?
2.接著教師進一步提出問題,我們都是利用找公約數的方法來求最大公約數,如果公約數比較大而且根據我們的觀察又不能得到一些公約數,我們又應該怎樣求它們的最大公約數?比如求8251與6105的最大公約數?這就是我們這一堂課所要探討的內容。
(二)研探新知 1.輾轉相除法
例1 求兩個正數8251和6105的最大公約數。(分析:8251與6105兩數都比較大,而且沒有明顯的公約數,如能把它們都變小一點,根據已有的知識即可求出最大公約數)
解:8251=6105×1+2146 顯然8251的最大公約數也必是2146的約數,同樣6105與2146的公約數也必是8251的約數,所以8251與6105的最大公約數也是6105與2146的最大公約數。
6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 則37為8251與6105的最大公約數。
歡迎各位老師踴躍投稿,稿酬豐厚 郵箱:zxjkw@163.com
知識改變命運,學習成就未來
以上我們求最大公約數的方法就是輾轉相除法。也叫歐幾里德算法,它是由歐幾里德在公元前300年左右首先提出的。利用輾轉相除法求最大公約數的步驟如下:
知識改變命運,學習成就未來
開始輸入兩個正整數m,nm>n?否是x=nn=mm=xr=m MOD nn=rm=nr=0?否是輸出n結束 程序:
INPUT “m=”;m INPUT “n=”;n IF m
一.用輾轉相除法求下列各組數的最大公約數,并在自己編寫的BASIC程序中驗證。
歡迎各位老師踴躍投稿,稿酬豐厚 郵箱:zxjkw@163.com
知識改變命運,學習成就未來
(1)225;135(2)98;196(3)72;168(4)153;119 二.思考:用求質因數的方法可否求上述4組數的最大公約數?可否利用求質因數的算法設計出程序框圖及程序?若能,在電腦上測試自己的程序;若不能說明無法實現的理由。
三。思考:利用輾轉相除法是否可以求兩數的最大公倍數?試設計程序框圖并轉換成程序在BASIC中實現。
6.小結:
輾轉相除法與更相減損術求最大公約數的計算方法及完整算法程序的編寫。(5)評價設計
補充:設計更相減損術求最大公約數的程序框圖
歡迎各位老師踴躍投稿,稿酬豐厚 郵箱:zxjkw@163.com
第五篇:人教B版高中數學必修三+1.1.1算法的概念+教案
1.1.1算法的概念
教學目標:
1.知識與技能目標
(1)了解算法的含義,體會算法的思想。(2)能夠說明解決簡單問題的算法步驟。
(3)了解正確的算法應滿足的要求,即算法的特點。
(4)初步了解高斯消去法的思想,會寫出解線性方程(組)的算法。(5)了解利用Scilab求二元一次方程組解的方法。2.過程與方法目標
通過分析高斯消去法的過程,體會算法的思想,發展對具體問題的過程與 步驟的分析能力,發展從具體問題中提煉算法思想的能力,發展有條理地清晰地 思維的能力,提高學生的算法素養。
3.情感、態度與價值觀目標
通過本節的學習,使我們對計算機的算法語言有一個基本的了解,明確算法的要求,認識到計算機是人類征服自然的一各有力工具,進一步提高探索、認識世界的能力。
重點:算法的概念和算法的合理表述。難點:算法的合理表述、高斯消去法。
教學過程:
一、引入新課
1.要把大象裝入冰箱分幾步? 第一步 把冰箱打開。第二步 把大象放進冰箱。第三步 把冰箱門關上。
2.組織學生模擬參加幸運52的競猜游戲。
價格競猜中我們運用了曾經學過的二分法的數學思想。利用二分法求函數的零點時,我們是一步一步進行的,每一步都能得到一個結果,如果結果滿足精確度則停止運算;若不滿足則繼續尋找,直到找到滿足精確度的結果為止。這樣的求解過程就是這一類問題的算法。今天我們就來學習算法的概念。
我們學過的求函數零點的二分法以及在解析幾何初步中利用公式計算的幾何問題進行
分步求解,這些計算方法都有一個共同的特點,就是對一類問題(不是個別問題)都有效,計算可以一步一步地進行,每一步都能得到惟一的結果,通常我們把這一類問題的求解過程叫做解決這一類問題的算法。這些算法雖然很機械,計算量大,但優點是一種通法,只要按部就班地去做,總能算出結果。通常把算法過程成為“數學機械化”,數學機械化最大的優點是它可以利用計算機來完成。所以學習算法是為了學習編輯程序,讓計算機去幫助我們去解決更多的問題。
用學生熟悉的問題來引入算法的概念,降低新課的入門難度,有利于學生正確理解算法的概念。二.新課講解
隨著計算科學和信息技術的飛速發展,算法的思想已經滲透到了社會的方方面面。在以前的學習中,雖然沒有出現算法這個名詞,但是實際在數學學習中已經滲透了大量的算法的思想,如四則運算的過程(先乘除后加減),完成這些工作都需要一系列程序化的步驟,這就是算法的思想。
(一)算法的概念:算法可以理解為由基本運算及規定的運算順序構成的完整的解題步驟,或看成按要求設計好的有限的、確切的計算序列,并且這樣的步驟或序列能解決一類問題。
(二)描述算法的方式:自然語言、數學語言、形式語言、框圖語言 【例1】寫出你在家中燒開水的過程。解: S1、往壺內注水; S2、點火加熱;
S3、觀察:如果水開,則停止燒火,否則繼續燒火; S4、如果水未開,重復“3”直至水開。
總結:1其實大部分事情都是按照一定的程序執行,因此要理清事情的每一步。2判斷水是否燒開與是否繼續燒火的過程是一個反饋與判斷過程,因此有必要不斷重復過程3。
廣義地說,對于一項任務,按照事先設計好的步驟,一步一步地執行并在有限步內完成任務,則這些步驟稱為該任務的一個算法.簡單地說,算法就是就是完成工作所需要的一系列程序化的步驟,就是做某一件事的步驟或程序。菜譜是做菜肴的算法,洗衣機的使用說明書是操作洗衣機的算法,歌譜是一首歌曲的算法。在數學中,主要研究計算機能實現的算法,即按照某種機械程序步驟一定可以得到結果的解決問題的程序。比如解方程的算法、函數求值的算法、作圖的算法,等等。
【例2】一群小兔一群雞,兩群合到一群里,要數腿共48,要數腦袋整17,多少小兔
多少雞?
算法1:
解 :S1 首先計算沒有小兔時,小雞的數為:17只,腿的總數為34條。
S2 再確定每多一只小兔、減少一只小雞增加的腿數2條。S3 再根據缺的腿的條數確定小兔的數量:(48-34)/2=7只 S4 最后確定小雞的數量:17-7=10只.算法2:
解 :S1 首先設x只小雞,y只小兔。
?2x?4y?48S2 再列方程組為:?
x?y?17?S3 解方程組得:??y?7
?x?10S4 指出小雞10只,小兔7只。
本題講解緊扣算法的定義,層層誘導,提示學生如何設計步驟,可以先由學生提出,師生共同總結。最后提示學生,一個問題算法可能不止一個。深化對算法概念的理解,使學生體會到算法并不是高滲莫測的東西,實際上是我們從前解題步驟的總結。
再歸納一般二元一次方程組的通用方法,即用高斯消去法解一般的二元一次方程組
?a11x1?a12x2?b1。??a21x1?a22x2?b2S1 假定a11?0(如果a11?0,可以將第一個方程與第二個方程互換),① ?(?a21aaab)?②,得到:(a22?2112)x2?b2?211 a11a11a11原方程組化為:
(3)?a11x1?a12x2?b1 ???aa?aax?ab?ab(4)21122112211?1122S2 如果a11a22?a21a12?0,輸出方程組無解或有無數組解
如果a11a22?a21a12?0,解(4)得x2?a11b2?a21b1(5)
a11a22?a21a1
2S3 將(5)代入(3),整理得:x1?a22b1?a12b2(6)
a11a22?a21a12S4 輸出結果x1,x2、方程組無解或有無數組解
令D?a11a22?a21a12,若D?0,方程組無解或有無數多解。若D?0,則x1?b1a22?b2a12ba?b1a21,x2?211。
DD由此可得解二元一次方程組的算法。
S
1計算D?a11a22?a21a12;
S
2如果D?0,則原方程組無解或有無窮多組解;否則(D?0),x1?b1a22?b2a12ba?b1a21,x2?211
DDS
3輸出計算結果x1、x2或者無法求解的信息。
(三)寫算法的要求
算法不同于求解一個具體問題的方法,是這種方法的高度概括。一個好的算法有如下要求:
1.求解的過程是事先確定的,事先都考慮好了,有確定的步驟.2.寫出的算法,必須能解決一類問題(如一元二次方程求根公式),并且能重復使用。3.算法執行過程中的每一步都是能夠做到的,要簡潔,要清晰可讀,不能弄搞繁雜,以以致于易程序化。
4.算法過程要能一步一步執行,每一步執行的操作,必須確切,不能含混不清,而且在有限步內有結果,應完成給定的任務。
(四)算法的特征
確定性,通用性,可行性,有窮性,有輸出
【例3】.寫出一個求有限整數序列中的最大值的算法。解:為了便于理解,算法步驟用自然語言敘述: 算法1:
S1 先假定序列中的第一個數為“最大值”。
S2 將序列的第二個整數值與“最大值”比較,如果第二個整數大于“最大值”,這時就假定這個數為“最大值”。
S3 將序列的第三個整數值與“最大值”比較,如果第三個整數大于“最大值”,這時就假定這個數為“最大值”。
S4 將序列的第四個整數值與“最大值”比較,如果第四個整數大于“最大值”,這時就假定這個數為“最大值” 依此類推
Sn 將序列的第n個整數值與“最大值”比較,如果第n個整數大于“最大值”,這時就假定這這個數為“最大值”。
Sn+1 直到序列中沒有可比的數為止,“最大值”就是序列的最大值。算法2 S1 先假定序列中的第一個數為“最大值”。
S2 將序列中的下一個整數值與“最大值”比較,如果大于“最大值”,這時就假定這個數為“最大值”。
S3 如果序列中還有其它整數,重復S2。
S4 直到序列中沒有可比的數為止,這時假定的“最大值”就是序列的最大值。帶領學生分析題目,找出算法。讓學生觀察算法1,思考如何簡化算法?讓學生體會到算法的特點是:“機械的、呆板的、可以按部就班執行”,體會到學習算法的意義和必要性。體會到算法優化的意義,指出算法要設計合理,運行要高效,讓學生體會順序結構的簡單直觀,但有時卻很繁瑣的特點。促使學生產生改進方法的欲望。
試用數學語言寫出對任意3個整數a、b、c中最大值的求法
S
1max=a S
2如果b>max,則max=b S
3如果c>max,則max=c, S
4max就是a、b、c中的最大值。
三、鞏固練習
1.給出求100!?1?2?3???100的一個算法。
2.給出求點P(x0,y0)關于直線Ax?By?C?0的對稱點的一個算法。
3.一位商人有9枚銀元,其中有1枚略輕的是假銀元。你能用天平(不用砝碼)將假銀元找出來嗎?
四、課堂小結:
1.算法的概念:由基本運算及規定的運算順序所構成的完整的解題步驟,或者是按照要求設計好的有限的計算序列,并且這樣的步驟或序列能解決一類問題。
2.描述算法的方式:自然語言、數學語言、形式語言、框圖語言 3.算法的特征:確定性,通用性,可行性,有窮性,有輸出
五、作業
P7練習A
P8練習B 1、2、3