幼兒園排序教案
發(fā)表時(shí)間:2020-11-12算法與程序設(shè)計(jì)——選擇排序。
算法與程序設(shè)計(jì)——選擇排序
一、學(xué)情分析
通過上學(xué)期《算法與編程》部分的學(xué)習(xí),學(xué)生初步了解算法及其表示、比較熟悉流程圖設(shè)計(jì);
本學(xué)期課程為《算法與程序設(shè)計(jì)》,對(duì)算法的理解更加深入,要求能通過VisualBasic實(shí)現(xiàn)簡(jiǎn)單算法;
在本課之前,學(xué)生應(yīng)了解了流程圖的應(yīng)用,熟悉在一組數(shù)中求極值算法,對(duì)于排序及冒泡排序,學(xué)生比較熟練。
對(duì)于本部分,學(xué)生可能會(huì)對(duì)選擇排序算法的原理理解較為困難,需要教師的引導(dǎo)學(xué)習(xí)。學(xué)生應(yīng)當(dāng)在學(xué)習(xí)過程中認(rèn)真聽取教師對(duì)于算法的分析,在教師指導(dǎo)下能解釋該算法的流程圖,進(jìn)而實(shí)現(xiàn)程序。
二、教學(xué)目標(biāo)
知識(shí)性目標(biāo):
了解排序的概念、能在現(xiàn)實(shí)生活中列舉出關(guān)于排序的實(shí)例
能對(duì)照冒泡排序,解釋選擇排序的優(yōu)勢(shì),指出選擇排序的策略,找出數(shù)字之間的邏輯聯(lián)系
有遷移應(yīng)用能力,能由此及彼,歸納排序中的數(shù)字規(guī)律,探索更有效率的排序算法
技能性目標(biāo):
具有模仿水平,在教師指導(dǎo)下可以表達(dá)出選擇排序的思想,能對(duì)流程圖作出解釋
能獨(dú)立完成流程圖的繪制,對(duì)選擇排序的各個(gè)環(huán)節(jié)比較熟練,并能在VisualBasic環(huán)境中規(guī)范地編寫程序
情感、態(tài)度、價(jià)值觀目標(biāo):
學(xué)生在學(xué)習(xí)過程中,通過親身經(jīng)歷體驗(yàn)選擇排序的實(shí)現(xiàn)過程,獲得對(duì)此算法的感性認(rèn)識(shí)
利用信息技術(shù)手段,開展交流合作,把自己對(duì)此算法的心得與他人交流,培養(yǎng)良好的信息素養(yǎng),提升熱愛科學(xué)的理念
三、重點(diǎn)難點(diǎn)
重點(diǎn):對(duì)選擇排序原理的理解,繪制流程圖,數(shù)據(jù)交換,調(diào)試程序
難點(diǎn):分析流程圖
四、教學(xué)策略與手段
把握重點(diǎn),先導(dǎo)入問題,復(fù)習(xí)排序定義,分析冒泡中數(shù)據(jù)交換次數(shù)多的問題,指出冒泡排序法效率不高,從而引出數(shù)據(jù)交換次數(shù)較少的選擇排序算法
在教學(xué)過程中,可通過Flash演示材料,比較直觀地把抽象的問題簡(jiǎn)單化,由“流程圖雛形繪制”-“逐步完善流程圖”-“程序?qū)崿F(xiàn)”-“調(diào)試”的過程,讓學(xué)生熟練此算法與程序?qū)崿F(xiàn)。
在教學(xué)中可靈活運(yùn)用小組合作、分組討論、小組間競(jìng)賽等手段進(jìn)行教學(xué),通過發(fā)散性思維的培養(yǎng),增強(qiáng)學(xué)生對(duì)知識(shí)的探索能力。
五、課前準(zhǔn)備
1.學(xué)生的學(xué)習(xí)準(zhǔn)備:對(duì)流程圖的繪制方法、VB語法作鞏固,對(duì)選擇排序算法作預(yù)習(xí);學(xué)生分組:4人一組
2.教師的教學(xué)準(zhǔn)備:準(zhǔn)備充分的演示材料、相關(guān)數(shù)據(jù)、相關(guān)軟件安裝。
3.教學(xué)環(huán)境的設(shè)計(jì)與布置:計(jì)算機(jī)教室
六、教學(xué)過程
簡(jiǎn)要點(diǎn)撥排序的概念。
演示已經(jīng)學(xué)習(xí)過的冒泡排序Flash動(dòng)畫。
[小組討論]在冒泡排序算法中,我們知道冒泡排序是依次把數(shù)組中相鄰兩個(gè)數(shù)據(jù)進(jìn)行比較,通過交換數(shù)據(jù),把較小的數(shù)據(jù)逐次向上移動(dòng)的算法。由于數(shù)據(jù)的移動(dòng)是逐次進(jìn)行的,數(shù)據(jù)交換的次數(shù)相當(dāng)多。大家想想它的實(shí)質(zhì)既然是將一堆數(shù)據(jù)中的最小數(shù)據(jù)移動(dòng)到某個(gè)位置,有沒有必要讓這個(gè)數(shù)字逐個(gè)移動(dòng)?比如,對(duì)于數(shù)組:4、8、3、9、6、5、11、10、2、9,如果要用冒泡法實(shí)現(xiàn)排序,第一遍冒泡其實(shí)是把這組數(shù)據(jù)中最小數(shù)“2”移動(dòng)到最前邊,第二遍冒泡把“3”逐次移到第二個(gè)位置,其它類推。它們的過程是逐次向前的,這樣做很多無謂的交換。為了達(dá)到移動(dòng)2到最前邊的目的我們可以怎么簡(jiǎn)化這個(gè)過程?
[學(xué)生]直接把2最前面的數(shù)4交換,再把3與第二個(gè)位置的數(shù)8交換,其它類推
[教師]這個(gè)思想就是今天我們要學(xué)習(xí)的選擇排序算法
[小組討論]選擇排序的實(shí)質(zhì)是每次把一堆數(shù)據(jù)中的最小數(shù)移到某個(gè)位置,那么這樣的操作在規(guī)模為N的數(shù)組中會(huì)做多少次?
——N-1次,因?yàn)榻?jīng)過N-1次操作已經(jīng)確定了第1到N-1個(gè)位置的次序,第N個(gè)位置也自然可以確定。
[小組討論]找出數(shù)組中的最小數(shù)用什么策略?
[復(fù)習(xí)鞏固]可以借助一個(gè)自定義的Integer型變量Min,用它記錄最小的一個(gè)數(shù)據(jù)的下標(biāo)。
首先,不管實(shí)際情況如何,我們先假設(shè)數(shù)組中第1個(gè)元素為最小,于是有Min=1,再把這個(gè)元素與從第2個(gè)元素開始的所有元素作比較,一旦有比d(Min)更小的元素存在,則修改Min變量值為新的較小元素下標(biāo)。這樣,在d(Min)經(jīng)過了從第2個(gè)元素到最后一個(gè)元素的一一比較后,所得到Min應(yīng)該就是第1到N個(gè)元素中的選舉出來的最小元素下標(biāo)了。
然后用類似的方法,把第2到N個(gè)元素中最小數(shù)選舉出來;把第3到N個(gè)元素中最小數(shù)選舉出來……
I←1:Min←1:J←2
開始
JN?
d(J)d(Min)?
Min←J
Y
Y
N
………………
J=J+1
最后把每次選舉出來的結(jié)果依次輸出即可實(shí)現(xiàn)升序排列。
[學(xué)生完成第1遍處理過程的流程圖片斷]
[依據(jù)流程圖寫出代碼]
DimMinAsInteger
DimJAsInteger
Min=1
ForJ=2ToN
Ifd(J)d(Min)ThenMin=J
NextJ
[小組討論]
在遍歷了一遍后如果發(fā)現(xiàn)第1-N個(gè)數(shù)中的最小數(shù)d(Min),根據(jù)選擇排序的思想,需要把它與第1個(gè)數(shù)字進(jìn)行交換。如何進(jìn)行?
[請(qǐng)同學(xué)發(fā)言]打個(gè)比方,在廚房里有一瓶醬油、一瓶醋和一個(gè)空瓶,如何利用這個(gè)空瓶實(shí)現(xiàn)醬油與醋?
——可先把醬油倒到空瓶中,再把醋倒到原來裝醬油的瓶中,然后從原來的空瓶中把醬油倒到原來裝醋現(xiàn)在已經(jīng)空的瓶中,即可實(shí)現(xiàn)換位。
[教師]大家動(dòng)動(dòng)腦筋,用這種思想,試試把d(1)與d(Min)換位,并寫出相應(yīng)的代碼。
DimTempAsInteger
Temp=d(I):d(I)=d(Min):d(Min)=Temp’關(guān)鍵在于引入“空瓶”變量Temp
[思考]是不是每遍歷一遍后必須做這樣的一次交換?
——不是必須的,只有當(dāng)確實(shí)發(fā)現(xiàn)有比d(1)小的數(shù)后才交換
[教師]那怎么知道有沒有發(fā)現(xiàn)比d(1)更小的數(shù)呢?
I←1:Min←1:J←2
開始
JN?
d(J)d(Min)?
Min←J
Y
N
N
………………
Min1?
Temp=d(1)
d(1)=d(Min)
d(Min)=Temp
Y
J=J+1
——其實(shí)在遍歷之前我們已經(jīng)假設(shè)第1個(gè)元素最小,即Min=1,所以在遍歷一遍后我們只需要驗(yàn)證一下Min=1是否還成立。成立則表明沒有比第1個(gè)元素小的數(shù),不成立則表明有比第1個(gè)元素小的數(shù),且它的下標(biāo)為Min,此時(shí)要交換d(1)與d(Min)。
[學(xué)生完善流程圖及代碼]
IfMin1then
Temp=d(1):d(1)=d(Min):d(Min)=Temp
EndIf
[教師]我們先前說過,對(duì)于規(guī)模為N的數(shù)組,需要遍歷處理次數(shù)為N-1次,以上的流程就是這N-1次中需要重復(fù)做的事,對(duì)于重復(fù)處理的事,可以用什么結(jié)構(gòu)?
——循環(huán),以上的比較、交換即為循環(huán)體
[教師]大家試著把這個(gè)循環(huán)結(jié)構(gòu)流程圖畫出來
[學(xué)生完善流程圖及代碼]
開始
JN?
d(J)d(Min)?
Min←J
Y
N
輸出排序結(jié)果
N
MinI?
Temp=d(I)
d(I)=d(Min)
d(Min)=Temp
Y
I=N-1
I←1
Y
N
結(jié)束
I=I+1
J=J+1
Min=I:J=I+1
ForI=1ToN-1
Min=I
ForJ=I+1ToN
Ifd(J)d(Min)ThenMin=J
NextJ
IfMinIThen
Temp=d(I):d(I)=d(Min):d(Min)=Temp
EndIf
NextI
ForM=1ToN
Print(Str(d(M)))
NextM
[調(diào)試程序]
[擴(kuò)展提高]
我們知道,冒泡排序的效率比較低,主要因?yàn)閿?shù)據(jù)交換的次數(shù)多,那我們?nèi)绾沃肋x擇排序中數(shù)據(jù)交換的次數(shù)?
[學(xué)生帶著問題思考并實(shí)踐]
——可利用一個(gè)自定義Integer型變量,初值0,記錄數(shù)據(jù)交換次數(shù),在程序交換數(shù)據(jù)部分令其自加1,程序結(jié)束時(shí)輸出結(jié)果。
[完整的程序?yàn)閉
DimI,J,Min,M,CishuAsInteger
Cishu=0
ForI=1ToN-1
Min=I
ForJ=I+1ToN
Ifd(J)d(Min)ThenMin=J
NextJ
IfMinIThen
Temp=d(I):d(I)=d(Min):d(Min)=Temp:Cishu=Cishu+1
EndIf
NextI
ForM=1ToN
Print(Str(d(M)))
NextM
Print(Str(Cishu))
【問題研討】
對(duì)于規(guī)模非常大時(shí),計(jì)算選擇排序與冒泡排序交換次數(shù),研究時(shí)間、空間復(fù)雜度
利用網(wǎng)絡(luò)、圖書,發(fā)現(xiàn)更優(yōu)秀的排序算法,并對(duì)各種算法進(jìn)行效率分析
相關(guān)推薦
高中數(shù)學(xué)必修三《算法與程序框圖》教案
一名愛崗敬業(yè)的教師要充分考慮學(xué)生的理解性,高中教師要準(zhǔn)備好教案,這是高中教師需要精心準(zhǔn)備的。教案可以讓學(xué)生更好的吸收課堂上所講的知識(shí)點(diǎn),幫助高中教師更好的完成實(shí)現(xiàn)教學(xué)目標(biāo)。您知道高中教案應(yīng)該要怎么下筆嗎?為滿足您的需求,小編特地編輯了“高中數(shù)學(xué)必修三《算法與程序框圖》教案”,僅供參考,歡迎大家閱讀。
高中數(shù)學(xué)必修三《算法與程序框圖》教案設(shè)計(jì)
學(xué)習(xí)目標(biāo):
1.明確算法的含義,熟悉算法的三種基本結(jié)構(gòu):順序、條件和循環(huán),以及基本的算法語句.
2.能熟練運(yùn)用輾轉(zhuǎn)相除法與更相減損術(shù)、秦九韶算法、進(jìn)位制等典型的算法知識(shí)解決同類問
題.
重點(diǎn):
算法的基本知識(shí)與算法對(duì)應(yīng)的程序框圖的設(shè)計(jì).
難點(diǎn):
與算法對(duì)應(yīng)的程序框圖的設(shè)計(jì)及算法程序的編寫.
要點(diǎn)梳理
知識(shí)點(diǎn)一:算法與程序框圖
1.算法的定義:廣義的算法是指完成某項(xiàng)工作的方法和步
驟,現(xiàn)代意義的算法是指可以用計(jì)算機(jī)來解決的某一類問
題的程序和步驟,這些程序或步驟必須是明確和有效的,
而且能夠在有限步之內(nèi)完成.
2.四種基本的程序框
3.三種基本邏輯結(jié)構(gòu)
(1)順序結(jié)構(gòu)
(2)條件結(jié)構(gòu)
(3)循環(huán)結(jié)構(gòu)
要點(diǎn)詮釋:
1.對(duì)于算法的理
解不能僅局限于解決
數(shù)學(xué)問題的方法,解
決任何問題的方法和
步驟都應(yīng)該是算法.算法具有概括性、抽象性、
正確性等特點(diǎn),要通過具體問題的過程和步驟
的分析去體會(huì)算法的思想,了解算法的含義.
2.在學(xué)習(xí)程序框圖時(shí)要掌握各程序框的
作用,準(zhǔn)確應(yīng)用三種基本邏輯結(jié)構(gòu),即順序結(jié)
構(gòu)、條件分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)來畫程序框圖,
準(zhǔn)確表達(dá)算法.
畫程序框圖是用基本語句來編
程的前提.知識(shí)點(diǎn)二:基本算法語句
1、輸入語句
2、輸出語句
3、賦值語句
4、條件語句
IF-THEN-ELSE格式
IF-THEN格式
5、循環(huán)語句
(1)WHILE語句
(2)UNTIL語句
要點(diǎn)詮釋:
基本算法語句是程序設(shè)
計(jì)語言的組成部分,注意各語
句的作用,準(zhǔn)確理解賦值語
句,靈活表達(dá)條件語句.計(jì)算機(jī)
能夠直接或間接理解的程序語
言都包含輸入語句、輸出語句、
賦值語句、條件語句和循環(huán)語句
等基本算法語句.輸入語句、輸
出語句和賦值語句貫穿于大多
數(shù)算法的結(jié)構(gòu)中,而算法中的條
件結(jié)構(gòu)由條件語句來表述,循環(huán)
結(jié)構(gòu)由循環(huán)語句來實(shí)現(xiàn).學(xué)習(xí)中
要熟練掌握這些基本算法語句.知
識(shí)點(diǎn)三:算法案例
案例1、輾轉(zhuǎn)相除法與更相減損術(shù)
1.利用輾轉(zhuǎn)相除法求最大公
約數(shù)的步驟如下:
(1)用較大的數(shù)m
除以較小的
數(shù)n得到一個(gè)商(2)若
商和一個(gè)余數(shù);≠0,則用除數(shù)n除以余數(shù)得到一個(gè)=0,則n為m,n的最大公約數(shù);若;
為m,n的最大公約數(shù);若
;??
=0,此時(shí)所得到的和一個(gè)余數(shù)=0,則(3)若商≠0,則用除數(shù)除以余數(shù)得到一個(gè)和一個(gè)余數(shù)依次計(jì)算直至即為所求的最大公約數(shù).2.更相減損術(shù)
(1)任意給出兩個(gè)正數(shù);判斷它們是否都是偶數(shù).若是,用2約簡(jiǎn);若不是,執(zhí)行第二步.
(2)以較大的數(shù)減去較小的數(shù),接著把較小的數(shù)與所得的差比較,并以大數(shù)減小數(shù).繼續(xù)這個(gè)操作,直到所得的數(shù)相等為止,則這個(gè)數(shù)(等數(shù))就是所求的最大公約數(shù).
案例2、秦九韶算法
用秦九韶算法求一般多項(xiàng)式f(x)=anxn+an-1xn-1+?.+a1x+a0當(dāng)x=x0時(shí)的值.
把n次多項(xiàng)式的求值問題轉(zhuǎn)化成求n個(gè)一次多項(xiàng)式的值的問題,即求
v1=anx+an-1
v2=v1x+an-2
v3=v2x+an-3
??..
vn=vn-1x+a0
的值的過程.案例3、進(jìn)位制
進(jìn)位制是一種記數(shù)方式,用有限的數(shù)字在不同的位置表示不同的數(shù)值.可使用數(shù)字符號(hào)的個(gè)數(shù)稱為基數(shù),基數(shù)為n,即可稱n進(jìn)位制,簡(jiǎn)稱n進(jìn)制.現(xiàn)在最常用的是十進(jìn)制,通常使用10個(gè)阿拉伯?dāng)?shù)字0-9進(jìn)行計(jì)數(shù).
要點(diǎn)詮釋:
我國(guó)古代數(shù)學(xué)發(fā)展的主導(dǎo)思想,就是構(gòu)造“算法”解決實(shí)際問題.通過對(duì)這些案例的閱讀、理解,同學(xué)們可以體會(huì)它們蘊(yùn)含的算法及其思想.
方法指導(dǎo)
1、在理解算法的基礎(chǔ)上,掌握算法的基本思想,發(fā)展有條理的思考與表達(dá)能力,提高邏輯思維能力.會(huì)用算法的思想和方法解決實(shí)際問題.從熟知的問題出發(fā),體會(huì)算法的程序化思想,通過實(shí)踐,主動(dòng)思維,經(jīng)歷不斷的從具體到抽象,從特殊到一般的抽象概括活動(dòng)來理解和掌握.
2、涉及具體問題的算法時(shí),要根據(jù)題目進(jìn)行選擇,以簡(jiǎn)單、程序短、易于在計(jì)算機(jī)上執(zhí)行為原則.
3、注意條件語句的兩種基本形式及各自的應(yīng)用范圍以及對(duì)應(yīng)的程序框圖.條件語句與算法中的條件結(jié)構(gòu)相對(duì)應(yīng),語句形式較為復(fù)雜,要會(huì)借助框圖寫出程序.
4、利用循環(huán)語句寫算法時(shí),要分清步長(zhǎng)、變量初值、終值,必須分清循環(huán)次數(shù)是否確定,若確定,兩種語句均可使用,當(dāng)循環(huán)次數(shù)不確定時(shí)用while語句.
5、復(fù)習(xí)算法案例時(shí),要體會(huì)其中蘊(yùn)含的算法思想,并能利用它解決具體問題.對(duì)課本涉及到的幾種算法,同學(xué)們要在理解的基礎(chǔ)上掌握其程序,并深刻體會(huì)古代數(shù)學(xué)中的算法思想.
高二數(shù)學(xué)期末知識(shí)點(diǎn):算法與程序框圖
高二數(shù)學(xué)期末知識(shí)點(diǎn):算法與程序框圖
1.算法的概念
(1)算法的定義:廣義的算法是指完成某項(xiàng)工作的方法和步驟,那么我們可以說洗衣機(jī)的使用說明書是操作洗衣機(jī)的算法,菜譜是做菜的算法等等。
在數(shù)學(xué)中,現(xiàn)代意義的算法是指可以用計(jì)算機(jī)來解決的某一類問題的程序和步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成。
(2)算法的特征:①確定性:算法的每一步都應(yīng)當(dāng)做到準(zhǔn)確無誤、不重不漏。不重是指不是可有可無的、甚至無用的步驟,不漏是指缺少哪一步都無法完成任務(wù)。②邏輯性:算法從開始的第一步直到最后一步之間做到環(huán)環(huán)相扣。分工明確,前一步是后一步的前提,后一步是前一步的繼續(xù)。③有窮性:算法要有明確的開始和結(jié)束,當(dāng)?shù)竭_(dá)終止步驟時(shí)所要解決的問題必須有明確的結(jié)果,也就是說必須在有限步內(nèi)完成任務(wù),不能無限制的持續(xù)進(jìn)行。
(3)算法的描述:自然語言、程序框圖、程序語言。
2.高中二年級(jí)數(shù)學(xué)必修三算法與程序框圖程序框圖
(1)程序框圖的概念:程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形;
(2)構(gòu)成程序框的圖形符號(hào)及其作用
(3)程序框圖的構(gòu)成
一個(gè)程序框圖包括以下幾部分:實(shí)現(xiàn)不同算法功能的相對(duì)應(yīng)的程序框;帶箭頭的流程線;程序框內(nèi)必要的說明文字。
3.高中二年級(jí)數(shù)學(xué)必修三算法與程序框圖幾種重要的結(jié)構(gòu)
(1)順序結(jié)構(gòu)
順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按從上到下的順序進(jìn)行的。它是由若干個(gè)依次執(zhí)行的步驟組成的,它是任何一個(gè)算法都離不開的一種基本算法結(jié)構(gòu)。
見示意圖和實(shí)例:
順序結(jié)構(gòu)在程序框圖中的體現(xiàn)就是用流程線將程序框自上而下地連接起來,按順序執(zhí)行算法步驟。如在示意圖中,A框和B框是依次執(zhí)行的,只有在執(zhí)行完A框指定的操作后,才能接著執(zhí)行B框所指定的操作。
(2)條件結(jié)構(gòu)
如下面圖示中虛線框內(nèi)是一個(gè)條件結(jié)構(gòu),此結(jié)構(gòu)中含有一個(gè)判斷框,算法執(zhí)行到此判斷給定的條件P是否成立,選擇不同的執(zhí)行框(A框、B框)。無論P(yáng)條件是否成立,只能執(zhí)行A框或B框之一,不可能既執(zhí)行A框又執(zhí)行B框,也不可能A框、B框都不執(zhí)行。A框或B框中可以有一個(gè)是空的,即不執(zhí)行任何操作。
見示意圖
(3)循環(huán)結(jié)構(gòu)
在一些算法中要求重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu)。即從算法某處開始,按照一定條件重復(fù)執(zhí)行某一處理過程。重復(fù)執(zhí)行的處理步驟稱為循環(huán)體。
循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)。
①當(dāng)型循環(huán)結(jié)構(gòu),如左下圖所示,它的功能是當(dāng)給定的條件P成立時(shí),執(zhí)行A框,A框執(zhí)行完畢后,返回來再判斷條件P是否成立,如果仍然成立,返回來再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次返回來判斷條件P不成立時(shí)為止,此時(shí)不再執(zhí)行A框,離開循環(huán)結(jié)構(gòu)。繼續(xù)執(zhí)行下面的框圖。
②直到型循環(huán)結(jié)構(gòu),如右下圖所示,它的功能是先執(zhí)行重復(fù)執(zhí)行的A框,然后判斷給定的條件P是否成立,如果P仍然不成立,則返回來繼續(xù)執(zhí)行A框,再判斷條件P是否成立。以次重復(fù)操作,直到某一次給定的判斷條件P時(shí)成立為止,此時(shí)不再返回來執(zhí)行A框,離開循環(huán)結(jié)構(gòu)。繼續(xù)執(zhí)行下面的框圖。
高中數(shù)學(xué)必修三1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(1)導(dǎo)學(xué)案
1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(1)
【學(xué)習(xí)目標(biāo)】
1.掌握程序框圖的概念.
2.掌握畫程序框圖的基本規(guī)則,能正確畫出含順序結(jié)構(gòu)的程序框圖.
【新知自學(xué)】
知識(shí)回顧:
1.算法的概念
2.算法的特點(diǎn)
新知梳理:
1.程序框圖
(1)定義
程序框圖又稱,是一種用、
及來表示算法的圖形.
(2)表示
在程序框圖中,算法的一個(gè)步驟通常用一個(gè)或幾個(gè)的組合來表示:帶有方向箭頭將程序框連接起來,表示算法步驟.
(3)常見的程序框、流程線及其各自表示的功能
圖形符號(hào)名稱功能
感悟:學(xué)習(xí)這部分知識(shí),要掌握各個(gè)圖形的形狀、作用及使用規(guī)則,畫程序框圖的規(guī)則如下:
(1)使用標(biāo)準(zhǔn)的圖形符號(hào).
(2)框圖一般按從上到下、從左到右的方向畫.
(3)除判斷框外,大多數(shù)流程圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn).判斷框具有超過一個(gè)退出點(diǎn)的唯一符號(hào).
(4)判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個(gè)結(jié)果;另一類
是多分支判斷,有幾種不同的結(jié)果.
(5)在圖形符號(hào)內(nèi)描述的語言要非常簡(jiǎn)練清楚.
2.算法的順序結(jié)構(gòu)
任何一個(gè)算法各步驟之間都有明確的順序性,在算法的程序框圖中,由若干個(gè)依次執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為順序結(jié)構(gòu),用程序框圖可以表示為:
在順序結(jié)構(gòu)中可能會(huì)用到哪幾種程序框和流程線?
對(duì)點(diǎn)練習(xí):1.下面對(duì)算法描述正確的一項(xiàng)是().
A.算法只能用自然語言來描述
B.算法只能用圖形方式來表示
C.同一問題可以有不同的算法
D.同一問題的算法不同,結(jié)果必然不同
2.已知直角三角形兩直角邊長(zhǎng)為,,求斜邊長(zhǎng)的一個(gè)算法分下列三步:
①計(jì)算;
②輸入直角三角形兩直角邊長(zhǎng),的值;
③輸出斜邊長(zhǎng)的值,其中正確的順序是().
A.①②③B.②③①
C.①③②D.②①③
3.程序框圖中表示判斷框的是().
A.矩形框B.菱形框
C.圓形框D.橢圓形框
【合作探究】
典例精析
例題1.寫出“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法步驟,并用圖形表示寫出的算法.
變式練習(xí)1:若一個(gè)三角形的三條邊長(zhǎng)分別為,令,則三角形的面積.你能利用這個(gè)公式設(shè)計(jì)一個(gè)計(jì)算三角形面積的算法步驟嗎?.
你所寫出的算法步驟如何用程序框圖表示?
例題2.已知下圖是“求一個(gè)正奇數(shù)的平方加5的值”的程序框圖,若輸出的數(shù)是30,求輸入的數(shù)n的值.
變式練習(xí)2:已知點(diǎn)和直線,求點(diǎn)到直線的距離.設(shè)計(jì)算法,并畫出程序框圖.
【課堂小結(jié)】
【當(dāng)堂達(dá)標(biāo)】
1.下面的結(jié)論正確的是().
A.一個(gè)程序的算法步驟是可逆的
B.一個(gè)算法可以無止境地運(yùn)算下去的
C.完成一件事情的算法有且只有一種
D.設(shè)計(jì)算法要本著簡(jiǎn)單方便的原則
2.算法的有窮性是指().
A.算法必須包含輸出
B.算法中每個(gè)操作步驟都是可執(zhí)行的
C.算法的步驟必須有限
D.以上說法均不正確
3.下面的程序框圖的算法功能為交換兩個(gè)變量的值,則在①處應(yīng)填.
【課時(shí)作業(yè)】
1.看下面的四段話,其中不是解決問題的算法是().
A.從濟(jì)南到北京旅游,先坐火車,再坐飛機(jī)抵達(dá)
B.解一元一次方程的步驟是去分母、去括號(hào)、移項(xiàng)、合并同類項(xiàng)、系數(shù)化為1
C.方程有兩個(gè)實(shí)根
D.求1+2+3+4+5的值,先計(jì)算1+2=3,再計(jì)算3+3=6,6+4=10,10+5=15,最終結(jié)果為15
2.下列關(guān)于程序框圖的說法,正確的個(gè)數(shù)是()
①程序框圖只有一個(gè)入口,也只有一個(gè)出口;
②程序框圖中的每一部分都應(yīng)有一條從入口到出口的路徑通過它;
③程序框圖中的輸入框必須緊跟在開始框后.
A.0B.1C.2D.3
3.如圖所示的程序框圖,其輸出的結(jié)果是()
A.4B.5C.6D.13
4.寫出求1+2+3+4+5+6+…+100的一個(gè)算法.可運(yùn)用公式1+2+3+…+=直接計(jì)算.
第一步,??;
第二步,計(jì)算;
第三步,輸出計(jì)算的結(jié)果.
5.已知圓的半徑,設(shè)計(jì)一個(gè)求圓的周長(zhǎng)和面積的近似值,并用程序框圖表示.
6.已知一個(gè)等邊三角形的周長(zhǎng)為,求這個(gè)三角形的面積.設(shè)計(jì)一個(gè)算法解決這個(gè)問題,并用程序框圖表示.
高中數(shù)學(xué)必修三1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(2)導(dǎo)學(xué)案
1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(2)
【學(xué)習(xí)目標(biāo)】
1.理解算法的三個(gè)基本邏輯結(jié)構(gòu).
2.掌握畫程序框圖的基本規(guī)則,會(huì)畫一個(gè)算法的程序框圖.
【新知自學(xué)】
知識(shí)回顧:
1.程序框圖的定義?
2.程序框圖中的順序結(jié)構(gòu)的示意圖?
新知梳理:
1.條件結(jié)構(gòu)的程序框圖
算法的流程根據(jù)有不同的流向,處理這種過程的結(jié)構(gòu)就是條件結(jié)構(gòu).它有入口和出口,但最后只有一個(gè)終結(jié)口.
試畫出條件結(jié)構(gòu)的示意圖:
2.循環(huán)結(jié)構(gòu)的程序框圖
在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照
反復(fù)執(zhí)行某些步驟的情況,這就是循環(huán)結(jié)構(gòu).反復(fù)執(zhí)行的步驟稱為.
試畫出循環(huán)結(jié)構(gòu)的示意圖:
循環(huán)結(jié)構(gòu)有兩種主要結(jié)構(gòu)形式,
和.你能說出它們的特征嗎?
對(duì)點(diǎn)練習(xí):
1.算法的三種基本結(jié)構(gòu)是().
A.順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B.順序結(jié)構(gòu)、流程結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.順序結(jié)構(gòu)、分支結(jié)構(gòu)、流程結(jié)構(gòu)
D.流程結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、分支結(jié)構(gòu)
2.算法有三種結(jié)構(gòu),下列說法正確的是().
A.一個(gè)算法只能含有一種邏輯結(jié)構(gòu)
B.一個(gè)算法最多可以包含兩種邏輯結(jié)構(gòu)
C.一個(gè)算法必須含有上述三種邏輯結(jié)構(gòu)
D.一個(gè)算法可以含有三種邏輯結(jié)構(gòu)的任意組合
3.在算法的邏輯結(jié)構(gòu)中,要求進(jìn)行邏輯判斷,并根據(jù)結(jié)果進(jìn)行不同處理的是哪種結(jié)構(gòu)().
A.順序結(jié)構(gòu)
B.條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
C.順序結(jié)構(gòu)和條件結(jié)構(gòu)
D.沒有任何結(jié)構(gòu)
【合作探究】
典例精析
例題1、已知函數(shù)設(shè)計(jì)一個(gè)算法,輸入自變量的值,輸出對(duì)應(yīng)的函數(shù)值.請(qǐng)寫出算法步驟,并畫出程序框圖.
變式訓(xùn)練1、已知函數(shù),試寫出求該函數(shù)值的算法,并畫出程序框圖.
例題2、設(shè)計(jì)一個(gè)計(jì)算1+2+…+100的值的算法,并畫出程序框圖.
變式訓(xùn)練2、用程序框圖表示:求
的值的一個(gè)算法.
例題3、求滿足的最小正整數(shù)的程序框圖.
給出以下一個(gè)程序框圖,判斷是否正確,若都不正確,請(qǐng)你給出一個(gè)正確的程序框圖.
【課堂小結(jié)】
【當(dāng)堂達(dá)標(biāo)】
1.如圖,閱讀程序框圖,則輸出的=()
A.26B.35C.40D.57
2.如圖所示的程序框圖能判斷任意輸入的整數(shù)的奇偶性,則判斷框內(nèi)的條件是()
A.B.C.D.
3.如圖所示的程序框圖,輸出的結(jié)果是,則輸入的值為
【課時(shí)作業(yè)】
1.如圖所示的是一個(gè)算法的程序框圖,已知,輸出的結(jié)果為7,則的值是()
A.9B.10C.11D.12
2.下列算法中,含有條件結(jié)構(gòu)的是()
(A)1(B)2(C)3(D)4
A.求兩個(gè)數(shù)的積
B.求點(diǎn)到直線的距離
C.解一元二次不等式
D.已知梯形兩底和高求面積
3.如圖所示的程序框圖,其功能是()
A.輸入的值,按從小到大的順序輸出它們的值
B.輸入的值,按從大到小的順序輸出它們的值C.求的最大值
D.求的最小值
3.執(zhí)行如圖所示的程序框圖,輸出的T=
4.設(shè)計(jì)求的一個(gè)算法,并畫出相應(yīng)的程序框圖.