孫英 徐順瓊 李興美
摘要:循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)是面向過(guò)程的程序設(shè)計(jì)課程的核心部分,掌握好循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)技術(shù)對(duì)學(xué)好此類(lèi)課程至關(guān)重要。本文重點(diǎn)介紹了“C語(yǔ)言程序設(shè)計(jì)”中循環(huán)結(jié)構(gòu)程序課的一種行之有效的教學(xué)方法和教學(xué)手段。
關(guān)鍵詞:C語(yǔ)言;程序設(shè)計(jì);循環(huán)結(jié)構(gòu);教學(xué)方法
中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A
1引言
“C語(yǔ)言程序設(shè)計(jì)”是計(jì)算機(jī)系各專(zhuān)業(yè)的必修課程,屬專(zhuān)業(yè)主干課,是一門(mén)學(xué)位課程。也是各高校部分非計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)的程序設(shè)計(jì)課程之一。本課程開(kāi)設(shè)的目的是使學(xué)生掌握面向過(guò)程的程序設(shè)計(jì)的基本概念,逐步形成正確的程序設(shè)計(jì)思想,理解結(jié)構(gòu)化程序設(shè)計(jì)方法;掌握程序設(shè)計(jì)的基本技術(shù),程序設(shè)計(jì)的基本組織方法即函數(shù)(模塊)程序設(shè)計(jì);具備調(diào)試程序的能力。因?yàn)镃語(yǔ)言功能強(qiáng)大,程序編寫(xiě)靈活,具有較強(qiáng)的實(shí)踐性,是一門(mén)高級(jí)語(yǔ)言中的“低級(jí)語(yǔ)言”,既可以用來(lái)編寫(xiě)系統(tǒng)軟件,又可以用來(lái)開(kāi)發(fā)應(yīng)用軟件,因此對(duì)學(xué)生以后參與專(zhuān)業(yè)領(lǐng)域的應(yīng)用軟件的開(kāi)發(fā)和使用會(huì)有極大的幫助。C語(yǔ)言是結(jié)構(gòu)化的語(yǔ)言,學(xué)好C語(yǔ)言程序設(shè)計(jì),能為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)、C++、Java等)及其他程序設(shè)計(jì)課程的學(xué)習(xí)打下基礎(chǔ)。同時(shí),C語(yǔ)言程序設(shè)計(jì)也是計(jì)算機(jī)類(lèi)各種考試所要求的重點(diǎn)課程之一。
2循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
結(jié)構(gòu)化程序設(shè)計(jì)中包含三種基本技術(shù):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)是學(xué)生學(xué)習(xí)了結(jié)構(gòu)化程序設(shè)計(jì)的前兩種基本技術(shù)之后的第三種基本技術(shù),是結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)中最重要也是最難的部分。這門(mén)課程一般都是學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門(mén)課程,第一次學(xué)習(xí)循環(huán),可能難于理解“循環(huán)”的含義,在設(shè)計(jì)程序時(shí)正確使用循環(huán)也就更困難了。針對(duì)這些特點(diǎn),循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的教學(xué)方法和教學(xué)手段也就值得探討。
3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的教學(xué)方法
3.1教學(xué)重點(diǎn)和難點(diǎn)
要想學(xué)生能夠輕松理解和掌握循環(huán)結(jié)構(gòu)的程序設(shè)計(jì),首先得確定本部分內(nèi)容的重點(diǎn)和難點(diǎn)。
本部分的重點(diǎn)主要是:(1)循環(huán)控制結(jié)構(gòu)及其設(shè)計(jì)。(2)循環(huán)控制語(yǔ)句的應(yīng)用。教學(xué)重點(diǎn)是循環(huán)控制語(yǔ)句中的while語(yǔ)句,只要把while語(yǔ)句的使用講解清楚了,后面的for語(yǔ)句和do-while語(yǔ)句就容易多了。
本部分的難點(diǎn)是循環(huán)控制結(jié)構(gòu)及其設(shè)計(jì)。
3.2突出教學(xué)重點(diǎn)與分散難點(diǎn)的方法
為了突出教學(xué)中的重點(diǎn)并分散難點(diǎn),可以從三方面入手:
(1) 從分析問(wèn)題的重復(fù)性入手。學(xué)生在日常的生活、學(xué)習(xí)中能看到、體會(huì)到重復(fù)這種行為。精心設(shè)計(jì)實(shí)例,給學(xué)生一個(gè)比較實(shí)際的切入點(diǎn),通過(guò)教師的引導(dǎo),使學(xué)生能體查、歸納“重復(fù)行為”,從而理解和掌握循環(huán)的主要特點(diǎn):有規(guī)律地重復(fù)操作。在教師的啟發(fā)、引導(dǎo)下,使學(xué)生在課堂上真正地成為“主體”,教師扮演“主導(dǎo)”角色。在整個(gè)過(guò)程中,緊緊抓住循環(huán)程序設(shè)計(jì)的思想,采用“自頂向下,逐步求精”的結(jié)構(gòu)化程序設(shè)計(jì)方法,把重點(diǎn)突出出來(lái),并把難點(diǎn)進(jìn)行分散,使學(xué)生容易理解和接受。
(2) 難點(diǎn)內(nèi)容,提前做好鋪墊。在前面內(nèi)容適當(dāng)?shù)牡胤桨才懦霈F(xiàn)循環(huán)程序,但不講它的功能,為講解現(xiàn)在的內(nèi)容做好鋪墊,打下伏筆。這使得學(xué)生的每一步學(xué)習(xí)都有基礎(chǔ),是一個(gè)循序漸進(jìn)的過(guò)程,使學(xué)生的學(xué)習(xí)是在“走臺(tái)階”,而不是“三級(jí)跳”,效果很好。
(3) 在循環(huán)程序設(shè)計(jì)的應(yīng)用中,可以從簡(jiǎn)單公式化的循環(huán)入手到復(fù)雜非公式化的循環(huán)的處理。講解過(guò)程中,通過(guò)黑板進(jìn)行詳細(xì)分析和講解,使學(xué)生加深學(xué)習(xí)和理解。適當(dāng)?shù)牡胤竭M(jìn)行提問(wèn),教師引導(dǎo)學(xué)生積極參與到分析問(wèn)題,解決問(wèn)題的過(guò)程中,寫(xiě)出程序后,放到實(shí)際的環(huán)境下運(yùn)行,讓學(xué)生來(lái)分析程序的正確性,改正程序的錯(cuò)誤,有利于學(xué)生理解難點(diǎn)、掌握重點(diǎn)。
3.3教學(xué)過(guò)程的設(shè)計(jì)與組織
(1) 提出問(wèn)題
本部分的內(nèi)容是循環(huán)程序設(shè)計(jì),體現(xiàn)在兩個(gè)方面,一是循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的算法表示;二是循環(huán)結(jié)構(gòu)程序的C語(yǔ)言表示。循環(huán)程序設(shè)計(jì)是結(jié)構(gòu)化程序設(shè)計(jì)中最難、最復(fù)雜的部分,而授課對(duì)象是初次接觸程序設(shè)計(jì)和循環(huán)結(jié)構(gòu),因此循環(huán)的引入就至關(guān)重要。例如:通過(guò)引入求5!這個(gè)簡(jiǎn)單的例子,運(yùn)用已經(jīng)學(xué)過(guò)的順序結(jié)構(gòu)程序設(shè)計(jì)就可以實(shí)現(xiàn);但是求復(fù)雜的階乘,比如20!,任意自然數(shù)n!,用已經(jīng)學(xué)過(guò)的順序結(jié)構(gòu)程序設(shè)計(jì)和選擇結(jié)構(gòu)程序設(shè)計(jì)就難于解決,要用簡(jiǎn)單的方法解決這樣的問(wèn)題,就必須使用結(jié)構(gòu)化程序設(shè)計(jì)中的第三種基本技術(shù):循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)。這樣就輕松地引入了循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。在引入的過(guò)程中,要注重調(diào)動(dòng)學(xué)生的積極性,采用互動(dòng)教學(xué)法帶動(dòng)學(xué)生的積極性。
(2) 解決問(wèn)題的方法及講授新內(nèi)容
在用問(wèn)題引入了循環(huán)后,第一步,分析用循環(huán)控制結(jié)構(gòu)求20!的算法的自然語(yǔ)言和流程圖表示。第二步,為了實(shí)現(xiàn)這種循環(huán)控制行為,C語(yǔ)言提供了多種循環(huán)控制語(yǔ)句,while語(yǔ)句就是其中的一種,介紹while語(yǔ)句的一般形式和功能。第三步,講解while循環(huán)語(yǔ)句的應(yīng)用。在講解的過(guò)程中,為了提高學(xué)生的學(xué)習(xí)效果,達(dá)到預(yù)期的目標(biāo),除了采用常用的教學(xué)方法和手段外,還可以采用以下一些教學(xué)方法和手段:
① 注重啟發(fā)、引導(dǎo)學(xué)生。教師在講解分析時(shí),注重啟發(fā)、引導(dǎo)學(xué)生主動(dòng)分析問(wèn)題、解決問(wèn)題。
② 注重采用任務(wù)驅(qū)動(dòng)的教學(xué)模式。通過(guò)提出問(wèn)題,分析問(wèn)題,引入新知識(shí),解決問(wèn)題,總結(jié)提高,一步步實(shí)現(xiàn)教學(xué)的目標(biāo)。
③ 采用國(guó)際上慣用的解析教學(xué)法。
④ 把編寫(xiě)的程序放到實(shí)際環(huán)境下運(yùn)行。讓學(xué)生來(lái)分析程序的正確性,改正程序的錯(cuò)誤,有利于學(xué)生掌握好重點(diǎn)、難點(diǎn)知識(shí)。
⑤ 應(yīng)用現(xiàn)代化多媒體教學(xué)手段,有利于提高教學(xué)效率,便于學(xué)生理解。充分利用黑板和投影相結(jié)合的方式;分析過(guò)程用黑板進(jìn)行教學(xué),以便體現(xiàn)思維過(guò)程。
4結(jié)束語(yǔ)
要使學(xué)生輕松容易地理解和掌握C語(yǔ)言中的循環(huán)結(jié)構(gòu)程序設(shè)計(jì)方法和技巧,必須在教學(xué)的所有環(huán)節(jié)上都進(jìn)行認(rèn)真研究和精心設(shè)計(jì)。通過(guò)對(duì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的教學(xué),使學(xué)生提高綜合應(yīng)用的能力,為今后的后續(xù)課程及軟件的設(shè)計(jì)和開(kāi)發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1] 徐慶生.C語(yǔ)言程序設(shè)計(jì)[M].北京:科學(xué)普及出版社,2007.
[2] 高牧,楊志強(qiáng),許蘭蘭,等. C/C++教學(xué)改革的探索與實(shí)踐[J]. 計(jì)算機(jī)時(shí)代,2005(11).
The Design and Discussion of Programming Course of Iteration Structure Pedagogical
in C Programming Language
SUN Ying, XU Shun-qiong, LI Xing-mei
(Department of Computer Science, Chuxiong Normal University, Chuxiong 675000, China)
Abstract: The programming design of iteration structure is a key part of process-oriented programming design. Mastering the programming iteration structure technology is essential to study such courses. This paper focuses on introduce a effectual method of pedagogical design and a good way of, pedagogical approaches for the programming design of iteration structure in "C Programming Language".
Key words: C programming language; programming design; iteration structure; pedagogical approaches