【正文】
兩類算法問題(1)數(shù)值性計算問題,如:解方程(或方程組),解不等式(或不等式組),套用公式判斷性的問題,累加,累乘等一類問題的算法描述,可通過相應(yīng)的數(shù)學(xué)模型借助一般數(shù)學(xué)計算方法,分解成清晰的步驟,使之條理化即可。若是則n 不是質(zhì)數(shù),結(jié)束算法;否則將 i 的值增加1,仍用 i表示第五步:判斷“i (n-1)” 是否成立。分析:首先考慮判斷一個具體的數(shù)是否是質(zhì)數(shù)的方法,以7為例。③邏輯性:算法從初始步驟開始,分為若干個明確的步驟,前一步是后一步的前提,只有執(zhí)行完前一步才能進行下一步,并且每一步都準確無誤,才能完成問題。例如:描述太極拳動作的圖解,就是“太極拳的算法”;一首歌的樂譜,可以稱之為該歌曲的算法。二、引入新課怎樣理解算法?236。.【教法】:采用“問題探究與學(xué)案相結(jié)合”教學(xué)法,以多媒體為輔助手段,讓學(xué)生主動發(fā)現(xiàn)問題、分析問題、解決問題,培養(yǎng)學(xué)生的探究論證、邏輯思維能力。由于思考問題的角度不同,同一個問題也可能有多個算法,能模仿求解二元一次方程組的步驟,寫出一個求一個一元二次方程解的算法。 算法的概念【教學(xué)目標】:(1)了解算法的含義,體會算法的思想。現(xiàn)代意義上的“算法”通常是指可以用計算機來解決的某一類問題的程序或步驟,這些程序或步驟必須是明確和有效的,、知識應(yīng)用:把水注入電鍋; 第二步:打開電源把水燒開; 第三步:把燒開的水注入熱水瓶.(以上算法是解決某一問題的程序或步驟)(1)設(shè)計一個算法,判斷7是否為質(zhì)數(shù).(2)設(shè)計一個算法,:設(shè)計一個算法,判斷整數(shù)n(n2)、課堂練習(xí)(課本第5頁練習(xí)1)任意給定一個正實數(shù),:第一步:輸入任意正實數(shù)r 第二步:計算S=pr2; 第三步:、(課本第5頁練習(xí)2)任意給定一個大于1的正整數(shù)n,:根據(jù)因數(shù)的定義,可設(shè)計出下面的一個算法: 第一步::判斷n是否等于2,若n=2,則n的因數(shù)為1,n;若n2,:依次從2到n1檢驗是不是整除n,若整除n,則是n的因數(shù);若不整除n,、課堂小結(jié) :①有限性:一個算法的步驟序列是有限的,它應(yīng)在有限步操作之后停止,而不能是無限的.②確定性:算法中的每一步應(yīng)該是確定的并且能有效地執(zhí)行且得到確定的結(jié)果,而不應(yīng)當是模棱兩可.③可行性:算法中的每一步操作都必須是可執(zhí)行的,:①輸入數(shù)據(jù).②數(shù)據(jù)處理.③、作業(yè)求13 5 7 9 11的值,寫出其算法。Step3:輸出結(jié)果。16不為整數(shù); Step16:結(jié)論:17是質(zhì)數(shù)。12不為整數(shù); Step12:17247。8不為整數(shù); Step8:17247。4不為整數(shù); Step4:17247。(2)判斷17是否為質(zhì)數(shù)。8不為整數(shù); Step8:143247。4不為整數(shù); Step4:143247。(1)判斷143是否為質(zhì)數(shù)。另外,當給定的問題已有多種算法時,選擇其中復(fù)雜性最低者,是在選用算法時應(yīng)遵循的一個重要準則。算法在計算機上執(zhí)行運算,需要一定的存儲空間存放描述算法的程序和算法所需的數(shù)據(jù),計算機完成運算任務(wù)需要一定的時間。其他(數(shù)值分析 加密算法 排序算法 檢索算法 隨機化算)還可以分成串行算法、并行算法。數(shù)論與代數(shù)算法由于貪心法的高效性以及其所求得的答案比較接近最優(yōu)結(jié)果,貪心法也可以用作輔助算法或者直接解決一些要求結(jié)果不特別精確的問題。為了避免多次解決這些子問題,它們的結(jié)果都逐漸被計算并被保存,從簡單的問題直到整個因此,動態(tài)規(guī)劃保存遞歸時的結(jié)果,因而不會在解決同樣的問題時花費時間。==例子==設(shè)兩個變量 M 和 N M N,則交換 M 和 N N 除以 M,得到余數(shù) R R=0,正確則 N 即為“最大公約數(shù)”,否則下一步 N 賦值給 M,將 R 賦值給 N,重做第一步。下面是一個形式算法,用近似于編程語言的偽代碼表示給定:一個數(shù)列“l(fā)ist“,以及數(shù)列的長度”length(list) largest = list[1] for counter = 2 to length(list): if list[counter] largest: largest = list[counter] print largest 符號說明: = 用于表示賦值。如果將數(shù)列中的每一個數(shù)字看成是一顆豆子的大小,可以將下面的算法形象地稱為“撿豆子”: 首先將第一顆豆子放入口袋中。一般地,當算法在處理信息時,會從輸入設(shè)備或數(shù)據(jù)的存儲地址讀取數(shù)據(jù),把結(jié)果寫入輸出設(shè)備或某個存儲地址供以后再調(diào)用。圖靈機的出現(xiàn)解決了算法定義的難題,圖靈的思想對算法的發(fā)展起到了重要的作用。第一次編寫算法是Ada Byron于1842年為巴貝奇分析機編寫求解解伯努利方程的程序,因此Ada Byron被大多數(shù)人認為是世界上第一位程序員?!妓惴ǖ臍v史〗“算法”(algorithm)來自于9世紀波斯數(shù)學(xué)家比阿勒算法常常含有重復(fù)的步驟和一些比較或邏輯判斷。沒有輸出的算法是毫無意義的。五、課堂小結(jié):算法的概念:由基本運算及規(guī)定的運算順序所構(gòu)成的完整的解題步驟,或者是按照要求設(shè)計好的有限的計算序列,并且這樣的步驟或序列能解決一類問題。3180。解:為了便于理解,算法步驟用自然語言敘述:S1 先將序列中的第一個整數(shù)設(shè)為最大值;S2將序列中的下一個整數(shù)值與“最大值”比較,如果它大于此“最大值”,這時就假定“最大值”就是這個整數(shù);S3 如果序列中還有其它整數(shù),重復(fù)S2;S4 在序列中一直進行到?jīng)]有可比的數(shù)為止,這時假定的“最大值”就是這個序列中的最大值。三、知識運用:例1.一個人帶三只狼和三只羚羊過河,只有一條船,同船可以容納一個人和兩只動物。算法的五個重要特征:(1)有窮性:一個算法必須保證執(zhí)行有限步后結(jié)束;(2)確切性:算法的每一步必須有確切的定義;(3)可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次即可完成;(