算法的概念教學設計案例

          時間:2021-06-11 18:49:04 教學設計 我要投稿

          算法的概念教學設計案例

            目標:

          算法的概念教學設計案例

            1、知識目標:了解算法。分析算法。

            2、能力目標:體驗程序的獨特魅力,了解編程加工的內在機制,培養學生的創新能力。

            3、情感目標:通過編程實現信息的加工,激發學生的興趣,增加學生的成就感。

            重點:如何分析算法,算法的概念 ,算法的表示

            難點: 如何寫算法。理解用算法描述實際問題,理解人的思維在計算機工作中發揮的作用。

            方法:講授法,演示法,歸納法

            教學反思:

            教 學 過 程

            一、導入

            在學習程序設計時,既要掌握所使用的某種計算機計算機語言如PASCAL語言,更好掌握解題的方法和步驟,這是程序設計中的關鍵。語言只是一個工具,只懂得語言的規則并不能編制出有效的高質量的程序,下面所講座的算法,就是研究解題的步驟和方法,這是編程的基礎,同時也是我們解數理化題的基礎。

            著名計算機科學家沃思提出一個公式:

            數據結構 + 算法 = 程序

            二、新授

            什么是算法:廣義地說,為解決一個問題而采取的方法和步驟,就稱為“算法”。或者說:算法是解題方法的精確描述。解決一個問題的過程,就是實現一個算法的過程。

            1.做任何事情都有一定的步驟。例如要計算的值,無論手算,心算,或用算盤,計算器計算,都要經過有限的事先設計好的步驟。

            2、對同一個問題,往往有不同的解題方法和步驟

            如

            方法1:順序計算1-1/2+1/3-1/4+1/5……+1/99-1/100,一直加到100 加99次

            方法2:先計算+,再計算減,即1+1/3+1/5……+1/99,1/2+1/4+1/6……+1/100當然各種方法有優劣之分。

            3、不僅數值計算的問題要研究算法,實際上,做任何事情。都需要事先設想好的步驟和方法,這就是算法。

            計算機算法可分為兩大類別:

            數值運算

            非數值運算

            數值運算舉例:求數值解,例如求方程的根、求函數的定積分等。

            非數值運算舉例:人名排序,圖書資料檢索等.

            三、簡單算法舉例

            為了理解如何設計算法,下面舉幾個算法的簡單例子。

            [例1] 有兩個杯子A和B,分別盛有果汁和酒,要求將這兩個杯子進行互換。

            (請學生回答,并要求說清楚明確的步驟)

            學生所回答的步驟就是算法的描述:

            根據常識,必須增加一個空杯C作為過渡。

            其算法表示

            步驟1:先將A杯中的果汁倒在C杯中;

            步驟2:再講B杯中的酒倒在A杯中;

            步驟3:最后將C杯中的果汁倒在B杯中。

            此問題可以抽象為數值運算中的交換兩個變量的值,簡化為:

            ①A → C

            ②B → A

            ③C → B

            [例2] 從十個數中挑選出最大的數。

            創設情景:這個問題的思路可以用“打描臺”來比喻。第一個同學先上講臺,然后第二個同學上去比試,勝者(個子高的)留在講臺上,依次輪流,一直到第十個人比完為止()一共九次)最后留在講臺上的同學就是勝者(個子最高的同學)。

            算法描述:

            1.先任選一個數放在變量A中;

            2.將第二個數與變量A中的數進行比較,大者放在變量A中;

            3.再將第三個數與變量A中的數進行比較,大者放在變量A中;

            10.最后將第十個數與變量A中的數進行比較,大者放在變量A中。

            這樣寫算法雖然正確,但是太煩瑣了,可以簡化為如下:

            1.數X → A,計數器 0 → N;

            2.下一個數Y與A比較,大者→ A;

            3.N + 1 → N;(增加一次比較次數)

            4.若N ? 9,執行第2步,否則停止循環,此時A中的數最大。

            顯然,用“循環”表示的算法比較簡練。

            如果題目要求改為“從1000個數中挑選最大者”,只許需要將算法里面的第4步中的“9”改為“999”即可。

            [例3] 求兩個正整數m和n的最大公約數。

            解題之前介紹“輾轉相除法”求最大公約數的方法。“輾轉”就字面意思來講是翻來覆去的意思,因此“輾轉相除法”的.格式可以形象地表示為:

            將m和n賦具體值,m = 60,n = 14,板書具體求解方法。

            用m 作被除數, n 作除數,r 做余數。

            具體方法(算法)為:

            ①求m/n的余數r;

            ②若r = 0 ,則n為最大公約數,若r ≠ 0,執行第③步;

            ③將n → m,將r → n中;

            ④返回重新執行第①步。

            注意:如果事先不知道M,N兩個數誰大誰小,應(可)在第一步之前增加一個步驟,比較一下兩個數的大小,大數在m中,小數在n中。

            四、算法的特性

            1、有窮性:一個算法應該包含有限個操作步驟,而不能是無限的。

            2、確定性:算法的每個步驟都應該是明確無誤的,不能含義模糊,使執行者無所適從。

            3、有零個或者多個輸入

            4、有一個或者多個輸出

            5、有效性:算法中的每一步都應該能有效地執行,執行算法最后應該能得到確定的結果。

            五、歸納總結

            算法的概念;

            算法的描述;

            算法的特性:

            有窮性:包含有限的操作步驟

            確定性:算法中的每一個步驟都應當是確定的

            有零個或多個輸入:輸入是指在執行算法時需要從外界取得必要的信息

            有一個或多個輸出:算法的目的是為了求解,“解” 就是輸出

            有效性:算法中的每一個步驟都應當能有效地執行,并得到確定的結果 。

            對于程序設計人員來說,我們不僅要會使用現成的算法,還要會設計算法,即要設計出算法中的每一個步驟。

            六、 練習

            ①用輾轉相除法求324和180的最大公約數。

            七、板書設計

          【算法的概念教學設計案例】相關文章:

          《函數的概念》教學設計06-04

          映射的概念教學設計12-18

          整式概念教學設計12-18

          角的概念教學設計12-13

          對數的概念的教學設計12-10

          算法初步單元教學設計09-03

          《算法初步》單元教學設計06-22

          《遞歸算法的實現》教學設計06-30

          高二數學《算法初步》與案例教學計劃05-08

          国产精品好爽好紧好大_亚洲男人综合久久综合_欧美福利电影a在线播放www_国产精品99久久精品无码

                  中文字幕欧美日韩 | 亚洲精品一级Av在线播放 | 日韩欧美国产精品91 | 在线精品视频一区二区三区四区 | 在线播放AⅤ免费播放国产 日韩一区二区在线|欧洲 | 日韩欧美一级一中文字幕 |