孫英 徐順瓊 李興美
摘要:循環結構的程序設計是面向過程的程序設計課程的核心部分,掌握好循環結構的程序設計技術對學好此類課程至關重要。本文重點介紹了“C語言程序設計”中循環結構程序課的一種行之有效的教學方法和教學手段。
關鍵詞:C語言;程序設計;循環結構;教學方法
中圖分類號:G642文獻標識碼:A
1引言
“C語言程序設計”是計算機系各專業的必修課程,屬專業主干課,是一門學位課程。也是各高校部分非計算機專業開設的程序設計課程之一。本課程開設的目的是使學生掌握面向過程的程序設計的基本概念,逐步形成正確的程序設計思想,理解結構化程序設計方法;掌握程序設計的基本技術,程序設計的基本組織方法即函數(模塊)程序設計;具備調試程序的能力。因為C語言功能強大,程序編寫靈活,具有較強的實踐性,是一門高級語言中的“低級語言”,既可以用來編寫系統軟件,又可以用來開發應用軟件,因此對學生以后參與專業領域的應用軟件的開發和使用會有極大的幫助。C語言是結構化的語言,學好C語言程序設計,能為后續課程(數據結構、編譯原理、操作系統、C++、Java等)及其他程序設計課程的學習打下基礎。同時,C語言程序設計也是計算機類各種考試所要求的重點課程之一。
2循環結構程序設計
結構化程序設計中包含三種基本技術:順序結構、選擇結構和循環結構。循環結構的程序設計是學生學習了結構化程序設計的前兩種基本技術之后的第三種基本技術,是結構化程序設計技術中最重要也是最難的部分。這門課程一般都是學生學習程序設計的入門課程,第一次學習循環,可能難于理解“循環”的含義,在設計程序時正確使用循環也就更困難了。針對這些特點,循環結構程序設計的教學方法和教學手段也就值得探討。
3循環結構程序設計的教學方法
3.1教學重點和難點
要想學生能夠輕松理解和掌握循環結構的程序設計,首先得確定本部分內容的重點和難點。
本部分的重點主要是:(1)循環控制結構及其設計。(2)循環控制語句的應用。教學重點是循環控制語句中的while語句,只要把while語句的使用講解清楚了,后面的for語句和do-while語句就容易多了。
本部分的難點是循環控制結構及其設計。
3.2突出教學重點與分散難點的方法
為了突出教學中的重點并分散難點,可以從三方面入手:
(1) 從分析問題的重復性入手。學生在日常的生活、學習中能看到、體會到重復這種行為。精心設計實例,給學生一個比較實際的切入點,通過教師的引導,使學生能體查、歸納“重復行為”,從而理解和掌握循環的主要特點:有規律地重復操作。在教師的啟發、引導下,使學生在課堂上真正地成為“主體”,教師扮演“主導”角色。在整個過程中,緊緊抓住循環程序設計的思想,采用“自頂向下,逐步求精”的結構化程序設計方法,把重點突出出來,并把難點進行分散,使學生容易理解和接受。
(2) 難點內容,提前做好鋪墊。在前面內容適當的地方安排出現循環程序,但不講它的功能,為講解現在的內容做好鋪墊,打下伏筆。這使得學生的每一步學習都有基礎,是一個循序漸進的過程,使學生的學習是在“走臺階”,而不是“三級跳”,效果很好。
(3) 在循環程序設計的應用中,可以從簡單公式化的循環入手到復雜非公式化的循環的處理。講解過程中,通過黑板進行詳細分析和講解,使學生加深學習和理解。適當的地方進行提問,教師引導學生積極參與到分析問題,解決問題的過程中,寫出程序后,放到實際的環境下運行,讓學生來分析程序的正確性,改正程序的錯誤,有利于學生理解難點、掌握重點。
3.3教學過程的設計與組織
(1) 提出問題
本部分的內容是循環程序設計,體現在兩個方面,一是循環結構程序設計的算法表示;二是循環結構程序的C語言表示。循環程序設計是結構化程序設計中最難、最復雜的部分,而授課對象是初次接觸程序設計和循環結構,因此循環的引入就至關重要。例如:通過引入求5!這個簡單的例子,運用已經學過的順序結構程序設計就可以實現;但是求復雜的階乘,比如20!,任意自然數n!,用已經學過的順序結構程序設計和選擇結構程序設計就難于解決,要用簡單的方法解決這樣的問題,就必須使用結構化程序設計中的第三種基本技術:循環結構的程序設計。這樣就輕松地引入了循環結構程序設計。在引入的過程中,要注重調動學生的積極性,采用互動教學法帶動學生的積極性。
(2) 解決問題的方法及講授新內容
在用問題引入了循環后,第一步,分析用循環控制結構求20!的算法的自然語言和流程圖表示。第二步,為了實現這種循環控制行為,C語言提供了多種循環控制語句,while語句就是其中的一種,介紹while語句的一般形式和功能。第三步,講解while循環語句的應用。在講解的過程中,為了提高學生的學習效果,達到預期的目標,除了采用常用的教學方法和手段外,還可以采用以下一些教學方法和手段:
① 注重啟發、引導學生。教師在講解分析時,注重啟發、引導學生主動分析問題、解決問題。
② 注重采用任務驅動的教學模式。通過提出問題,分析問題,引入新知識,解決問題,總結提高,一步步實現教學的目標。
③ 采用國際上慣用的解析教學法。
④ 把編寫的程序放到實際環境下運行。讓學生來分析程序的正確性,改正程序的錯誤,有利于學生掌握好重點、難點知識。
⑤ 應用現代化多媒體教學手段,有利于提高教學效率,便于學生理解。充分利用黑板和投影相結合的方式;分析過程用黑板進行教學,以便體現思維過程。
4結束語
要使學生輕松容易地理解和掌握C語言中的循環結構程序設計方法和技巧,必須在教學的所有環節上都進行認真研究和精心設計。通過對循環結構程序設計的教學,使學生提高綜合應用的能力,為今后的后續課程及軟件的設計和開發打下堅實的基礎。
參考文獻:
[1] 徐慶生.C語言程序設計[M].北京:科學普及出版社,2007.
[2] 高牧,楊志強,許蘭蘭,等. C/C++教學改革的探索與實踐[J]. 計算機時代,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