

【摘要】信息社會,越來越多的領域需要使用程序設計,編寫程序成為新時代學生需要具備的一項基本技能。枯燥的編程會讓剛接觸程序設計的學生漸漸失去興趣,如何在程序設計中增加更多的閃光點,讓學生感到更有親和力,更能吸引學生去編寫程序?本文以Python循環結構教學融合學科知識的例子來與大家一起探討程序設計教學中的一些創新思路。
【關鍵詞】循環結構?學科知識
現在的教學中,各個學科不再是各自為戰,守好自己的一畝三分地。隨著學習的深入,需要越來越多地進行學科融合,信息技術特別是程序設計,也需要在教學中融合多學科的知識。以下我結合自己的這節Python循環結構的教學設計和授課過程,談談自己對程序設計與學科融合的一些做法。
一、借用語文的關聯詞來理解程序邏輯
中國的語言藝術博大精深,關聯詞不僅能清楚地表達語言中的邏輯關系,同樣適用于在程序設計中的邏輯關系和算法思路。
計數for循環,可以用關聯詞的“當。。。”來理解。例如for i in range(1,101)可以這樣想:當i=1時,執行一次循環語句;當i=2時,執行一次循環語句;。。。。。。當i=100時,執行一次循環語句。這樣解釋,學生就能明白for循環的本質就是遍歷列表中的所有元素。
對于遍歷,我還舉了這樣一個事例:有3個同學A、B、C被評為三好學生,將A、B、C放在一個列表中,領導for循環來訪問列表,循環體就是發三好學生獎狀,領導為A同學發獎狀,領導為B同學發獎狀,領導為C同學發獎狀,結束循環。遍歷就是依次訪問列表中的元素,并執行一次循環體,直到訪問完所有的元素,結束循環。
二、融合英語寫作表達能力
學英語的兩個重點是寫作和表達能力,在程序設計中也可以讓學生展示自己的英語風采。我在課程中設計了這樣一個練習題:想出至少三個你喜歡的東西或人,將他(它)們存儲在一個列表中,使用for循環實現對每個事物都打印一個句子,如"A dog would make a grate pet",在程序的末尾添加一行代碼,打印指出這些動物的共同特點(諸如"Any of these animals would make a great pet!")或表達自己的情感(諸如"They are all my best friends!")。
看到這個題目學生來了興趣,熱火朝天地在鍵盤上敲擊自己的代碼。課堂上同學們都積極舉手展示自己的程序,展示興趣愛好,用流利的英語演說。下面我展示一個學生的思路,她設計了這樣一個程序:
三、解決物理位移問題
在這個環節,我截取了高一第一次月考物理試卷的一道解答題:從一定高度的氣球上自由落下兩個物體,第一物體下落1s后,第二物體開始下落,兩物體用長93.1m的繩連接在一起。求:第二個物體下落多長時間繩被拉緊?
剛考完的緣故,學生對這個問題感到很親切,對正確答案仍然記憶猶新,都饒有興趣地試著編程去解答。While循環最難的地方應該就是循環條件的提取。引導學生思考兩個物體從同一高度自由下落,什么情況下繩子才會被拉緊。同學們異口同聲地回答,兩個物體的距離s必須大于等于93.1m。再引導學生思考,那循環條件應該怎么寫,有的同學脫口而出距離s>=93.1。提出問題:循環體是什么?分別計算自由下落的位移,并用位移相減計算出距離s。再提出問題,一開始的距離s是多少?生:距離是0。師:那么s=0有沒有滿足你們給出的循環條件,能不能執行循環體?學生思考后恍然大悟,立刻改口循環條件應該是s<93.1。確定完循環條件,我就讓學生自主編寫程序解答,最終有一半同學通過使用while循環程序打印出了正確答案。
四、應用數學一題多解的思路
數學老師經常提倡學生要思考一題多解,程序設計也應該有這種想法,這對將來算法優化有很重要的意義。我設計的題目是計算1+2+。。。+100=? 學生從本節課的兩個循環出發,大部分都能設計出兩種解法:
解完題目,讓學生思考哪種算法更好?很多同學的看法就是for循環更好,可能是因為for循環更好理解,更容易編寫。老師提示學生從存儲空間的角度再思考想。有學生發表自己的看法:使用while循環更優化,因為for循環的列表有多少個元素,就要給它多少個存儲空間,而while循環只要i和s兩個存儲空間,所以while更優化,特別是數據量很大時。程序設計一定要一題多解,思考更多的思路和算法,并從中去選取最優化的一種來實現。
【結語】
程序設計與學科的多方位全面融合,不僅可以讓學生愛上編程,還能讓學生習慣用程序設計來解決很多現實問題,體會編程的實用與優勢。
【參考文獻】
[1]《發現數學之美,點燃學生機器人編程的思維火花》.[G]. 喬磊.??試題與研究.?2019年34期
[2]《淺談VB編程與中職英語的學科融合教學》.[G].林志敏.現代職業教育.?2018年03期
莆田四中 福建省莆田市?鄭葉青