五月激情开心网,五月天激情社区,国产a级域名,婷婷激情综合,深爱五月激情网,第四色网址

程序設計的基本結構優選九篇

時間:2024-04-02 11:29:39

引言:易發表網憑借豐富的文秘實踐,為您精心挑選了九篇程序設計的基本結構范例。如需獲取更多原創內容,可隨時聯系我們的客服老師。

程序設計的基本結構

第1篇

關鍵詞: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)

第2篇

摘要:本文在分析了C語言程序設計課程的教學現狀和教學困境的基礎上,對比自然語言和程序設計語言的共性以及C語言的特殊性,提出了“從概念入手,側重程序閱讀和程序設計能力培養”而非“語法研究”的教學角度。

關鍵詞:C語言;程序設計;教學內容;教學角度

中圖分類號:G64 文獻標識碼:A

1教學現狀

在高等學校的本科教育中,“C語言程序設計”幾乎成了所有專業的必開課程,從計算機科學與技術、軟件工程、網絡工程等相關專業,到電子信息類理工科各專業,乃至理工科院校的所有非計算機專業,有的是專業基礎課,有的是公共必修基礎課,有的是“非計算機專業的計算機基礎課”。只是課程名稍有差異,常見的有“C語言程序設計”、“高級語言程序設計”、“C語言”、“C程序設計”、“結構化程序設計”等。無論叫什么樣的課程名,也無論是哪類專業,其課程的教學要求和教材選用卻無太大差別,只是課時分配差異較大。

從網絡調查的16所不同類型高校的“C語言程序設計”教學大綱看,普遍都包含“通過本課程的學習,使學生了解有關程序設計的基本概念、術語及C語言的特點,掌握C語言基本數據類型、語法規則、程序控制結構、常用的標準庫函數,培養學生的程序設計技能,初步積累編程經驗”的教學基本要求;約百分之八十左右的“C語言程序設計”課程都選用由譚浩強主編、清華大學出版社出版的“C程序設計”作為主教材;課時分配從30~108課時不等,其中80課時以上的多為應用型本科院校的計算機相關專業以及綜合性大學的非計算機專業,理論課時與實驗課時的比例一般為1:1到1:1.2。與此同時,其他專業基礎課(如計算機組成原理、操作系統、數據結構等)的課時一般為54課時,最多不超過72學時。相比之下,“C語言程序設計”所占課時是其他專業基礎課的1.5倍至2倍。

從教學目的看,非計算機專業的“C語言程序設計”課程主要目的是“掌握語法規則和程序結構,具備一定的程序設計能力”,而計算機相關專業的“C語言程序設計”課的教學目的則要分為三個層次,一是使學生全面理解計算機程序設計語言的基本內容和結構;二是通過算法掌握程序設計的基本方法和步驟,并具備一定的程序設計能力;三是為后續課程的算法描述和其他程序設計語言的學習奠定基礎。

2教學誤區

從以上的教學現狀(特別是課時分配)看,長期以來,“C語言程序設計”的課程教學存在“教學內容背離教學要求和教學目的”的誤區,主要表現在教材誤區、講授誤區和考核誤區三個方面。

2.1教材誤區

國內高校的“C語言程序設計”課大多選用譚浩強主編、清華大學出版社出版的“C程序設計”[1]為主教材,目前使用的是2005年7月修訂出版的第三版,教材共363頁,主體內容分為14章,其中,第3章的數據類型與表達式占用30頁,第4章的格式輸入輸出占用12頁,前9章共占用218頁,后5章共占用145頁。占用如此大篇幅的原因是教材中除了介紹相關語法格式外,還增加了相當多“特殊格式”和“特殊情況”的解釋和說明,因此,該教材的最大優點就是“內容詳盡、解釋清晰”。然而,對于初學者來說,學習計算機程序設計語言就是為了“為計算機描述求解問題的過程”,過于詳細但又遠離現實問題的“特殊格式”和“特殊情況”的解釋,使得學習內容復雜化,增加了程序設計語言學習的難度,誤導了學習者的學習重點,由此也賦予了該教材無法掩飾的缺點,那就是教材編寫的指導思想和教材內容的組織脫離了高校各專業“C語言程序設計”課程的教學目標,過分強調語法細節而忽略了程序設計語言的“正向表達能力”的應用,過分強調“語言的靈活性”而導致教材主體內容的“復雜化”,從而誤導“C語言程序設計”課程的教學內容朝著“重語法學習、輕算法描述”的“語言研究”方向發展。

2.2講授誤區

由于教材內容的“復雜”,課堂講授自然需要較多課時,教學重點當然也放在了“語法研究”上。從網上下載的“C程序設計(第三版)”的配套教學課件以及有關院校的“C語言程序設計”教學課件的內容組織上可以清楚的給出以上判斷。“語法研究”型的課堂講授,更加放大了教材對“C語言程序設計”課程內容的“扭曲”程度,給學生提供了錯誤的程序設計語言學習方法,把簡單問題復雜化,更為嚴重的是,挫傷了學生學習計算機程序設計語言的興趣和積極性,把本應“主動學習”的課程成引入了“被動學習”的歧途,直接導致“懂語法、會做題,但不會編程序”的教學后果。

2.3考核誤區

多年來,“C語言程序設計”的主體考試內容就是“語法”,無論是選擇題、填空題還是程序閱讀題,大多都無法逃脫“語法”的束縛。考試方式以筆試為主。這在某種程度上肯定了“語言研究”的教學角度,促使“C語言程序設計”的教學重點更向“語法研究”的方向傾斜,最終誤入“增加課時,強化語法,還是不會編程序”的怪圈。

3應有的教學角度

按照網上調查的各專業教學大綱中“培養具有一定程序設計能力”的教學目的,“C語言程序設計”課程的教學落腳點應該更確切的理解為培養“能用程序設計語言描述求解問題過程”的一般程序設計者,而不是造就“全面掌握程序設計語言語法、能設計高效、難懂程序”的程序設計語言方面的“作家”。因此,“C語言程序設計”課程教學相當于自然語言中的“基本語言能力”教學,而不是“語言研究”或“高級寫作”能力培養。

3.1自然語言與計算機程序設計語言

計算機程序設計語言是用人和計算機都能識別的方式描述計算機求解問題過程的過程描述語言,它具有和人所使用的自然語言相同或相似的組成和結構特點,對于已經掌握了至少一門自然語言(比如漢語或英語)并具備一定文化程度的人來說,學習一種計算機程序設計語言并非難事。自然語言的基本組成包括符號集合、字、詞、句、數據及其運算規則等基本要素,學習過程包括認識符號、發音、識字、組詞、學語法并造句、學文法并寫短文、練習寫文章等基本階段,在具備了基本的語言能力之后,擴充詞匯量和提高寫作能力將成為終身學習的基本內容。按照自然語言的基本組成和學習過程,也可將計算機程序設計語言的基本組成歸納為字符集、標識符(常量、變量、保留字等)、數據類型、運算符、表達式、語句、程序格式等基本要素,其中,字符集和數據類型是定義程序設計語言的基礎,字符按一定規則組成標識符,用來充當常量名、變量名或其他標識,在自然語言中被人們公認的特殊標識符被賦予特定的語言含義,專門為語言系統所用(用戶不得再次定義其意義),稱為保留字;字符集中的特殊符號(如+、-、*、/)被賦予特定的運算意義(如加、減、乘、除)稱為運算符;不同數據類型的常量、變量用運算符按一定規則連接起來組成的式子就構成表達式;將特定的保留字與表達式等語言要素按照語法規則組合起來就形成相應的語句;將語句按照要描述的求解問題的邏輯順序排列起來,就構成了某種程序設計語言求解特定問題的一段程序。

3.2C語言的特殊性

一方面,C語言是程序設計語言的一種,具備一般程序設計語言的基本組成要素和結構特點。另一方面,C語言能成為面向過程的結構化程序設計語言的代表,也有其自身的特殊性。首先,C語言的數據類型極為豐富。除了基本數據類型外,還有構造類型、指針類型、空類型和用戶自定義類型,其中,構造類型包括數組、結構體(struct)、共用體(union)和枚舉類型(enum)等四種數據結構。其次,C語言具有位操作能力。除了能夠對各類變量進行操作外,C語言還具備“按位”進行邏輯“與”、“或”、“非”、“異或”運算和“左”、“右”移位運算,這使得C語言具備了更強的系統開發能力。第三,C語言具有顯著的結構化程序設計能力,并通過完整的函數定義來實現。第四,C語言的最大特點就是“語法限制不嚴,解釋靈活”。第五,C語言允許直接訪問物理地址,可直接對硬件端口進行操作。第六,C語言沒有輸入/輸出語句,信息輸入/輸出功能由標準函數庫中相應的I/O函數來完成。

C語言的這些特殊性,決定了C語言的教、學過程不同于其他程序設計語言的教學過程。

3.3C語言的教學角度

根據一般程序設計語言的基本組成與結構特點,結合C語言的特殊性,“C語言程序設計”課程的教學角度應該是:從介紹程序設計語言的基本概念入手,重點介紹語言的“正

向”設計功能而非“特殊格式”或“特殊語法”說明,側重學生的程序閱讀和程序設計能力培養,從教學內容的廣度和深度兩個方面,恰當把握教學角度。

“C語言程序設計”課程的內容可分為三個基本模塊,教學過程從第一個模塊切入,逐漸擴展到第二和第三個模塊。第一個模塊可稱為“程序設計語言公共模塊”,主要包括程序設計語言的基本概念、程序設計語言的基本要素(字符集、標識符、常量變量以及保留字、基本數據類型、運算符、表達式、語句與控制結構、程序結構以及程序書寫規范等)以及輸入/輸出格式等內容;第二個模塊是C語言的主體,主要包括函數、數組、指針、文件等;第三個模塊是高級編程內容,主要包括結構體(struct)、共用體(union)、枚舉類型(enum)以及用戶自定義類型等。

在教學深度方面,各模塊的教學重點應放在“規范的語法描述和直觀易懂而且正確的語義表述上”,避免涉及各種過細的“不符合人類閱讀習慣”的語義描述,暫時避開“特殊格式”或“特殊情況”的糾纏,擺脫“研究語法”的錯誤向導。在此基礎上,第一模塊的教學可與自然語言相比對,通過學生已有的自然語言學習經驗和語言要素,使學生快速建立程序設計語言的基本概念,正確理解程序設計語言的基本要素及其關系,掌握基本語法和程序基本控制結構(順序、選擇、循環),并通過算法歸納求解問題的過程,正確理解算法不同描述方式(自然語言、傳統流程圖、N-S流程圖、偽代碼、程序設計語言)的作用和差異,特別是從“問題”到“程序”的漸進轉化過程,從而培養學生的基本程序設計能力。通過第二模塊的教學,使學生明確函數、數組、指針、文件等概念和作用,掌握它們的定義和引用方法,能進行相應數據類型的編程,進而掌握用函數定義的結構化模塊程序設計的方法;通過第三個模塊的教學,將程序的數據處理能力擴展到結構體、共用體、枚舉類型以及用戶自定義類型等復雜數據類型的處理上來,通過恰當的例子應用這些數據類型,向學生展示C語言強有力的數據表示和處理能力。

另外,可以將C語言中的“語法靈活性”和不同部分的各種“特殊情況”分類總結,歸納整理成“語言參考手冊”等形式,以附錄的形式提供給學生,以便需要時“備查”。這樣既可節省教學課時,又可向學生提供學習語言的主動權。

3.4教學策略和方法

“C語言程序設計”屬語言類課程,教學過程充滿了逐步完善和熟練的基本特點,因此,從教學安排的策略上要分重點、分階段逐步進行,每個階段的教學方法應該采用建立在一定基礎上的有重點的“部分教學法”,以核心內容為基礎,向外逐漸延伸,部分學習,漸進掌握。盡可能避免不分主次、不論難易、不顧急緩,盲目一次性掃清各類知識點的“地毯式”教授方法或學習方法,同時強調自學和上機驗證,強化在特定環境下(如Turbo C++ 3.0)的程序設計訓練,做到“精講多練[2]”,從小程序練起,逐漸過渡到求解較大或實際問題的程序設計上來。

4結束語

從目前的教學現狀看,無論是計算機相關專業,還是理工科的電子信息類專業,乃至綜合性大學的非計算機專業,“C語言程序設計”的課程教學均占有重要的教學地位,在全面提高教學質量和教學效率的今天,不同類型專業結合自身優勢和程序設計語言類課程的特點,選擇合適的角度組織和實施“C語言程序設計”課程的教學活動非常重要,而且很有必要。筆者的教學實踐證明,避開“語法研究”的程序設計教學不僅可減少課時,更可提高學生利用程序設計語言“表述求解問題過程”的能力。

參 考 文 獻

第3篇

關鍵詞:結構化程序設計 數據結構 算法 設計技巧

近年來,計算機程序設計技術已從結構化程序設計技術逐步向對象程序設計技術過渡,特別是當設計一個較大規模的應用程序時,面向對象設計思路成為首選。縱觀計算機軟件技術的發展,在局部功能的實現上及功能模塊的設計上,結構化程序設計仍然有其不可替代的獨特魅力。在結構化程序設計中(以C語言為例),巧妙地運用一些設計技巧,對增強程序的穩定性和可靠性,簡化程序操作步聚,提高程序的運行效率十分有效。

結構化程序設計的概念最初是由荷蘭學者E?W?DUKSTRA等人在20世紀60年代提出的,它的基本思路是:以模塊化設計為中心,將原來較為復雜的問題簡化為一系列簡單模塊的設計,也就是將一個大的計算任務劃分為若干個較小的任務,這些小任務均由函數來完成。函數既可以是C語言定義的標準庫函數,也可以是自定義函數。在實際應用程序中,一個具備一定規模的C語言程序往往由多個函數組成,其中必有一個命名為main的主函數,由main來調用其他函數。必要時,其他函數還可以調用另外的函數,同一函數可以被一個或多個函數調用一次或多次。

結構化程序設計把程序歸結為用順序結構、選擇結構和循環結構等三種基本結構來描述的邏輯問題。順序結構的程序流程是按語句的書寫順序依次執行;在C語言中,有4種語句是順序執行的:即空語句、表達式語句、函數調用語句及復合語句;選擇結構是對給定條件進行判斷,根據判斷結果決定執行兩分支中的一個分支或多分支中的一個分支,選擇語句有if語句和switch語句;循環結構是在給定條件成立的情況下,反復執行某個程序段,循環語句有for,while和do-while語句以及一些輔助流程轉向語句如continue,break,go to等等。以上三種結構通過流程控制語句來實現。流程控制語句在程序設計中起著十分重要的作用,通過三種基本控制結構的合理調配使結構化程序具有唯一的入口和出口,不會出現死循環,而且程序的靜態形式與動態執行形式之間具有良好的對應關系。

從以上結構化程序的基本特點分析,結構化程序設計主要強調的是程序。程序=算法+數據結構+程序設計方法+語言工具和環境,其中算法是靈魂,是解決“做什么”和“怎么做”的問題;數據結構是加工對象;語言是工具;編程需要采用合適的方法。具體解決主要問題包含以下幾個步驟:

分析問題,找出解決問題的模型根據模型設計出適合計算機特點的處理方法即算法進行編程程序,以實現算法上機編輯(.c)、編譯(.obj)、連接(.exe)、運行所編制的程序,直到得出正確結果對結果進行分析,整理出文字材料。

程序設計的任務不只是編寫出一個能得到正確結果的程序,還應考慮程序的質量,否則編寫的程序就會出現質量低下、可靠性差、開發周期長、維護費用高等不良后果,即所謂的的“軟件危機”,它會嚴重阻礙計算機應用的發展。由于大多高級語言都支持結構化程序設計方法,其語法上都含有表示三種基本結構的語句,所以用結構化程序設計方法設計的模塊從結構到程序的實現是直接轉換的,只需用相應的語句結構代替標準的控制結構即可。筆者在實際應用中,總結出以下幾點實用技巧。

一、通過引申法廓清思路,選準目標

“引申法”就是通過對某一結論的合理引申,結合已經解決的問題,因勢利導,在此基礎上解決相關聯的其他問題。“引申法”可以培養人們在程序設計方面的發散思維,提高程序設計的應變能力。問題是活的,但程序是有章可循的;語法是有限的,可解決的問題是無限的。程序設計相當一部分工作是分析問題,找到解決問題的方法,再以相應的語言寫出代碼。要熟練掌握一些簡單的算法,根據不同的問題,再靈活應用。如用100元錢買100只雞,公雞、母雞、小雞分別是5元、3元、1元一只。在數學上解三元一次方程,三個未知數,兩個方程好像解不出來。通過“窮舉法”,我們要費好大一番工夫才能算出結果,但是通過計算機“引申”編程運算卻不用一秒鐘即可解決問題。只有在分析實際向題的基礎上,以清晰的思路去設計算法,才能舉一反三,以不變應萬變。通過“引申”法,我們可使初學者對函數設計的關鍵問題有清晰的認識,利于從統籌全局的角度去考慮問題,體現了程序設計逐步求精的思路。

二、利用框架法培養全局思維和算法的整體設計能力

其具體體現在兩方面。一是在有了一點編程基礎后要利用偽代碼或流程圖,從算法設計的角度講解編程思路,而不應拘泥于語法細節,不分主次、逐條語句地講解代碼。這樣可以層次分明,突出算法設計的關鍵,利于培養編程思路。二是在學習重點章節函數時,由于新的算法已很少,主要是學習用函數調用的方法來重新編制以前所熟悉的程序,我們可以把著眼點放在函數的設計框架上,體現參數設計、返回值設計等關鍵問題,而無需細講函數體的實現細節。結構化構造減小了程序的復雜性,提高了可靠性、可測試性和可維護性,使用少數的基本結構,就可使程序邏輯結構清晰,易讀易懂,并且容易驗證程序的正確性。

三、借助求異法引導新思路,啟迪新思維

結構化程序設計方法的基本思路是:把一個復雜的問題的求解過程分階段進行,每個階段處理的問題都控制在人們容易理解和處理的范圍內。一個固定的問題,解決的方法可能不唯一,如果能啟發人們多角度、多側面去尋求解決問題的辦法,則可激發思考的積極性,提高其學習興致。對一個初學計算機語言的人來說,最重要的就是要有正確的程序流程概念,不僅要懂得,而且要靈活應用。由此可見,用結構化方法設計的結構是清晰的,有利于編寫出結構良好的程序。在C語言中一題多解的情況有很多,有意識地引導新思路,鼓勵新方法,以培養人們在編程中的求異思維,而不是死記硬背,墨守成規。結構化程序設計強調程序設計風格和程序結構的規范化,提倡清晰的結構。

四、選準切入口,合理劃分功能模塊“分而治之”

結構化程序設計的關鍵在于功能模塊的選定和劃分。模塊化設計的思想實際上是一種“分而治之”的思想,把一個大任務分為若干個子任務,每一個子任務的劃分以相對簡單為前提。劃分子模塊時我們應注意模塊的獨立性,即:使一個模塊完成一項功能,耦合性愈少愈好。具體應用時從問題本身入手,自頂向下,逐步細化,精益求精,將解決問題的步驟分解為由基本程序結構模塊組成的通過程序流程圖、N-S圖、PAD圖表格等表示的結構化程序框圖。在實踐應用中往往會出現以下幾個問題:一是用戶要求難以在系統分析階段準確定義,致使系統在交付使用時產生許多問題。二是用系統開發每個階段的成果來進行控制,不能適應事物變化的要求。三是系統的開發周期較長。

為解決這些問題,我們要求模塊的設計要簡潔明了,語句的選用要直觀,不要拖泥帶水。下面是一段小程序,從中可以看出一些語句選用的技巧。

某淘寶商城為鼓勵更多網友光臨本店,對新老網友給出如下優惠:凡是購買10件以上者,打9折;20件以上者,8.5折優惠;30件以上者,8折優惠,40件以上者,7.5折優惠。如用習慣上的if嵌套語句編寫程序如下:

Main()

{float x,y;

printf(“請輸入優惠購額款X:\n”);

scanf(“%f”,&x);

if(x

y=x;

else if(x

y=0.9*x;

else if(x

y=0.85*x;

else if(x

y=0.8*x;

else

y=0.75*x;

printf(“網友應付優惠后款額Y為:y);}

顯然,這段程序冗長,一旦情況有變化,難以擴展。轉換為switch語句結構后,程序就變得相對簡單:

Main()

{float x,y;

Int t;

Printf(“請輸入優惠購額款X:\n”);

Scanf(“%f”,&x);

If(x>=40)

t =4;

elst

t=(in)(x/10);

switch(t)

{case 0:y=x;break;

case1:y=0.9*x;break;

case2:y=0.85*x;break;

case3:y=0.8*x;break;

case4:y=0.75*x;break;}

printf(“網友應付優惠后款額Y為:y);}

兩種方法可謂異曲同工,但是對于程序的調試性和可維護性卻有天壤之別。在結構化程序的編程實踐中,我們要查找某些錯誤比較困難,所以要盡可能避免出現這些問題。編程技巧需要在編制和調試結構化程序時不斷總結和完善,力求找出最簡便、最直觀的方法。

總之,結構化程序設計方法在實際應用中有許多技巧可以合理運用,這需要我們對算法和數據結構展開深入分析,尋找最佳結合點,有的放矢,對癥下藥;更需要在實踐中不斷總結和積累。在編寫過程中我們覺得有些程序沒什么問題,但是一上機調試,就出現這樣或那樣的問題,這說明程序還不完善,還需要調整或改進。當今,高效率和快節湊的生活與工作方式對程序的設計提出了更高的要求和更苛刻的標準,我們只有不斷創新設計理念和方法,才能編制出更多高質量、高性能、低故障的優質程序。

參考文獻:

[1]林銳等編著.高質量程序設計指南[M].北京:電子工業出版社,2002.

第4篇

【關鍵詞】程序設計 梯形圖 經驗法

由于可編程控制器的控制功能以程序的形式出現,所以程序設計是一個重要環節。梯形圖是可編程序控制器的重要程序設計方法。一般應用程序設計可以分為經驗設計法、邏輯設計法、順序功能圖設計法等。本文以工作臺自動往返循環工作為例主要介紹采用經驗設計法進行梯形圖程序設計。

由于生產過程控制要求的復雜程度不同,可將程序按結構形式分為模塊化程序和基本程序。

基本程序既可以作為獨立程序控制簡單的生產工藝過程,也可以作為組合模塊結構中的單元程序;依據計算機程序的設計思想,基本程序的結構方式只有三種:順序結構、條件分支結構和循環結構。

模塊化程序:把一個總的控制目標程序分成多個具有明確子任務的程序模塊,分別編寫和調試,最后組成一個完整總任務的完整程序。這種方法稱為模塊化程序設計

經驗設計法需要設計者掌握大量的基本程序。這些基本程序例如電動機正反轉聯鎖控、斷開延時和接通延時控制程序、警燈閃爍控制程序等。

我們以工作臺自動往返循環工作來進行說明。

1 設計要求

(1)自動循環工作。

(2)點動控制。

(3)單循環運行,即工作臺前進、后退一次循環后停在原位。

(4)8次循環計數控制。即工作臺前進、后退為一個循環,循環8次后自動停在原位。

2 分析控制要求

(1)工作臺前進與后退是通過電動機正反轉來控制的,所以要用電動機正反轉這一基本程序;

(2)工作臺工作方式有點動控制和自動控制兩種方式,可以采用程序(軟件的方法)實現兩種運行方式的轉換。

(3)工作臺有單循環和多次循環兩種工作狀態,可以采用控制開關來選擇。

(4)多次循環因要限定循環次數,所以選擇計數器來進行控制。

3 分配I/O點

PLC控制系統I/O分配,依據生產流水線從前到后,I/O點數由小到大,盡可能把一個系統、設備或部件的I/O信號集中編制,以利于維護。表1為本例的I/O分配地址表。

4 控制程序設計

4.1 基本控制環節的程序

本控制要求的對象是工作臺,工作方式有前進和后退。電動機正轉時,使工作臺前進,電動機反轉時,使工作臺后退,因此基本控制程序是正反轉控制程序。

4.2 實現自動往返功能的程序設計

工作臺前進過程中撞塊壓合SQ2后,SQ2動作,X6常閉觸點應先斷開Y0線圈,使工作臺停止前進,后X6的常開觸點再接通Y1線圈,使工作臺后退,完成工作臺由前進轉為后退的動作,同理,撞塊壓合SQ1后,工作成由后退轉為前進的動作,因此在圖(1)中加入二個限位開關,如圖(2)所示。

4.3 實現點動控制功能和單循環控制功能程序設計

根據點動的概念可知,如果在上述梯形圖中解除自鎖,就能實現點動控。所以利用開關SA1來選擇點動和自動控制。SA1閉合后實現點動,SA1斷開,實現自動控制。

單循環工作方式是指啟動按鈕按下后,工作臺由原位前進,當撞塊壓合SQ2后由工作臺前進轉為后退,后退到原位后撞塊壓合SQ1后,使工作臺停在原位。如果撞塊壓合SQ1后,則X5常閉觸點斷開,使Y1線圈失電,工作臺停止后退。在X5常開觸點閉合后,只要不使Y0線圈得電,工作臺就不會前進,這樣便實現了單循環控制。如圖(3)所示。

根據上面這個例子,我總結出經驗法設計梯形圖的一般規律:

(1)根據控制要求,設計出基本程序;

(2)逐步補充完善程序;使其能完生滿足控制要求;

(3)設置必要的聯鎖保護程序。

PLC控制系統的程序設計是一個步驟有序的系統工程,要想做到熟練自如,需要反復實踐和練習。設計的每一步,都要依靠平時所積累的程序設計經驗來設計程序。

參考文獻

[1]張夢欣.可編程序控制器及其應用[M].中國勞動社會保障出版社,2006.

第5篇

關鍵字:程序設計語言教學改革

中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2012)02(c)-0000-00

1 概述

計算機程序設計語言,通常簡稱為編程語言,是一組用來定義計算機程序的語法規則。它是一種被標準化的交流技巧,用來向計算機發出指令。

當今計算機程序設計語言種類繁多、共性大、更新速度快,同時軟件工程和項目管理的蓬勃發展使得計算機軟件開發從業人員的職業分工更為明確。從人力資源與社會保障部頒布的“計算機程序設計員國家職業標準”上看,除了要求從業者必須要有扎實的基本功外,還要具備解決問題的綜合能力。因此計算機程序設計員專業的學生在計算機程序設計語言的知識和技能的學習中,不能再僅僅孤立地教授幾門編程語言、幾門相關的專業課程而已,而是要教會學生掌握通過計算機程序設計來解決實際問題的知識和技能,成為一名合格的“軟件藍領”。這就要求我們不能延續傳統的學歷教育方法,計算機程序設計語言教學需要改革,需要一種全新的教學理念和模式。

當前的教學改革更多的體現在教學方法和內容上,“學習領域”、“任務驅動”、“職業崗位導向”、“面向工作”等各種課程設計方法層出不窮。然而,縱觀大部分課程改革,我們發現其教學改革更多體現在獨立的課程中,并沒有在課程與課程的銜接上下功夫。大部分院校均先后開設VB、C、C++、JAVA等多門程序設計語言和數據結構、數據庫管理系統等專業課程,學生雖然學習了多門程序設計語言,然而每一門語言都只學了皮毛,每一門課程都學了基礎,只能完成課堂和課后的作業和練習,而對于能解決什么問題,怎么解決問題,如何綜合解決問題一籌莫展,碰到問題時往往覺得無從下手。

2 程序設計語言教學探索與改革:C語言學習三部曲

C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點,同時很多新型的語言都是衍生自C語言,,掌握了C語言,經過簡單的再學習,就可以用其他新型的語言去進行程序開發了。因此,在計算機專業的課程中,只要把C語言學扎實了、學透了,就可以說掌握了計算機程序設計語言的精粹。在課程設計中,我們以C語言為主線,以一脈相承的C語言、C++語言、C#語言為基本知識內容,配合上數據結構、UML、數據庫等相關知識點,提出語言知識入門、語言能力提高、語言技能應用三個階段和應用層次的“C語言學習三部曲”的課程改革方案。

第一階段:語言知識入門――C語言與數據結構整合

1、課程知識要求:

1) 掌握C語言的基本語法,如數據類型,3種語句結構,數組,指針等。

2) 掌握數據基本結構形式和操作,如線性結構,樹形結構,圖形結構,以及數據結點的查找、添加、刪除、排序等操作。

3) 掌握“自頂先下、逐步細化”的結構化程序設計方法。

2、課程技能要求:

掌握如何用計算機解決日常問題,特別是數據的表現形式和動作行為的表現形式。

3、課程設計要點:

將C語言和數據結構進行有機整合,特別是在講解C語言的數據類型時溶入數據結構知識,在講解C語言的語法結構時溶入數據結構的數據操作知識。

4、課程目的:

通過該課程的學習,要求學生掌握基本程序設計思想和理論,學會數據及數據處理由現實世界向計算機世界的轉換方法和過程,學會用計算機程序設計語言描述和解決日常生活中問題。

第二階段:語言能力提高――C++語言與UML工具整合

1、課程知識要求:

1) 掌握C++語言的高級語法知識以及面向對象的概念和形式,如面向對象的三大特征:封裝、繼承、多態,以及模板等概念。

2) 掌握UML知識,掌握利用UML工具(如ROSE)來進行面向對象的分析和建模的方法和過程。

3) 掌握以“抽象與分類”為關鍵的面向對象的程序設計方法。

2、課程技能要求:

掌握如何用計算機解決日常問題,特別是以面向對象的方法來分析和解決問題。該課程要求學生在第一階段掌握了結構化的設計方法后,進一步了解面向對象程序設計方法。

3、課程設計要點:

把C++語言和UML進行有機的整合。將UML作為面向對象程序設計的分析和設計的工具,而將C++語言作為進行面向對象程序設計的編程和實現工具。

4、課程目的:

通過該課程的學習,要求學生掌握面向對象理論,學會面向對象分析(OOA)、面向對象設計(OOD)和面向對象編程(OOP)方法和工具。

第三階段:語言技能應用――C#語言與數據庫操作整合

1、課程知識要求:

1) 掌握C#語言的高級語法知識和軟件架構知識,如集合、委托、托管、、C/S與B/S架構開發方法等。

2) 掌握數據庫操作知識,如SQL語法、、XML等。

2、課程技能要求:

掌握多層架構的數據庫應用系統開發方法。,該課程要求學生在復習第二階段的面向對象的設計方法后,掌握開發.Net應用系統的方法,掌握將數據存儲在數據庫中的方法,以及掌握對數據庫進行查詢、添加、刪除等操作的方法和步驟。

3、課程設計要點:

將C#語言與數據庫操作知識進行有機整合,在講解用C#語言開發基于.Net的多層架構應用系統中,通過講解與LINQ將SQL溶入C#語言。

4、課程目的:

通過該課程的學習,要求學生掌握C#語言和數據庫操作,掌握通用的企業級應用系統的開發方法和過程。

3 結語

教育部部長周濟在2008年度職業教育會議上說到:“以改革創新為強大動力,推動職業教育又好又快發展”。職業教育的生存和發展,離不開教學改革和創新。在進行計算機程序設計語言教學探索與研究中,我們通過走進企業,與企業軟件開發人員的進行密切聯系與溝通,了解市場發展與需求等一系列調研后,提出了改革方案并付諸實施。實踐證明我們的改革思路是正確的,課程改革是卓有成效的。

參考文獻

[1] 譚浩強,“C程序設計”[M],清華大學出版社

第6篇

關鍵詞: 高級語言程序設計 流程圖 控件 子程序 參數傳遞

一方面中職學生在初中階段基礎較差,另一方面對于高級語言程序設計的教學不同教材編寫者有不同的思路,為了適應中職學生的學習,在教學中如何更便于學生掌握高級語言程序設計,我在長期從事高級語言程序設計教學的過程中摸索出一套針對中職學生教學的組織教材的思路,下面就以Visual Basic語言為教學背景談談教材組織,請同行予以批評指正。

首先,讓學生熟悉所學的高級語言程序設計的程序結構。不同的高級語言的程序結構的描述過程是不同的,以Visual Basic語言為例,它的程序結構大至如下:

End Sub

因此,讓學生熟悉上述的結構描述方法,讓它像模板一樣印在學生的腦袋中,對于學生對該語言的編寫格式的直觀認識及后續的學習會起到良好的作用,同時也會為后續學習數據類型、運算符、表達式和常用函數的上機調試掃除障礙。

其次,讓學生熟悉所學的高級語言程序設計上機的調試環境和掌握基本的調試步驟。對于程序設計的最終結果是否正確,上機調試是必過的一關,不同的高級語言程序上機的調試環境是不同的,有的調試環境功能單一,有的調試環境功能很多,我認為首先掌握基本的調試功能,再根據需要逐步介紹和掌握調試環境所提供的其他功能,這樣更有利于學生學習。以Visual Basic語言為例,我們要求學生首先掌握以下幾個技能:建立一個新的工程,打開代碼編寫環境,保存一個工程,打開已有的工程,知道運行程序,自如查看運行的結果,并從運行結果中返回并重新修改程序。至于Visual Basic語言集成開發環境中所具有的其他功能,則根據具體調試演示時的需要零散分開,并個別介紹,這樣學生將掌握得較好。

再次,讓學生掌握程序的基本輸入、輸出語句或函數的功能及用法。程序要進行調試就要有各種各樣測試的數據及根據測試數據運行后顯示出的測試結果,以驗證所編寫程序是否正確,這就要求掌握基本的輸入輸出語句的用法。在Visual Basic語言中,inputbox()函數和print語句的用法就是必須掌握的。通過以上,學生掌握了程序設計的基本“骨架”,以及輸入輸出語句的用法,就可以進行最簡單的順序結構程序的設計了,從而在較短的時間里體驗到成就感,為后繼學習樹立信心。

另外,在講解順序結構程序設計的過程中就要開始逐步地把流程圖的識讀及使用方法教授給學生。流程圖能直觀地表示整個程序設計的流程, 程序的編寫只是對流程圖的一種語句的細化過程,因此看懂流程圖既方便程序設計的講解,又便于學生在課后通過流程圖了解程序設計的思路進行復習或思考,從而避免由于對識讀程序的困難造成理解上的不便。我曾試圖讓學生沒看流程圖而直接通過程序語句來理解程序設計思路,與讓學生通過流程圖來理解程序設計的思路相比,顯然前一種方式對學生來說要困難得多,而且時間長了就很難再理解,而通過流程圖顯然更容易,即使時間久了重新識讀起來也相當容易。

不要把控件的功能及屬性單獨介紹。以Visual Basic語言為例,很多教材都是以順序結構、選擇結構、循環結構、常用控件的順序來組織教學,我認為這樣讓學生感到很枯燥。因為很多實例在內容上涉及許多數學的知識,而學生本來數學基礎就很差,這樣學生厭學的情緒會增加,既不利于教學,又不利于學生學習。因此在教學中應把后面要掌握的控件分別有意識地穿插在順序結構、選擇結構、循環結構課堂的實例中,讓學生生動地用各種控件結合順序結構、選擇結構、循環結構程序實例來學習程序設計。一方面,學生不僅有濃厚的興趣而且很容易體驗到成功的喜悅,另一方面又聯系緊密、節省課時。當然這樣穿插教學,程序樣例的選擇就非常關鍵,每個樣例都要精挑細選,每節新課牽涉到的控件以1~2個為宜,否則控件太多的話就會造成課堂時間不足,學生掌握得也不好。

最后就是子程序與參數的傳遞要放在該門課程快結束時再介紹。這部分內容對學生來說相對較難,特別是參數傳遞,若在學生還未掌握好程序設計或程序設計還不熟練時就介紹,學生就會思路混亂,從而增加學習難度。若學生都已經能熟練地進行程序設計,在此基礎上再進一步地增加子程序與參數的傳遞的知識,就會錦上添花,學生和老師都會有事半功倍的體驗。

當然,對于教材中的其他內容,則基本上根據教材編寫的既定內容進行講授。以上是我在高級語言程序設計教學中的體會,至于是否適應其他老師的課堂教學要求,還要在實際教學中進一步探討。

參考文獻:

第7篇

關鍵詞:算法程序 數據結構

隨著世界步入信息化和網絡化,以及計算機的普及,計算機教育隨即也變得異常重要,如何讓中國培養出更多的IT人才,讓中國成為真正意義上的電子信息化與網絡一體化的國家,這也成為我們國家面臨的一項艱巨任務,因此對廣大學生的計算機教育也必須更加重視起來,計算機教育應該逐漸面向大眾化,不斷提高計算機在我國的普及程度,也是我們強國的必經之路。

程序設計教學長期以來一直是中職計算機教學的重點和難點之一,如何學好程序設計成為廣大學生最為關心的問題,如何教好程序設計也成為廣大老師長期不斷探討的問題,現在我已自身的學習經驗和體會淺談一下學習的方法。

實際上如果我們要學好程序設計,算法,數據結構,程序設計方法和語言這四個方面是一個程序設計人員必備的知識,很多人在學習程序設計的過程中很茫然,不知道怎么進行或者說不知道怎么去寫語句,其實我們出現的問題無非就是沒掌握上面四個必備的知識,現在我的提議是以算法,數據結構,程序設計方法和語言這四個方面板塊為基礎,分塊教學,各個擊破,這樣也就能夠很好的學好程序設計了。

算法:算法可以說是程序的靈魂,廣義地說,算法是為解決一個問題而采取的方法和步驟。設計出高質量的算法,并研究算法所耗費的計算資源與問題規模之間的函數關系。算法設計與算法分析是不可分割的一個整體。按照算法所處理的對象進行分類,算法設計與分析主要有數值算法和非數值算法兩大領域。按照計算方式進行分類,則可分為串行算法和并行算法。算法設計的任務是對各類具體的問題設計高質量的算法,以及研究設計算法的一般規律和方法。

數據結構:數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。在許多類型的程序的設計中,數據結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴于是否選擇了最優的數據結構。許多時候,確定了數據結構后,算法就容易得到了。有些時候事情也會反過來,我們根據特定算法來選擇數據結構與之適應。不論哪種情況,選擇合適的數據結構都是非常重要的。選擇了數據結構,算法也隨之確定,是數據而不是算法是系統構造的關鍵因素。這種洞見導致了許多種軟件設計方法和程序設計語言的出現,面向對象的程序設計語言就是其中之一。

程序設計方法: 程序設計方法學是討論程序的性質以及程序設計的理論和方法的一門學科[1], 是研究和構造程序的過程的學問,是研究關于問題的分析,環境的模擬,概念的獲取,需求定義的描述, 以及把這種描述變換細化和編碼成機器可以接受的表示的一般的方法。

用以指導程序設計各階段工作的原理和原則,以及依此提出的設計技術。有時也指研究這些原理、原則和技術的學科。程序設計方法學的目標是能設計出可靠、易讀而且代價合理的程序。程序設計方法學包括程序理論、研制技術、支援環境、工程規范和自動程序設計等課題,使程序設計更加科學化和工程化。其基本內容是:結構程序設計;程序理論在程序設計技術中的應用,以及規格說明和變換技術。程序理論與程序設計方法學的發展密切相關,它豐富了程序人員的思維方法,促進了程序設計技術的發展。其研究的主要內容為結構化程序設計,數據抽象與模塊化程序設計,程序正確性證明,面向對象的程序設計方法等。

語言:程序設計語言,用于書寫計算機程序的語言。語言的基礎是一組記號和一組規則。根據規則由記號構成的記號串的總體就是語言。在程序設計語言中,這些記號串就是程序。程序設計語言有3個方面的因素,即語法、語義和語用。語法表示程序的結構或形式,亦即表示構成語言的各個記號之間的組合規律,但不涉及這些記號的特定含義,也不涉及使用者。程序設計語言是人們指揮計算機的工具。它是一種工程語言,由字,詞,語法規則構成的指令系統,高級語言提供了常用的數據描述核對數據操作規則的描述,程序設計就是根據特定的問題,使用某種程序設計語言,設計出計算機執行的指令序列。發展趨勢

程序設計語言是軟件的重要方面。它的發展趨勢是模塊化、簡明性和形式化。

①模塊化。不僅語言具有模塊成分,程序由模塊組成,而且語言本身的結構也是模塊化的。

②簡明性。涉及的基本概念不多,成分簡單,結構清晰,易學易用。

第8篇

關鍵詞:C語言;程序設計;學習方法;學習興趣

中圖分類號:TP312.1-4

《C語言程序設計》是計算機專業的一門核心專業基礎課程,是專升本、考研和等級水平考試的必考科目,也是學生學習中感到比較吃力的一門課。那么,如何學習《C語言程序設計》這門課程呢?現根據自己多年在教學中的體會,談一些粗淺的認識。

1 為什么要學習《C語言程序設計》

《C語言程序設計》是用C語言來編寫程序的,每個程序員在他們的編程生涯中都應該學習C語言,因為它有太多難以忽視的好處了。除了它會給你提供更多的工作機會之外,C語言還會教給你更多的關于計算機的知識。它的好處如下:

1.1 C語言是一種計算機程序設計語言

它既具有高級語言的特點,又具有匯編語言的特點,既可以用來編寫系統軟件,又可以用來編寫應用軟件。它不僅具有繪圖能力強,還具備很強的數據處理能力,因此也適于編寫三維,二維圖形和動畫。

1.2 C語言具有功能強大、使用靈活、豐富的數據類型和運算符、結構化的控制語句、目標代碼運行效率高、適用范圍大、可移植性好等優點。

1.3 C語言是各大操作系統的基礎,Unix、Linux、Windows其內核都清一色是C語言開發的,(某些地方是和匯編語言混合開發的),還有各種語言的編譯器,包括java虛擬機,各種嵌入式設備,如手機、PDA等都是C語言開發的。

1.4 C語言是基礎,如果你學習過C語言,你就能學習現在任何的高級編程語言

因為所有的高級語言都是以C語言為基礎的(像JAVA,C++,C#等等)。C語言學好了,將來想學其他的語言,就比較好入門了。

2 如何學習《C語言程序設計》

2.1 克服畏難心理,充滿自信的學習《C語言程序設計》

大多數學生一看到《C語言程序設計》課程的教材,就有畏難的情緒,覺得C語言難學,學不會,因為他們對計算機語言不了解,另外有些英語差的同學,看到計算機編程是用英語編寫的,就未學先棄了。其實學習語言并沒有他們想象的那么難,英語差也對學習計算機語言影響不大,比如學C語言,真正要記的關鍵字不多,語法也不復雜,只要大家不帶著畏難的心理,充滿自信,一定能學好的。

2.2 要明確《C語言程序設計》的學習目的

通過《C語言程序設計》課程的學習,掌握C語言基本知識,掌握程序設計的基本方法并逐步形成正確的程序設計思想,能夠熟練運用基本程序結構解決簡單問題,理解模塊化程序設計原則并能熟練使用C語言進行程序設計,具備調試程序的能力,為后繼課程及其他程序設計課程的學習和應用打下基礎。

2.3 要明白《C語言程序設計》與一般的計算機操作課程有所不同

《C語言程序設計》是計算機的一門軟件編程課程,是用C語言來編寫程序的,它具有難度性、抽象性、連續性和邏輯嚴密性。如果你第一次課來聽了,第二次課沒來,第三次課很可能就聽不懂了。比如,第一次課講的是數字1,2,3,4……,第二次課講的是運算符號+,-,*,/,第三次課老師讓你算1+2=?,如果你前兩次課都來聽了,那么你就能算出它的結果,否則你就算不出它的結果。因此,如果要想學好《C語言程序設計》,必須堅持每次課都來,如果那天確實不能來,就應在家自學,不懂的地方應及時向老師請教,一定不能落課。

2.4 要整體把握《C語言程序設計》

C語言是一種通用的程序設計語言,在開發系統軟件和應用軟件中得到廣泛的應用,已成為當今計算機世界最流行的語言之一。C語言是一個整體,各個方面是有機聯系的,要從總體上把握它,不要把它割裂成互不關聯的部件。它包括C語言概述、數據類型(整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等)、運算符和表達式、流程控制語句、函數、數組、字符與字符串、指針、結構體、文件等。通過《C語言程序設計》的學習,掌握程序設計的基本概念、基本思想、基本方法和基本技能,進而學會利用C語言解決實際問題,培養計算機程序設計的能力和素質,以及思維方法,為以后學習其它計算機程序語言和后續的專業課程打下基礎。

簡單的C程序是由主函數和函數體兩大部分組成。它的基本框架如下:

main()

{

}

其中main表示“主函數”。每一個C程序都必須有一個main函數,而且只能有一個main函數,它表示程序從這里開始執行。由花括號“{ }”括起的部分是函數體。其中函數體又包括定義變量、變量賦值、函數調用、輸出打印等。

例:一個簡單的求和程序

main() /*主函數*/

{

int a,b,sum; /*定義變量*/

a=123;b=456; /*變量賦值*/

sum=a+b; /*求兩數之和*/

printf(“sum is %d\n”,sum); /*輸出和值*/

}

這是一個簡單的求和程序。/*...*/表示注釋部分,只給人看的,對編譯和運行不起作用。第3行是聲明部分,定義變量a、b、sum,指定a、b、sum為整型(int)變量。第4行是兩個賦值語句,使a和b的值分別為123和456。第5行使sum的值為a+b,第6行中“%d”是輸入輸出的“格式字符串”,用來指定輸入輸出時的數據類型和格式,“%d”表示“以十進制整數形式輸出”。Printf函數中括弧內最右端sum是要輸出的變量,現在它的值為579(即123+456之值)。因此輸出一行信息為:

sum is 579

從這個例子可以看出,想要把《C語言程序設計》這門課學好,不僅要知道《C語言程序設計》的基本框架,還要學好函數體中的內容(變量類型、定義變量、變量賦值、輸入輸出格式字符串、輸入輸出函數格式、調用函數等)。另外還要學好C語言的運算符、運算順序 、四種程序結構(順序結構、分支結構、循環結構、模塊化程序結構 )、掌握一些簡單的算法等。

2.5 熟練C程序的上機步驟

在編好一個C源程序后,如何上機運行呢?要經過編輯、編譯、連接和運行四個步驟。

(1)編輯源文件。在編輯(Edit)狀態下輸入或修改源程序。

(2)編譯源程序。選擇“C編譯”菜單并選擇“編譯到OBJ”,進行編譯,得到一個后綴為.obj的目標程序。

(3)然后再選擇菜單“L連接EXE文件”,進行連接操作,可得到一個后綴為.exe的可執行文件。

(4) 運行程序。在“RUN”菜單中選擇“R運行程序”項,或直接按Ctr+F9鍵,系統就會運行已編譯好的可執行目標文件。此時,TC集成環境窗口消失,屏幕上顯示出程序運行的結果。如果程序需要輸入數據,則應在此時,從鍵盤輸入所需數據,然后程序會接著執行,輸出結果。

2.6 要加強編程訓練

《C語言程序設計》是實踐性非常強的課程,要求學員要理論聯系實際,在掌握C語言的基本語法和基本知識后,重點應放在提高編程能力的訓練上。根據學生學習的認知特點,我認為主要應從以下幾個方面進行強化訓練:

(1)吃透課本例子。每學完一次新課,讓學生對課本例子先分析任務、再仔細閱讀程序,然后按書上的源代碼敲出來,編譯執行輸出結果,如果結果跟書上一致就算完成,如果不一致,就要仔細找原因。再后不看書自己編寫代碼與課本對照,找出自己的不足,然后改進。最后在此例的基礎上自己加以改造,舉一反三,變為其它的例子,如此反復練習,不僅培養了學生動腦思考的習慣,而且養成了遇事三思、認真、周密的作風。

(2)精選上機題目,要求調試通過。每章找出一個或兩個綜合性的具有代表性的應用題目,如編寫一個程序,計算一個整數的名位數字之和;用選擇法對數組中10個整數,按由小到大的順序進行排序等,要求用C語言編寫可執行的源程序,上機調試。這樣不僅鍛煉了學生解決實際問題的能力,更重要的是激發了學生學習課程的興趣,抽象變具體 ,理論變實踐,對這門課有了更深的認識。

(3)閱讀填空法。找一些經典程序,配上必要的說明,適當去掉語句或表達式,讓學生通過閱讀填補空白,訓練學生的程序設計能力。例編寫一個程序,輸入月份號,輸出月的英文月名,還有求和、排序、報號等。

(4)準備一個經驗本,記下C語言重要的語法和知識點,還有自己出錯的解決方法及老師講解的其他同學出現的常見錯誤,抽空常翻看,逐步積累經驗,加深印象,使以后避免。

(5)帶著作業去上機。每次理論課結束后,老師都會給學生布置一些作業(如習題)讓學生做,那么學生一定要認認真真的把作業完成好,先把程序編寫在作業本上,上機時再把這些程序敲到計算機上,進行修改、調試、運行,最后輸出結果。如果學生不帶作業去上機,第一次老師警告下次一定帶作業上機,如果第二次還沒帶作業,不準學生進機房,讓學生到教室把作業做完后再到機房上機調試。有人說學生可以直接在機器上編寫程序,固然沒錯,但對于初學者來說,如果在機器上邊思考邊編寫,也就是說想一句編一句,再想一句再編一句,這樣太浪費時間,一節課說不定連一個程序都編不好,所以老師一定要求學生在課下把程序編好,上機只需把程序敲出來進行修改、調試、運行,這樣能節約大量的時間,學生上機時間本身都是有限的。

上述方法在教學實踐中證明是行之有效的,學生對問題分析、程序設計的自覺性和能動性得到提高,動手能力加強,對后繼課如《C++》、《面向對象程序設計》等,學習起來倍感輕松,較好地完成了該門課程的學習目標。總之,實踐出真知,多學、多練、多思、多交流,勤奮好學才能學成。

參考文獻:

[1]嚴桂蘭.C語言程序設計與應用教程[M].福建:廈門大學出版社,2001.

[2]譚浩強.C程序設計(第三版)[M].北京:清華大學出版社,2005.

[3]陳東.計算機多媒體教學改革的一些嘗試[J].福建師范大學學報(自然版),2004,20(3):98.

[4]王蘭.學好《C程序設計》的幾點建議[J].科技信息,2007(9).

第9篇

[關鍵詞]C語言程序設計 探究教學 實施目標

中圖分類號:TP312.1-4 文獻標識碼:A 文章編號:1009-914X(2014)17-0126-01

一、 C語言程序設計探究教學實施的目標:情感目標、能力目標和認知目標

1、體驗C語言程序設計的編程思想,激發和保持對C語言程序設計課程的求知欲,形成積極主動地學習和參與C語言程序設計課程探究活動的態度。

2、能辯證地認識C語言程序設計對社會發展、科技進步和日常生活學習的影響。

3、獲得親自參與研究探索的積極體驗、培養嚴謹的科學態度。

4、能從日常生活、學習中發現或歸納可以利用C語言程序設計解決的問題,通過問題分析確定程序功能。

5、能根據任務的要求,確定所需信息的類型和來源,并鑒別信息的真實性、準確性和相關性。

6、掌握計算機程序的基本概念,理解并掌握C語言程序設計語言的基本知識,包括語句、數據類型、變量、常量、表達式、函數等,熟悉語言的語法規則,熟悉計算機程序執行的基本過程。

7、了解C語言程序設計語言,掌握編寫程序、編譯程序、連接程序以及程序開發環境等基本知識,掌握調試、運行程序的基本方法與技巧。

二、C語言程序設計探究教學實施的條件

1、掌握一定的計算機操作基礎

C語言程序設計課程由于其學科自身的特點,需要在計算機上調試程序,所以要求學生具有一定的計算機操作知識,如:開關機、鍵盤和鼠標的使用、文件的建立與查找、常用軟件的使用等。

2、良好的C語言程序設計認知結構

認知結構就是學生頭腦里的知識結構,是學習者觀念的全部內容和組織。奧蘇伯爾的認知結構理論是針對新學習內容的影響(即遷移)提出的,良好的認知結構有利于知識的提取和正向遷移。C語言程序設計探究教學強調在已有知識經驗上的主動建構,面對新的問題和任務,需要學生及時從頭腦中提取信息,建立新舊知識間的聯系,在已有C語言程序設計知識的基礎上思考解決新問題的辦法,并試圖將新知識納入自己的認知結構中。

3、良好的探究環境

良好的探究環境是學生順利進行探究的保證,至少包含兩方面的內容:(1)要有充足的探究時間和靈活的探究條件。探究時間應該根據學習任務進行合理安排,應該考慮到學生假設錯誤時所耽誤的時間以及討論交流所需要的時間。探究教學中可能需要查閱大量的資料,教師還應該準備書籍、網絡等輔助資源。(2)學生在探究學習的時候不能有太多壓力,不同的學生由于其自身的因素不可能以相同的速度學習,所以教師在進行評價的時候也應該因人而異,應該為每個學生提供充分的思考機會和時間,讓每個學生都能以自己的進度進行探索,并在此過程中感受到樂趣。

三、C語言程序設計探究教學情境的創設

心理學研究表明,恰當、適宜的環境能有效激發人的熱烈情緒,提高活動的質量和效果。教學情境是指教師人為創造的“典型場景”,創設目的在于引出教學任務,將學生的注意力吸引到學習任務中來。教師把將要學習的C語言程序設計知識通過一定的情境呈現給學生,使得學生認知結構與周圍環境不平衡,引起他們對學習目標的注意和興趣,并通過探究活動把學生過去的活動和將來的活動聯系在心理學研究表明,恰當、適宜的環境能有效激發人的熱烈情緒,提高活動的質量和效果。教學情境是指教師人為創造的“典型場景”,創設目的在于引出教學任務,將學生的注意力吸引到學習任務中來。教師把將要學習的C語言程序設計知識通過一定的情境呈現給學生,使得學生認知結構與周圍環境不平衡,引起他們對學習目標的注意和興趣,并通過探究活動把學生過去的活動和將來的活動聯系在一體。探究教學情境的創設應做到:(1)創設的情境是為C語言程序設計教學服務的,要以C語言程序設計探究教學目標為依據。(2)探究情境要接近學生的真實生活經驗,能夠吸引學生的注意力,激發他們的認知沖突和求知欲。(3)學生在情境中能夠感覺到問題的存在,自然地將新舊知識聯系起來。(4)情境中必須包含學生未知的新內容,而且是能夠通過探究掌握的。

四、C語言程序設計課程中的探究形式

C語言程序設計課程中開展探究教學主要有4種形式:探究性提問、探究性討論、探究性演示和探究性實驗。這4種形式是相輔相承的,而不是孤立存在的,在C語言程序設計探究教學中,需要用到多種形式來構成一個完整的探究教學過程。C語言程序設計探究教學通常都是由探究性提問開始,然后進行探究性討論、探究性演示或探究性實驗;也可能從探究性演示或探究性實驗開始,在演示或實驗的過程中發現問題,再進行探究性討論。在實際教學過程中,要根據學習內容和課堂情況靈活地選用這些形式。

五、C語言程序設計探究教學評價

教學評價指依據一定的標準,通過各種策略和相關資料的收集,對教學活動及其效果進行客觀衡量和科學判定的系統過程。C語言程序設計探究教學評價是對C語言程序設計探究教學過程及其影響的測量、分析和評定,評價中我們更關注學生學習和成長的過程,尋找適合學生發展的學習方式,滿足學生知識和能力發展的需要。評價對探究教學的積極作用是很明顯的,但是如果評價指標制定不合理,或者評價方法的選用、評價結果的表述不當,不僅不能達到預期效果,還會對學生的C語言程序設計學習產生消極影響。

參考文獻

[1] 《基礎教育課程改革綱要(試行)》教育部文件,教基[2001]17號.

[2] 保羅 朗格朗.終身教育引論瞰[M].北京:中國對外翻譯出版公司,1985,p15~31.

[3] 聯合國教科文組織.學會生存――教育世界的今天和明天[M].上海:上海譯文出.

版社,1979,p2.

[4] 張大均。教育心理學[M].北京:人民教育出版社,2005,p68--71.

[5] 靳玉樂.探究教學論[M].重慶:西南師范大學出版社,200l.

相關文章
相關期刊
主站蜘蛛池模板: 国产成人综合日韩精品婷婷九月 | 亚洲激情在线 | 激情婷婷成人亚洲综合 | 快播短视频 | 国产免费区| 欧美成人 综合网播九公社 欧美成年黄网站色视频 | 欧美做a一级视频免费观看 欧美做a欧美 | 国产福利91精品 | 生化危机5高清免费收看 | 国产永久免费高清在线观看 | 日韩在线不卡视频 | 国产午夜视频在线观看 | 免费视频色 | 99成人精品 | 精品久久久久久午夜 | 青青热久久国产久精品 | 久久精品国产一区二区三区不卡 | 精品视频一二三区 | 久久国产精品永久免费网站 | 精品四虎免费观看国产高清午夜 | 青草视频国产 | 国产一区二区三区在线观看精品 | 精品在线视频免费观看 | 久久99这里只有精品 | 欧美性开放视频 | 97精品在线视频 | 精品久久久久中文字幕日本 | 可以看的毛片 | 久久久久久久久久综合情日本 | 九九在线精品视频 | 阿v天堂在线 | 日本男人天堂 | 国产一级毛片国语版 | 国产成人aa在线观看视频 | 精品无人区乱码一区2区3区 | 青草悠悠视频在线观看 | 蜜臀影院在线观看免费 | 99色在线播放 | 五月婷婷七月丁香 | 无限资源免费观看高清在线播放 | 国产成人综合网在线观看 |