前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的計算機函數入門教學主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:C/C++程序設計上機實驗模擬;delphi;Access數據庫
中圖分類號:TP311
C/C++語言是國際上廣泛流行的計算機高級程序設計語言,在各類高等院校的計算機及相關專業(yè)中,C/C++語言均被列為一門必修的基礎課。學習C/C++語言,理論知識的掌握很重要,實踐應用能力的培養(yǎng)更是不容忽視。目前也有很多有關C/C++語言的題庫,可很好地實現對理論知識的練習,但對于程序設計題并沒有很好的歸納,并不能實現對實踐應用的練習。因此學生的計算機能力大多限于“紙上談兵”,其上機操作能力差,在實際上機環(huán)境中常常束手無策。
針對這些問題我們設計出一款C/C++的學習軟件,這款軟件的目的就是輔助老師的教學,并且讓學生們通過實際的練習可以增強自己的實踐能力和培養(yǎng)學生的編程思維,本系統(tǒng)采用delphi和access來開發(fā)。
1 語言學習系統(tǒng)需求分析
1.1 總體需求分析
C/C++學系統(tǒng)主要在C/C++基礎知識上的學習和上機實驗的使用,因此本文分析過程中主要以一些上機實驗題,并且針對每一個實驗題都有詳細的解答。具體設計如下:
(1)章節(jié)練習
該練習模塊中,將入門程序實例收錄每一章的習題。同時能夠將不會的題加入C語言題庫和C++題庫。再能夠進行VC和TC程序的調用,用來進行編程。同時幫助里面有函數查詢、常見控制字符表、ASCII碼字符對照表、運算符優(yōu)先級別次序表。并且在系統(tǒng)的編輯模塊中可以進行復制、剪切、粘貼、全選、清空的作用。
(2)入門程序實例
該模塊中,能夠進行一些簡單的程序實例的展示,同時可以把不會的題加入C語言題庫和C++題庫。通過調用VC和TC來進行編程。同時通過在幫助模塊中里面有函數查詢、常見控制字符表、ASCII碼字符對照表、運算符優(yōu)先級別次序表。幫助進行入門程序練習訓練。另外,其通過展示一些典型的源程序,利用典型的算法、函數應用等達到程序應用的目的。
(3)典型程序學習
通過將一些不會的題加入C語言題庫和C++題庫中,同時能夠實現VC和TC等調用,從而為編程做好基本命令準備。在此基礎上,通過系統(tǒng)幫助模塊中的函數查詢、常見控制字符表、ASCII碼字符對照表、運算符優(yōu)先級別次序表。
(4)課程設計
在課程設計模塊中,通過應用一些小的程序,在對VC、TC等的調用下,實現對應的編程命令。同樣,能夠利用幫助里面的函數查詢、常見控制字符表、ASCII碼字符對照表、運算符優(yōu)先級別次序表功能。
(5)我的題庫
在該模塊設計過程中,能夠將一些教師認為經典的題目收錄到其中。通常,其中好ui包含兩個題庫,即C語言題庫和C++題庫。在題目的定位方面,主要需要設置上一題、下一題等定位按鈕,以達到題目的切換目的。同時,教師也需要能夠自主的進行題庫的編輯。例如能夠及時的對題庫中的題目進行更新、刪掉里面的不想要的題目等操作。
1.2 筆者在通過實際的分析調研基礎上,將C/C++學習系統(tǒng)的功能分為典型源程序、章節(jié)練習、課程設計、我的題庫、知識學習等幾個大模塊。
(1)章節(jié)練習
經過每一章節(jié)的扎實的練習,讓用戶了解每一章節(jié)的基本概念 和原理,了解自己的不足起到查缺補漏的作用。
(2)入門程序實例
收集了一些基礎性的實例,使用用戶了解一些基本的算法,初步培養(yǎng)用戶的編程思想和增強用戶的編程能力,其功能模塊圖與圖1類似,都具有相同的子模塊。
(3)我的題庫
可以把自己在做題過程中不會的題加入自己的題庫中,并且還可以編寫自己的題庫,其具體的功能模塊如圖1所示:
2 數據庫系統(tǒng)設計
在概念結構的設計過程中,設計者要對用戶需求進行綜合、歸納和抽象,形成一個獨立于具體計算機和數據庫管理系統(tǒng)的概念模型。數據邏輯設計的主要任務是將概念結構轉換為access支持的數據模型,并將性能進行優(yōu)化。
根據上文中對該系統(tǒng)的功能結構進行分析,結合具體的教學實際需要,形成了數據庫系統(tǒng)設計的概念結構圖示,得到了系統(tǒng)的具體E-R圖。由于各個系統(tǒng)的E-R圖相似,所以僅列出章節(jié)練習的E-R圖,如圖2所示。
3 系統(tǒng)的詳細設計和實現
本系統(tǒng)共包括七個模塊登錄模塊、主界面、章節(jié)練習、入門程序實例、典型源代碼、課程設計、我的題庫。
3.1 數據庫連接方案
(1)方案分析
access數據庫連接方案就是通過驅動程序與數據庫建立連接,對數據庫進行訪問。access是C/S類型的數據庫,客戶端應用程序可以通過ADO技術,選擇合適的驅動程序連接服務器端的數據庫,能夠使多客戶連接同一數據庫,從而實現數共享。
(2)系統(tǒng)設計的具體實施過程
在delphi中新新建一個工程,再在工程中新建一個數據模塊Data Module,在Data Module 中放置一個TADOConnection和其它數據庫訪問組件,其它數據庫組件都引用模塊中的TADOConnection組件作為數據源,這種方式保證一個工程中只建立了一個數據庫連接,減少了對資源的占用。
雙擊TADOConnection組件,打開ConnectionString屬性對話框,進行數據庫連接設置。
3.2 登錄模塊的設計
(1)用戶登錄界面
當用戶輸入用戶名和密碼,系統(tǒng)會核查用戶名及密碼的真假,當密碼和用戶名錯誤,系統(tǒng)會提示用戶重新輸入正確的密碼,而輸入正確的用戶名及密碼,系統(tǒng)會直接跳轉到主界面。
(2)注冊新用戶界面
當用戶進行注冊時,當用戶輸入用戶名和密碼時,系統(tǒng)會核查用戶名和密碼是否合法,當密碼和用戶名錯誤時,系統(tǒng)會提示用戶重新輸入,而輸入正確,則表示注冊成功并返回到用戶登錄界面。
(3)主界面模塊設計
主界面起到導航的作用,在這里可以順利的切換的每一個界面,并且在主界面有關于學習C語言的一些方法。
3.3 章節(jié)練習模塊設計
在章節(jié)練習模塊中你可以選擇任意章節(jié)的習題進行練習,并且有詳細的答案,對比較重要的題可以加入自己的題庫方便以后的復習。
在章節(jié)練習中運用了菜單運用了MainMenu1,題目定位運用了TreeView1,加入題庫運用了Batton等控件。
3.4 入門程序實例
入門程序實例主要是一些簡單的程序實例,通過一些簡單的練習初步建立編程思想。在入門程序實例中運用了菜單運用了MainMenu1,題目定位運用了TreeView1,加入題庫運用了Batton等控件。
3.5 典型源程序
典型源程序收集一些有典型的算法和典型的函數的程序題,適用于有一定程序編程能力的學生。
3.6 課程設計
在課程設計這個模塊中收集了一些小型程序供大家參考,為學生的學習提供具體的實例知道操作。
4 結語
C++是計算機學科教學的重點,同時也是難點工作。本文就如何利用程序編制語言的方式形成C++程序的教學系統(tǒng)進行了詳細論述。這樣,不但能夠顯著提高教育效率,達到對應的教學水平。而且還通過程序系統(tǒng)將C++學科的重要作用活生生的展示在了學生面前,使得學生的學習興趣得到提高,為學生學習質量的提高打下了基礎。
參考文獻:
[1]呂鳳翥.C++語言程序設計(第2版)[M].北京:電子工業(yè)出版社,2007,2.
[2]Harvey Dietel,Paul Deitel.C:How to Program[M].Pearson Education,Inc,2010.
[3]Mark Lee.C++ Programming for the Absolute Beginner For the Absolute Beginner[M].Course Technology,2009.
[4]J.Stanley puter Systems[M].Jones&Bartlett Publishers,2009.
[5]那一沙,吳子東,杜修平.基于建構主義的面向對象程序設計C++教學[J].現代遠距離教育,2008,4.
關鍵詞:C語言;C++語言;程序設計
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913(2007)14-0022-02
1引言
大學計算機科學專業(yè)的程序設計語言課程,一般分為必修和選修兩種。C和C++都作為必修課;而VB和Java等一般作為選修課?,F在大多數高校計算機科學專業(yè)開設程序設計語言課程的順序都是,先開C語言,再開C++語言。然而,我們在教學實踐中發(fā)現,學生學習C語言程序設計,接受了“自頂向下,逐步求精”的模塊化程序設計思想,在學習C++語言時,對C++語言的特色:類和模板所提供和支持的“自底向上”的面向對象程序設計思想,很難適應、理解、接受和掌握。同時,由于課時的壓縮,兩門語言都要開設,學時更顯不足,致使學生兩門語言課程都沒有充分的時間學通、學透;更有甚者,正常的教學內容不能完成,學生一知半解、似懂非懂,課程的難點知識沒有時間講和學。這種結果直接影響后續(xù)課程(比如,數據結構)的學習;同時學生動手開發(fā)軟件的能力也將受到影響。
本文在分析比較C和C++程序設計語言異同的基礎上,結合多年的教學實踐經驗,提出在大學計算機科學專業(yè)中,直接開設C++程序設計語言,不再開設C語言的觀點。并根據作者的教學實踐經驗,給出直接開設C++時,教學內容、教材選擇和開設時間的建議。
2程序設計語言C與C++的比較
2.1C與C++的共性
C++是C的增強版,是在C的基礎上增加了數據抽象和面性對象的程序設計這些新特點,很自然C++擁有C語言的基本功能。它支持結構化的程序設計,任何用C寫的程序都可以在C++環(huán)境下運行。
在C和C++語言中,標識符、變量、常量、基本數據類型、指針、表達式、運算符的優(yōu)先級等的規(guī)定都相同。枚舉類型和結構體類型的定義方法也相同。關系和邏輯運算、條件語句、循環(huán)語句這些控制流語句的定義和使用也都相同。C和C++中數組的定義和使用相同。函數的定義與調用基本相同,只是C++引入了引用參數。也正是由于引用參數的引入,使得C++的使用比C更方便。關于動、靜態(tài)變量及其范圍的規(guī)定在C和C++中相同。因此??梢哉f,C語言所擁有的功能,C++都有,而且也是C++的基本部分。但是,C++比C具有更強的功能,具有C所沒有的特性――數據的抽象和支持面向對象的程序設計。同時,關于枚舉變量,結構體變量的聲明C++的語法約定更簡潔方便。
2.2C與C++的不同
C與C++在程序設計的思想與規(guī)模、動態(tài)存儲管理、文件使用、枚舉和結構體類型、輸入和輸出,以及程序注釋等方面存在差異。C++不僅具有C的所有功能,可以實現所有C語言所能實現的功能,而且C++的功能更強大,使用更簡潔方便。因此,使用C語言設計程序所能解決的實際問題,使用C++語言設計程序也一定能夠解決,而且實現起來更方便。
2.3C++的特色
C++最大的特色是提供了數據的抽象和實現數據抽象類型的機制――類,以及支持面向對象程序設計的封裝、繼承和多態(tài)等特性。由于類的出現,使得C++中的數據類型不再局限于系統(tǒng)所提供的固有類型,用戶可以根據自己的實際需要設計創(chuàng)建新的數據類型。同時,由于類的使用,使得數據和操作被封裝在具體的類中,實現了信息的隱藏。C++提供了兩種構造新類的方法:繼承和構成。這兩種構造方法使得C++具有面向對象程序設計的特性。C++還提供了虛函數機制,這使得類的操作可以實現動態(tài)邦定。C++中的重載機制使得C++的使用更方便快捷和人性化。C++的模板使得C++具有多態(tài)特性。另外,C++的異常處理機制使得程序的調試變得容易和方便。還有C++的虛基類,使得它非常適合用來開發(fā)面向對象的程序。
C++中的引用類型,使得函數的參數可以采用引用參數,避免了C語言中函數參數的單向值傳遞所帶來的弊端。而且使用起來非常方便。
C++還提供了作用域限定運算符(::),該運算符可用于解決名稱沖突。還可用于指定標識符的有效范圍,如名稱空間中標識符的使用。
標準C++還支持名稱空間[3~5],除了系統(tǒng)提供的標準名稱空間std外,用戶還可以定義自己的名稱空間。名稱空間的使用給程序設計帶來了很大的方便。
C++的上述諸特色,顯示了C++不僅能實現C程序設計語言所支持的結構化程序設計,而且還支持面向對象的程序設計??梢蚤_發(fā)出更大更復雜的應用軟件。
以上C與C++的比較可見,C++的基本部分與C語言基本相同,而且C++的語法相對于C語言的語法更簡潔方便易使用。因此,C++完全可代替C來完成程序設計,完全可以在大學計算機科學專業(yè)的本科生中直接開設C++程序設計語言課程,而不用先開設C語言,再開C++。這樣,可以將節(jié)省出一部分學時分給C++課程,使得C++的學時更充足些,學生也掌握地更好些。
3程序設計語言C與C++開設建議
通過以上的分析比較,可見在高校計算機科學專業(yè)程序設計語言課程的開設中,可以不用開設C程序設計語言,而直接開設C++語言程序設計。
C++的教學內容應該包括:基本知識部分:程序設計與問題解決概述;C++語法、語義以及程序開發(fā)過程;數值類型、表達式與輸出;程序輸入與軟件設計過程;條件、邏輯表達式與選擇控制;循環(huán);函數;作用域和生命期;高級控制結構;固有數據類型和用戶定義的簡單數據類型。C++高級知識部分:結構體、數據抽象和類;數組;基于數組的表;面向對象的軟件開發(fā);指針、動態(tài)數據和引用類型;鏈結構;模板與異常;遞歸。
C++課程開設時間放在一年級第二學期比較適宜。因為學生在第一學期已經學習了一些關于計算機的入門知識,對計算機科學有了一定的了解,這時開設C++程序設計語言,學生接受起來比較自然。而且直接學習C++語言,沒有別的計算機語言的影響,學習起來更易于接受。C++的課時建議為周學時4,以保證學生有足夠的學習、吸收和消化知識的時間。另外,這個學期開設C++可為學生后續(xù)專業(yè)課程(如,數據結構)的學習做鋪墊。更重要的是作為計算機科學專業(yè)的本科生,在當前的形勢下掌握C++這一通用的編成語言,不僅為將來的發(fā)展奠定良好基礎;也為今后參與社會競爭打下堅實基礎。
以上觀點的有效實施依賴于C++程序設計語言教材的選擇。在選擇教材時,必須選擇適宜作為入門語言學習的C++教材。在此建議采用參考文獻[3]中的教材――美國Jones and Bartlett Publishers出版的原版教材“Programming and Problem Solving with C++ (Third Edition/Fourth Edition)”。該教材知識講述邏輯性強,內容安排循序漸進,講解非常透徹清晰,是國內許多中文教材無法媲美的;而且沒有任何先驅課程要求,學生學習起來很容易理解和接受,該教材是美國大學計算機及相關專業(yè)程序設計語言的入門教材,是美國最暢銷的計算機科學教材,也是教育部推薦使用的計算機專業(yè)類影印版教材。作者在過去4年中使用該教材對計算機科學專業(yè)的學生講授C++程序設計(雙語教學)。4年以前作者曾多次講授C語言程序設計。結合多年的教學實踐,作者提出在大學計算機專業(yè)的程序設計語言課程設置中,直接開設C++程序設計語言的觀點。關于教材的選擇,也可選用其他一些翻譯過來的國外優(yōu)秀教材,如參參考文獻[5]中的《C++大學教程》(第五版),該書是針對一學期的課程設置的,英文版在國外也是作為計算機專業(yè)的大學一年級教材;或者考文獻[4]中的《C++核心思想》。作者的經驗是最好選用國外原版教材,而且以參考文獻[3]為最好。
參考文獻:
[1] 譚浩強. C程序設計(第二版)[M]. 北京: 清華大學出版社, 1997.
[2] 龔杰民, 金益民, 殷勇. 標準C語言程序設計及應用[M]. 西安電子科技大學出版, 1995.
[3] Nell Dale, Chip Weems, Mark Heading. Programming and Problem Solving with C++(Third Edition)[M]. 美國: Jones and Bartlett Publishers, 2003.
[4] [美]Cay Horstmann著, 晏海華等譯. C++核心思想(第三版)[M]. 北京: 電子工業(yè)出版社, 2004.
[5] [美]戴特爾等著, 張引等譯. C++大學教程(第五版)[M]. 北京: 電子工業(yè)出版社. 2006.
作者簡介:謝娟英(1971-),女,陜西西安人,副教授,主要從事智能信息處理方面的應用研究。
通信地址:陜西師范大學98# 郵編710062
Tel: 029-85307830(home),13088965815
關鍵詞 計算機基礎教學 大學計算機基礎 Python 教學設計
中圖分類號:G424 文獻標識碼:A DOI:10.16400/ki.kjdkz.2016.11.058
1 “大學計算機基礎”課程中的程序設計教學
“大學計算機基礎”(Fundamentals of Computers)是根據教育部計算機基礎教學指導委員會“1+X”培養(yǎng)要求開設的公共基礎課程,是大學各專業(yè)一年級新生的第一門計算機課程,也是本科各學科專業(yè)學生必修的公共基礎課程。早期的大學計算機基礎課程主要講授一些有關計算機的軟硬件基礎知識,以基本應用為主,并沒有過于涉及程序設計的內容;但在2010年九校聯盟(C9)“計算機基礎教學發(fā)展戰(zhàn)略聯合聲明”之后,為了能在課程中向學生傳遞計算思維的理念,必須在大學計算機基礎課堂上適當增加基礎的程序設計內容已經是各大高校的共識,以便使用簡單的程序設計語言來描述抽象、自動化等計算思維理念。但在大學計算機基礎課程中具體選擇哪一種教學語言,各大高校產生了分歧。
有的高校根據后續(xù)程序設計課程的需求,選擇了C語言、C++語言或Java語言作為教學語言,這幾種語言雖然在工程界應用很廣泛,但都存在著門檻高、學習曲線陡峭、上手難的問題,如果要想讓學生基本能讀懂使用上述語言描述的算法,需要的教學時間很長,一般要大概兩個月,也就是說幾乎50%的大學計算機基礎教學時間都要用于語言教學,顯然有些喧賓奪主。同時,由于大學計算機基礎課程面向全校各專業(yè)學生,這些學生來自全國不同的省份,不同地區(qū)的教學模式和教學水平不同,學生在高中階段接觸計算機的時間早晚、深入與否有很大差異,造成大一入學時學生的程序設計基礎參差不齊,給教學帶來了一定困難。因此在大學計算機基礎教學過程中,需要兼顧不同學生的接受程度,選擇一種語法簡單、又具有深度的程序設計語言就變得非常重要。Python是一種類似腳本語言的高級程序設計語言,入門語法簡單,上手容易,并且廣泛應用于科研和工程領域,無論對于初次接觸程序設計的新生,還是具有一定基礎的學生,Python都能夠滿足他們的不同的學習需求,目前已成為了我?!按髮W計算機基礎”課程常用的教學語言之一。
2 Python語言的優(yōu)勢
Python是動態(tài)數據類型的、面向對象的、解釋類型的高級程序設計語言,經過二十多年的發(fā)展已經非常成熟和穩(wěn)定。它的語法簡潔并且清晰,與其他大多數編程設計語言不一樣,采用縮進來定義語句的層次。Python語言支持命令式編程、面向對象編程、函數式編程、泛型編程等多種編程方式。與Ruby、Perl等動態(tài)語言一樣,Python語言具備垃圾回收功能,能夠自動管理內存。Python經常作為腳本語言處理系統(tǒng)管理任務,而且比系統(tǒng)自帶的腳本語言語法更簡單、清晰。它擁有功能強大的第三方庫,因此適合執(zhí)行各種高級任務,比如完成GUI編程、游戲編程、網絡編程等。Python交互式的命令行可以幫助用戶立即體驗其編碼方式并得到反饋結果,不需要了解語言全貌,使用者可以獨立地學習單個命令而不必編寫完整程序??傊?,Python語言繼承了傳統(tǒng)編譯語言的強大性和通用性,同時也借鑒了簡單腳本和解釋語言的易用性。它在設計上的以下幾個特c有利于大學計算機基礎課程教學:
(1)Python在設計上堅持了清晰劃一的風格,代碼易讀、易學習、易維護??s進格式要求嚴格,違反縮進規(guī)則的程序不能通過編譯,以此來強制學生養(yǎng)成良好的編程習慣。
(2)Python是面向對象語言,提供了豐富的數據類型,函數、模板、數字、字符串都是對象,完全支持繼承、重載、派生、多繼承等特性,同時隱藏了底層內存管理、垃圾回收等細節(jié),在教學上不僅內容完全滿足課程教學需要,可以讓學生在學習語言本身上節(jié)省很多時間和精力。
(3)Python語言是基于虛擬機機制的,可以在各個平臺上安裝使用。Python開發(fā)環(huán)境開源且數量眾多,主流的操作系統(tǒng)如Linux、Windows都能很好地支持Python環(huán)境。在常用的Windows平臺下,只需一個很小的開源安裝包就可以構建Python的基礎開發(fā)環(huán)境,降低了環(huán)境配置的難度,使得學生能夠很快上手。
(4)Python允許以交互模式運行。在主流操作系統(tǒng)中可以在命令模式下直接運行Python交互環(huán)境,輸入指令可以立刻獲得運行的結果。交互模式易于被沒有程序設計經驗的學習者理解,適合在課堂授課中實時演示各種命令和語句的功能。
(5)Python具有良好的可擴展性,可以把其他語言開發(fā)的程序和Python代碼集成,發(fā)揮不同語言各自的優(yōu)勢;而且有大量高質量的第三方擴展庫,在不同的應用領域都有用武之地;同時,Python語言仍在不斷更新,具有良好的發(fā)展前景,便于調動學生學習的主動性。
Python在設計上的特點決定了它簡單、易學、速度快。初學者不需要過度關注語言本身的知識,可把重點放在理解計算思維這一根本任務上來,通過Python語言來學學計算機基礎課程具有很大的優(yōu)勢。
3 基于Python的“大學計算機基礎”課程教學設計
“大學計算機基礎”課程包括分為理論教學和實踐教學兩部分內容。理論教學部分主要教授學生計算機軟硬件基礎知識、計算思維、算法思想等。由于“大學計算機基礎”是一門大一的課程,學生的學習基礎和高中時所受的計算機教育息息相關。水平高的學生在高中可能都已經參加過信息學奧林匹克競賽,而來自較偏遠、家庭情況較困難的學生則可能從來沒有接觸過,對基礎不同的學生同時教授相同的內容是不合理的。針對這種情況,一種策略是類似英語教學的分級制,在入學摸底考試中增加計算機基礎測試,同時適當考慮學生的自主選擇,依據評估結果將學生劃分到不同的班級,采用不同的教學進度對學生因材施教。但這種方案對高校目前的班級管理制度影響較大,難以推行。另一種策略就是使用基礎靈活的教學語言,C++等傳統(tǒng)語言門檻太高,不適合程度低的學生;而VB等語言雖然簡單,但功能較弱,且在業(yè)界較少應用;綜合考慮,Python語言兼有兩類語言的優(yōu)點,入門容易且功能強大,有利于教師針對不同程度的學生制定不同的教學策略,達到最優(yōu)的教學效果。
實踐教學部分主要是實踐學生所學習的理論知識,把課堂上學習到的各類計算機軟硬件問題使用計算機語言來進行計算或仿真。在實踐教學中,對于C++等學習曲線陡峭的語言,教師往往需要在入門階段對學生進行一一輔導,費時費力,教學效率低下。使用Python語言作為教學語言之后,教師為主,輔之以一定數量的研究生助教,完全可以保證為每個學生提供足夠的指導,使得他們能夠及時解決遇到的問題。同時,我們在實踐教學過程中采用積分制,布置較多的實驗題目,不要求學生必須全部完成,對不同難度的實驗內容設置不同的實驗分數,每個學生的總分只要_到一個適當的值,平時成績就可以得滿分。同時為了防止學生只挑難度低的實驗題目提交,需要對難度較大的實驗設置一個最小數量閾值,每個學生必須完成給定數量的較難題目。
我們統(tǒng)計了學生分別使用C++和Python語言完成“大學計算機基礎”實驗的完成率,除了語言要求不一樣之外,題目的內容基本一致,統(tǒng)計結果如圖1所示,其中實驗難度是從第1次到第9次逐步遞增。從圖中可見,基于C++的實驗完成率要明顯低于基于Python的實驗完成率,且隨著實驗難度的增加,基于C++的實驗完成率下降速度要明顯快于基于Python的實驗完成率。可以看出,基于Python的“大學計算機基礎”教學可以取得更加良好的效果。
4 結語
隨著各行各業(yè)越來越依賴于信息技術,無論在大學中學習什么專業(yè),未來從事什么工作,掌握基本的計算機軟硬件技術,乃至具備基本的高級程序設計能力愈來愈成為社會對每一個人的要求??紤]到非計算機專業(yè)學生的實際需求,基于Python的“大學計算機基礎”課程不僅能幫助學生掌握信息技術的基本脈絡,培養(yǎng)基礎計算思維能力,最終是要訓練他們使用計算思維和程序設計技術來解決他們本專業(yè)中遇到的種種實際問題。使用Python作為“大學計算機基礎”課程的教學語言,大大降低了學習編程語言本身的難度,使基礎較差的學生也能夠迅速上手;同時Python強大的擴展功能更能激發(fā)他們持續(xù)的學習興趣。我們在未來的教學改革過程中,要繼續(xù)利用好Python語言強大的第三方開發(fā)庫,逐步開發(fā)出適合不同專業(yè)的、定制的教學計劃,激發(fā)學生發(fā)現問題和解決問題的興趣,使學生能夠更好地理解信息技術在本專業(yè)的應用,提升計算思維能力,努力培養(yǎng)信息化社會亟需的計算機和各專業(yè)的交叉人才。
參考文獻
[1] 九校聯盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯合聲明[J].中國大學教學,2010(9):4-9.
[2] 張茗芳.動態(tài)語言Python探討與比較[J]. 企業(yè)科技與發(fā)展,2012(13):57-60.
[3] 沈殊璇,薄亞明.適合于科學計算的腳本語言Python[J].微計算機應用,2002(5):289-291.
一、函數的概念函數是一組語句,這組語句可以完成一個獨立的操作,這組語句有一個簡短的名字,程序員可以僅僅利用這個名字完成某個操作。函數的使用,使復雜的程序變得簡單化、條理化、清晰化。在C語言中函數分為兩大類:庫函數、用戶自定義函數。
1、庫函數在編寫程序的過程中往往有一些操作需要頻繁的使用,并且這些操作的代碼實現又有一定的難度。比如數據的輸入、輸出。在C語言中是沒有輸入輸出語句的,由于輸入輸出涉及到多計算機硬件的直接操作,對用戶來說較困難。這些操作往往由編譯系統(tǒng)的開發(fā)商提供給用戶。它們都是以獨立程序塊的模式出現,并且存在于編譯系統(tǒng)的某個文件中,這就是庫函數。比如printf(),scanf()。它們是由編譯程序根據一般用戶的需要編制并提供給用戶使用的一組程序代碼。C語言的庫函數極大地方便了用戶,同時也補充了C語言本身的不足。事實上,在編寫C語言程序時,應當盡可能多地使用庫函數,這樣既可以提高程序的運行效率,又可以提高編程的質量。
2、用戶自定義函數用戶自定義函數顧名思義就是用戶自己定義的函數。程序的編寫過程其實就是一個個函數的定義過程。很多情況下,C語言的編譯系統(tǒng)提供給我們的函數并不能滿足用戶的要求,這就要求用戶自己編寫函數。函數是由一組語句組成,并給定一個名字。相應的函數的定義一般可分為兩大部分:函數頭部的定義、函數體的定義。形式如下:函數的類型函數名(函數的參數){函數體;}上面大括號上邊的一行成為函數的頭部(首部),它給出了函數的表面信息:函數返回值的類型,函數的名字,函數要處理的數據;大括號內的語句描述了函數的內在構造,這組語句完成一個獨立的操作,是對函數能夠完成功能的具體描述。
3、函數的調用函數是由一組語句組成,并給定一個名字。執(zhí)行與函數相關的一組語句的行為稱為函數的調用。應該說函數定義好之后調用之前是沒有什么意義的。函數就像某個具有特殊功能的機器工具。這些機器只有在開關打開之后才能發(fā)揮作用。在程序編寫過程中,完成“開關機器”這個操作的就是函數調用。函數調用的一般形式:函數名(實際參數);
二、函數的教學C語言函數的教學主要是學習自定義函數以及庫函數的使用。
【范文一:職中計算機教學計劃】
隨著計算機在我國的迅速普及,計算機逐步成為人們不可或缺的日常工具,計算機教學也就顯得越來越重要。作為一門新興的學科,計算機教學的方法已經不能完全沿用傳統(tǒng)的教學方法,特別在中等職業(yè)學校的計算機教學中更應體現計算機教學的人機互動的特點,努力培養(yǎng)學生的動手能力,使他們走上工作崗位后能適應工作需要,滿足社會的要求。
我們知道,計算機是檢索知識信息、進行文字書寫和圖文編排、進行繪圖并處理復雜的畫圖、繁瑣的計算和數據信息的強大工具,能極大提高信息檢索、文字處理、作圖、運算和數據處理的效率和效果,學習運用計算機工作,是當代社會對所有工作人員的必然要求。計算機操作應用以及多媒體技術已經成為中等職業(yè)職業(yè)學校學生的必修課程,課時量大,目標要求高。我們在教學過程中深刻體會到,要教好計算機學科,關鍵在于激發(fā)他們的學習興趣,讓學生愉快地學習,滿足他們的求知欲。一般地,剛開始學習計算機時都懷著神秘、興奮的心情,非常想學計算機,有的學生還認為學電腦可以打游戲,好玩。但隨著學習進度的不斷深入,有的學習內容需記憶理解,并且枯燥無味,這就使得學生的學習興趣大大下降。作為一名計算機教師,這時就應善于引導,想方設法提高學生的學習興趣。在多年的計算機教學中我們進行了一系列實踐,總結了許多經驗,在學生中收到了良好的效果,得到了學生的肯定。下面具體說一說:
1、充分發(fā)揮現代教學設備的作用,提高課堂效率,培養(yǎng)學生的動手動腦能力。在應用多媒體教室時,可將文字講述部分制成課件,以提高課堂教學內容的含金量。而將操作部分的講解進行現場演示,使各種操作具體化,避免了用嘴說不明白的弱點,如在進行計算機硬件組裝與維修時,先讓學生在教師的講解下觀看投影,然后再讓學生上機拆裝各種電腦部件。由于網絡機房既可以有多媒體教室的功能(如講解的內容廣播到每臺學生機上),還可以讓學生立刻自己上機操作。這樣就克服了這一節(jié)課講,下一次課上機練習的不足,做到邊講邊練,效果特別好。
2、采用多種教學法,在學生能力培養(yǎng)上下功夫,提高課堂教學效率。除了充分利用現代化教學設備外,對課程的部分內容還應采用多種教學方法,如“自學指導法”、“討論研究法”、“學員試講法”等方法。如在計算機網絡IE瀏覽器使用一節(jié)中,就可以采用自學指導法讓學生應用瀏覽器獲取幫助,在完成教學任務后,可給予學生一定的獎勵,允許他們干自己喜歡的事,對一些比較簡單或雷同的有關內容可采用“自學指導法”來處理,在“自學指導法”中注意教師的指導作用,千萬不可放任不管。如可布置自學綱要,指出重點難點等?!坝懻撗芯糠ā钡倪\用能激起同學們對問題的爭論,活躍課堂氣氛,使學生處于一種接受知識的最佳狀態(tài),自然教學效果也最佳。比如二進制與十進制相互轉化一節(jié)中,就可以讓學生討論二進制與十進制的關系。為了讓學生展示個人才華,我為了發(fā)現學生特長愛好,更好地關注個性差異,以便對癥下藥,因材施教,幫助學生肯定自我,欣賞自我,教學中,每學期我選擇十幾個小課題供學生上臺講解,這樣學生有一種自我解決問題的自豪感,同學之間更容易形成一種爭論的氣氛,將問題解決好。當然這種“學生試講法”在一開始時教師要多指導,可提前將任務布置給一部分學生,以避免失敗,影響學員的學習積極性。因此在實行此種教學法時教師應像導演一樣時刻注意學生的心理反應,及時總結其學習效果,指出存在的問題,保證由學生做主角的“戲”演成功。實踐證明,課堂上靈活的教學方法的應用,得到了學生的歡迎,也取得了良好的效果。
3、發(fā)揮輔助教學軟件的作用,補充教學環(huán)節(jié)的不足,學生學的知識應該與實際應用聯系起來,讓學生在上機的過程中根據各自的需要有選擇地學習,可以發(fā)揮計算機輔助教學的優(yōu)勢——因材施教,各取所需。目前較好的輔助教學軟件。充分發(fā)揮好這些輔助軟件的作用,切不可為了省事而完全讓學生自學。因為這些軟件內容單一、簡單且往往和教材內容不一致,如果完全按照輔助軟件的內容來組織教學,可能就無法完成教學的目標。
4、縮短理論課講授時間,強化上機訓練,上機操作是計算機教學中一個非常重要的環(huán)節(jié),教師切不可忽視。為強化這一環(huán)節(jié),在理論課講授時盡量采用現代教學技術,以縮短授課學時、增加上機訓練時間。上機時除加強輔導外,每次上機,教師都要對學生提出明確的任務,有嚴格的要求,如要求學生每次上機都要寫好一個上機計劃,上機計劃要具體,只有這樣才能避免學生的那種上機就是“玩”的感覺。這樣學生才會認真對待每次上機操作,使每次上機都會感覺到有所收獲,有所提高,有所進步。?計算機教室和多媒體教室的相繼建立,為提高教學的整體水平奠定了基礎,為培養(yǎng)具有一定水平的中職畢業(yè)生提供了硬件的保證。這幾年計算機教學方法的探索,也使得我們的課堂教學形式多樣化了,學生變得愛學習了,教學質量上去了。
總之,教學中,我認為應關注以下三點:一是對知識的準確理解,既要明白什么是知識,為什么這樣,還要明確如何做,怎樣學,有啥用;二是對學生能力的準確認識,既要明確能力具體分解為哪些,還要明確什么能力通過什么樣的方式獲得,同時還要明確如何評價學生能力。三是培養(yǎng)怎樣的學習品質、態(tài)度、情感以及思維方法。計算機教學中,我們不能只重技巧、方法,而忽略了這一點。我們培養(yǎng)出來的學生不能在心理上獵奇、思想上向惡、行動上造假,最后危害社會。要知道,計算機是一把雙刃劍,利用計算機損害個人事小,危害他人和國家事大。教學中,我們必須關注學生良好心理、良好品德和良好思維方法的培養(yǎng)。
【范文二:職中計算機教學計劃】
作為中等職業(yè)技術教育的學生,都應該了解計算機,掌握計算機的各種常規(guī)操作,并能應用于各行各業(yè)。本學期我任教中職一年級計算機應用基礎課程教學,為了更好地完成本學期的教學任務,特將教學計劃安排如下:
一、課程的性質和教學目標
計算機應用基礎課是中等職業(yè)學校的一門基礎技能操作課程。在本學期中主要任務是掌握計算機基礎知識,具有熟練的漢字輸入能力,掌握Windows操作系統(tǒng),重點掌握Word文字處理軟件,具有一定的文字排版能力;Excel電子表格軟件的應用以及PowerPoint基礎入門操作和簡單的網絡應用。
教學目標:
1、培養(yǎng)學生的計算機基礎操作能力;
2、能滿足基本打字要求;
3、了解計算機計算機基礎理論知識,初識計算機基礎應用技術;
二、教學方法
1、講授、演示、實踐、任務驅動法;
2、教學與實踐同步,即時反饋課堂信息;
3、加強技能操作訓練;
4、每節(jié)做小結,每結束一章要做總結并布置上機綜合實訓操作練習。
三、教材分析教材特點:
1、教材內容。這套《計算機應用基礎》教材內容較為豐富,重點章節(jié)突出。我主要教授一、二、三、四、五和七這六章。主要內容是基于目前廣泛應用的Windows操作平臺,包括信息技術與計算機基礎知識,WindowsXP的基本操作,計算機網絡基礎,并簡單的介紹了文字輸入方法,信息在計算機中的存儲和處理等內容。
2、教材重點突出。本教材以基本知識,基本操作和基本應用為主,重點介紹WindowsXP的基本操作,突出了實際應用和實踐操作,能夠注重于學生的能力培養(yǎng),這是本教材的最大特色。
3、充分考慮計算機技術的發(fā)展,體現教材的先進性,以保證學生所學技能在以后的實際工作中得以應用。在教材的力求介紹最新的計算機技術及其應用,對于常用的算機軟件,力求選用最新的版本。
4、堅持以能力為本位,根據計算機專業(yè)的需要,確定學生應具備的能力結核與知識結構,在保證學生必備專業(yè)基礎知識的同時,加強實踐性操作內容。
四、教學安排及教學考核方法:
本學期教學計劃安排18周,約計授課90學時。其中課堂講授35學時,實踐55學時。期末以上機實踐操作為主要技能考察,占該課程的70%,平時作業(yè)和上機操作占該課程的30%。學生期末總成績=期末成績+平時成績。
五、教學內容和要求
第一章計算機基礎知識
教學內容:
1、了解計算機
2、認識微型計算機
3、微型計算機的輸入/輸出設備
4、計算機軟件及其使用
5、數制與編碼
教學要求:
1、了解計算機的發(fā)展、應用和特點。
2、掌握數制及其轉換,掌握計算機的數據單位,了解計算機的編碼。
3、掌握計算機的系統(tǒng)組成,了解計算機硬件系統(tǒng)的作用,了解計算機軟件系統(tǒng)的作用。
4、了解多媒體的基本概念、多媒體計算機的組成、多媒體技術的應用。
第二章WindowsXP操作系統(tǒng)
教學內容:
1、WindowsXP入門
2、管理文件
3、管理與應用WindowsXP
4、維護系統(tǒng)與使用常用工具軟件
5、中文輸入
教學要求:
1、掌握Windows基本操作;
2、熟練掌握文件和文件夾的復制、移動、查找和重命名等操作;
3、了解計算器、記事本、畫圖和多媒體應用程序、掌握Windows系統(tǒng)中的屏幕顯示設置、日期和時間的設置、打印機的設置
第三章因特網(Internet)應用
1、連接Internet
2、獲取網絡信息
3、收發(fā)電子郵件
教學要求:
1、掌握因特網的常用接入方式及相關設備
2、IP地址的表示方法,會配置TCP/IP協(xié)議的參數
3、會配置瀏覽器的常用參數及使用搜索引擎
4、會申請電子郵箱,發(fā)送和接收電子郵件
第四章文字處理軟件應用
教學內容:
1、Word入門
2、格式化文檔
3、設置頁面與輸出打印
4、制作Word表格
5、圖文表混合排版
教學要求:
1、了解Word基礎知識;
2、熟練掌握Word文檔基本操作、編輯、格式化。
3、能熟練地應用Word的表格功能進行表格的創(chuàng)建、編輯、調整、修飾、計算和排版。
4、能熟練地應用Word圖形功能,進行圖形的插入和繪制,能熟練地插入藝術字。
5、能掌握Word其它功能,如插入藝術字、頁面設置、打印文檔、使用公式編輯器
第五章電子表格處理軟件應用
教學內容:
1、Excel入門
2、電子表格基本操作
3、格式化電子表格
4、計算與數據處理
5、制作數據圖表
6、打印工作表
教學要求:
1、熟練掌握Excel的基本操作。
2、學會建立與管理工作簿和工作表的方法。
3、能對工作表進行簡單編輯、格式化。
4、能用Excel的公式與函數進行常用的運算。
5、了解數據庫管理方法。
6、學會創(chuàng)建和編輯表格。
第六章多媒體軟件應用
1、獲取多媒體素材
2、處理圖像
3、處理音頻與視頻
教學要求:
1、掌握獲取多媒體素材的基本方法
2、了解并使用ACDSee10版本對圖像進行加工處理
3、熟悉會聲會影的操作界面、常用功能及特點
4、編輯整合不同素材,添加效果,完成方案
第七章演示文稿軟件應用
教學內容:
1、PowerPoint入門
2、修飾演示文稿
3、編輯演示文稿對象
4、播放演示文稿
教學要求:
1、掌握PowerPoint編輯區(qū)的組成,各窗格的功能
2、會對PowerPoint背景進行修飾
3、掌握在幻燈片中插入各種對象的操作
現在高等學校,一般也都根據不同的需要選用不同的程序設計入門課程。其中C語言作為一門程序語言基礎課,由于其功能強、使用靈活等優(yōu)點受到廣泛的歡迎,也就是說C語言已經成為了學習程序設計語言的一個必要的基礎。在學時相對較少的情況下,學生要學好這門課有一定的難度.但依然要提高教學的質量和效果是廣大教學工作者正在思考和探索的問題.
2、教學過程中的改進
2.1教學方法的改進C語言作為DOS時代的一種主流程序設計語言,已逐漸演變成為一種程序設計的入門級語言——重在使學生熟悉計算機處理事務的過程,掌握程序設計的思想,完成學生從中學生到大學生學習思想的轉變。因而C語言程序設計課程這門課大多高校開設在一年級的第一學期,要從只要求計算機基本操作的中學時代迅速轉換到大學時代的程序設計員,對于學生是一個逐步轉變、逐步學習的過程。而對于我們教育者來說,如何去改進現有的教學方法,正確的引導學生學習思路、學習方法的轉變,以提高課堂教學的質量.筆者在以下幾方面進行了嘗試:
2.1.1教師角色的轉變中學時代的教學多以升學為基本任務和目標,所以中學教師的教學多以灌輸式為主,在教學過程中教師始終是主體,而學生總是被動的接受和消化。而大學時代的教學是以培養(yǎng)學生的基本素養(yǎng)和能力為目標,因而要求教學的過程要以學生為主體,教師要做正確的引路人,而不是知識的灌輸者。因而教師角色的轉變實際上更多的還是在學生心目中中學教師角色到大學教師角色的轉變,要在教學的第一堂課向學生宣布這個事情,使學生從教師角色的轉變到學生自己明白他們已經跨入了人生的有一個新的階段:自己的學習、思想都要有更大的轉變,從以前被動的接受學習,到大學時期的主動自覺的學習,從而培養(yǎng)和更大的提高他們的學習能力和其他方面的能力。
2.1.2課堂實施的轉變C語言作為一門程序設計語言自然有它自身的特點,但是作為一門言語課,他又脫不開與學生很熟悉語文、英語這些語言課學習的共同之處。根據筆者的學習和教學經驗:得知更多的學生在學習C語言的過程中,甚至在學習完這門課后也不知道C語言的作用是什么,它學習的重點內容是什么。所以C語言教學的課堂實施的轉變更是教學的重中之重:要使學生從中學時期純粹的數理化的學習轉變到大學時期專業(yè)能力和自身適應能力的學習。根據筆者多年的教學,我們引用用了一個全新的教學方法—“3W1H”教學法。在講C語言前和所講的每一節(jié)課都要使學生明白正門課或者所講的每個知識點是什么(WHAT),在哪里能用(WHERE),為什么要這樣用(WHY)和怎么去用(HOW)。從總體的結構:程序設計語言的3W1H到沒一點的3W1H,我們在每一節(jié)課的過程中都要去給學生分析、實踐。另外我們又結合語言課的特點教會學生從C語言的字(字符)、詞(數據類型、變量常量)、句(語句)和章(函數、程序)入手去總結,打亂教材的原有章節(jié),去分析總結,從而大大提高了學生學習的效率。
2.1.3選擇合適的軟件在我們學習任何一門程序語言之前,都要先安裝好它所匹配的軟件:一個開發(fā)環(huán)境,例如turboC2.0。這個軟件曾經占據了DOS時代開發(fā)程序的大半個江山,但對于現在的Windows時代,用turboC有時感覺力不從心,編輯程序很吃力,沒有函數變量自動感應功能,查詢參考資料也不方便。建議使用VisualC++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。一般在學習完C語言之后都會學習一下C++的,因為C++是針對于windows的可以運行C程序的軟件。
關鍵詞:C語言;數組;教學;指針
中圖分類號:G718.5 文獻標志碼:A 文章編號:1674-9324(2015)45-0228-02
在C語言的教學中,“指針”這一部分內容一直是C語言的教學重點和難點,直接影響學生對后續(xù)課程的學習和把握[1-3]。作為軟件開發(fā)入門課程,絕大多數時間是在講條件、循環(huán)、數組、函數,而指針內容卻是省、國家計算機二級、程序員等考試的必考內容。為了在最短的時間內達到較好的教學效果。筆者從多年的教學經驗認為C語言的指針教學應該注意以下幾點:
一、輸入函數scanf()和數組中地址的應用
所有的書本上都有介紹scanf(格式控制字符串,輸入項列表),此函數的輸入項列表要用“&”加變量名,要將所輸入的內容放入變量的地址中,其中格式控制串中如果有普通字符也要輸入普通字符,且有很多輸入后不能正確讀取的情況,初學者往往感到非常困惑難以理解。其實,連續(xù)定義的多個變量在內存中也是占用連續(xù)的內存單元,只是不同的數據類型所占的字節(jié)不同,程序在運行過程中遇到第一個scanf()函數時,將要求用戶從鍵盤上按要求輸入內容,所有輸入的內容都將先放入緩沖區(qū)且你可以輸入很多內容,輸入完成后再按scanf的格式控制字符串的格式來存入到變量的地址中,一旦輸入不合法,則認為輸入結束,后面的變量將取不到值。如:scanf(“%d:%d”,&a,&b);若輸入時你輸入3,4L其中a的值為3,輸入格式串中本來要求你輸入的是“:”而你輸入的是“,”,明顯不合法,則scanf函數輸入結束,后面的變量b將取不到值。同時這也很好解釋了若程序中有多個scanf函數時,為了保證每次輸入都有效,則應該在輸入函數前加一個清空緩存函數fflush(stdin)。
數組名代表的是數組的首地址,所以在scanf()函數中以”%s”為格式串所對應輸入項列表不需要加“&”。如:char str[20];
scanf(“%s”,str);/*將輸入的內容存儲到從數組首地址開始的地址中*/
printf(“%s”,str);/*從數組的首地址開始輸出字符數組的內容*/。
這些內容都與計算機的實際存儲有關(即和地址有關)。
二、指針
指針就是地址。其實前面我們在講解輸入輸出函數和數組時,我們就介紹了一些有關地址的應用。一聽自己已經用過且有所接觸了,學生也就不會感到太畏懼了。再加上時間有限,我們要言簡意賅地說明指針的用法。
1.指針的概念。指針就是內存地址。這里首先要區(qū)分三個比較接近的概念:名稱、地址和內容(值)。名稱是給內存空間取的一個容易記憶的名字;內存中每個字節(jié)都有一個編號,就是“地址”;在地址所對應的內存單元中存放的數值即為內容或值。
為了幫助讀者理解三者之間的聯系與區(qū)別,我們不妨打個比方,有一座教師辦公樓,各房間都有一個編號,如101,102,…,201,202,…。一旦各房間被分配給相應的職能部門后,各房間就掛起了部門名稱:如電子系、計算機系、環(huán)境工程系等,假如電子系被分配在101房間,我們要找到電子系的教師(內容),可以去找電子系(按名稱找),也可以去找101房間(按地址找)。類似地,對一個存儲空間的訪問既可以指出它的名稱,也可以指出它的地址。
在C語言中,如果變量p中的內容是另一個變量i的地址,則稱變量p指向變量i,或稱p是指向變量i的指針變量,形象地用圖1所示的箭頭表示。
由此可以得出結論:變量的指針即為變量的地址,而存放其他變量地址的變量是指針變量。
指針變量是一種變量,因而也具有變量的三個要素,但它是一種特殊的變量,其特殊性表現在它的類型取值上。具體而言:①變量名:與一般的變量命名規(guī)則相同。②變量的值:是某個變量的內存地址。③變量的類型:主要是其指向的變量的類型。
2.指針指向簡單變量。
如:int a=100,*p;/*指針變量的定義*/
p=&a;/*指針變量的賦值*/
*p=200;/*指針變量的應用*/
printf(“%d”,a);則輸出值為200。
在此我們要理解指針一旦定義且指向了一簡單變量,除定義和初始化時的*p,其他的*p等價于它所指向的簡單變量(即這里的*p<=>a),p(指針)等價于簡單變量的地址(即這里的p<=>&a)。上面的輸出語句可以變?yōu)椋簆rintf(“%d”,*p)。
3.指針指向數組。
(1)指針指向一維數組。
如:int a[5]={10,20,30,40,50},*p=a;
p++;
printf(“%d,%d,%d”,*p,*(p+2),*p++);則輸出結果為:30,50,20
以上是指針指向一維數組的基本應用,首先我們要理解有關指針的運算。
&:取地址運算符[5]。
*:指針運算符(間址訪問運算符),取指針所指向的值,若所指向二維數組則表示離取值進了一步。
++:算術運算符,表示指針往下或右移一個單位(其中這個單位和具體的數據類型有關,如果是整型數一個單位就指2個字節(jié),實型指4個字節(jié))。
--:算術運算符,表示指針往上或左移一個單位。
若定義了一個指針指向了一個一維數組,則p<=>a的使用(原來的a[i],也可以用p[i]表示,*p<=>*a),即*(p+i)<=>a[i] <=>p[i] <=>*(a+i)。但要注意p和a同為地址它們是有區(qū)別的,p為變量地址,而a是常量地址。有p++而不能用a++。
(2)指針指向二維數組。對于指針指向二維數組,要理解行地址和列地址的含義(*運算符能實現行地址向列地址的轉換)再加上一維數組中的等價關系,能理解下面的二維數組的指針表示形式表即可。
(3)數組指針與指針數組的含義。前者是指針,后者是數組。定義格式:僅差一對圓括號。①指向一維數組的指針。假設有定義語句:int (*p)[4];②指針數組。假設有定義語句:int *p[4];
(4)應用場合:前者是一個指針,后者是多個指針。①指向一維數組的指針。一般將一個二維數組名賦值給一個指向一維數組的指針,來訪問二維數組中的某一行。②指針數組。適合存放若干個字符串,使字符串的處理更加方便靈活。例如:
char *menu1[]={"Copy","Cut","Paste","Delete"};
char menu2[4][7]={"Copy","Cut","Paste","Delete"};
用字符指針數組處理字符串不僅可以節(jié)省內存,還可以提高運行效率。
4.指針指向函數。
(1)指針作為函數的參數。
其中左邊交換完后,能傳遞給實參,因為它是指針所指向的值發(fā)生交換,而右邊只是指針的指向發(fā)生改變原本值未發(fā)生交換。
(2)指針函數與函數指針。這是兩個完全不同的概念,前者是函數,后者是指針。
a定義格式:僅差一對圓括號。
①指針函數。假設有定義語句:
int *fp(int x,int y);
②指向函數的指針(函數指針)。假設有定義語句:
int (*fp)(int x,int y);
b應用場合:前者是一個函數,只是函數的返回值是指針;后者是一個指向函數的指針,通過這個指針可以間接地調用所指向的函數。
三、總結
本文探討了指針教學中,通過截取最基本且最重要的知識來解析其應用問題,目的在于使學生在較短的時間內掌握其基本知識,預計可作為指針教學的有效方案之一。
參考文獻:
[1]管銀枝.C語言程序設計實例教程[M].北京:人民郵電出版社,2011.
關鍵詞:任務驅動教學法 技工學校 計算機應用基礎
《計算機應用基礎》作為技工學校公共基礎課,也是學生學習計算機系統(tǒng)知識的入門課程,具體包括:計算機基礎知識、計算機網絡基本知識、數據安全常識;windows操作系統(tǒng)的基本操作和word、excel、powerpoint的基本用法等等,其基礎性、實用性、操作性很強,因此,大多章節(jié)都很具有運用“任務驅動”教學法的特點和條件。
一、任務驅動教學法在計算機應用基礎課程的具體運用
1、根據學生特點,設計教學任務模塊
“任務”的設計非常重要,它是教學過程中的核心,直接影響到教學的成敗。任務驅動教學要求教師在課前要對教學目標進行教學分析,也就是把本次課的知識點和技能培養(yǎng)劃分為一個個需要解決完成的任務模塊,再將知識點和技能目標巧妙地融合于設定的任務當中,通過設定若干個任務模塊來實現總的教學目的。因此,“任務”設計應考慮以下幾個問題:①要根據教學大綱和教學要求設計任務案例,案例必須典型并能涵蓋課程的相關知識點,比如在word中任務重點是設計圖文混排,常見的文檔制作,而學習excel主要任務是突出數據處理、自動填充和圖表統(tǒng)計功能。②任務的設置應更多的考慮學生心智發(fā)展水平,應該注意難度不要超出技校學生知識水平和理解能力,故在設計任務案例時,應選擇敘述簡潔、條理清晰、明白易懂的案例。③設計任務時要具有一定的靈活性,使學生有發(fā)揮創(chuàng)造能力的機會。
2、創(chuàng)設情景,激發(fā)學生完成任務的興趣
據筆者在教學中的了解,技校學生對學習的興趣點比較低,特別是計算機基礎課程,他們總認為自己已經能夠運用自如,不用再多加學習。因此,教師在教學中引入任務驅動教學法一定要根據教學內容創(chuàng)設情景,激發(fā)學生完成學習任務的興趣,以求取得最好的教學效果。如筆者在講授本課程第四章excel2000電子表格數據處理部份的內容時,創(chuàng)設情景為段考結束后如何幫助老師用excel制作和統(tǒng)計本班的段考成績。為此我設計了一個“xx班段考成績統(tǒng)計表”作為學習任務,任務內容的其中一個子任務要求如下:
任務名稱: xx班段考成績統(tǒng)計表
任務目的1: 輸入本班段考成績數據,根據要求運用函數計算公式進行數據處理
子 任 務1:1.求各科目成績總分、平均分:分別用sum、average函數實現(相對引用)。2.求單科成績的最高分和最低分:用max、min函數實現(相對引用)。3.求各科目實際參加考試的學生人數:用count函數實現(相對引用)。4.按總分成績排名:用rank函數實現(絕對引用)。5.評優(yōu)等級:平均分為90分以上的同學顯示“優(yōu)”、80分-90分之間顯示“良”、60分-80分之間顯示“中”、60分以下顯示“差”,用if函數實現(相對引用)。
該子任務有以下特點:(1)該子任務與學生感興趣的成績統(tǒng)計息息相關,故學生有很大的參與熱情。(2)該子任務用到了教學內容的大部分函數,又用到相對引用、絕對引用、拖動柄等已學知識,起到承上啟下的作用。
在講授word時,創(chuàng)設情景為:如果你參加學校學生會成員競選,如何利用word制作圖文并茂的個人宣傳材料,授課前先給學生展示一個完整作品,從文件的頁面設置、頁眉頁腳、文檔格式化中“字體”對話框、“段落”對話框,圖文混排中的藝術字、文本框、圖片插入、首字下沉、邊框底紋、分欄、背景、表格制作等所有內容均涉及到,然后再每節(jié)課從中選擇一個子任務,依次講解各個知識點和操作。比如講授藝術字、文本框、圖片插入及編輯、圖文混排的使用這一節(jié)課,筆者按任務驅動教學模式將要講的內容設計成“個人簡介”這一具體的子任務,通過講解如何制作“個人簡介”讓學生掌握教學內容。首先,教師演示備課時做好的個人簡介,告訴學生哪部分是藝術字,哪部分是文本框或自選圖形,讓學生對藝術字、文本框等概念有了直觀的認識,然后再講如何插入、修飾美化等具體操作方法。這樣教學,學生容易理解,學得快、記得牢,不論教師教還是學生學,整個教學過程都顯得條理清楚、層次分明、順理成章、輕松自如。
3、培養(yǎng)學生探索知識的意識和創(chuàng)新意識
教師要站在創(chuàng)造的角度,引導學生建立創(chuàng)造性思維?!叭蝿镇寗印苯虒W法根據教學大綱的要求劃分,然后再按照內在邏輯關系分解成相互聯系的子任務,即形成具有一定層次結構的問題網絡,讓學生在獨立觀察、多角度想問題、思考和練習的基礎上進行小組討論,去探求知識,使學生成為探索知識和發(fā)現知識規(guī)律的主人,從而促進學生的創(chuàng)新意識。
如在電子表格excel教學中講完“篩選”內容后,學生已經掌握了自動篩選子任務和高級篩選子任務的功能。在數據庫中完成“查找工資大于1500且性別為女”的任務時,有的學生提出既可用自動篩選來完成,也可用高級篩選來完成;有的判定,如果要完成“查找工資大于1500或者性別為女”的任務時,就只能用高級篩選來完成。這就充分反映出學生運用所學知識巧妙地、創(chuàng)造性地解決實際問題的能力,培養(yǎng)和發(fā)展了學生的創(chuàng)造性思維。
4、實行班內分層,強化分組合作
由于技校學生文化參差不齊,計算機基礎也有很大的差異,因此要做到因材施教,優(yōu)化教學過程,就可采用分層教學法。具體做法是依據學生的原有計算機基礎,將班內學生按一定比例分為a、b、c三層,a層為成績優(yōu)秀的學生,b層為中等的學生,c層為基礎差的學生。然后成立多個學習小組,每個小組由成績優(yōu)秀的a層學生擔任組長,安排2-3名c層學生,其余為b層學生。在計算機實訓中心或一體化計算機教室內按小組安排座位,同一組的學生坐在一起,以便于討論、合作。老師在授課時,以c層為教學起點,重點面向b層,同時準備好1-2個具有一定難度的任務案例供a層學生練習?!叭诵斜赜形?guī)煛?,實踐證明:通過學生之間的合作交流來完成任務,將會更好補充學生知識結構的缺陷,完善他們問題解決的技巧與方法。而實施分層合作教學模式,在學習小組中同學間可取長補短,既培養(yǎng)了學生的團隊協(xié)作精神,也彌補了教師個別指導時間不夠的問題。
二、學習效果評價是任務驅動教學法的重要環(huán)節(jié)
根據教學效果對教學進行評價是技校計算機基礎課程引入任務驅動教學的重要組成部分,教師要針對每個學生任務完成的情況,圍繞計算機基礎課程的培養(yǎng)目標,進行有針對性的評價。任務評價可以在全班進行,實踐中發(fā)現學生其實相當在意自己所做作品的展示,當學生得知自己的作品將會在全班同學面前評析時,學生往往會投入更大的熱情去完成。另外,學生每獨立完成一項任務,都會獲得一定的成就感,這時教師的及時表揚與鼓勵,可以激發(fā)學生的學習熱情與學習興趣,增強自信,使其在不斷建構與完善自己知識結構的同時,也提高了對自身的認識與評價,讓學生在一種良好的心理狀態(tài)下不斷學習、不斷進步。
三、任務驅動教學法需要注意的問題
1、在計算機應用基礎課程中引入任務驅動教學法時,一定要適時加強教師的主導作用。技校學生精力充沛、思維活躍、獨立性很強,但在一定程度上缺乏自控能力。因此,在教學任務下達之后,教師一定要進行適度調控和指導。
2、在教學過程中,要隨時注意讓學生積累相關的知識和經驗,特別是學習的開始階段。比如,窗口組成的相同之處、對象的選擇方法、快捷菜單的彈出等,為以后進行任務驅動教學打下基礎。
3、并不是每堂課都適用“任務驅動教學法”?;靖拍睢⒒静僮鞯染筒贿m宜使用任務驅動教學,如計算機硬件的組成、病毒防范、操作系統(tǒng)、鼠標操作、資源管理器窗口組成、文件的有關操作、文字輸入、計算機網絡的基礎知識等有關內容的教學建議采用傳統(tǒng)的講授教學法。而無論采取何種教學法,都應在開設計算機應用基礎課程的第一學期進行中英文打字的強化訓練,當然打字速度可視專業(yè)的不同作出相應的調整。
參考文獻:
[1]張光恒 計算機應用基礎.華南理工大學出版社,2006。
關鍵詞:教學方式;教學改革;程序設計;計算機語言
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2015)02-0133-02
Abstract: According to the author in computer language teaching experience, combining with the characteristics of higher vocational students, the higher vocational computer language teaching.From establish good teaching ideas, teaching contents, practice teaching methods, improve teaching methods, the five aspects of the change of assessment methods are discussed, put forward to improve the higher vocational computer language teaching suggestions.
Key words: teaching methods; reform in education; programming; computer language
對于計算機相關專業(yè)的學生來講,計算機言語的學習始終是一個難點,然而它也真正的計算機專業(yè)人士必過的一關。如何改進教學方法,轉變教學方式,引起學生興趣,是計算機教師們一直關注的課題。本文結合高職高專學生的特點和多年計算機言語教學的體會,闡述了筆者針對高職高專計算機語言類教學思路、教學內容、教學方式和考核方式方面改革的探索。
1 建立良好的教學思路,引領好學生的學習興趣
每門計算機語言盡管表述方式有一定的差別,但是內在的思路是基本相似的,也正因為這樣,數據結構過了關,計算機語言才能真正的過關。引領學生的學習興趣筆者認為應該從以下幾方面入手。
1.1抓好第一節(jié)課是計算機語言類教學的關鍵點
一個好的計算機教師應該想方設法上好第一節(jié)課,激發(fā)學生的學習興趣,打消學習顧慮,建立學習信心。講好一門課,首先要引起學生學習的興趣,為此我們必須要讓學生明白我們所講授的這門語言類課重要性,以C語言為例,它不僅是學習后續(xù)數據結構的基礎,也在實際工作中有很多的應用[1];其次我還要給學生以學習信心,其實有時學生不是不想學,是因為畏懼心理,打消學生畏懼心理,讓他們感覺這門課自己可以學得會。這就是我們要在第一節(jié)課達到的目的。
為此,筆者認為上好第一節(jié)課應該做以下幾個內容的考慮:
第一,向學生講授你講授的語言可以實現的程序成果,比如,該語言編寫的游戲、簡單的實用程序等。第二,強調所講授課程在整個計算機課程體系中的地位,比如,C語言的學習是數據結構學習的基礎,促進計算機組成原理的理解。第三,介紹所講授的課程的學習方法,語言類課程是實踐性課程,務必結合實踐,指導學生學習方法,告訴學生怎樣聽課,怎樣自學,怎樣動手實踐。第四,介紹編譯環(huán)境,用簡單可以模仿的小程序,介紹程序編輯、編譯、運行的整個過程[2]。
1.2將抽象思維轉化為形象思維是激發(fā)學生學習興趣的有效方法
這無疑讓學習變得輕松有趣的關鍵,任何一門計算機語言對于一個初學者都是極其抽象難懂的,如何把抽象的問題形象化,感受計算機語言的魅力,是一個高水平教師應有的能力,我以C語言為例舉一個簡單例子。比如我們再介紹C語言程序的組成,想解釋必須先定義變量,可以這樣介紹:每個函數都可以說是一個劇本,“{”表示開幕,“}”表示閉幕,每個劇目開始都需要介紹有幾個演員出場,列出一個演員,這個函數就需要介紹有幾個變量要出現,列出一個變量表,變量就是出現在函數中的“演員”。這樣就可以讓內容和平時熟悉的事情聯系起來,產生聯想,一下子就記下來。
1.3 備好每一節(jié)課是保護學生學習興趣的保證
備好每一節(jié)課,保持思路流暢,是保護學生學習興趣的保證。多年的計算機教學讓我感覺到,必須牽引住學生的思路,要做到這一點就教師上課的思路必須流暢,一句話都不可以猶豫,一旦卡住就再無法引領學生的思路,課堂立即發(fā)生騷動,這就需要我們對每一節(jié)課都做好充分的準備。
在教學過程中,還必須就不同的內容,采用不同的教學方法。在學習之初,就采用四步教學法,即導入教學內容、講解示范、教師指導學生模仿、總結練習;在學習中期,采用任務驅動法,以課堂實訓任務對課堂講授內容進行應用,教師提供給學生相關的資料,引導學生主動學習。查閱有關的資料,逐漸養(yǎng)成自主學習的習慣,培養(yǎng)學生綜合利用各種信息資源及自主學習能力。教學中還需要不斷變換教學穿插使用案例教學法、問題探究教學法、小組合作學習法、范例比較教學法避免教學方法一層不變[3]。在學習后期應該采用項目驅動法,提出問題進行探究,培養(yǎng)學生的綜合運用知識的能力。
2 整合教學內容,提高教學效果
筆者在每一次計算機語言教學過程中,根據自己的實踐教學經驗,整合課程內容,因為筆者認為這是語言類課程教學改革的基礎,講教學內容劃分成培養(yǎng)學生的基本訓練和能力提高兩個階段。基礎訓練內容,是針對沒有程序設計基礎的學生,以程序設計基本知識和入門知識為主。在這部分教學中,也從教學方式上改革,不是簡單講授語法細節(jié),而采用建構主義教學思想,用極為簡單的實例做演示,逐步講解每個程序的組成,引導學生認識并掌握c語言的基本語法和程序設計的基本方法。基礎訓練內容,是為了培養(yǎng)學生基本的程序設計能力,逐漸形成獨立編寫具有初等難度的程序、調試與測試。就能力提高教學部分來講,是面向有一定程序設計基礎的學生,重點培養(yǎng)學生的程序設計專業(yè)化水平。為此,我們采用問題探究教學方式式、項目化、任務化驅動教學方式,問題探究方式,分組討論方式,將學習任務和關鍵知識點以項目的形式布置到學生或者學習小組,為學生設定環(huán)境,作為學習資源和設計工作環(huán)境。在教師指導下,進行模擬項目開發(fā),將學生按成績搭配分成小組,鼓勵成員共同協(xié)助,共同完成項目。這樣不僅促進學生掌握函數、指針、文件、數據結構和算法等基礎理論知識的理解,也可以有針對性地在鍛煉實際能力,提高學生程序設計的專業(yè)化水平[4]。學生獨立設計較為復雜的程序是這個階段的工作目標。在教學過程中,本著以人為本的原則,以學生為中心,用啟發(fā)式、探索式教學法引導學生自主思考,兼用示范演示等方法展示典型的結題思路,引導學生建立獨立思考的意識,提高學生程序設計能力。
3 采用多種方式實踐教學,提高學生實踐能力面
對言語類教學的實訓,我們一直采用課堂實訓、綜合實訓、大作業(yè)和課程設計四種方式提高學生實踐能力。具體內容如下:
1)課堂實訓,主要要求學生針對課堂教學內容和知識要點,在分析示范案例的基礎上,模仿編寫程序,具體任務由教師安排和布置的程序;
2)綜合實訓,為提高學生的學習興趣,培養(yǎng)軟件開發(fā)的合作精神,教師給學生布置近期所學知識點綜合運用的實訓任務,組織學生進行分組討論,把每組的討論結果同大家分享;
3)大作業(yè),通常是教師根據某個階段的具體情況,給學生們布置的課后的作業(yè),往往具有一些超出課堂內容的設計部分,是為了激發(fā)學生自主學習興趣的一個措施;
4)課程設計,為期末考試的一部分,是對一個學期或一個學年教學內容的綜合運用,這個任務的完成是讓學生們有進入項目組的感覺,一切從軟件開發(fā)實際出發(fā),自主思考問題、解決問題。通常采用分組設計形式,每組組設定1名項目經理、1名技術經理和3名成員,基本5人一組,項目經理進行分工和協(xié)調,技術經理負責解決遇到的疑難問題,把握開發(fā)的全程控制。使學生逐步提高他們的編程和動手能力,拓寬了學生的思路、培養(yǎng)了解決問題的能力。
4 創(chuàng)新教學方法,提高學生拓展能力
在教學過程中,教會學生如何思考才是教學真正的成功,創(chuàng)新教學方法,是真正的教學改革。
1)在此筆者還想重點強調一下,充分利用程序設計及算法自身的科學思維方法進行思維方法的訓練教學是最科學的教學方法,可以通過分析問題、建立數學模型、確定算法、上機實踐、調試程序、優(yōu)化,培養(yǎng)學生良好的思維能力和創(chuàng)造精神。
仍然以C語言教學為例,比如,當學生完成了求S=1+2++20編程的問題后,可以引導學生解決其他的累加問題,例如可以求20以內的偶數和、S=1!+2!……+20!、1到100之間奇數和等等。調動學生主動分析問題的興趣和解決問題積極性,最后引導學生找出一般規(guī)律。首先確定循環(huán)變量,再確定循環(huán)語句,最后編寫出相應程序。而在選用循環(huán)語句的過程中,通常我們讓學生分別用FOR循環(huán)、WHILE循環(huán)及DO―WHILE 循環(huán)編寫同一個程序。借此,培養(yǎng)學生的思維能力。
2)分類歸納整理小的程序,有些小的程序可以要同學們熟記甚至背下來,大的程序都是小的程序的組合,作為老師應該分類總結,并將小程序樣例留給學生們,讓學生更有信心面對實際工作中的真實工作任務。
5 改進考核方式,提高學生學習熱情
考核方式和考核的內容無疑是對學生學習方向的一個引導,過去計算機語言類考核通常以筆試題為主,填空和選擇題居多,側重于基本語法的考核,而程序設計題目相對較少。導致學生偏重語法學習,忽視編程實踐能力的鍛煉。因此,改革考核方式無疑是改革的重要方面,我們采用上機考試和平時實訓綜合考核的方式,在限定時間內讓學生實際上機編程解決具體問題考核學生的學習效果。促使學生在平時注重上機編程實踐環(huán)節(jié),采用開放式實訓方式,學生可以在平時自主到實訓室訓練。這樣有效培養(yǎng)了學生實際編程能力,激發(fā)了學生動手實踐解決問題的熱情。
每一項教學改革不是一朝一夕的事情,我們的經驗和想法還需要繼續(xù)在實踐工作中檢驗,但我們相信經過努力必將取得更好的教學效果。
參考文獻:
[1] 譚浩強. 高等學校計算機基礎教育改革的新階段[J]. 計算機教育, 2003(11).
[2] 向存瑞. 現代信息技術與課堂教學整合的模式研究[J]. 中國電化教育, 2004(2).