计算机算法的概念教案,《算法的概念》教学设计
一、教材背景分析
1.教材的地位和作用
《算法的概念》是全日制普通高級中學教科書人教B版必修3第一章《算法初步》的第一節內容,《算法初步》是課程標準的新增內容,它是數學及其應用的重要組成部分,是計算科學的重要基礎.在信息技術高度發達的現代社會,算法思想應該是公民必備的科學素養之一.而《算法的概念》則是《算法初步》的奠基石,它非常重要,但并不神秘.新教材的編寫特別強調了知識的螺旋形上升,所以在前面的學習中,已經讓學生積累了大量的算法的實際經驗,這個重要的數學概念其實早已存在于學生的意識之中,而且在不同場合都已經不自覺的“實際使用”,只是沒有明朗化,概念化.此時引入算法概念可以說是水到渠成,教師的責任就是為學生建立概念修通渠道.讓學生借助他們已有的大量經驗抽象出算法的概念并認識其特點;再依據算法的概念和特點來認識和設計某些具體的算法,進一步深化對概念的認知;最后通過實際問題的算法處理以及中國數學家在算法上的貢獻介紹,使算法思想進一步得到升華.整個教學過程不僅有利于培養學生的思維能力、理性精神和實踐能力;也有利于學生理解構造性數學,培養其數學應用意識.
本節是這一章的起始課,不僅讓學生體會概念,認識到這一概念的重要性,還要為進一步學習程序框圖,算法的基本結構和語句奠定基礎.而且算法思想是邏輯數學最重要的體現形式.這一切都決定了本節課的重要地位.
2.學情分析
知識結構:學生在以前的學習和生活中已經認識過大量的算法實例,本節課就是在此基礎上使學生進一步理解和提煉算法的概念,體會算法的思想.
心理特征:高二的學生已經具備了邏輯推理的能力,高度的語言概括能力,能夠從具體問題中去體會和提煉重要數學思想.
3.教學重點與難點
重點:理解算法的概念及其特點,體會算法思想,能用自然語言描述算法.
難點:根據實例抽象概括算法的概念和特點;依據概念設計算法.
關鍵:算法思想的滲透.
二、教學目標
知識與技能目標:
1.了解算法含義,形成算法概念的雛形,認識算法的特征,進一步培養歸納總結、提煉概括的能力.
過程與方法目標:
1.通過解決具體問題的實例感受,理解算法的特點,體會算法的基本思想.
2.通過由淺入深,特殊到一般的思維過程讓學生進一步完善對算法的理解,準確把握算法的基本特征,學會用自然語言描述算法,進一步培養學生邏輯思維能力.
情感、態度與價值觀目標:
1.通過具體實例滲透算法的基本結構,為學生后繼學習奠定基礎,同時通過古代數學家的成就來激勵學生的民族自豪感和使命感.
2.通過典型解題步驟抽象出算法這一過程的設計,進一步滲透算法的思想,培養程序化解決問題的意識.
三、教法選擇和學法指導
教法:問題引導、合作探究.
學法:數學學習實際上是“認知結構”的完善過程,算法的學習就體現了這一過程.從經驗中提煉概念,再從設計運用中深化對概念的認知,最后從實際應用中進一步體會算法的思想.
四、教學基本流程設計
五、教學過程
教學
過程
教學內容
設計意圖
新
課
引
入
古老傳說引發的思考
漢諾塔(Towers of Hanoi)問題來自一個古老的傳說:在世界剛被創建的時候有一座鉆石寶塔,其上有64個金碟.所有碟子按從大到小的次序從塔底堆放至塔頂.緊挨著這座塔有另外兩個鉆石寶塔.從世界創始之日起,婆羅門的牧師們就一直在試圖把塔1上的碟子移動到塔2上去,其間借助于塔3的幫助.由于碟子非常重,因此,每次只能移動一個碟子.另外,任何時候都不能把一個碟子放在比它小的碟子上面.按照這個傳說,當牧師們完成他們的任務之后,世界末日也就到了.
圖1-1
問題:
1、已知有三個塔(1、2、3)和n個從大到小的金碟子,初始狀態時n個碟子按從大到小的次序從塔1的底部堆放至頂部.
2、要求把碟子都移動到塔2(按從大到小的次序從塔2的底部堆放至頂部).
3、每次移動一個碟子.
4、任何時候、任何一個塔上都不能把大碟子放到小碟子的上面.
5、可以借助塔3.
情景創設:
選擇學生比較感興趣同時在計算機應用中又非常經典的漢諾塔模型來引出本節課內容.
由古老傳說引發的思考,更能吸引學生的學習興趣,讓學生用數學眼光關注情景,體會數學的應用價值,感受學習數學新知識的必要性.
學生能夠動腦解決簡單的漢諾塔問題,但隨著碟子數量的增多,對復雜問題仍然沒有完美的解決思路,讓學生帶著問題進入到下面的學習中.
探
究
算
法
概
念
由三個案例探究算法特點并初步形成算法的概念.
案例1.由的圖象經過怎樣的變換能得到 的圖象?
學生討論回答:
第一步:把的圖象上所有點的橫坐標變為原來的,縱坐標不變,得到的圖象;
第二步:把圖象向左平移個單位長度,得到的圖象;
第三步:把圖象上所有點的縱坐標變為倍,橫坐標不變,得到的圖象.
思考:還有沒有其他變換方法?
探究1:算法的規則性,規則不同,算法不同
案例2.解一元二次方程
學生討論回答:第一步:計算
第二步:若,則
若則
若則方程無根.
探究2:算法的明確性
案例3.如何判斷1999是否為質數?
學生討論回答:第一步:令i=2;
第二步:用i除1999;
第三步:判斷余數r=0是否成立,
若是,則1999不是質數,結束算法;
否則,將i的值增加1,仍用i表示;
第四步:判斷i > 1998是否成立,
若是,則1999是質數,結束算法;
否則,返回第二步.
探究3:算法的有限性
現將1999改成任意大于2的正整數n你會處理嗎?
學生直接在上個問題中做修改
第一步:給定大于2的整數n;
第二步:令;
第三步:用除,得到余數.
第四步:判斷“”是否成立.若是,則不是質數;否則將的值增加1,仍用表示;
第五步,判斷“”是否成立.若是,則是質數,結束算法;否則,返回第三步.
回顧剛才研究的整個過程,從1999變化到任意大于2的正整數n,其判斷方法完全相同.
探究4:算法的一個重要特征----能解決一類問題的普適性.
通過觀察以上算法實例,從算法的特點出發,師生共同總結算法的概念:算法可以理解為由基本運算及規定的運算順序所構成的完整的解題步驟,或者看成按照要求設計好的有限的確切的計算序列,并且這樣的步驟或序列能夠解決一類問題.
案例選擇:
從算法的典型性,代表性,趣味性,與原有知識聯系性和可接受性的角度出發,使學生通過對案例的學習理解算法的特點,滲透算法思想。
(1)三個案例都選擇學生比較熟悉的問題,一方面可以打破學生對算法的陌生感,另一方面有助于學生把注意力集中在算法概念的理解上,而不是算法所涉及的問題本身.
(2)三個案例體現了算法的幾個特征,同時也包含了算法的三種邏輯結構,為后續學習做好鋪墊.
(3)三個案例曾出現在學習過的必修模塊中,當時沒有站在算法的角度來考慮,這里安排它,體現整套教材的內在聯系.
在案例3中由1999過渡到n采用類比的思想即符合學生認知規律,又突破了難點.
由特殊到一般,體會由一道到一類題的飛躍, 旨在傳達這樣一個思想,盡管算法可以用來解決一個具體問題,但是人們更為關注的是用來解決某一類問題的算法。同時讓學生感受到算法與解法的不同,算法具有普適性的特點.
注意:在案例處理時對幾個問題的探究中,要始終從計算機程序角度出發考慮分析問題,讓學生理解算法通常都可用計算機來執行,讓學生養成用程序化思想來解決問題的能力,同時概括出算法的幾個特點.
概念提煉:
算法概念的形成必然會經歷逐步完善的過程.在描述定義時讓學生大膽嘗試,進而培養他們歸納總結,提煉概括的能力.
實
例
設
計
算
法
思
想
再
升
華
例1觀察下面算法,指出這個算法是在解決什么問題
第一步:假定max=,令i=2
第二步:判斷是否成立,若是,則max不變;
否則將max換成,但仍用max表示
第三步:將i增加1,仍用i表示
第四步:判斷是否成立,若是,則重復第二步;
否則結束算法.
例2將下面計算的算法填充完整
第一步:s=0,i=1
第二步:將s換成,仍用s表示.i增加一個,仍用i表示
第三步:判斷是否成立,若是,則結束算法
若否,則重復第二步.
例3在平常的學習中,是否可以通過一些典型問題的解法,從具體到抽象,總結出同類型問題共有的解題步驟和程序呢?現在就請大家根據一些典型習題的解題方法來尋求其對應的算法.
例題的選擇與處理:
例習題是學生加深理解學習內容,進行有效學習的載體,是溝通知識與能力的橋梁.學習數學概念的關鍵是數學概念的形成與數學概念的深化.
學生對循環結構這類問題的解決感覺很費力.例2的探索解決,為后續的學習打下了伏筆.
新課改的理念就是要關注學生,就像打開窗戶,陽光能撒到每個學生身上.例3讓學生從思維近區來自主編題,使不同程度的學生均有提高.
學生自主探究,從自身知識結構出發,加深理解算法的概念.
另外,合作交流,能培養學生團隊意識.
首
尾
呼
應
回顧漢諾塔問題,展示游戲背后的程序框圖和計算機語言,達到首尾呼應的效果.
漢諾塔問題程序框圖:
計算機程序實現如下:
#include "stdio.h"
void main()
{
void hanoi(int n,char one,char two,char three);
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to move %d diskes:\n",m);
hanoi(m,'A','B','C');
}
void hanoi(int n,char one,char two,char three)
{
void move (char x,char y);
if (n==1)
move (one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
void move(char x,char y)
{
printf("%c->%c ",x,y);
}
對即將學習的內容和作用作介紹,使學生對后續的學習充滿了信心和興趣.
回顧漢諾塔問題,展示游戲背后的程序語言,達到首尾呼應的效果.
本節課是一章的起始課,它的功能不僅僅是本節知識內容的落實,還需要對后面的學習起到鋪墊的作用.
歸
納
小
結
(1)知識內容
(2)思想方法
教師引導學生自己總結的方式,有助于學生主動認清所學知識的本質,理清知識的脈絡,使知識系統化,同時使學生在認知上達到一個新的高度.
課
后
作
業
作業:
1.(必做題)
2.(選做題)
進一步理解和鞏固所學知識.
總結
以上是生活随笔為你收集整理的计算机算法的概念教案,《算法的概念》教学设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab exp(),matla
- 下一篇: Linux指令用之记之-sell算数运算