葉宏中
【摘 要】處理信息的方法有多種,除了可以使用通用的工具外,我們還可以使用編程來解決問題。在程序設(shè)計(jì)中,算法具有十分重要的地位。只有理解與熟練地掌握各種算法才能設(shè)計(jì)出良好的程序,對(duì)各種復(fù)雜多樣的信息進(jìn)行處理。因此如何有效地開展算法教學(xué)成為信息技術(shù)教學(xué)中一個(gè)非常重要的課題。
【關(guān)鍵詞】算法 信息技術(shù)
信息的處理方法有多種,我們可以使用多種方法進(jìn)行信息的處理。除了可以使用現(xiàn)有的通用工具,也可以通過編程來解決問題。因此程序設(shè)計(jì)教學(xué)就成為高中信息技術(shù)教學(xué)的一項(xiàng)重要學(xué)習(xí)內(nèi)容。在程序設(shè)計(jì)教學(xué)中最重要的問題其實(shí)不是程序語言而是算法,因此算法教學(xué)在程序設(shè)計(jì)以及信息技術(shù)教學(xué)中占有重要的地位。
在信息技術(shù)教學(xué)中算法的教學(xué)占據(jù)著十分重要的地位。雖然高中數(shù)學(xué)中也有算法的教學(xué),但和信息技術(shù)中的算法教學(xué)還是存在著一定的差別。數(shù)學(xué)中的算法教學(xué)它是一種單純的算法處理,而信息技術(shù)中的算法教學(xué)必須結(jié)合考慮計(jì)算機(jī)的運(yùn)行特點(diǎn),即這種算法在計(jì)算機(jī)中是可實(shí)現(xiàn)的。算法的教學(xué)存在著一定的困難,原因有多方面,既有主觀原因也有客觀原因,那么如何才能更為有效地開展算法教學(xué)呢?對(duì)于這個(gè)問題各位學(xué)者與前輩都見仁見智,筆者根據(jù)多年的教學(xué)經(jīng)驗(yàn)提出自己的一點(diǎn)淺陋之見。
程序設(shè)計(jì)教學(xué)是高中信息技術(shù)教學(xué)中一項(xiàng)很重要的學(xué)習(xí)內(nèi)容,很多學(xué)生對(duì)于程序設(shè)計(jì)既感覺到神秘又感到害怕??傆X得程序設(shè)計(jì)很難學(xué),其實(shí)每個(gè)智力正常的人,都應(yīng)該擁有用電腦進(jìn)行程序設(shè)計(jì)的本領(lǐng),但為什么很多人都只能徘徊在程序設(shè)計(jì)的大門之外呢?這絕對(duì)不是他們不夠聰明,只是還沒有找到將日常的思維方式轉(zhuǎn)換成計(jì)算機(jī)的工作流的竅門。而這個(gè)竅門就是算法即程序算法。可以這么說,如果將寫程序和練武功做比較的話,那算法對(duì)于寫程序而言就是內(nèi)功基礎(chǔ),乃編程根基之所在。只有將算法學(xué)好,熟練掌握各種算法的基本思想與實(shí)際運(yùn)用方法才能在程序設(shè)計(jì)中得心應(yīng)手。在信息技術(shù)教學(xué)中如何有效開展算法教學(xué)一直是一個(gè)十分棘手的問題,也是一個(gè)值得我們信息技術(shù)教師去探討與交流的問題。
對(duì)大部分學(xué)生來說,算法這個(gè)名詞可能很陌生,但算法的應(yīng)用對(duì)學(xué)生來說卻并不陌生,只不過我們平常沒有意識(shí)到而已。我們?nèi)粘I钪信龅降脑S多問題都是按照一定的要求來完成的,這其實(shí)就是一種算法;可以這樣說我們的日常生活都離不開算法。從小學(xué)開始我們?cè)谶M(jìn)行數(shù)學(xué)運(yùn)算時(shí)所遵循的一系列規(guī)則,例如四則混合運(yùn)算中的先乘除、后加減的規(guī)則,括號(hào)運(yùn)算的處理規(guī)則等,這些其實(shí)都是學(xué)生最初接觸到的算法實(shí)例。在生活中也離不開算法。算法的實(shí)質(zhì)是將人的思考過程處理成計(jì)算機(jī)能夠執(zhí)行的步驟,進(jìn)而轉(zhuǎn)化為可執(zhí)行的程序。在實(shí)際教學(xué)中教學(xué)的難點(diǎn)是對(duì)算法概念的理解和對(duì)算法的描述,尤其是對(duì)一些特殊算法的理解與掌握,由于學(xué)生初次接觸,更加難以掌握。這種狀況更值得我們來關(guān)注,在教學(xué)中更需要有針對(duì)性地來進(jìn)行教學(xué)設(shè)計(jì)才能完成這些算法的實(shí)現(xiàn)。所以在教學(xué)過程中,我們首先要打破學(xué)生對(duì)算法的神秘感和害怕感,讓我們的學(xué)生認(rèn)識(shí)到算法其實(shí)和我們每一個(gè)人的生活都息息相關(guān),我們不管是在解一些數(shù)學(xué)難題還是進(jìn)行日常生活,我們都在有意無意地利用著算法,只不過沒有意識(shí)到而已。
在算法教學(xué)中,教師還應(yīng)按實(shí)際情況來開展算法教學(xué),使學(xué)生更好更快的接受算法的基本思想與含義,不能單純地就算法去講解算法,為了學(xué)算法而學(xué)算法。通過對(duì)算法的學(xué)習(xí)引導(dǎo)學(xué)生明白這樣一個(gè)道理,每一個(gè)算法的實(shí)現(xiàn)都是為了解決一種或一類現(xiàn)實(shí)的問題,不會(huì)有一種空洞的不依附于任何一種現(xiàn)實(shí)而存在的算法。這樣在理解算法含義的基礎(chǔ)之上才能更好的學(xué)習(xí)與掌握算法。例如求一元二次方程的解的算法過程,學(xué)生通過數(shù)學(xué)求解到使用自然語言描述出算法而后寫出程序,并能夠編成計(jì)算機(jī)可以執(zhí)行的程序讓計(jì)算機(jī)執(zhí)行并解決問題。這樣便使學(xué)生理解了算法與解數(shù)學(xué)題的對(duì)應(yīng)過程,感受到算法的真實(shí)的含義,從而寫出正確而完整的程序。在理解算法的基礎(chǔ)上,結(jié)合實(shí)際,使學(xué)生能更進(jìn)一步的領(lǐng)會(huì)算法的實(shí)際價(jià)值。在建立了算法的概念以后,教師可以通過進(jìn)一步介紹學(xué)生熟悉的例子,并嘗試著讓學(xué)生自己列舉算法的例子,幫助學(xué)生進(jìn)一步領(lǐng)會(huì)算法的思想。接著通過設(shè)計(jì)具體的算法實(shí)現(xiàn)來進(jìn)一步驗(yàn)證算法。例如判斷一個(gè)自然數(shù)是否為素?cái)?shù),首先要求學(xué)生使用自然語言描述算法,素?cái)?shù)的判斷方法在數(shù)學(xué)的學(xué)習(xí)中學(xué)生已經(jīng)知道,最基本的算法為窮舉法求解,對(duì)這個(gè)問題學(xué)生已經(jīng)非常熟悉。接著讓學(xué)生嘗試用自然語言表達(dá)出算法的過程來,描述出具體的算法后,再進(jìn)一步嘗試實(shí)現(xiàn)程序設(shè)計(jì)的解決方法,而不是要求直接寫出程序來。通過這樣的教學(xué)使學(xué)生體會(huì)到程序設(shè)計(jì)的基本思路,為今后更進(jìn)一步的軟件設(shè)計(jì)打下基礎(chǔ)。
總的來說,對(duì)于高中生來講,算法與程序設(shè)計(jì)的學(xué)習(xí)有一定的難度,特別是其中的算法的學(xué)習(xí)相對(duì)來說比較困難。所以在教學(xué)中應(yīng)根據(jù)高中生的學(xué)習(xí)實(shí)際情況以及他們的身心特點(diǎn)來開展教學(xué),按照高中生的實(shí)際智力知識(shí)水平進(jìn)行相應(yīng)的教學(xué)設(shè)計(jì),只有這樣才能更有效地開展算法的教學(xué)。
【參考文獻(xiàn)】
[1]信息技術(shù)教學(xué)與創(chuàng)新思維培養(yǎng). 北京大學(xué)出版社.
[2]算法與程序設(shè)計(jì). 教育出版社.
[3]算法導(dǎo)論. 機(jī)械工業(yè)出版社.