馮瑩瑩,李林國(guó),趙莎莎
(阜陽(yáng)師范學(xué)院 信息工程學(xué)院,安徽 阜陽(yáng) 236000)
案例教學(xué)法在《C語(yǔ)言程序設(shè)計(jì)》中的應(yīng)用實(shí)踐
馮瑩瑩,李林國(guó),趙莎莎
(阜陽(yáng)師范學(xué)院 信息工程學(xué)院,安徽 阜陽(yáng) 236000)
本文針對(duì)《C語(yǔ)言程序設(shè)計(jì)》傳統(tǒng)教學(xué)“重理論、輕實(shí)踐”的問(wèn)題,在教學(xué)過(guò)程中引入案例教學(xué)方法,通過(guò)精心組織和認(rèn)真分析,從學(xué)生的認(rèn)知規(guī)律考量,有效的激發(fā)了學(xué)生的學(xué)習(xí)熱情,顯著提升了學(xué)生的邏輯思維能力和抽象思維能力.
《C語(yǔ)言程序設(shè)計(jì)》;任務(wù)驅(qū)動(dòng);能力
《C語(yǔ)言程序設(shè)計(jì)》是一門(mén)理論與實(shí)踐并重的計(jì)算機(jī)專業(yè)基礎(chǔ)課程,不僅要求學(xué)生熟練掌握繁瑣的語(yǔ)法規(guī)則,更加注重編程能力和實(shí)際解決問(wèn)題能力的培養(yǎng).作為一名計(jì)算機(jī)專業(yè)教師,在《C語(yǔ)言程序設(shè)計(jì)》授課過(guò)程中,不僅僅需要關(guān)注課堂講授的內(nèi)容,更應(yīng)該注重教學(xué)方法的設(shè)計(jì).實(shí)踐表明,選擇恰當(dāng)?shù)摹⒂腥さ陌咐氲秸n堂,通過(guò)案例引導(dǎo),極大的調(diào)動(dòng)了學(xué)生的學(xué)習(xí)積極性和自主性,提高了學(xué)生獨(dú)立解決實(shí)際問(wèn)題的能力.
傳統(tǒng)的教學(xué)方法中,學(xué)習(xí)《C語(yǔ)言程序設(shè)計(jì)》的理論知識(shí)非常的枯燥乏味,學(xué)生的學(xué)習(xí)積極性不高,計(jì)算思維能力得不到培養(yǎng).經(jīng)過(guò)改革,課堂中通過(guò)將趣味性案例與理論知識(shí)有效整合,學(xué)生在探究問(wèn)題的過(guò)程中,培養(yǎng)了分析問(wèn)題、解決問(wèn)題、動(dòng)手實(shí)踐的能力,達(dá)到了事半功倍的效果.在設(shè)計(jì)案例教學(xué)時(shí),遵循以下原則:
(1)注重基礎(chǔ)知識(shí)的應(yīng)用.由于《C語(yǔ)言程序設(shè)計(jì)》的語(yǔ)法繁多,要將本堂課的基礎(chǔ)知識(shí)貫穿到一個(gè)簡(jiǎn)單、完整的教學(xué)案例中,讓學(xué)生熟練掌握所學(xué)知識(shí)點(diǎn).
(2)注重培養(yǎng)學(xué)生的學(xué)習(xí)興趣.俗話說(shuō):興趣是最好的老師.在設(shè)計(jì)案例時(shí),通過(guò)引入日常生活中通俗易懂、簡(jiǎn)單有趣的例子,結(jié)合計(jì)算機(jī)專業(yè)特點(diǎn),真正激發(fā)學(xué)生的學(xué)習(xí)熱情.
(3)有圖有真相.引入案例時(shí),不可一味的全部是文字、代碼,為了便于學(xué)生生動(dòng)形象、直觀的理解案例,可以包含程序流程圖、動(dòng)態(tài)演示圖、運(yùn)行圖等.
循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化設(shè)計(jì)中的三大基本結(jié)構(gòu)之一,for循環(huán)更是實(shí)現(xiàn)循環(huán)的重要語(yǔ)句.如何解決程序設(shè)計(jì)語(yǔ)句本身枯燥乏味、而學(xué)生又普遍不感興趣的問(wèn)題,使學(xué)生能夠在輕松、愉悅的環(huán)境中加深對(duì)循環(huán)結(jié)構(gòu)的理解.在循環(huán)結(jié)構(gòu)的教學(xué)設(shè)計(jì)中,以培養(yǎng)學(xué)生的抽象邏輯思維為目標(biāo),引入了恰當(dāng)?shù)陌咐_(dá)到了較好的學(xué)習(xí)效果.

圖1 For循環(huán)教學(xué)設(shè)計(jì)流程
(1)為什么要學(xué)習(xí)循環(huán)結(jié)構(gòu)?
案例1 假如從今天開(kāi)始,第1天為“希望工程”存入1元錢(qián),第2天存入2元錢(qián),第3天存入3元錢(qián),問(wèn)100天后總共將為“希望工程”存入多少錢(qián)?
這是一個(gè)數(shù)學(xué)問(wèn)題,從純數(shù)學(xué)的角度分析得出結(jié)論:求1+2+3+……+100!如何編程實(shí)現(xiàn)求累加和?引導(dǎo)學(xué)生用已學(xué)過(guò)的賦值語(yǔ)句求和,并分析算法的優(yōu)劣.

以上算法雖然可以實(shí)現(xiàn) 任務(wù)1的要求,經(jīng)過(guò)分析,絕大多數(shù)語(yǔ)句都是重復(fù)性的語(yǔ)句,算法非常不靈活,效率低下.
(2)引入循環(huán)結(jié)構(gòu)的框架與一般語(yǔ)法

在上述for循環(huán)結(jié)構(gòu)中,表達(dá)式1是循環(huán)結(jié)構(gòu)的入口,主要的作用是為循環(huán)變量賦初值;表達(dá)式2是循環(huán)條件,只有表達(dá)式2成立了,程序的執(zhí)行流程才會(huì)轉(zhuǎn)到循環(huán)體中的語(yǔ)句;表達(dá)式3用于改變循環(huán)變量,使循環(huán)趨于結(jié)束而不至于陷入“死循環(huán)”.

圖2 循環(huán)結(jié)構(gòu)流程圖
在for循環(huán)中,循環(huán)的執(zhí)行流程是:先執(zhí)行表達(dá)式1,為循環(huán)控制變量賦初值;其次進(jìn)行表達(dá)式2的判斷,若表達(dá)式2成立,執(zhí)行循環(huán)體中的語(yǔ)句,反之,跳出循環(huán);執(zhí)行完循環(huán)體語(yǔ)句后,最后再執(zhí)行表達(dá)式3,改變循環(huán)變量的值,流程轉(zhuǎn)向表達(dá)式2的判斷.直到表達(dá)式2的條件為假時(shí),循環(huán)結(jié)束.
(3)用for語(yǔ)句完成任務(wù)1

上述算法中,i=1是循環(huán)變量賦初值;i<=100是判斷循環(huán)是否結(jié)束的條件;i++用于改變循環(huán)變量;sum=sum+i用于累加求和.以上三個(gè)表達(dá)式缺一不可.
如果缺少i++語(yǔ)句,程序的執(zhí)行將是什么情況?課堂教學(xué)中啟發(fā)學(xué)生自主思考,為學(xué)生留出思考的時(shí)間和空間,可以加深對(duì)算法的理解和掌握.經(jīng)過(guò)分析,缺少i++語(yǔ)句,i變量的值將不會(huì)改變,永遠(yuǎn)保持值為1,導(dǎo)致循環(huán)條件始終成立,從而陷入“死循環(huán)“狀態(tài).
(4)模擬循環(huán)的執(zhí)行流程

圖3 執(zhí)行流程
在案例教學(xué)中引入動(dòng)態(tài)模擬算法的執(zhí)行流程,使學(xué)生形象直觀的了解到循環(huán)變量i及累加和s在每一步執(zhí)行中的變化,循環(huán)結(jié)束時(shí)循環(huán)變量的終值、算法的循環(huán)次數(shù),有效的培養(yǎng)了學(xué)生的邏輯思維能力和抽象思維能力.
逆序求1~100中所有自然數(shù)的和
本題和書(shū)本原程序相比難度不大,只要將循環(huán)變量的初值改為100,循環(huán)條件改為i≥1即可,在模仿的前提下同學(xué)們就可以完成.
在程序運(yùn)行過(guò)程中任意輸入一個(gè)自然數(shù)n,計(jì)算n的階乘n!(n!=1×2×3……×n),并將結(jié)果輸出.
在前面的基礎(chǔ)上又增加了一點(diǎn)要求,即循環(huán)變量的終止值需用變量n來(lái)表示,二需要在程序的前面增加一條定義變量n的語(yǔ)句.這兩點(diǎn)要求同學(xué)們能夠把以前所學(xué)的知識(shí)綜合起來(lái)運(yùn)用,對(duì)剛剛學(xué)習(xí)編程的同學(xué)來(lái)說(shuō)這還是有一定難度的,但通過(guò)練習(xí)同學(xué)們的綜合編程能力可以得到訓(xùn)練提高.
案例2 青年教師講課比賽,7位評(píng)委的平均分就是該選手的最終得分,請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序,輸入7位評(píng)委的分?jǐn)?shù),輸出該選手的最終得分.
問(wèn)題解析:第一、隨機(jī)輸入7位評(píng)委的得分,循環(huán)的次數(shù)已知(7次),所以可以借助FOR循環(huán)實(shí)現(xiàn);第二、要求平均分,首先要先計(jì)算7位評(píng)委的總分(累加求和),然后再求平均分,程序流程圖如下所示:

圖4 算法流程圖
在解決問(wèn)題的許多算法中,需要對(duì)問(wèn)題的條件重復(fù)做出邏輯判斷,判斷后依據(jù)條件成不成立做出相應(yīng)的處理,這就需要用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn).
算法實(shí)現(xiàn)


圖5 程序運(yùn)行截圖
該案例的設(shè)計(jì)符合初步學(xué)習(xí)FOR循環(huán)的同學(xué),通過(guò)該案例的鍛煉,學(xué)生能夠?qū)⒄n本的理論知識(shí)靈活運(yùn)用到一些實(shí)際問(wèn)題的解決中,加深了學(xué)生對(duì)于for循環(huán)的理解,培養(yǎng)了學(xué)生分析問(wèn)題、解決問(wèn)題的能力.
案例教學(xué)法通過(guò)設(shè)置有效的、合適的案例,將教學(xué)內(nèi)容穿插其中,有效的解決了傳統(tǒng)教學(xué)方法中重理論、輕實(shí)踐的問(wèn)題,學(xué)生在解決任務(wù)的過(guò)程中,培養(yǎng)了學(xué)生分析問(wèn)題、解決問(wèn)題的能力,激發(fā)了學(xué)生對(duì)編程的熱愛(ài).在整個(gè)教學(xué)過(guò)程中,充分體現(xiàn)了學(xué)生的主體地位、以及對(duì)學(xué)生各種能力的培養(yǎng).無(wú)論是引入課題還是對(duì)本節(jié)課的重點(diǎn)、難點(diǎn),通過(guò)啟發(fā)引導(dǎo)、提出問(wèn)題、鞏固練習(xí)等形式,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,使他們參與到教學(xué)的整個(gè)過(guò)程,讓學(xué)生在積極思考,積極探索中掌握新知識(shí)、消化本節(jié)課的重點(diǎn)、難點(diǎn),教學(xué)效果良好.
〔1〕王平,朱艷輝.計(jì)算機(jī)程序設(shè)計(jì)教學(xué)中的教學(xué)方法研究[J].電腦知識(shí)與技術(shù),2005(21):93-95.
〔2〕楊其宇,張霞.“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)探討[J].廣東工業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2006(增刊1):94-95.
〔3〕于帆,趙妮,王中生.程序設(shè)計(jì)語(yǔ)言基礎(chǔ)(C語(yǔ)言版)[M].北京:清華大學(xué)出版社,2006.
〔4〕顧元?jiǎng)偅?C語(yǔ)言程序設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2004.
〔5〕余麗紅.C語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革探究[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2011(16):150.
〔6〕顧秉林.加強(qiáng)實(shí)踐教育培養(yǎng)創(chuàng)新人才[J].清華大學(xué)教育研究,2004,25(6):1-5.
G642.4
A
1673-260X(2017)02-0200-03
2016-10-23
安徽省質(zhì)量工程項(xiàng)目(2014zjjh079),安徽省重大教學(xué)改革項(xiàng)目(2016jyxm0777)