国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《算法的概念與描述》教學(xué)設(shè)計(jì)谷愛(ài)清

2019-10-21 06:46曹恒來(lái)
中國(guó)信息技術(shù)教育 2019年16期
關(guān)鍵詞:流程圖單價(jià)算法

曹恒來(lái)

學(xué)習(xí)內(nèi)容分析

算法就是解決問(wèn)題的方法與步驟。程序設(shè)計(jì)時(shí),首先分析所要解決的問(wèn)題,然后進(jìn)行算法設(shè)計(jì),再選用一種計(jì)算機(jī)語(yǔ)言來(lái)描述算法,形成計(jì)算機(jī)程序,因此算法是程序設(shè)計(jì)的基礎(chǔ)。設(shè)計(jì)了一個(gè)算法之后,不能只是心知肚明,還必須準(zhǔn)確清楚地將它記錄下來(lái),或提供交流,或依靠它來(lái)編寫(xiě)程序。描述算法的方法有很多,常用的有自然語(yǔ)言、流程圖、偽代碼等。解決同一個(gè)問(wèn)題的算法可能有多種,也會(huì)有優(yōu)劣之分。

學(xué)習(xí)者分析

本課的學(xué)習(xí)對(duì)象是八年級(jí)學(xué)生,他們處于皮亞杰認(rèn)知理論階段的形式運(yùn)算階段,好奇心強(qiáng),有—定的探索能力和表達(dá)欲望,并且能夠在原有知識(shí)的基礎(chǔ)上進(jìn)行遷移,生活中也接觸過(guò)各種各樣的“算法”。但是,絕大多數(shù)學(xué)生沒(méi)有接觸過(guò)程序設(shè)計(jì),即使接觸過(guò)程序設(shè)讓也不夠熟悉。很少有學(xué)生用計(jì)算機(jī)實(shí)現(xiàn)過(guò)算法,從生活算法出發(fā),可以幫助學(xué)生形成算法的概念,但難以形成全面、透徹的認(rèn)識(shí)。雖然在日常生活中經(jīng)常遇到各種各樣的流程圖,但對(duì)流程圖的認(rèn)識(shí)只是停留在直觀感受的層面,也不知道如何規(guī)范地使用流程圖符號(hào)來(lái)描述算法。

學(xué)習(xí)目標(biāo)

(1)理解算法的概念,明確算法對(duì)于程序設(shè)計(jì)的重要性。

(2)學(xué)會(huì)使用自然語(yǔ)言和流程圖描述算法。

(3)理解算法的三種基本結(jié)構(gòu)

(4)在用不同方法解決查找問(wèn)題的過(guò)程中,體會(huì)算法的效率。

教學(xué)重點(diǎn)及難點(diǎn)

教學(xué)重點(diǎn):使用自然語(yǔ)言和流程圖描述算法,明確算法對(duì)于程序設(shè)計(jì)的重要性。

教學(xué)難點(diǎn):使用流程圖描述算法。

教學(xué)過(guò)程

1.感知生活,走進(jìn)算法

腹有詩(shī)書(shū)氣自華,最是書(shū)香能致遠(yuǎn)。讀書(shū)可以讓人保持思想活力,讓人得到智慧啟發(fā),讓人滋養(yǎng)浩然之氣。

活動(dòng)1:為了營(yíng)造良好的閱讀環(huán)境,小明去新華書(shū)店為班級(jí)采購(gòu)圖書(shū)。思考以下問(wèn)題:

(1)生活中買(mǎi)書(shū)的流程是什么?(①選書(shū);②付款)

(2)購(gòu)買(mǎi)了某種圖書(shū)后,如何計(jì)算付款額?(①已知購(gòu)書(shū)數(shù)量和圖書(shū)單價(jià);②將數(shù)量乘以單價(jià);③得出付款額)

小結(jié):這種為解決一個(gè)問(wèn)題而采取的方法和步驟,就稱為算法。買(mǎi)書(shū)的流程、計(jì)算付款額的步驟,其實(shí)就是算法。

設(shè)計(jì)意圖:通過(guò)計(jì)算圖書(shū)的付款額這個(gè)“現(xiàn)實(shí)”中的問(wèn)題,引導(dǎo)學(xué)生對(duì)問(wèn)題進(jìn)行分析,找到解決問(wèn)題的方法和步驟,感知生活中的算法,從而揭開(kāi)算法的神秘面紗,初步建立算法的概念。

2.解決問(wèn)題,描述算法

為便于交流,設(shè)計(jì)好算法之后,還必須把它準(zhǔn)確清楚地表示出來(lái)。描述算法的方法有多種,活動(dòng)1采用的是自然語(yǔ)言也就是日常生活中使用的漢語(yǔ)、英語(yǔ)等語(yǔ)言。還可以用流程圖描述算法,流程圖是用一組規(guī)定式樣的幾何圖形、簡(jiǎn)明扼要的文字和帶箭頭的流線來(lái)表示算法。

活動(dòng)2:用流程圖描述“計(jì)算圖書(shū)付款額”的算法(如圖1)。

(1)結(jié)合生活經(jīng)驗(yàn),說(shuō)一說(shuō)表1中各流程圖符號(hào)的作用。

(2)教師演示“畫(huà)程”軟件中的圖標(biāo)工具及使用方法。學(xué)生參照自然語(yǔ)言描述的算法,嘗試?yán)L制“計(jì)算圖書(shū)付款額”的流程圖。(圖書(shū)數(shù)量為x,單價(jià)為y,付款額為pay)

(3)觀察并執(zhí)行“計(jì)算圖書(shū)付款金額”流程圖,總結(jié)該算法的結(jié)構(gòu)特點(diǎn)。

小結(jié):①算法可以用自然語(yǔ)言和流程圖來(lái)進(jìn)行描述;②這個(gè)流程圖中的各個(gè)操作能夠按照自上而下的順序執(zhí)行,因此稱為順序結(jié)構(gòu)。

活動(dòng)3:“五一”到了新華書(shū)店搞優(yōu)惠促銷活動(dòng),全場(chǎng)享受九折優(yōu)惠,凡購(gòu)書(shū)滿200元打八五折。請(qǐng)用流程圖來(lái)描述優(yōu)惠購(gòu)書(shū)時(shí)計(jì)算付款額的算法。

(1)用自然語(yǔ)言描述打折算法。

①輸入書(shū)的數(shù)量x(本)和單價(jià)y(元);

②計(jì)算pay=xy;

③判斷:如果()成立,則打九折,pay pay*0.9,否則打八五折,();

④輸出付款金額payo

(2)參照自然語(yǔ)言描述的算法,使用“畫(huà)程”軟件繪制流程圖(如圖2),執(zhí)行該流程圖,輸入不同的購(gòu)書(shū)數(shù)量及單價(jià),思考:

①這個(gè)流程圖中是用哪種圖形符號(hào)實(shí)現(xiàn)條件判斷?

②這個(gè)問(wèn)題中的條件是什么?條件成立時(shí)執(zhí)行什么操作?不成立又執(zhí)行什么操作?

小結(jié):虛線框內(nèi)利用“判斷選擇”框?qū)l件進(jìn)行判斷,根據(jù)給定的條件是否成立,從兩個(gè)分支路徑中選擇執(zhí)行其中之一,這種控制結(jié)構(gòu)稱為分支結(jié)構(gòu)(或選擇結(jié)構(gòu))。

活動(dòng)4:小明在新華書(shū)店看到了多種喜愛(ài)的圖書(shū),決定全部購(gòu)買(mǎi)下來(lái),又該如何計(jì)算付款額呢?

(1)思考分析:

①假如小明買(mǎi)了兩種圖書(shū),如何計(jì)算付款額?購(gòu)買(mǎi)多種圖書(shū)時(shí),又如何計(jì)算付款額呢?

②如何實(shí)現(xiàn)循環(huán)?又該如何結(jié)束循環(huán)?(以輸入的圖書(shū)數(shù)量0作為結(jié)束循環(huán)的標(biāo)志)

(2)請(qǐng)用自然語(yǔ)言描述該算法。

①付款額pay清0;

②輸入書(shū)的數(shù)量x(本)和單價(jià)y(元);

③如果()成立,則:

計(jì)算pay=x*y+pay.();

回到③,重復(fù)執(zhí)行;

否則結(jié)束循環(huán);

④輸出付款金額pay

(3)使用“畫(huà)程”軟件繪制流程圖(如圖3),執(zhí)行流程圖,輸入各種圖書(shū)的數(shù)量及單價(jià),思考:

①用什么圖形符號(hào)可以描述重復(fù)執(zhí)行的過(guò)程?

②該流程圖是如何執(zhí)行的?

小結(jié):虛線框內(nèi)利用“判斷循環(huán)”框?qū)l件進(jìn)行判斷,若條件成立,重復(fù)執(zhí)行某個(gè)操作,這種控制結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu)。

通過(guò)計(jì)算圖書(shū)付款額系列問(wèn)題,我們發(fā)現(xiàn):①自然語(yǔ)言描述算法容易理解;②流程圖描述算法直觀、簡(jiǎn)潔、易懂,并且邏輯關(guān)系清晰;③算法有三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。在實(shí)際編程過(guò)程中常將這三種結(jié)構(gòu)進(jìn)行組合以實(shí)現(xiàn)各種算法。

設(shè)計(jì)意圖:從分析計(jì)算圖書(shū)付款額的問(wèn)題出發(fā),分別利用自然語(yǔ)言及流程圖來(lái)描述算法,體會(huì)自然語(yǔ)言、流程圖描述算法的特點(diǎn)。在解決計(jì)算“購(gòu)買(mǎi)一種圖書(shū)付款額”“優(yōu)惠購(gòu)書(shū)”“購(gòu)買(mǎi)多種圖書(shū)”付款額等系列問(wèn)題過(guò)程中,理解算法的三種基本結(jié)構(gòu),學(xué)生分析問(wèn)題、解決問(wèn)題的能力也得到提升。選用“畫(huà)程”工具來(lái)繪制流程圖,學(xué)生只需用拖拽圖標(biāo)的方式就能輕松地繪制流程圖,而且這個(gè)流程圖是可以執(zhí)行的,以驗(yàn)證算法是否可行,使得算法學(xué)習(xí)能夠以“學(xué)生”和“思維”為中心,在沒(méi)有接觸程序設(shè)計(jì)語(yǔ)言的情況下也能夠研究和設(shè)計(jì)算法,大大降低了算法學(xué)習(xí)的門(mén)檻。

3.實(shí)例分析,再認(rèn)算法

前面圖書(shū)的單價(jià)都是由用戶輸入的,而在實(shí)際生活中,往往是通過(guò)輸入商品編碼,從數(shù)據(jù)庫(kù)中查找對(duì)應(yīng)商品的單價(jià)。

活動(dòng)5:根據(jù)圖書(shū)ISBN編碼,在表2“圖書(shū)信息表”中查找圖書(shū)單價(jià)(表中的圖書(shū)信息是按照?qǐng)D書(shū)ISBN編碼從小到大排序的)。如果查找到該圖書(shū)信息,則輸出單價(jià),如果沒(méi)有查找到,則輸出“未入庫(kù)!”。請(qǐng)你設(shè)計(jì)一種實(shí)現(xiàn)圖書(shū)單價(jià)查詢的算法。

(1)先結(jié)合日常經(jīng)驗(yàn)說(shuō)一說(shuō)你的查找方法。

(2)選擇幾種圖書(shū),使用你所選定的查找方法,根據(jù)"ISBN編碼”在“圖書(shū)信息表”中查找該編碼對(duì)應(yīng)的單價(jià),并記錄相關(guān)數(shù)據(jù),如表3。

(3)與同學(xué)交流,比較各種查找算法的效率。

小結(jié):解決問(wèn)題的算法可能有多種,不同的算法有優(yōu)有劣,這當(dāng)中的差異甚至可以很大。我們?cè)谠O(shè)計(jì)算法時(shí)要盡可能地對(duì)算法進(jìn)行優(yōu)化,以提高程序的效率。

設(shè)計(jì)意圖:通過(guò)按碼索價(jià)活動(dòng)初步體驗(yàn)算法的應(yīng)用,感受算法的價(jià)值。各組學(xué)生根據(jù)搭建的支架探究解決查找問(wèn)題的方法,如順序查找和二分查找。通過(guò)這些查找方法的比較,學(xué)生感受到同一個(gè)問(wèn)題可能有多種解決方法,而且方法也有優(yōu)劣之分,優(yōu)秀算法能提高解決問(wèn)題的效率,從而更好地理解“算法是程序的靈魂”這句話的含義。

4.思維導(dǎo)圖,梳理知識(shí)

課件展示,引導(dǎo)學(xué)生利用思維導(dǎo)圖對(duì)算法知識(shí)加以梳理(如上頁(yè)圖4)。

結(jié)束語(yǔ):算法是程序的靈魂。在用計(jì)算機(jī)編程解決問(wèn)題時(shí),首先要分析問(wèn)題,確定算法,然后才能用計(jì)算機(jī)語(yǔ)言編寫(xiě)程序。著名計(jì)算機(jī)科學(xué)家李國(guó)杰院士對(duì)算法作了精辟論述:“算法設(shè)計(jì)是人類智慧的結(jié)晶,計(jì)算機(jī)的知識(shí)創(chuàng)新,主要就是算法的創(chuàng)新,創(chuàng)建一種新算法其意義不亞于建造一種新機(jī)型?!?/p>

設(shè)計(jì)意圖:借助思維導(dǎo)圖,引導(dǎo)學(xué)生將關(guān)鍵知識(shí)點(diǎn)整合并以結(jié)構(gòu)化方式呈現(xiàn),進(jìn)一步鞏固學(xué)生的認(rèn)知結(jié)構(gòu)。最后借用李國(guó)杰院士的一段話作結(jié)束語(yǔ),凸顯出算法是程序的靈魂,讓學(xué)生更加清晰地了解算法在程序設(shè)計(jì)中的地位和作用,為后續(xù)學(xué)習(xí)做好鋪墊。

點(diǎn)評(píng)

在信息化社會(huì)中,生產(chǎn)、生活中許多問(wèn)題的解決需要運(yùn)用各種信息化設(shè)備,這些設(shè)備的運(yùn)作都是靠人用程序來(lái)指揮的,而程序只是用某種計(jì)算機(jī)語(yǔ)言所描述或表示的算法。所以說(shuō),算法是計(jì)算機(jī)信息處理的核心和基礎(chǔ)。掌握算法的基本思想,可以更好地理解這些信息化設(shè)備的內(nèi)在運(yùn)行機(jī)制,從而更有利于掌握各種信息化設(shè)備的應(yīng)用,更陜適應(yīng)時(shí)代的步伐。算法是對(duì)特定問(wèn)題求解步驟的一種精確描述,算法這種確定性的特征,使得算法的學(xué)習(xí)對(duì)提高學(xué)生邏輯思維能力具有直接的促進(jìn)作用。然而,初學(xué)者對(duì)算法概念及流程圖的圖形符號(hào)既熟悉又陌生,老師的教學(xué)往往過(guò)于注重算法形式的學(xué)習(xí)而淡化對(duì)算法本質(zhì)的理解,學(xué)生雖然也能明白教科書(shū)上的算法案例,卻不能正確應(yīng)用算法來(lái)解決問(wèn)題。本節(jié)課克服了上述不足,其教學(xué)具有以下幾個(gè)方面的特色:

一是關(guān)注了計(jì)算機(jī)算法的本質(zhì)特征。算法可分為三種形式:第一種是生活算法,即完成某一項(xiàng)工作的方法和步驟;第二種是數(shù)學(xué)算法,即數(shù)學(xué)運(yùn)算法則和解題規(guī)則;第三種是計(jì)算機(jī)算法,即求解某一類問(wèn)題的一個(gè)運(yùn)算序列。由于生活算法與計(jì)算機(jī)算法有非常相似的地方,許多老師常常使用生活算法來(lái)類比計(jì)算機(jī)算法,例如“狼羊過(guò)河”的問(wèn)題,通過(guò)游戲的方式模擬狼羊過(guò)河的步驟引出算法的概念,這里呈現(xiàn)的過(guò)河的過(guò)程并不是算法實(shí)施的結(jié)果,這個(gè)問(wèn)題實(shí)際上人事先已經(jīng)解決好了。而計(jì)算機(jī)算法則強(qiáng)調(diào)通過(guò)一系列的運(yùn)算之后,由計(jì)算機(jī)輸出問(wèn)題解決的結(jié)果,例如在用遞歸法解決“漢諾塔”問(wèn)題時(shí),計(jì)算機(jī)給出的移動(dòng)金盤(pán)的過(guò)程就是算法實(shí)施的結(jié)果,所以說(shuō),計(jì)算機(jī)算法實(shí)際上是使用機(jī)械化的方法進(jìn)行問(wèn)題的自動(dòng)求解,我們并不能簡(jiǎn)單地把生活算法映射到計(jì)算機(jī)算法。本課則回到了計(jì)算機(jī)信息處理的原始含義——數(shù)值計(jì)算,通過(guò)計(jì)算圖書(shū)付款額這個(gè)“現(xiàn)實(shí)”中的問(wèn)題,引導(dǎo)學(xué)生對(duì)問(wèn)題進(jìn)行分析,找到解決問(wèn)題的方法和步驟,其中內(nèi)隱了計(jì)算機(jī)解決問(wèn)題的基本過(guò)程,即輸入信息

處理輸出信息,既引出了算法的概念,又較好地體現(xiàn).了計(jì)算機(jī)算法的本質(zhì)。

二是創(chuàng)設(shè)真實(shí)的問(wèn)題情境。以往的算法教學(xué),算法的三種基本結(jié)構(gòu)常常以去情境化的方式教給學(xué)生,學(xué)生未能經(jīng)歷可信可靠的“真正的學(xué)習(xí)”,難以形成篇決實(shí)際問(wèn)題的能力。本課則創(chuàng)設(shè)了“計(jì)算圖書(shū)付款額”的真實(shí)問(wèn)題,設(shè)計(jì)了系列的四個(gè)活動(dòng):活動(dòng)1對(duì)“購(gòu)買(mǎi)圖書(shū)付款”的—般過(guò)程進(jìn)行分析,通過(guò)用自然語(yǔ)言精確描述解決這個(gè)問(wèn)題的步驟,引出算法的概念;活動(dòng)2則將活動(dòng)1中用自然語(yǔ)言描述的算法轉(zhuǎn)化為流程圖,在實(shí)施算法的過(guò)程中引導(dǎo)學(xué)生發(fā)現(xiàn)順序結(jié)構(gòu);活動(dòng)3中學(xué)生在對(duì)優(yōu)惠購(gòu)書(shū)方式分析的基礎(chǔ)上,嘗試用分支結(jié)構(gòu)描述算法,以解決優(yōu)惠購(gòu)書(shū)問(wèn)題;活動(dòng)4是用循環(huán)結(jié)構(gòu)解決“計(jì)算多種圖書(shū)付款額”問(wèn)題。學(xué)生在不斷嘗試的過(guò)程中,逐步學(xué)會(huì)運(yùn)用算法解決實(shí)際問(wèn)題,理解和掌握算法的三種基本結(jié)構(gòu)。三個(gè)子問(wèn)題的復(fù)雜度是不斷增加的,學(xué)生又較好地體會(huì)到了運(yùn)用迭代思維解決復(fù)雜問(wèn)題的思路和方法。

三是使用畫(huà)程工具降低算法學(xué)習(xí)的門(mén)檻。算法學(xué)習(xí)存在兩大障礙:一是在用自然語(yǔ)言描述算法之后,怎么把它轉(zhuǎn)化為流程圖,無(wú)論是用紙筆,還是用wbrd、visio等軟件,都比較費(fèi)時(shí)費(fèi)力;二是畫(huà)好的流程圖,怎么轉(zhuǎn)化為程序?流程圖是人與人之間交流算法思想的工具,對(duì)于初學(xué)者來(lái)說(shuō),還不會(huì)編寫(xiě)程序,因此無(wú)法寫(xiě)出代碼驗(yàn)證算法,最終使算法學(xué)習(xí)淪為紙上談兵。畫(huà)程軟件較好地解決了這兩個(gè)問(wèn)題,只用拖拽圖標(biāo)的方式就能輕松地繪制流程圖,這個(gè)流程圖還是可以執(zhí)行的,學(xué)生能夠通過(guò)算法的實(shí)施來(lái)檢驗(yàn)問(wèn)題解決的效果,那么在研究和設(shè)計(jì)算法時(shí),就可以暫時(shí)不理會(huì)程序設(shè)計(jì)的細(xì)節(jié),只需專注于算法思想,大大降低了算法學(xué)習(xí)的門(mén)檻。

四是通過(guò)實(shí)驗(yàn)體會(huì)算法在程序設(shè)計(jì)中的地位和作用。對(duì)于同一個(gè)問(wèn)題,可能有多種算法,這些算法雖然功能相同,但性能卻可能不完全一樣,也就是說(shuō),算法有優(yōu)劣之分。最后的“按碼索價(jià)”活動(dòng),通過(guò)思想實(shí)驗(yàn)的方式進(jìn)行推演,在沒(méi)有編程的情況下,對(duì)“順序查找”和“二分查找”這兩種算法進(jìn)行比較,感受優(yōu)秀的算法可以提高解決問(wèn)題的效率,從而真正理解“算法是程序的靈魂”這句話的含義。

猜你喜歡
流程圖單價(jià)算法
云的識(shí)別指南
深度研讀教材策略一:還原數(shù)學(xué)知識(shí)的本質(zhì)原理(2)
Travellng thg World Full—time for Rree
學(xué)習(xí)算法的“三種境界”
算法框圖的補(bǔ)全
算法初步知識(shí)盤(pán)點(diǎn)
1~6月我國(guó)新聞紙出口量增加4.6倍
2014年中考數(shù)學(xué)命題大預(yù)測(cè)試題
流程圖學(xué)習(xí)指南
黑山县| 富锦市| 东明县| 三门峡市| 东乡县| 佳木斯市| 馆陶县| 尖扎县| 滨州市| 额尔古纳市| 台安县| 礼泉县| 徐汇区| 博白县| 房山区| 南京市| 新建县| 义马市| 八宿县| 陇西县| 通州区| 比如县| 雷州市| 奉节县| 老河口市| 辰溪县| 大田县| 新绛县| 马尔康县| 开江县| 肇东市| 柞水县| 驻马店市| 蛟河市| 永济市| 高要市| 榆社县| 莲花县| 常德市| 江油市| 沈丘县|