馮瑩瑩,李林國,趙莎莎
(阜陽師范學院 信息工程學院,安徽 阜陽 236000)
案例教學法在《C語言程序設(shè)計》中的應(yīng)用實踐
馮瑩瑩,李林國,趙莎莎
(阜陽師范學院 信息工程學院,安徽 阜陽 236000)
本文針對《C語言程序設(shè)計》傳統(tǒng)教學“重理論、輕實踐”的問題,在教學過程中引入案例教學方法,通過精心組織和認真分析,從學生的認知規(guī)律考量,有效的激發(fā)了學生的學習熱情,顯著提升了學生的邏輯思維能力和抽象思維能力.
《C語言程序設(shè)計》;任務(wù)驅(qū)動;能力
《C語言程序設(shè)計》是一門理論與實踐并重的計算機專業(yè)基礎(chǔ)課程,不僅要求學生熟練掌握繁瑣的語法規(guī)則,更加注重編程能力和實際解決問題能力的培養(yǎng).作為一名計算機專業(yè)教師,在《C語言程序設(shè)計》授課過程中,不僅僅需要關(guān)注課堂講授的內(nèi)容,更應(yīng)該注重教學方法的設(shè)計.實踐表明,選擇恰當?shù)?、有趣的案例引入到課堂,通過案例引導,極大的調(diào)動了學生的學習積極性和自主性,提高了學生獨立解決實際問題的能力.
傳統(tǒng)的教學方法中,學習《C語言程序設(shè)計》的理論知識非常的枯燥乏味,學生的學習積極性不高,計算思維能力得不到培養(yǎng).經(jīng)過改革,課堂中通過將趣味性案例與理論知識有效整合,學生在探究問題的過程中,培養(yǎng)了分析問題、解決問題、動手實踐的能力,達到了事半功倍的效果.在設(shè)計案例教學時,遵循以下原則:
(1)注重基礎(chǔ)知識的應(yīng)用.由于《C語言程序設(shè)計》的語法繁多,要將本堂課的基礎(chǔ)知識貫穿到一個簡單、完整的教學案例中,讓學生熟練掌握所學知識點.
(2)注重培養(yǎng)學生的學習興趣.俗話說:興趣是最好的老師.在設(shè)計案例時,通過引入日常生活中通俗易懂、簡單有趣的例子,結(jié)合計算機專業(yè)特點,真正激發(fā)學生的學習熱情.
(3)有圖有真相.引入案例時,不可一味的全部是文字、代碼,為了便于學生生動形象、直觀的理解案例,可以包含程序流程圖、動態(tài)演示圖、運行圖等.
循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化設(shè)計中的三大基本結(jié)構(gòu)之一,for循環(huán)更是實現(xiàn)循環(huán)的重要語句.如何解決程序設(shè)計語句本身枯燥乏味、而學生又普遍不感興趣的問題,使學生能夠在輕松、愉悅的環(huán)境中加深對循環(huán)結(jié)構(gòu)的理解.在循環(huán)結(jié)構(gòu)的教學設(shè)計中,以培養(yǎng)學生的抽象邏輯思維為目標,引入了恰當?shù)陌咐_到了較好的學習效果.
圖1 For循環(huán)教學設(shè)計流程
(1)為什么要學習循環(huán)結(jié)構(gòu)?
案例1 假如從今天開始,第1天為“希望工程”存入1元錢,第2天存入2元錢,第3天存入3元錢,問100天后總共將為“希望工程”存入多少錢?
這是一個數(shù)學問題,從純數(shù)學的角度分析得出結(jié)論:求1+2+3+……+100!如何編程實現(xiàn)求累加和?引導學生用已學過的賦值語句求和,并分析算法的優(yōu)劣.
以上算法雖然可以實現(xiàn) 任務(wù)1的要求,經(jīng)過分析,絕大多數(shù)語句都是重復性的語句,算法非常不靈活,效率低下.
(2)引入循環(huán)結(jié)構(gòu)的框架與一般語法
在上述for循環(huán)結(jié)構(gòu)中,表達式1是循環(huán)結(jié)構(gòu)的入口,主要的作用是為循環(huán)變量賦初值;表達式2是循環(huán)條件,只有表達式2成立了,程序的執(zhí)行流程才會轉(zhuǎn)到循環(huán)體中的語句;表達式3用于改變循環(huán)變量,使循環(huán)趨于結(jié)束而不至于陷入“死循環(huán)”.
圖2 循環(huán)結(jié)構(gòu)流程圖
在for循環(huán)中,循環(huán)的執(zhí)行流程是:先執(zhí)行表達式1,為循環(huán)控制變量賦初值;其次進行表達式2的判斷,若表達式2成立,執(zhí)行循環(huán)體中的語句,反之,跳出循環(huán);執(zhí)行完循環(huán)體語句后,最后再執(zhí)行表達式3,改變循環(huán)變量的值,流程轉(zhuǎn)向表達式2的判斷.直到表達式2的條件為假時,循環(huán)結(jié)束.
(3)用for語句完成任務(wù)1
上述算法中,i=1是循環(huán)變量賦初值;i<=100是判斷循環(huán)是否結(jié)束的條件;i++用于改變循環(huán)變量;sum=sum+i用于累加求和.以上三個表達式缺一不可.
如果缺少i++語句,程序的執(zhí)行將是什么情況?課堂教學中啟發(fā)學生自主思考,為學生留出思考的時間和空間,可以加深對算法的理解和掌握.經(jīng)過分析,缺少i++語句,i變量的值將不會改變,永遠保持值為1,導致循環(huán)條件始終成立,從而陷入“死循環(huán)“狀態(tài).
(4)模擬循環(huán)的執(zhí)行流程
圖3 執(zhí)行流程
在案例教學中引入動態(tài)模擬算法的執(zhí)行流程,使學生形象直觀的了解到循環(huán)變量i及累加和s在每一步執(zhí)行中的變化,循環(huán)結(jié)束時循環(huán)變量的終值、算法的循環(huán)次數(shù),有效的培養(yǎng)了學生的邏輯思維能力和抽象思維能力.
逆序求1~100中所有自然數(shù)的和
本題和書本原程序相比難度不大,只要將循環(huán)變量的初值改為100,循環(huán)條件改為i≥1即可,在模仿的前提下同學們就可以完成.
在程序運行過程中任意輸入一個自然數(shù)n,計算n的階乘n!(n!=1×2×3……×n),并將結(jié)果輸出.
在前面的基礎(chǔ)上又增加了一點要求,即循環(huán)變量的終止值需用變量n來表示,二需要在程序的前面增加一條定義變量n的語句.這兩點要求同學們能夠把以前所學的知識綜合起來運用,對剛剛學習編程的同學來說這還是有一定難度的,但通過練習同學們的綜合編程能力可以得到訓練提高.
案例2 青年教師講課比賽,7位評委的平均分就是該選手的最終得分,請設(shè)計一個程序,輸入7位評委的分數(shù),輸出該選手的最終得分.
問題解析:第一、隨機輸入7位評委的得分,循環(huán)的次數(shù)已知(7次),所以可以借助FOR循環(huán)實現(xiàn);第二、要求平均分,首先要先計算7位評委的總分(累加求和),然后再求平均分,程序流程圖如下所示:
圖4 算法流程圖
在解決問題的許多算法中,需要對問題的條件重復做出邏輯判斷,判斷后依據(jù)條件成不成立做出相應(yīng)的處理,這就需要用循環(huán)結(jié)構(gòu)來實現(xiàn).
算法實現(xiàn)
圖5 程序運行截圖
該案例的設(shè)計符合初步學習FOR循環(huán)的同學,通過該案例的鍛煉,學生能夠?qū)⒄n本的理論知識靈活運用到一些實際問題的解決中,加深了學生對于for循環(huán)的理解,培養(yǎng)了學生分析問題、解決問題的能力.
案例教學法通過設(shè)置有效的、合適的案例,將教學內(nèi)容穿插其中,有效的解決了傳統(tǒng)教學方法中重理論、輕實踐的問題,學生在解決任務(wù)的過程中,培養(yǎng)了學生分析問題、解決問題的能力,激發(fā)了學生對編程的熱愛.在整個教學過程中,充分體現(xiàn)了學生的主體地位、以及對學生各種能力的培養(yǎng).無論是引入課題還是對本節(jié)課的重點、難點,通過啟發(fā)引導、提出問題、鞏固練習等形式,充分調(diào)動學生的學習積極性,使他們參與到教學的整個過程,讓學生在積極思考,積極探索中掌握新知識、消化本節(jié)課的重點、難點,教學效果良好.
〔1〕王平,朱艷輝.計算機程序設(shè)計教學中的教學方法研究[J].電腦知識與技術(shù),2005(21):93-95.
〔2〕楊其宇,張霞.“C語言程序設(shè)計”課程教學探討[J].廣東工業(yè)大學學報:社會科學版,2006(增刊1):94-95.
〔3〕于帆,趙妮,王中生.程序設(shè)計語言基礎(chǔ)(C語言版)[M].北京:清華大學出版社,2006.
〔4〕顧元剛,等.C語言程序設(shè)計教程[M].北京:機械工業(yè)出版社,2004.
〔5〕余麗紅.C語言程序設(shè)計課程教學改革探究[J].中國科教創(chuàng)新導刊,2011(16):150.
〔6〕顧秉林.加強實踐教育培養(yǎng)創(chuàng)新人才[J].清華大學教育研究,2004,25(6):1-5.
G642.4
A
1673-260X(2017)02-0200-03
2016-10-23
安徽省質(zhì)量工程項目(2014zjjh079),安徽省重大教學改革項目(2016jyxm0777)