季秋萍
背景:教育部和中國科協(xié)委托中國計算機學會舉辦了全國青少年計算機程序設計競賽。此項含金量頗高的競賽中,吸引了越來越多的青少年參與其中。原因不僅僅是在競賽中獲得的榮譽和與之相應的升學獲益政策,更重要是選手們在備戰(zhàn)過程中的綜合素質(zhì)提升。筆者將通過一個案例的分析,談談初中生參加信息學奧賽在各方面的提升。
案例
題目:角谷定理。輸入一個自然數(shù),若為偶數(shù),則把它除以2,若為奇數(shù),則把它乘以3加1。經(jīng)過如此有限次運算后,總可以得到自然數(shù)值1。求經(jīng)過多少次可得到自然數(shù)1。
方法一:歸類“循環(huán)結構”題型
分析:角谷定理是學生學習了程序設計三種基本結構后進行的教學案例。題目中有重復操作“除以2”或“乘以3加1”,可將該題分類為循環(huán)結構題型。循環(huán)語句類型在初中階段競賽中主要涉及到“for循環(huán)”、“while循環(huán)”和“do-while循環(huán)”,學生該選用何種語句,要具體分析題目意圖。
將文字題意轉換為式子表達式:
1.for(循環(huán)變量初始;循環(huán)條件;循環(huán)變量增量)
2.while(循環(huán)條件)//while()加循環(huán)條件,一但條件不滿足就不執(zhí)行語句。
3.do-while(循環(huán)條件)//判斷條件滿足則執(zhí)行語句,條件不滿足時退出循環(huán),但是do-while()是先做再判斷,所以至少要做一次循環(huán)。
根據(jù)流程圖和三種循環(huán)語句的比較,“while循環(huán)”比較適用于本題;
代碼如下(截圖):
方法二:歸類遞歸函數(shù)題型
當學生學習了函數(shù)的遞歸函數(shù),角谷定理可用遞歸函數(shù)來解答。
顯然,第一次編寫的代碼有誤,學生通過自檢,發(fā)現(xiàn)子函數(shù)jiaogu中變量num的定義位置存在錯誤,將num定義為全局變量程序即可。
通過角谷定理案例的解題分析,我將從以下五個方面談談學生在學習信息學奧賽中自身能力的提升。
一、培養(yǎng)學生合理安排學習時間,提高自主學習能力。
初中階段課表中沒有安排信息學奧賽的課程,學生需合理安排自己的學習時間,才能保證中考科目成績穩(wěn)定的情況下學習信息學奧賽知識。參加輔導的學生都是跨年級跨班級組建,要保證每天的學習時間,但在校集中學習的時間有限,學生必須會自主學習,明確在不同時間段完成什么任務,充分利用課余時間、利用身邊資源,達到學習效率最大化。
二、提高學生思維創(chuàng)新能力。
競賽輔導過程中,教師都會培養(yǎng)學生的一題多解、優(yōu)化程序的能力。案例中學生給出了兩種解題方案,分別通過循環(huán)結構和遞歸函數(shù)完成。而在方法二中,學生覺得自己編寫的代碼較繁瑣,反復用到“num”變量,容易混淆,學生通過思考、不斷嘗試優(yōu)化,將“+1”代替了變量“num”,使程序更簡化。
三、培養(yǎng)學生沉穩(wěn)、堅韌的性格,嚴密謹慎的處事方式。
在信息學競賽中,學生解答一道題必須做到沉著冷靜,有層層剖析問題的意識,切不可一步登天的急攻心態(tài)。題目的分析是關鍵,有助于代碼的順利編寫,遇到錯誤時,特別是編譯通過,運行結果不對的情況,選手仔細檢查自己的代碼,跟蹤變量值的變化,找出代碼中的Bug。如案例角谷定理用遞歸函數(shù)編寫時的第一個程序,不管n輸入何值,輸出值都為0,修改代碼時,將變量num放在函數(shù)外,作為全局變量,程序即可通過。在競賽中難免會碰到類似的情況,有時會因為一個數(shù)值“0”錯寫成“1”,都會導致成績結果從滿分直降到0分。所以學生必須有良好的心態(tài),控制好自己的情緒,穩(wěn)中求勝的信心。
四、注重團隊精神,取長補短。
奧賽輔導中,學生分不同年齡、不同性別、不同認知度,面對同一教師的授課,學生會產(chǎn)生不同接受程度。學生將會“強弱組隊、隊隊競爭”的模式,促進個體、團隊的發(fā)展。角谷定理案例中,部分學生會用“do-while”循環(huán)語句編寫程序,如圖:
運行結果:
但提交程序后不能100%通過,經(jīng)組內(nèi)成員審查,當n輸入值為1時,程序也進入循環(huán)語句體,輸出結果出錯,通過組間分析、診斷、修改、優(yōu)化,每一成員對“while”與“do-while”的區(qū)別更加清晰。以一人的錯題促進整組的水平,組員取長補短,共同進步。
五、培養(yǎng)學生積極進取、迎難而上的精神。
信息學奧賽訓練中,遇到的題目有時需要花一天甚至幾天時間才能解決,學生要有積極進取、迎難而上、超越自我的精神,只做容易而規(guī)避難題,只會原地踏步。信息學奧賽培養(yǎng)學生遇到難題勤于思考,并與以往做過相類似的題目做參考,找到題目間的相通之處作為入手點,將大問題分解成小問題,提高解題能力。
總之,在信息學奧賽備戰(zhàn)過程中,我們在注重學生成績的同時,也要培養(yǎng)學生的綜合素質(zhì)能力,除了以上提到的五點外,學生還需提升自身良好的學習態(tài)度、優(yōu)良的心理素質(zhì)、堅硬的身體素質(zhì)等方面,通過信息學奧賽提升學生的綜合素質(zhì)。--