勞立穎
摘要:本文從學(xué)科大概念出發(fā),將一題多解的思路應(yīng)用在專題復(fù)習(xí)上,將復(fù)習(xí)課打造成一個系列教學(xué)的形式,并針對一題多解的課堂組織實施進(jìn)行了探討,通過前置任務(wù)、方案分享、編程實踐、關(guān)聯(lián)生活,實現(xiàn)一題多解的分享、實踐、應(yīng)用,將算法應(yīng)用到生活、學(xué)習(xí)中去,最終提升選考的復(fù)習(xí)效果。
關(guān)鍵詞:學(xué)科大概念;選考復(fù)習(xí);系列教學(xué)
中圖分類號:G434 ?文獻(xiàn)標(biāo)識碼:A ?論文編號:1674-2117(2022)07-0000-03
信息技術(shù)選考復(fù)習(xí)中以算法問題為重,內(nèi)容多、難度大、變化多,各算法相互獨(dú)立,故復(fù)習(xí)時常以專題課的形式出現(xiàn),一個專題對應(yīng)一個算法,所以學(xué)生對算法的認(rèn)識是又多又難,還分散。而近年的真卷壓軸題,富于變化,要求學(xué)生在短時間內(nèi)理清題意,梳理各變量含義,這對學(xué)生搜集處理信息、分析數(shù)據(jù)解決問題能力進(jìn)行了綜合考查。而學(xué)生對如何解決壓軸題沒有掌握,原因主要是不能較快地抽象出算法,完成程序?qū)崿F(xiàn)。所以,在平時教學(xué)中,教師需要加強(qiáng)學(xué)生對算法的理解和應(yīng)用,讓學(xué)生能較熟練地使用算法模型。
高三首考后,學(xué)生經(jīng)歷了一次高考和兩輪復(fù)習(xí),到二考前的復(fù)習(xí)階段,會產(chǎn)生復(fù)習(xí)疲態(tài),所以需要一種比較新穎的復(fù)習(xí)方式,而從“大概念”出發(fā),能防止碎片化的教學(xué),整合知識結(jié)構(gòu),構(gòu)建關(guān)聯(lián)知識體系,實現(xiàn)學(xué)科知識的整體性。圍繞“大概念”組織體系,在更大的“概念”中指引他們進(jìn)行復(fù)習(xí),將各個專題從廣度、深度上進(jìn)行聯(lián)接,將知識點(diǎn)間的點(diǎn)狀關(guān)系拓展為網(wǎng)狀關(guān)系,引導(dǎo)他們思考和解決實際問題,這也是全面提升學(xué)生信息素養(yǎng)的需要。下面,筆者以算法復(fù)習(xí)為例,探討基于學(xué)科大概念的復(fù)習(xí)策略。例如,針對“買禮物”問題(如圖1),可在復(fù)習(xí)中增加對生活問題解決的算法思考,給學(xué)生提供能一題多解的問題,以系列教學(xué)的方式進(jìn)行選考復(fù)習(xí),進(jìn)而幫助學(xué)生學(xué)會用多種方法思考如何解決問題,并通過實踐應(yīng)用,提升相應(yīng)的計算思維和信息意識。
● 學(xué)科概念統(tǒng)攝,從宏觀到微觀,產(chǎn)生知識主線
針對上述問題,在展開大概念相關(guān)的一題多解系列復(fù)習(xí)策略時,教師可以從以下幾個方面入手。
1.抓取算法特征,促進(jìn)解題多樣化
在分析問題時,教師可以根據(jù)不同的算法,轉(zhuǎn)化出不同的解題思路,并運(yùn)用各個算法的典型特點(diǎn)對問題進(jìn)行求解。通過問題的解決,幫助學(xué)生掌握問題中各個條件之間的內(nèi)在聯(lián)系,培養(yǎng)學(xué)生運(yùn)用計算科學(xué)領(lǐng)域的思想方法界定問題、抽象特征的能力,從而建立結(jié)構(gòu)模型,提升學(xué)生對算法的理解和運(yùn)用能力。“買禮物”問題可以采用以下三種方案解決:
方案1——先求得商品的單位喜愛度,并按單位喜愛度進(jìn)行降序排列,此方案不需要預(yù)先處理區(qū)間段的和,只需要從喜愛度性價比最高的商品開始,能買則買,不能買則不買,這是“貪心”算法思想的應(yīng)用。
方案2——先得到所有的商品件數(shù),再按每件商品買或不買進(jìn)行枚舉,故將0~2nc-1個數(shù)轉(zhuǎn)為二進(jìn)制數(shù),用0與1模擬每個商品購買情況。當(dāng)商品數(shù)與商品金額符合條件時,能得到的最大總喜愛度就是結(jié)果。枚舉所有可能的情況,體現(xiàn)了“全排列”算法思想。
方案3——先求得1~i個元素的和,取出區(qū)間段進(jìn)行處理,這個方案需要先對數(shù)據(jù)進(jìn)行預(yù)處理,再使用處理好的數(shù)據(jù)進(jìn)行區(qū)間段求和操作,這里使用了“前綴和”的算法思想。
2.搭配解題方法,拓展解題靈活性
教師在教學(xué)中,要有意識地給學(xué)生滲透解決問題的策略,引導(dǎo)學(xué)生靈活地掌握問題間的聯(lián)系,進(jìn)而培養(yǎng)和發(fā)揮學(xué)生的創(chuàng)造性。在學(xué)生解決“買禮物”問題過程中,當(dāng)生成多條件表達(dá)式問題時,教師可以給出三種不同的解題策略。
①循環(huán)變量甄選條件。在方案1中,若能購買單位喜愛度最大的某種物品,則繼續(xù)購買;若不能購買該種物品的所有商品,則僅購買可以買入的商品件數(shù)。所以,在1~m種商品中,需要用內(nèi)層循環(huán)實現(xiàn)每件商品的是否需要繼續(xù)購買。在甄選do語句循環(huán)條件時,由于該條件由多種情況組成,甄選難度比較大,但可以由循環(huán)變量的作用來進(jìn)行甄選。在如圖2所示的程序段中,循環(huán)體內(nèi)部有4個變量:j表示第i種商品的第j件,p表示剩余的禮物數(shù),n表示剩余的金額數(shù),zxa表示總喜愛度。學(xué)生先挑選出的循環(huán)變量有j、p、n,并得出循環(huán)條件是某件商品件數(shù)還有剩余,禮物數(shù)還有剩余,金額還能購買下一件商品,故表達(dá)式為“j<sl(i) And p>0 And n>= dj(i)”。
②題意分析判定條件。如圖3所示,方案2使用了全排列的算法,i從0到2^n-1遍歷,在內(nèi)層循環(huán)中,第一個循環(huán)語句完成了在數(shù)組goumai中存儲了每件商品的購買情況,第二個循環(huán)語句完成了對每種購買情況的統(tǒng)計,完成了份數(shù)fs、金額je、總喜愛zxa的計算。根據(jù)題意,當(dāng)禮物人數(shù)達(dá)到p件、金額不超過n,總喜愛值較大時,更新相應(yīng)的變量,所以表達(dá)式為“zxaje<=n And zxa>maxzxa”。
③畫圖幫助理解題意。方案3使用前綴和算法解決問題,在解決上述程序段問題時,可以畫圖來幫助理解題意(如下頁圖4)。在1~nc件商品中,其中①②表示第1種、第2種商品,當(dāng)找到對應(yīng)的maxi位置的商品時,需要將maxi~maxi+p-1共p件商品信息整合輸出。從程序段分析,其中k為購買每種商品的件數(shù),如圖6所示,這里有兩種情況,只要滿足其一即可。第一種情況:商品①和商品②的貨號不同,可輸出商品①的購買情況,所以可以得到“hh(j)<>hh(j+1)”這一條件。第二種情況:若maxi+p-1未指向一種商品的結(jié)束位置,但已經(jīng)到了禮物購買的最后一件,所以也可以輸出該商品的購買情況,由此可以得到“j= maxi+p-1”這一條件。所以可得表達(dá)式為“hh(j)<>hh(j+1) Or j=maxi+p-1”。
3.分析算法特征,實現(xiàn)解題有效性
在課堂教學(xué)中,教師可引導(dǎo)學(xué)生討論方案的特征,歸納方案對應(yīng)的算法,實現(xiàn)對問題的回顧。
4.巧用算法特點(diǎn),實現(xiàn)解題適用性
根據(jù)不同的知識經(jīng)驗與認(rèn)知水平,不同的學(xué)生對同一個問題的解題思路不同,結(jié)果就有差異。教師需要引導(dǎo)學(xué)生結(jié)合不同的情境和生活實際,對結(jié)果加以評價、交流、總結(jié),從而拓寬學(xué)生的解題思路,培養(yǎng)和提升學(xué)生的核心素養(yǎng)。在本問題的解決中,三種方案解決問題的過程不同,效果也有所區(qū)別,學(xué)生在對三種算法進(jìn)行比較時,就會發(fā)現(xiàn)三種算法的不同之處,也會去思考三種算法各自的適用范圍。
● 系列教學(xué)組織,從微觀到宏觀,實現(xiàn)概念進(jìn)階
由于該問題涉及多種算法,所以該問題的解決可以設(shè)計為系列教學(xué),從微觀到宏觀,實現(xiàn)概念進(jìn)階,如圖5所示。
1.前置教學(xué),布置任務(wù)
首先進(jìn)行三種算法的前置課時,每個算法設(shè)計一至兩節(jié)課,完成對算法的概念、特征的認(rèn)識,并分別使用三種算法解決問題,能描述算法并編程。布置相應(yīng)的作業(yè):分別使用這三種算法對“買禮物”問題設(shè)計購買方案。
2.設(shè)計方案,課間分享
學(xué)生課后完成作業(yè),兩人一組,分別寫好自己設(shè)計的購買方案,然后交換方案并交流討論,用不同顏色的筆跡呈現(xiàn)批改與討論的結(jié)果。交流討論后,學(xué)生對算法會有更深的認(rèn)識,也會提出算法中遇到的一些問題,進(jìn)而為后面的編程實踐提供幫助。
3.實踐交流,編程實現(xiàn)
實踐課是系列復(fù)習(xí)中的總結(jié)課。本節(jié)課將基于前階段的學(xué)習(xí),創(chuàng)設(shè)利用算法解決問題的情境,讓學(xué)生經(jīng)歷將實際問題形式化的過程,掌握常見算法的描述、編程及應(yīng)用的方法。通過用多種方法解決問題,學(xué)生才能深入理解算法的特征,有意識地應(yīng)用算法解決實際問題,達(dá)到拓寬解題思路,提升信息意識和計算思維的目的。
4.關(guān)聯(lián)生活,編程應(yīng)用
實踐課時筆者布置了作業(yè):請任選一個算法,用生活的例子設(shè)計一個編程題的題干,并請同伴編寫相應(yīng)的程序。在所有學(xué)生完成出題與編程的作業(yè)后,還可以開展分享交流,探討題目中的問題、解決方案的優(yōu)劣,真正實現(xiàn)算法在生活中的應(yīng)用。
● 成效與反思
1.成效
①算法認(rèn)識深入。通過一題多解的系列復(fù)習(xí)策略,學(xué)生不但對算法的概念與特征有了更明確的認(rèn)識與理解,還對算法的功能與適用范圍有了深入的思考。
②問題抽象精準(zhǔn)。通過一題多解的系列復(fù)習(xí)策略,學(xué)生掌握了解決問題的多種方法,提升了計算思維和分析思考能力,能在更短的時間內(nèi)理清題意,梳理出各變量含義,抽象出算法,并通過算法引導(dǎo)自己完成程序?qū)崿F(xiàn)。
③學(xué)習(xí)興趣提升。一題多解的系列復(fù)習(xí)策略讓生活中的問題煥發(fā)生機(jī),學(xué)生對生活問題的思考、算法編程的交流都非常積極,學(xué)習(xí)興趣顯著提升。
2.反思
①問題整理與提出。在選考復(fù)習(xí)系列教學(xué)中,最重要的是找到能使用多種算法的問題。但由于該問題需要多種方法完成,故在提出問題時,不能將解決方法描述得非常詳細(xì)。一旦問題描述過于詳細(xì),解題方法已經(jīng)指定,學(xué)生就不會用多種方法解題,一題多解也就無從談起。
②教學(xué)組織與實施?!百I禮物”問題的系列教學(xué)的組織,前后至少5節(jié)課,如果是算法基礎(chǔ)不太好的班級,最終可能需要8節(jié)課,教學(xué)學(xué)時過長,學(xué)生會產(chǎn)生厭倦的情緒。所以,基于學(xué)科大概念的復(fù)習(xí)需要考慮教學(xué)組織與實施,恰當(dāng)分解與重構(gòu)問題,實現(xiàn)教學(xué)目標(biāo)。