韓陽
摘要:計算機C語言學科一直是高校大一學生的學習難點之一,而作為C語言程序中的一個十分重要的結(jié)構(gòu)組成,循環(huán)結(jié)構(gòu)更是學生難以理解和掌握的主要方向,C語言中循環(huán)結(jié)構(gòu)程序的教學一直是擺在高校教學改革面前的一項重要難題。本文以循環(huán)結(jié)構(gòu)程序在C語言課程中的重要地位為切入點,分析當前我國C語言循環(huán)結(jié)構(gòu)程序課堂教學中存在的具體問題,探尋C語言中循環(huán)結(jié)構(gòu)程序的課堂教學設(shè)計與實踐策略,進而挖掘出C語言中循環(huán)結(jié)構(gòu)程序的有效教學思路,實現(xiàn)理想的C語言循環(huán)結(jié)構(gòu)程序課堂教學效果。
關(guān)鍵詞:C語言;循環(huán)結(jié)構(gòu)程序;有效教學思路
中圖分類號: TP311 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)31-0177-02
在專業(yè)教師的眼中,C語言中的循環(huán)結(jié)構(gòu)程序的內(nèi)容形式十分簡單明了,但絕大多數(shù)高校新生在接觸循環(huán)結(jié)構(gòu)程序時都感覺到晦澀難懂,這種現(xiàn)象一直是困擾C語言教師進行循環(huán)結(jié)構(gòu)程序教學的主要問題。但縱觀C語言循環(huán)程序結(jié)構(gòu)的教學內(nèi)容不難發(fā)現(xiàn),循環(huán)結(jié)構(gòu)程序的課堂教學難度并不是難以逾越,只是絕大部分學生在大學中都是第一次接觸C語言教學,學習基礎(chǔ)薄弱,教師如果一直采用照本宣科的方式對學生進行循環(huán)結(jié)構(gòu)程序的講述,學生必然難以理解。C語言教師必須整理教學思路,創(chuàng)新課堂教學設(shè)計,是循環(huán)結(jié)構(gòu)程序變得“活潑”一些,學生才會激發(fā)興趣,進而實現(xiàn)C語言循環(huán)結(jié)構(gòu)程序教學的事半功倍。
1 循環(huán)結(jié)構(gòu)在C語言課程教學中的重要地位
循環(huán)結(jié)構(gòu)是除順序結(jié)構(gòu)程序和選擇結(jié)構(gòu)程序外C語言三大基本結(jié)構(gòu)程序的重要算法結(jié)構(gòu)之一,任何簡單或者復(fù)雜的程序問題都可以通過這三種算法結(jié)構(gòu)的組合進行解決,因此,循環(huán)程序結(jié)構(gòu)在C語言的課程教學中占有十分重要的地位。
在C語言的程序設(shè)計當中,任何一種程序的設(shè)計都少不了循環(huán)語句,C語言中存在while、do while以及for三種循環(huán)語句,而在這三種循環(huán)語句當中,for循環(huán)語句是學生最難掌握和理解的一種語句,因此,循環(huán)結(jié)構(gòu)程序也是C語言課程教學中最為難以掌握的程序設(shè)計結(jié)構(gòu)。
在當前我國高校C語言的科目教學大綱中,循環(huán)結(jié)構(gòu)程序的教學課程是C語言的重點教學內(nèi)容,是學生學習C語言的重要基礎(chǔ)內(nèi)容,C語言教師要對循環(huán)結(jié)構(gòu)程序課堂教學引起高度重視,進而在進行循環(huán)結(jié)構(gòu)程序的課堂教學過程中采用更加有效的教學方法,提升學生掌握C語言循環(huán)結(jié)構(gòu)程序設(shè)計的方法。
2 當前我國C語言循環(huán)結(jié)構(gòu)程序課堂教學中存在的具體問題
2.1學生的思維方式存在跳躍性
在C語言的三種基本結(jié)構(gòu)當中,循環(huán)結(jié)構(gòu)程序是高校學生進行C語言課堂教學過程中最難掌握的部分,由于順序結(jié)構(gòu)程序和選擇結(jié)構(gòu)程度與人類正常的思維方式十分接近,而循環(huán)結(jié)構(gòu)程序與人類自然思維方式存在差異性,所以,循環(huán)結(jié)構(gòu)程序設(shè)計的課堂教學往往比較晦澀難懂。學生在接觸非正常思維的循環(huán)結(jié)構(gòu)程序設(shè)計的過程中難免會出現(xiàn)思維方式的跳躍性問題,一旦出現(xiàn)思維跳躍式發(fā)展,學生就會對循環(huán)結(jié)構(gòu)程序產(chǎn)生抵觸,進而降低了學習的積極性。
2.2循環(huán)結(jié)構(gòu)教學內(nèi)容無法與時俱進
C語言是我國高等院校進行高等教育的通識學科,由于國家教育重視且發(fā)展較早,在教材方面不乏經(jīng)典之作,雖然經(jīng)典的C語言教材為提升我國C語言教學質(zhì)量做出了不可磨滅的貢獻,但教材內(nèi)容相對枯燥,缺乏靈活性,不能夠滿足當前C語言課堂教學的整體需求,無法激發(fā)學生的學習興趣,特別是晦澀難懂的循環(huán)結(jié)構(gòu)程序設(shè)計方向。教學內(nèi)容缺乏與時俱進的能力自然會造成教學方式的捉襟見肘,層出不窮的教學內(nèi)容也不如實踐操作所帶來的教學效果,實例教學內(nèi)容和教學方法終將是C語言循環(huán)結(jié)構(gòu)教學的必然發(fā)展趨勢。
3 C語言循環(huán)結(jié)構(gòu)程序教學的設(shè)計與實踐策略
3.1循環(huán)結(jié)構(gòu)教學設(shè)計的基本原則
在C語言循環(huán)結(jié)構(gòu)程序教學設(shè)計的過程中,要緊緊抓住九字方針,即:“厚基礎(chǔ)、抓重點、破難點”,具體的設(shè)計與實踐基本原則為:首先,教師在設(shè)計循環(huán)結(jié)構(gòu)程序教學的過程中課件案例必須涵蓋循環(huán)結(jié)構(gòu)程序的全部相關(guān)知識點;其次,C語言教師要針對學生的實際學習能力和計算機水平選擇或指定循環(huán)結(jié)構(gòu)程度教學的難度設(shè)計,杜絕脫離教育實際,激發(fā)學生的學習興趣為主;第三,教師在進行C語言循環(huán)結(jié)構(gòu)程序教學設(shè)計的過程中必須采用典型性的案例設(shè)計,能夠在教學過程中起到舉一反三的作用;第四,教師在進行C語言循環(huán)結(jié)構(gòu)程序教學設(shè)計的過程中要采用遞進式的教學設(shè)計方式,知識點由淺入深、由易到難。
3.2C語言循環(huán)結(jié)構(gòu)程序設(shè)計的教學方法
循環(huán)結(jié)構(gòu)程序是C語言程序設(shè)計中一門極具特點的學科,教師在進行循環(huán)結(jié)構(gòu)程序教學設(shè)計的過程中,可以依照循環(huán)結(jié)構(gòu)程序知識點的組成特點采用遷移引導式教學方法和案例驅(qū)動教學方法,進而幫助學生掌握知識難點的實踐運用能力。這兩種教學方法的搭配使用符合漸進式教學的要求,能夠?qū)χR難點形成滲透式的教學,具有的優(yōu)點有:首先,幫助學生潛移默化接受循環(huán)結(jié)構(gòu)程序中的知識難點;其次,案例驅(qū)動教學法能夠?qū)崿F(xiàn)循環(huán)結(jié)構(gòu)程序的由淺入深、由易到難,符合學科循序漸進教學的需求;第三,采用遷移式教學方法可引導學生在案例講解完成后實現(xiàn)隨堂聯(lián)系或者課后實踐操作,提升學生獲取解決問題的能力。
3.3教學目標和整體設(shè)計思路
首先,教學目標。幫助學生對條件型循環(huán)結(jié)構(gòu)進行熟練掌握,使學生能夠正確的設(shè)定循環(huán)條件和控制循環(huán)次數(shù);幫助學生深入了解如何實現(xiàn)二重循環(huán)結(jié)構(gòu),以及二重循環(huán)結(jié)構(gòu)可以解決何種問題;幫助學生熟練掌握while、do while以及for的應(yīng)用場合和使用方式;幫助學生在循環(huán)結(jié)構(gòu)中熟練應(yīng)用break和continue語句。
其次,整體設(shè)計思路。循環(huán)結(jié)構(gòu)程序教學的設(shè)計整體分四步走:第一步,以實例引入循環(huán)結(jié)構(gòu)理念;第二步,介紹while、do while以及for三種基本循環(huán)語句;第三步,以應(yīng)用最多的二重for循環(huán)為例引入二重循環(huán)概念;第四步,介紹循環(huán)結(jié)構(gòu)中的break和continue語句,并對兩者進行區(qū)分解釋。
3.4循環(huán)結(jié)構(gòu)課堂教學實踐的設(shè)計與組織
本文以滲透漸進式的案例驅(qū)動教學法作為傳統(tǒng)C語言循環(huán)結(jié)構(gòu)程序教學的創(chuàng)新改革方式,將案例驅(qū)動教學法應(yīng)用到整體設(shè)計思路的四步當中,對學生進行循環(huán)結(jié)構(gòu)教學,例如:
設(shè)計案例:1:求 1×2×…n 的值;2:求 1!+2!+…+100!的值。
案例教學實踐過程:
通過對設(shè)計案1進行分析,計算過程為:首先定義一個變量 product保存得到的乘積值,初始化為 product=1,然后依次將 1, 2…,n 累乘到 product 中,最后得到product 的值就是所求的結(jié)果。通過教學分析,學生可以發(fā)現(xiàn),除了乘數(shù)不一樣,計算成績的每次過程其他方面都保持一致,因此,可給出程序如下:
product=1;
for(i=1;i<=n;i++)
product=product*i;
根據(jù)所給出的程序總結(jié)出 for 循環(huán)的一般形式和各部分的功能,進而把程序推廣到用 while和 do while 表示的形式,程序分別如下:
while 形式:
product=1;
i=1;
while(i<=n)
product=product*i;
do while 形式:
product=1;
i=1;
do
{product=product*i;}while(i<=n);
而在對案例2進行講解的過程中,就可以幫助學生結(jié)合案例1的相同部分,1!、2!…100!的數(shù)值就可以簡單求出,進而求和得到最終結(jié)果,程序設(shè)計時用內(nèi)層循環(huán)求n!,外層循環(huán)求1!+2!+…+100 !,這樣構(gòu)成雙重循環(huán),因此程序設(shè)計如下:sum=0;
for(j=1;j<=100;j++)
{product=1;
for(i=1;i<=j;i++)
product=product*i;
sum=sum+product;
}
如此滲透漸進式的案例驅(qū)動教學設(shè)計可以幫助學生從接觸循環(huán)結(jié)構(gòu)概念到熟練掌握三種語句,到了解和掌握二重循環(huán)結(jié)構(gòu),到最后在循環(huán)結(jié)構(gòu)中熟練應(yīng)用break和continue語句,教師以案例為切入點,更加切實地向?qū)W生展現(xiàn)循環(huán)結(jié)構(gòu),同時實踐操作來激發(fā)學生的求知欲和積極性,進而全面提升C語言循環(huán)結(jié)構(gòu)程序的課堂教學效率。
4 結(jié)論
循環(huán)結(jié)構(gòu)程序是C語言教學中最為晦澀難懂的部分,也是最為重要的部分,由于其區(qū)別于人類傳統(tǒng)思維的編輯模式,使得學生很難掌握循環(huán)結(jié)構(gòu)程序的內(nèi)容。教師要打破傳統(tǒng)教學模式的束縛,以循序漸進的方式,通過案例驅(qū)動教學方法進行教學設(shè)計,幫助學生由淺入深地對循環(huán)結(jié)構(gòu)進行實踐探索,進而達到最佳的學習效果。
參考文獻:
[1] 陳開社.談“循環(huán)結(jié)構(gòu)”教學[J].中國教育信息化,2011(10):43-45.
[2] 唐紅杰.C語言循環(huán)結(jié)構(gòu)教學探討[J].軟件工程師,2014,17(10):49-50.
[3] 曹風華.案例驅(qū)動教學法在《計算機應(yīng)用基礎(chǔ)》課程中的應(yīng)用[J].現(xiàn)代計算機(專業(yè)版),2010(15):41-42,59.
【通聯(lián)編輯:唐一東】