冷 飛, 李海濱
(1.邢臺學(xué)院 現(xiàn)代教育技術(shù)中心,河北 邢臺 054001; 2.石家莊市教育信息化管理中心 辦公室,河北 石家莊 050011)
程序設(shè)計課程中的循環(huán)結(jié)構(gòu)教學(xué)方法創(chuàng)新
冷 飛1, 李海濱2
(1.邢臺學(xué)院 現(xiàn)代教育技術(shù)中心,河北 邢臺 054001; 2.石家莊市教育信息化管理中心 辦公室,河北 石家莊 050011)
采用傳統(tǒng)的循環(huán)結(jié)構(gòu)教學(xué)方法,學(xué)生很難理解相關(guān)內(nèi)容.采用標(biāo)數(shù)字法教授循環(huán)結(jié)構(gòu)部分的知識,將多媒體課件中的動畫和板書相結(jié)合,可以讓教師講得輕松,學(xué)生學(xué)得明白.
循環(huán)結(jié)構(gòu);For循環(huán);Do循環(huán);執(zhí)行流程;教學(xué)方法
在高校計算機程序設(shè)計語言的教學(xué)過程中,不論面向過程的語言,如C語言、Visual Basic語言,還是面向?qū)ο蟮恼Z言,如Java語言、C++語言等都會有一章講到循環(huán)結(jié)構(gòu)的知識.在計算機程序設(shè)計語言教學(xué)中,循環(huán)結(jié)構(gòu)是3種流程控制語句中最重要、也是最難講解的一個知識點.循環(huán)結(jié)構(gòu)的程序設(shè)計是程序設(shè)計課程的核心,掌握好循環(huán)結(jié)構(gòu)的程序設(shè)計技術(shù)對學(xué)好此類課程至關(guān)重要[1].循環(huán)結(jié)構(gòu)因其語法較為復(fù)雜,流程控制步驟較多,學(xué)生不容易理解相關(guān)知識,在閱讀循環(huán)結(jié)構(gòu)的程序時容易思維混亂,在設(shè)計程序時不能正確使用循環(huán)結(jié)構(gòu).針對學(xué)生難于理解“循環(huán)”的含義,知“循環(huán)”而退的心理,創(chuàng)新循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué)方法和教學(xué)手段就很有必要.本文以Visual Basic(以下簡稱VB)程序設(shè)計語言中的循環(huán)結(jié)構(gòu)為例,來分析和說明如何利用新的方法提高學(xué)生對這部分知識的理解度.
學(xué)習(xí)循環(huán)結(jié)構(gòu),關(guān)鍵是要掌握循環(huán)的執(zhí)行流程.傳統(tǒng)的循環(huán)結(jié)構(gòu)教學(xué)一般采用兩種方法,即文字法和流程圖法.
1.1 文字法
文字法即采用純文字的方法講解循環(huán)結(jié)構(gòu)的執(zhí)行過程.以For循環(huán)為例,假設(shè)步長為正,循環(huán)變量的初值小于終值.For-Next循環(huán)的執(zhí)行過程是:第一步,循環(huán)變量取初值;第二步,循環(huán)變量與終值比較,若大于終值則循環(huán)結(jié)束,否則繼續(xù)執(zhí)行后續(xù)語句;第三步,執(zhí)行一次循環(huán)體;第四步,循環(huán)變量增加一個步長;第五步,重復(fù)第二步到第四步.文字法的優(yōu)點是簡潔明了,幾句話即可說明問題;缺點是簡單粗暴,缺乏教學(xué)藝術(shù),學(xué)生不易接受,教學(xué)效果不好.
1.2 流程圖法
流程圖法是以圖形的方式講解循環(huán)結(jié)構(gòu)的執(zhí)行流程.For循環(huán)的流程圖如圖1所示.
圖1 For循環(huán)語句流程圖
從圖1中可以清晰地看到,程序執(zhí)行到“循環(huán)變量+步長→循環(huán)變量”后,將返回再次判斷“循環(huán)變量≤終值”,如果結(jié)果是true,則進(jìn)入循環(huán)體;否則結(jié)束退出循環(huán).采用流程圖的方式講解循環(huán)結(jié)構(gòu)的優(yōu)點是,圖形比文字更直觀,更容易被學(xué)生接受;缺點是圖形與程序割裂開來.教師需要用圖形與For語句形式一一對位講解,學(xué)生不易接受,印象不深刻,容易導(dǎo)致思維混亂.
標(biāo)數(shù)字循環(huán)結(jié)構(gòu)教學(xué)法一改傳統(tǒng)的文字法和流程圖法,將簡單的數(shù)字融入到循環(huán)結(jié)構(gòu)的語句形式中,以多媒體課件和板書相輔助,精選例題,比較容易實現(xiàn)該知識點教師講得輕松,學(xué)生學(xué)得明白的目的.
VB循環(huán)控制結(jié)構(gòu)有兩類循環(huán)語句,分別是For循環(huán)和Do循環(huán).For循環(huán)一般用在已知循環(huán)次數(shù)的場合,Do循環(huán)一般用在未知循環(huán)次數(shù)的場景.
2.1 For循環(huán)
For循環(huán)語句形式如下:
For循環(huán)變量=初值To終值Step步長
循環(huán)體
Next[循環(huán)變量]
標(biāo)數(shù)字的教學(xué)方法首先就是要在語句形式上標(biāo)上數(shù)字.在“循環(huán)變量=初值”旁邊標(biāo)上①,“終值”旁邊標(biāo)上②,“循環(huán)體”旁邊標(biāo)上③,“Step 步長”旁邊標(biāo)上④,Next[循環(huán)變量]下邊標(biāo)上⑤.標(biāo)上數(shù)字的For循環(huán)語句形式如下:
For循環(huán)變量=初值① To終值②Step步長④
循環(huán)體 ③
Next[循環(huán)變量]
⑤
采用標(biāo)數(shù)字的方法后,F(xiàn)or循環(huán)(假設(shè)步長為正,初值<終值)的執(zhí)行流程為:①→②(VB會自動判斷循環(huán)變量值是否小于終值,是則返回True,否則返回False)→③→④(循環(huán)變量+步長),第一次循環(huán)結(jié)束;→②(循環(huán)變量≤終值,返回True,繼續(xù)循環(huán))→③→④(循環(huán)變量+步長),第二次循環(huán)結(jié)束;→②(循環(huán)變量≤終值,返回False,退出循環(huán))→⑤,執(zhí)行循環(huán)后的下一條語句.
在整個執(zhí)行流程中,可以看到,①只執(zhí)行了一次,始終是②→③→④的循環(huán),循環(huán)變量≤終值,返回True;如果返回False,則退出For循環(huán),執(zhí)行⑤.
2.2 Do循環(huán)
Do循環(huán)語句分為兩類:當(dāng)循環(huán)和直到型循環(huán).以直到型循環(huán)為例,其語句形式如下:
Do
循環(huán)體
Loop Until 循環(huán)條件
標(biāo)上數(shù)字的語句形式如下:
Do
循環(huán)體 ①
Loop Until 循環(huán)條件 ②
③
采用標(biāo)數(shù)字的方法后,直到型Do循環(huán)的執(zhí)行流程為:首先執(zhí)行循環(huán)體①,然后執(zhí)行循環(huán)條件②,如果循環(huán)條件返回False,則繼續(xù)執(zhí)行循環(huán)體①,直到②的返回值是True,則跳出循環(huán),執(zhí)行循環(huán)后的語句③.其數(shù)字流程可簡單歸納為:
① →②= False→①→②=False→①→②= True→③.
標(biāo)數(shù)字法的優(yōu)點是,利用簡單的數(shù)字與循環(huán)結(jié)構(gòu)的語句形式相結(jié)合的方式,真實再現(xiàn)循環(huán)在計算機中的執(zhí)行過程,能給學(xué)習(xí)者以感性的認(rèn)識,加深其學(xué)習(xí)印象.
多媒體課件的優(yōu)點是可以圖文并茂,能輔助以動畫形式講解,形式較為生動活潑,是目前計算機教學(xué)中廣泛采用的教學(xué)手段.循環(huán)結(jié)構(gòu)部分采用標(biāo)數(shù)字的教學(xué)方法后,在多媒體課件中如果將數(shù)字執(zhí)行流程借助動畫的形式一步一步地進(jìn)行演示,則效果更佳.
利用多媒體課件演示后,需要學(xué)生動手練習(xí),體驗利用標(biāo)數(shù)字法學(xué)習(xí)循環(huán)結(jié)構(gòu)的執(zhí)行過程.如果直接讓學(xué)生動手練習(xí),學(xué)生可能會感到無從下手.究其原因,多媒體課件可以幫助學(xué)生理解概念,但并不能提高學(xué)生的實際動手能力.教師需要利用板書的形式,把數(shù)字流程在黑板上書寫一遍,這樣一是便于學(xué)生模仿書寫過程,二是由于板書頻率慢,能給學(xué)生留下思考的時間.
利用標(biāo)數(shù)字法講解循環(huán)結(jié)構(gòu)的執(zhí)行流程,可以將現(xiàn)代化教學(xué)手段和傳統(tǒng)的教學(xué)手段結(jié)合起來,提高教學(xué)效果.首先,利用PPT課件中的動畫效果,可以動態(tài)演示循環(huán)語句的執(zhí)行流程,使學(xué)生產(chǎn)生整體認(rèn)識.其次,學(xué)生要真正掌握標(biāo)數(shù)字的方法,必須用筆在紙上多練習(xí)幾遍,教師利用板書詳細(xì)地在黑板上把標(biāo)數(shù)字方法的執(zhí)行流程寫一遍,然后再讓學(xué)生在紙上模仿,效果較好.
本文僅舉For循環(huán)的一個實例,來說明標(biāo)數(shù)字法的應(yīng)用.
運行以下程序,則x的值是多少?
x=2:Fori=3 To 10 Step 2:x=x+i: Next:Printx
為了節(jié)省幻燈片和板書的空間,建議上面的程序用一行書寫.在VB中,多條語句允許寫在一行,語句之間用冒號分隔.采用標(biāo)數(shù)字的方法后,該程序形式變?yōu)椋?/p>
x=2:Fori=3 ① To 10 ② Step 2 ④:x=x+i③:Next:Printx⑤
如圖2所示,方塊中的數(shù)字1到16是PPT中的16個動畫,依次展示For循環(huán)的執(zhí)行流程,采用“淡出”的動畫效果,單擊鼠標(biāo)開始;一左一右兩個大括號對應(yīng)數(shù)字17,采用“縮放”動畫效果,單擊鼠標(biāo)開始,目的是說明For循環(huán)的具體循環(huán)步驟,即始終是②,③,④這三步的循環(huán);數(shù)字18是對“4”這個數(shù)字采用的“淡出”和“放大”組合動畫的結(jié)果,目的是告訴學(xué)生,該For循環(huán)共循環(huán)了4次.
圖2 動畫演示For循環(huán)的執(zhí)行流程
接下來,教師在黑板上用標(biāo)數(shù)字的方法板書一遍上述程序的執(zhí)行過程,且板書內(nèi)容與圖2保持一致,注意對齊.
標(biāo)數(shù)字法將數(shù)字與程序緊密結(jié)合,以簡單的數(shù)字推導(dǎo)循環(huán)結(jié)構(gòu)的執(zhí)行流程.它通過將靜態(tài)的步驟升華為動態(tài)的推導(dǎo)流程,來模仿計算機的執(zhí)行過程,使教學(xué)更加貼近實際.它先采用多媒體課件進(jìn)行動畫演示,然后利用板書,將多媒體課件和板書兩種教學(xué)手段完美結(jié)合,取長補短.教師在板書后,留下時間讓學(xué)生在紙上模仿,教師切換為答疑模式,解答學(xué)生提出的問題.在整個教學(xué)過程中,標(biāo)數(shù)字的方法能使教師講得清楚,也更輕松;同時使學(xué)生在學(xué)習(xí)過程中,理解得更透徹,記憶也更深刻.標(biāo)數(shù)字法也可以應(yīng)用于多重循環(huán)知識的講解中,教師可以舉一反三.該方法同樣可以在其他程序設(shè)計語言的教學(xué)中使用.
[1] 孫英.C語言中循環(huán)結(jié)構(gòu)程序課的教學(xué)設(shè)計與探討[J].計算機教育,2009(12):186-187.
責(zé)任編輯:金 欣
Innovation of the teaching of cycle structure in the computer programming
LENG Fei1, LI Hai-bin2
(1.Modern Teaching Technology Center, Xingtai University, Xingtai, Hebei 054001, China;2.Office,Center of Education Information Management of Shijiazhuang,Shijiazhuang, Hebei 050011, China)
In the teaching of computer programming, the loop structure, which is one of the three kinds of flow control statements, is the most important and difficult key point. This paper attempts the innovative method of tagging number, assisted with multimedia courseware animation and blackboard writing.
cycle structure; For cycle; Do cycle; execution process; teaching method
2016-10-09
冷 飛(1979-),男,河北邢臺人,邢臺學(xué)院講師,碩士,研究方向:計算機網(wǎng)絡(luò)、軟件.
1009-4873(2016)06-0059-03
G642.41
:A