程序設計風格范例6篇

前言:中文期刊網精心挑選了程序設計風格范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

程序設計風格

程序設計風格范文1

1、C++:一種面向對象的計算機程序設計語言,支持多重編程范式的通用程序設計語言,擁有過程化程序設計、數據抽象、面向對象程序設計、泛型程序等設計風格。

2、Java:一種計算機編程語言,擁有跨平臺、面向對象、泛型編程的特性,廣泛應用于企業級Web應用開發和移動應用開發。

3、R語言:它是用于統計分析、 繪圖的語言和操作環境。R是屬于GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用于統計制圖的優秀工具。

4、易語言:一門以中文作為程序代碼的編程語言,采用全漢

(來源:文章屋網 )

程序設計風格范文2

關鍵詞:程序設計 教學 算法

程序設計是我國高校各專業學生必修的一門核心課程,該課程的教學目的是使學生掌握程序設計的基本方法和理論,應用某一程序設計語言編寫具體的程序。程序設計的教學質量將影響到學生的程序設計能力,影響到學生創新思維的培養。

一、程序設計課程教學現狀

“程序設計”課程長期沿襲傳統教學模式,即以一種高級語言的語句體系為脈絡展開教學,詳細地講解其語句、語法甚至一些細節內容,學生每學習一個語句需要做一些與該語句有關的習題。課程枯燥無味,學生學習積極性不高,很少動手實踐。課程學完后,學生除了學到一些呆板的語句外,收獲甚微。

1.理論基礎薄弱

有些教師過分重視程序設計語言的教學,而對于程序設計中所涉及的程序設計理論、程序設計的方法和算法的設計思想等理論知識的講解不夠深入、透徹。

2.學生缺乏創新能力

學生可以解決那些和已經學過的知識有直接或有密切聯系的問題,而面對一個需要用已經學過的知識進行綜合求解的程序設計問題時,就不知從何下手,對所學知識做不到舉一反三,缺乏程序設計的創新能力。

3.動手能力不強

學生實際動手能力差,具體表現在兩個方面。其一,學生上機調試程序的能力差,難以找到錯誤產生的原因;其二,實際編寫程序的能力不強,編寫的程序功能不夠完善,風格不一,程序健壯性差。

針對以上出現的問題,我們認為應該在教學過程中對學生各方面的編程素養進行引導和培養。

二、編程方法引導

程序設計的觀念雖然發生過很多變化,但程序的基本結構仍然是順序、選擇和循環三種。因此,在學生初學程序設計時就應該注意滲透結構化程序設計的思想,以便使學生養成良好的程序設計習慣。

我們這里談的不是純粹的程序設計方法,如結構化的、面向對象的等,而是在教學中滲透程序設計的技巧。這里舉一個結構化程序設計的例子。

例:求100以內的素數。

經過分析可以發現,除了“2”以外,偶數不可能為素數,所以外循環有50次是多余的,同理在內循環中,也不必用偶數測試。再進行分析又發現,一個合數最小的因子不會大于它的平方根,所以內循環中的次數被再次減少。最后程序變為:

通過不斷改進程序,可以使程序效率得到不斷提高,當然這些提高是在數據規模不斷增長時才能體現出來。盡管現在很多人認為硬件的速度發展很快,我們應該把速度提高的任務交給硬件去實現,這樣的想法未免過于武斷。姑且不論類似上述的技巧對于程序執行效率的提高有多少益處,單從基于問題的學習方法這個角度的出發,程序的衍生對于提高程序員的編程水平也是一個很好的訓練方法,所以這樣的編程技巧是不可多得的,我們在教學過程中就是要進行這方面的引導。

三、編程風格和規則引導

前面提到我們在進行程序設計教學時,傳統教學模式比較少注意編程風格和規則的引導,所以很多時候,學生編制出來的程序都是一路下來齊刷刷,缺乏良好風格,死套語法,缺乏考慮可能的不安全因素。

由于學習程序設計是一個循序漸進的過程,所以在教學中如果潛移默化地引導學生從程序設計入門開始,就注意程序設計的一般風格和應該遵守的規則,就能讓學生更快更好地編制出高質量的程序來,并且具備良好的編程習慣。

舉例說明。我們知道,free和delete都可以把指針所指的內存給釋放掉,比如:

這段程序運行一定沒問題,但如果在其后加上這樣一段代碼:

我們會發現出錯了!這是因為,p所指內存被釋放,但是p存放的地址值仍然不變,即p成了“野指針”。盡管嘗試用if(p!=NULL)來判斷p的可用性,我們卻發現出錯處理并沒有起作用。所以,良好的習慣是在free和delete后,都要對指針作置空處理,即p=NULL。有人會說如果要這種情況出現在程序結束時,一切指針也會消亡,動態內存也會作系統回收,所以P置空是多余的。但是如果有人將這段程序取出來用到其他地方會怎樣呢?結果不是我們想見到的。

四、算法設計概念的引入

程序=算法+數據結構。這就提出我們在進行程序設計教學過程中,不僅要重視語法的講授,也要重視算法的講授,甚至是要將算法提到更為重要的地位。程序設計是要解決問題,語言只不過是為解決問題而使用的工具,真正解決問題的是算法,難怪專家說“算法是魂,程序是衣”。

如在C語言程序設計課程教學中,當完成分支結構程序、循環控制和數組,進入內容較多的算法設計教學后,我們將教學內容分為以下五個方面。

(1)一般數據組織算法:查找、排序、字符串處理、求素數、篩選、迭代、窮舉等;

(2)函數調用,函數嵌套歸、遞推及貪心算法等;

(3)指針算法,動態內存分配,鏈表等;

(4)用矩形法、梯形法計算定積分、模擬算法的隨機抽樣、蒙特卡羅法等算法;

(5)文件數據處理。

在課堂上增加算法設計的分析和討論,強調算法設計的優化和程序的優化,是提高學生分析和解決實際問題能力的有效方法。

五、開展研究性學習

在程序設計過程中,開展研究性學習,是為了提高學生分析和解決實際問題的能力,主要是通過對解決問題的算法進行研究而展開的。由于課時所限,并且學生沒有足夠的實踐經驗,所以對算法問題的研究也是初級的,主要是討論典型問題的典型算法及其應用。

1.通過研究性學習,可以重構知識體系,加深對算法的理解。

研究性學習是學生在教師的指導下,選定主題,然后搜集相關材料,對材料進行歸納、加工處理、分析、總結得到相應結論的學習活動。在教學中,可以根據教學內容,經過反復研究,確定研究主題,并根據學生的自愿報名成立研究小組,如搜索算法研究小組等。然后各小組根據自己研究的算法,重新整理相應的知識,對知識進行歸納、總結。通過對各種算法知識進行整理、分類、小結,加深學生對這些算法的理解。

2.通過研究性學習,同學之間取長補短,共同提高。

每個學生都有所長,也有所短,研究性學習一個重要特點就是:分工合作,共同討論,共同提高。我們可以根椐學生的特點、特長,對他們進行分工,每位學生研究一種算法其中的一個問題,然后整個小組一起討論,每位學生介紹自己的研究情況、研究成果,然后其他同學進行補充,發表自己的見解,這樣每個學生都使自己的研究內容得到補充,同時也學習到了其他同學研究方面的知識,可以取長補短,共同提高。

3.通過研究性學習,總結算法的應用規律,提高程序設計能力。

在進行研究性學習時,除要求學生歸納、整理專題算法知識外,還要總結出算法的應用規律、應用算法解題的步驟和算法的框架。學生通過自己對算法應用規律的總結,對算法的應用得到升華,進一步提高算法的應用能力和程序設計能力。

4.通過研究性學習,提高分析問題的能力、算法表達能力和歸納、綜合能力。

對算法的專題研究,不僅要對算法理論進行總結,算法應用的研究也是很重要的一方面,通過算法的解題應用,既提高了學生分析問題的能力,也加深了學生對算法的理解,提高了學生的算法應用能力。另外,我們在算法研究過程中,要求學生透徹理解算法內容,用算法語言準確描述算法,通過這種途徑進一步加深學生對算法的理解,同時也提高了學生的算法表達能力和歸納、總結的能力。

結論

我們認為在程序設計教學中,要改革舊的教學體系,需要用新的理念、新的內容、新的方法組織教學。首先要用先進的程序設計理論指導教學,并加強編程算法、邏輯思維和編程方法的引導。其次,重視和鼓勵學生對具體問題進行分析和研究,勤于動手和上機訓練,養成良好的編程習慣。此外,對不同層次的學生可以進行分階段教學,前一階段講授基本的程序設計方法,除了講授程序設計語言的基本語法,還對學生進行編程方法及程序設計風格的引導;后一階段主要講授程序設計的較高級的語法和功能,提高學生對算法的認知和重視程序,并且在學生中開展研究性學習,培養學生實際動手能力。

參考文獻:

[1]李云清等.程序設計創新能力的教學研究[A].全國計算機新科技與計算機繼續教育論文集2003.

[2]李海倫等.“程序設計”課程教學改革的研究與實踐[J].計算機教育, 2005.7.

[3]豐振.計算機程序設計教學方法研究[J]. 教學研究,2004.9.

[4]等.淺談程序設計語言課程教學方法[J].吉林大學學報,2005.8第23卷.

程序設計風格范文3

1.順序表的建立、插入、刪除。

2.帶頭結點的單鏈表的建立(用尾插法)、插入、刪除。

二、提交到個人10m硬盤空間的內容及截止時間

1.分別建立二個文件夾,取名為順序表和單鏈表。

2.在這二個文件夾中,分別存放上述二個實驗的相關文件。每個文件夾中應有三個文件(.c文件、.obj文件和.exe文件)。

3. 截止時間:12月28日(18周周日)晚上關機時為止,屆時服務器將關閉。

三、實驗報告要求及上交時間(用a4紙打?。?/p>

1.格式:

《計算機軟件技術基礎》上機實驗報告

用戶名se××××學號姓名 學院

① 實驗名稱:

② 實驗目的:

③ 算法描述(可用文字描述,也可用流程圖):

④ 源代碼:(.c的文件)

⑤ 用戶屏幕(即程序運行時出現在機器上的畫面):

2.對c文件的要求:

程序應具有以下特點:a 可讀性:有注釋。

b 交互性:有輸入提示。

c 結構化程序設計風格:分層縮進、隔行書寫。

3. 上交時間:12月26日下午1點-6點,工程設計中心三樓教學組。 請注意:過時不候喲!

四、實驗報告內容

0.順序表的插入。

1. 順序表的刪除。

2.帶頭結點的單鏈表的插入。

3. 帶頭結點的單鏈表的刪除。

注意:1. 每個人只需在實驗報告中完成上述4個項目中的一個,具體安排為:將自己的序號對4求余,得到的數即為應完成的項目的序號。

例如:序號為85的同學,85%4=1,即在實驗報告中應完成順序表的刪除。

程序設計風格范文4

初中信息技術選修部分主要介紹VB程序設計,學生剛接觸到它會感到陌生,并帶有一種神秘感,認為程序設計一定很難,只有高手才能學會編寫程序。有了這樣的想法,就為教師的教學帶來一定的困難。那么,程序設計這部分內容怎樣教,才能讓學生順利地掌握這些內容,為升入高一級學校繼續學習程序設計打下堅實的基礎呢?經過幾年的程序設計教學,要讓學生掌握以下幾個方面,就會很輕松地完成教學目標。

一、什么是程序和程序設計

首先要讓學生理解什么是程序。程序是為實現特定目標或解決特定問題而用計算機語言編寫的命令序列的集合。要讓學生理解它,必須從學生熟悉的實例入手。教材中舉了一個“獵人過河”的趣味問題,獵人怎樣順利一把一只狼、一頭羊和一些白菜帶過河,只要按照如下的指令做,就能順利過河:

第1條:把羊帶到對岸;

第2條:返回;

第3條:把狼帶到對岸;

第4條:返回時把羊帶回原岸;

第5條:把菜帶到對岸;

第6條:返回;

第7條:把羊帶到對岸。

通過執行這些有序的指令完成了“獵人過河”這一具體的工作,這些指令的集合就是程序。這個程序是用人類語言描述的,計算機不能識別,如果用計算機能識別的語言來描述這些指令,這就是計算機程序。

其次要知道什么是程序設計。程序設計是給出解決特定問題程序的過程,可以用一個公式來說明:程序設計=數據結構+算法。

按照百度百科的定義:數據結構求助編輯百科名片數據結構是計算機存儲、組織數據的方式;數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略機制。

如果把程序設計當成蓋房子,那么數據結構就像磚、瓦,而算法就是設計圖紙。你若想蓋房子首先必須有原料(數據結構),但是這些原料不能自動地蓋起了你想要的房子;你必須按照設計圖紙(算法)上的說明一磚一瓦地去砌。這樣你才能擁有你想要的房子。程序設計也一樣,你使用的編譯工具中有各種功能語句或基本結構,它們不會自動排列成你要的程序代碼。你得按照程序規定的功能去編寫,而程序的功能是實現算法的具體體現。所以通俗地說:你必須按照特定的規則,把特定的功能語句和基本結構按照特定的順序排列起來,形成一個有特定功能的程序,這就是:程序設計=數據結構+算法。

二、學好數據結構是學好程序設計的第一步,也是關鍵的一步。

三、學好算法,這個是程序設計的重點,也是難點。

四、要讓學生養成一個良好的程序設計風格和習慣。

首先,要讓學生養成自上向下逐步求精的程序設計思想和方法。怎樣才是自上向下逐步求精的程序設計呢。舉個例子,有這樣一個問題:求1+2+3+…+N。

現在,當你看到這個問題時,你不要立即下手去編寫,而是要思考一下怎樣才能求解(算法),然后把它寫下來以免忘記。于是就寫了一級算法:

1.輸入N;

2.計算S=1+2+3+…+N;

3.輸出S。

當你寫完之后,你若覺得第2步不太清晰,還不能寫出代碼,那就繼續求精,二級求精:

2-1.S初始為0;i初始為1;

2-2.第i次循環將i累加到S;

2-3.i每循環一次增加1,直到i等于N后結束。

這樣問題就得到了解決,接著就可以輕松的編代碼了。再仔細看看上面的步驟:先寫出一級算法,如果覺得由此還是得不到源代碼,或者是其中有一步還有很多步驟要寫,那么就繼續求精,直到你認為可以很清晰的寫出代碼為止。但是求精可以因人而異,像上面的題目,若是一個編過很多程序的人來說,可能不用什么求精,代碼就可以直接寫出來了;但要是一個初學者來說就可能要寫到二級求精。

這樣說來,有人可能認為這個求精是不是太慢,抑或根本就是在浪費時間。這可是眾多的編程先驅推薦的基本方法。你知道編程中,主要時間用在了哪里嗎?不是編寫代碼,而是用在了求解算法和調試程序上了!而算法的求精就是縮短這些時間的最好的方法。它可以使你不用再很費力的苦思冥想到底該怎樣構造算法,使這個過程更條理、更簡明;它也很可能使你不用再為了一個小小BUG而調試半天,因為,它給出的算法已經趨于完美。其實,列一個小提綱(算法)就可以解決很多的問題,生活中不也是如此嗎?所以,求精算法這個最重要的習慣一定要養成的。

其次,要讓學生養成一個良好的習慣就是要做到程序源代碼的清晰度與可讀性一定要高。

第三,要少用goto語句跳來跳去,雖然增加了編寫代碼的靈活性,可是卻嚴重破壞了程序的結構化,容易造成程序運行和大腦思維的邏輯混亂,很可能導致一些很不容易發現的錯誤。而且所有的goto都可以用其他的語句來代替。

程序設計風格范文5

關鍵詞:C語言;教學方法;賽馬程序

中圖分類號:TP312.1-4 文獻標識碼:A文章編號:1007-9599 (2011)05-0000-01

Students C Language Programming Students Teaching Method Reform

Li Hongyan

(Shangqiu College,Shangqiu476000,China)

Abstract:Programming language life on application,learning to learn, learn to think,learn to survive.Learning to learn is to adhere to the theoretical teaching and practical teaching closely.In this paper,the relevant C language programming problems and solutions,for students of different professions to learn C language programming teaching methods.

Keywords:C-language;Teaching method;Horse program

一、C語言程序設計教學中以前存在的問題

集中式的講述(運算符、數據類型);語句的語法講的多,注意事項一堆;忽略程序的“設計”過程(思維過程);舉例死板、單一、分離;相關知識聯系不緊密;過于依賴教材。結果:學生學了不會編程,不會應用;考完試就忘了;學習興趣逐漸淡化;學生不明白,卻又問不出問題。

二、面向不同專業的C語言程序設計教學方法

(一)面向計算機專業的教學方法

1.基礎知識與實際應用知識相結合的教學方法。在強調基礎知識的同時,注意在開發實際應用程序時具有重要作用的知識。如將程序范型、程序測試、代碼驗證與程序優化、函數??蚣芘c遞歸、庫與接口、數據存儲、數據抽象、算法與程序抽象、面向對象等內容引入課程。

2.關注兩部分學生的教學方法。(1)面向大部分學生,對教材上的實例進行詳細講解,使其能夠掌握基本的語法、理解教材上的實例,以解決一般類型的問題。另外,從教材習題或參考書中選取有一定難度和代表性的實例進行概要性的講解,有助于學生學會利用基礎知識。(2)面向一些比較突出的學生,給出一些ACM Online Judge上的相關問題,并介紹解題思路,使其能解決更復雜的問題,帶動其他同學,增加編程興趣。

3.實際編程演示互動的教授方法。在課堂上實際編程演示,并運行結果。一方面要體現良好的程序設計風格和編程習慣,同時也反映了教師在編程時的思維過程,從注重結果轉向注重過程和方法。

大量地實踐證明,學生對編程演示的過程興致很高,為了進一步活躍課堂氣氛,在編程過程中會有意設置Bug,當程序的運行結果與期望的結果不一致或者出現異常情況的時候,學生的注意力會更集中,此時可讓學生分析問題的所在。此外,也可以通過對學生程序樣例展示,鼓勵學生的學習興趣。

三、面向軟件工程專業的教學方法

重實驗的教學方法,對于軟件工程的學生,比較特殊,我們可以從一些具體實例來作為出發點,具有代表性的案例如下:

(一)賽馬程序案例。特點:賽馬比賽管理系統貫穿整個實驗。分步驟進行,整體是一個demo。

實驗1,創建“馬術比賽”管理項目的開始部分,讓程序能夠處理命令行和菜單。

目的:使學生理解語言的基本結構,會使用scanf()、printf()、getchar()、putchar()等函數時行輸入輸出操作。若能寫出簡單的函數則更好。

實驗2,寫一個程序,在馬術超越障礙賽中,協助測量時間和記錄結果;踢倒障礙物和修復障礙物。目的:進一步理解輸入,輸出。字符流很有用,如何格式化輸出,如何使用時間的頭n,其中包括,在單獨的n中使用和編制“自己的”代碼(定時器)。如果你做到以下兩點,將會很好:

能創建一個帶參數函數;能把你的代碼寫在不同的文件中。請參考學習給出完整的程序示例。

實驗3,出場順序設計

定義好參賽者的出場順序,要添加并存儲參賽者和馬的數據;確保你的程序是安全的,不會在意外的輸入中程序崩潰,能處理錯誤;打印出整個參賽者列表。

目的:理解結構體,字符串,數組以及迭代器的用法;使用函數以及參數傳遞來結構化你的程序;最好使用不同的文件來存儲代碼,你可以使用類和成員函數。

實驗4,出場順序管理

一個騎手能夠在不同的馬上進行比賽,騎手在兩輪比賽后,要有足夠的時間來換馬;交換兩個裝備馬車出場順序;添加一個函數,使用戶能夠非常方便地隨機化參賽者的出場順序;移除、添加、搜索裝備馬車。

實驗目的:學會自學和查找相關資料的能力;學會使用隨機函數和迭代器。

四、非計算機專業的教學方法

教學內容:數據類型,運算符與表達式 ,簡單的C程序設計,程序的控制結構,函數,數組,指針,結構體和共用體,文件操作。

案例―任務驅動的教學方法“程序設計語言”強調的是“設計”,應當從“設計”入手,以程序設計思想與方法為核心,注重程序的編寫過程,選擇一個恰當的案例非常重要。案例的選擇應當由淺入深,要做到精、準、易。精就是突出重點,目的明確;準就是能夠反映欲教授內容的本質;易是簡單易懂,不能把學生嚇著。

五、學生的學習方法

(一)必備知識。英語基礎;數學知識(算法);認識事物的抽象能力;應用的能力。(二)學生應當做的(聽、讀、寫、思)??朔謶中睦?,敢于寫程序,盡快寫程序;從閱讀程序到寫簡單的程序開始;按自己思維重復編寫書上的程序;編寫復雜的程序;有幾種編寫程序的方法。(三)應當培養的品性。誠實規范化的品性,在調試無窮多的Bug時,就體會了“誠實”的意義。簡單實用將復雜的問題轉化為計算機能處理的一些簡單的程序??朔щy,堅持遇到困難,調試不下去,也要堅持,尋求解決問題途徑,協作精神通過大的程序體會協作的必要。

參考文獻:

程序設計風格范文6

論文摘要:該文分析了程序設計在計算機學科中的地位以及程序設計有關的知識和能力構成,結合自己多年的計算機專業教學實踐,探討了在計算機教學中培養學生程序設計能力的有效策略。

計算機科學是一種創造性思維活動,其教育必須面向設計。計算機的本質是“程序的機器”, 只有懂得程序設計,才能懂得計算機,真正了解計算機是怎樣工作的。培養學生程序設計能力對計算機專業的學生來說不僅是培養職業技能的需要,也是培養大學生創造性思維的重要途徑。學習程序設計語言可以培養學生運用算法來解決實際問題的能力,這種解決問題的方式是計算機所獨有的,也只有通過對計算機的程序設計語言和程序設計方法的學習才有可能獲得這種解決問題的能力。

1 程序設計在計算機學科中的地位

程序設計是利用某種計算機語言,編制完成某一特定功能的程序的過程,是涉及描述、開發及有效實現求解的一系列活動,是利用計算機實現自動化的重要手段。

計算機學科主要是系統地研究信息描述和變換的算法過程,包括它們的理論、分析、設計、效率、實現和應用??梢赃@樣說,一切算法的基本問題是“什么能被自動化”以及“如何有效地自動化”。這個自動化的過程就是程序設計的過程。

程序設計語言是人們學習計算機的最基本的工具,也是人們學習計算機基礎與應用知識的基本課程。通過學習,使學生掌握程序設計的基本概念、基本知識和基本方法,養成良好的程序設計風格,得到一定的程序設計訓練,具備初步編寫程序解決實際問題的能力。程序設計也正是有形表達抽象思維的方法,在程序設計過程中貫穿閱讀判斷、分析思考、工具利用、抽象表達、綜合創造等多項技能,是理論、抽象、設計和應用的綜合能力培養過程。因此程序設計是計算機學科教學的重要內容之一,對計算機專業人才素質的培養至關重要。

2 程序設計的知識和能力構成

根據循序漸進的原則,與程序設計有關的教學內容主要有:計算機基礎知識和操作、程序設計語言和基本的程序設計方法、最基本的數據結構及其基本算法、常用的算法設計方法等。在學習這些知識的同時,必須與能力的訓練有機地結合起來。程序設計能力表現在以下幾個方面:

1)自然語言能力。要有較強的運用自然語言描述現實事物的能力,只有運用背景知識正確且清晰地陳述問題及其求解目標,才能確定程序的功能。

2)數學描述能力。程序設計是為了告訴計算機做什么和如何做。這就需要利用定義、定理、公式、函數等數學工具把問題形式化,建立數學模型。

3)數據結構設計能力。選擇合理的存儲結構,在計算機中表示數學模型,是程序設計的一個重要方面。

4)算法構造能力。好的程序由精心構造的、好的算法構成。給出問題求解的離散化計算過程,是程序設計中最具有創造性的工作。

5)程序編碼能力。用某種程序設計語言表達算法,盡管這種能力往往被認為技術含量不高,但也需要對程序設計語言的熟練掌握和對算法設計的深刻理解。

6)程序調試能力。程序調試能力是一種專業綜合技能,需要對程序設計語言和程序結構有深刻的理解,需要熟練的操作技能,需要會設置測試數據和設置程序斷點,這些都有待于學生在實踐中逐步積累經驗。

可以說,程序設計能力的高低很大程度上反映在駕馭自然語言、數學語言和計算機語言的能力上。這3種語言是人們畢生有用的3種通用智能工具。前兩者是后者的基礎,良好的英語和數學訓練是學好程序設計語言和培養程序設計能力的重要基礎。

3 培養程序設計能力的有效策略

知識的價值在于運用,知識的運用需要技能,而技能的形成則依賴訓練。程序設計知識的學習和能力的培養需要各方面的知識基礎,它是一個系統的教育訓練過程,需要多個教學環節的緊密配合才能完成。

1)明確教學要求

程序設計語言課程一般是為應用性教學而設置的,因此,課程的教學不僅僅是傳授知識,而且應該強調應用性,應該以培養學生的能力為主。程序設計語言的內容比較豐富,在教學中如果面面俱到,必會耗費較多課時,而且教學效果不一定好。因為過分強調程序設計語言的系統性和完整性就可能會轉移學生對課程重點的注意力,關鍵在于教會學生如何正確運用程序設計語言編寫程序,訓練實用編程能力。所以必須突出重點,突出應用性,側重教思想,即把程序設計語言的基本思想、基本環境、基本概念、基本知識和基本方法教給學生,使他們在學習中對硬件、軟件環境、程序設計的基本思想和基本技巧,所學程序設計語言的基本概念和使用方法以及編程技術有一個比較全面的感性認識,從而提高解決實際問題的能力。

2)打好數學基礎。嚴格的數學訓練是程序設計能力的基礎,學習和加強排列與組合、數列、數學歸納法等離散系統的數學方法對提高程序設計能力尤為重要。問題描述和建立數學模型是程序設計的前奏,數學歸納法、窮舉法、構造證明法等證明技巧是算法設計方法的基礎。

3)強化英語水平。程序設計語言的符號系統以英語為基礎,程序設計文檔語言首選英語。英文資料是計算機最新和最大的技術資料來源,英語水平是我國軟件產業發展和參與國際競爭的制約因素。

4)重視閱讀訓練。從某種意義上來說,程序設計是用程序設計語言和方法進行的一種寫作??梢韵胂?如果學生沒有閱讀過一份完整、規范、有實用價值的標準程序,即使記住了有關語言的語法規則,也不可能寫出像樣的程序。所以,大量閱讀、分析、修改和擴充典型的算法和程序,是提高程序寫作能力的有效途徑。而這個重要學習環節往往未得到應有的重視,缺乏配套的程序設計閱讀分析教材。教師應經常指導學生閱讀程序,理解程序,提高學生分析程序的能力。

5)注重算法設計,突出數據結構內容。瑞士科學家、PASCAL語言和MODULA-2語言的發明者沃思(Wirth)教授提出了著名的公式:程序=算法+數據結構。這個公式表達了程序的實質,說明對于一個程序設計問題來講,算法與程序設計是緊密聯系的,絕不能脫離數據結構去講解算法設計。程序設計語言的教學應該結合數據結構的基本內容。對于同一個計算問題,選用不同的數據結構,其算法大不一樣,算法的優劣程度也不同。因此,要教會學生對不同的問題選擇合適的數據結構。在整個程序設計課程中,必須強調算法設計方法,通過不斷的算法設計訓練,使學生切實掌握迭代、枚舉、遞歸、分類等常用算法設計方法。

6)更新教學內容。計算機學科是一門綜合性學科,而且程序設計語言的應用領域在不斷擴大和發展。因此,在教學中應結合專業的特點和教學的要求,將軟件工程的思想方法貫穿于整個教學過程,介紹程序設計語言的最新發展和應用,重視面向對象程序設計方法的引入,搞好教材內容的更新。如圖形程序設計、下拉式或彈出式菜單、計算機病毒防治等等。這樣不僅能把最新的知識和最新發展動態充實到教學上來,大大豐富了教學內容,而且使學生加深對程序設計語言的理解和掌握,保持對信息技術和專業的興趣,及時跟上信息技術日新月異的發展趨勢,在今后工作中保持領先地位。

7)采用先進教學手段。用傳統的課堂教學方法講授動態的算法和數據結構是十分低效的,像排序、遞歸等抽象動態的內容講解就常常是費力不討好。應該根據課程特點,采用先進的現代教學方法,如直觀教學方法:利用掛圖、教具等講解,以及計算機輔助教學(CAI)和計算機輔助學習(Computer Aided Learning,簡稱CAL)進行教學,通常開發利用與課程內容與教學特點相適應的多媒體課件進行教學。它們是講解算法和進行程序設計訓練的最佳教學平臺,既能增加學習的趣味性,又可利用圖形的直觀性幫助抽象和動態過程的理解。

8)加強實踐環節,強化創造性思維能力培養。在教學中,常常聽到學生提出這樣的問題:“程序設計語言有什么用?”,有的學生還反映:“程序設計語言并不難學,就是不知道如何應用?”一些學生學到了一定的科學知識,但上機動手水平低。這種現象與普遍忽視實踐環節有關。為了扭轉這一局面,在整個教學過程中,必須強調實踐環節的重要性,充分安排上機實踐時間,加強系統訓練和實踐能力的培養,強化創造性思維能力培養。根據課程特點,在教學中,采用案例驅動教學,進行興趣引導;在實踐中,可以精心組織一系列由易到難、由淺入深、配套銜接、結合學科學習、有一定設計技巧的程序設計作業,最后再安排一次綜合性強、有一定難度的課程設計實踐,對學生進行項目訓練,提高學生應用能力。通過上機作業和課程設計的完成,使學生獨立思考,各顯才干,總結經驗,培養他們的動手能力和編程能力,以及分析問題和解決問題的能力。

4 結論

總之,培養學生計算機程序設計能力的方法和途徑很多,但是編程序不難,編好程序不易。作為教師,必須從培養學生編程思維的角度出發,按照以上策略認真進行編程知識的教學和技能的培養,加強實踐,提高學生科學思維的能力,真正學會程序設計的真本領。

參考文獻:

[1] ,王楠.淺談程序設計語言課程教學方法[J].吉林大學學報(信息科學版),2005(S2).

[2] 徐進華.提高學生程序設計能力的幾個措施[J].計算機時代,2005(11).

[3] 李凌.淺談高級語言程序設計課堂教學方法[J].淮北職業技術學院學報,2005(04).

亚洲精品一二三区-久久