時間:2022-08-22 03:37:24
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了七篇編程語言范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
關鍵詞:單片機;編程
中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2007)03-10765-01
1 引言
隨著單片機技術日新月益的發展,學習它的人可是越來越多了。對于初學者來說,好多人一開始總會被單片機的各種各樣的編程語言搞糊涂了。因為單片機目前的編程語言常見的有四種,即匯編語言、C語言、PL/M和BASIC。究竟要學哪一種編程語言好呢?我們先來做個比較吧。
2 單片機的BASIC編程語言
BASIC是一種高級語言,它的英文含義是“初學者通用符號指令代碼”,是在1965年5月,由美國科學家托馬斯?庫爾茲研制出來的。10多年后,微軟公司把它移植到微型機上。幾十多年來,BASIC語言一直被認為是初學編程的語言。它已經由QBASIC發展到VB#版本,具備了很多結構化思想和編程方式,如函數、模塊、局部變量、全局變量、數據傳遞等。早期的BASIC語言由于生成的代碼不是最終目標機器的代碼,而是經過一個RUNTIME程序解釋后運行的,所以執行效率低。而單片機的BASIC編譯器是直接將程序代碼編譯成相應芯片的機器碼,不需要在單片機的內存中駐留RUNTIME程序,執行效率與其他編譯器編譯出來的一樣。
我們現在以MCS-Electronics公司開發出來的BASCOM-8051開發環境為例,簡要介紹一下以BASIC語言為基礎的單片機編程系統。
它和一般BASIC語言一樣具有如:For、To、Step、If、Else、End 、Select Case等等命令,其用法及功能是沒有什么區別的,因此初學者比較容易入門。
另外,它還有針對單片機硬件所設計的命令如:LCD命令可以用一條命令來實現LCD的顯示操作。
Cls '清LCD屏
Lcd"Hello world." '向LCD輸入字符串
類似于這樣的命令主要是提供了直接對單片機及其外部硬件的操作,特別是提供了對單片機端口的直接操作,如:P1、P2、P2.1、P0.3等等,簡化了整個開發過程,是開發人員重點學習的部分。
例如有硬件電路如圖(1)所示,編程使發光二極管間隔兩秒鐘閃爍一次的程序如下:
While I = 2
P1.0 = Not P1.0
Wait I
Wend
End
3 單片機的PL/M編程語言
PL/M 語言是Intel公司從8080微處理器開始為其系列產品開發的編程語言,其特點是:
3.1 簡單易學
PL/M-51語言只有兩類語句:一類是說明語句,用于說明變量和過程;另一類是可執行語句,如賦值語句、條件語句和循環語句等。這些語句的功能和BASIC語言中相應的語句相似,如:
P1=02H;/*賦值語句*/
IF M>2 THEN N=P1;/*條件語句*/
DO I=0 TO 10;/*循環語句 */
3.2 可讀性好
PL/M-51是一種結構化語言,其程序是塊式結構,可采用縮進式方法書寫源程序,使程序層次清楚,便于理解和閱讀。一個完整的程序可由多個模塊組成,而每個模塊又是由多個程序塊構成。
3.3 可靠性高
PL/M-51編譯軟件檢查用戶程序對單片機的各種資源使用情況,對沖突使用情況或不合理使用情況能提出警告,并能自動為用戶程序合理分配內存。
3.4 隔離性好
PL/M-51中,既可有全局的靜態變量,也可有局部的動態變量,對于全局性的靜態變量,其性質和BASIC中的變量一樣,該變量在整個程序中均有效。對于局部的動態變量,它只有在其所說明的程序塊中或過程中有效,在該程序塊或過程之外則無效。局部動態變量的特點是,當由多個人共同編制一個程序中的不同模塊時,而不必擔心是否使用了相同的標識符而發生沖突。模塊化的程序設計增加了程序設計的靈活性的方便性。
3.5 兼容性好
PL/M-51可同匯編語言或其他語言的目標模塊連接起來,生成可執行代碼如果用戶必須使用匯編語言編制一段程序,或是想利用已調好的匯編語言程序塊,那么該段匯編可以很方便地連接到PL/M-51程序目標塊中。
3.6 具有良好的算法庫和庫管理能力
PL/M-51語言具有INTEL公司所提供的算法庫和庫管理功能用戶能利用現成的算法庫完成加、減、乘、除等運算,并能建立自己的特定算法庫,使得編程一勞永逸,提高軟件的開發效率。
由上面幾點可見,PL/M語言是類似于Pascal一種語言,是一種結構化語言。PL/M編譯器好像匯編器一樣可產生緊湊代碼,可以說它是一種"高級匯編語言",可詳細控制著代碼的生成。但對51系列的單片機來說,PL/M不支持復雜的
算術運算、浮點變量而無豐富的庫函數支持。學習PL/M無異于學習一種新語言。
4 單片機的匯編語言
匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少,程序執行效率高,由于它一條指令就對應一條機器碼,每一步的執行動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。但是不同的類型的單片機,其匯編語言可能有點差異,所以不易移植。比如你在PIC12CE518單片機上用匯編語言編了一個程序,到了STC89C51單片機上那可就運行不了,因為他們的指令系統是有區別的。
單片機的匯編語言非常像其他匯編語言。指令系統比第一代微處理器要強一些。但單片機擁有不同存儲區域使得其編程變得復雜一些,可是作為一位電子工程師,懂得匯編語言就可幫助你了解影響任何語言效率的特殊規定。例如,懂得匯編語言指令就可以使用在片內RAM作變量的優勢,因為片外變量需要幾條指令才能設置累加器和數據指針進行存取。同樣的,當要求使用浮點數和啟用函數時也只有具備匯編編程經驗才能避免生成龐大的、效率低的程序,對于這方面的編程,沒有匯編語言是做不到的。
5 單片機的C語言
單片機的C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言具有功能豐富的庫函數,運算速度快,編譯效率高,有良好的可移植性,而且可以實現直接對系統硬件的控制。此外,C語言程序具有完整的程序模塊結構,從而為軟件開發中采用模塊化程序設計方法提供了有力的保障。與匯編相比,有如下優點:
(1)對單片機的指令系統不要求了解,僅要求對51的存儲器結構有初步了解,至于寄存器分配、不同存儲器的尋址及數據類型等細節均由編譯器管理。
(2)程序有規范的結構,可分為不同的函數。這種方式可使程序結構化,將可變的選擇與特殊操作組合在一起,改善了程序的可讀性。
(3)編程及程序調試時間顯著縮短,從而提高效率。 提供的庫包含許多標準子程序,具有較強的數據處理能將已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術。
單片機C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統,基本上不做修改就可根據單片機的不同較快地移植過來。
綜上所述,單片機的四種編程語言各有各的優缺點,作為單片機初學者,筆者認為還是應該先學習匯編語言,不一定要學得很精很熟悉,但要有一定的了解。因為匯編語言程序除了具有簡潔明快、跳躍性強、占ROM資源少等優點以外,還因它和單片機底層硬件緊密聯系,可以讓初學者更加了解單片機硬件系統各種資源,熟悉各個功能模塊的作用,從而為編出更高效率的程序打好扎實的基礎。
用單片機匯編語言編寫的程序代碼效率高,但學習起來相對難度較大,而且對于一個大型項目,如果完全采用匯編語言來編程,就顯得很繁瑣,尤其是遇到算法方面的問題時,匯編語言根本就應付不了。況且現在單片機的主頻在不斷的提高,在高頻率時鐘的作用下,我們完全不需要那么高效率的代碼;另外,單片機的ROM和RAM空間也在不斷的增加,足夠裝得下你用C語言寫的任何程序代碼,單片機C語言相關的資料又多又好找,可移植性非常好,比如只需要改變一個IO口寫個溫度傳感器的程序在任何一個單片機上都能使用。由此可見用單片機C語言進行程序設計,已成為單片機軟件開發的一個主流,作為一個技術全面并涉足較大規模的軟件系統開發的單片機開發人員最好能夠掌握基本的C語言編程。
當然,有時候用單片機C語言也不能夠實現所有要編寫程序的功能,比如當想編寫一個精確控制的定時程序時,用起匯編語言來還是比較方便的。因此想成為一個優秀的單片機編程技術員,最好就是能懂得單片機C語言和匯編語言的混合編程。
參考文獻:
[1]藍點方舟科技網. . 8051系列單片機BASIC語言開發環境簡介[Z].
[2]/. PL/M-51高級語言特點[Z].
[3]王杰潔,耿英杰. 單片機C語言和匯編語言的簡單比較[Z].
[關鍵詞]編程語言;計算機;分析研究
中圖分類號:TP311.11 文獻標識碼:A 文章編號:1009-914X(2017)02-0115-01
一、計算機編程語言的主要類型
(一)C語言
在20世紀80年代,C語言即得到了廣泛的應用,同時由于其是基于B語言而開發所得,因而C語言在應用過程中逐漸凸顯出兼顧高級語言、低級語言的優勢,因而在當代計算機軟件開發過程中應強調對其的合理化運用,同時將其含有的34種運算符、9種控制語句貫穿于計算機編程語言設定過程中,由此來豐富計算機語言表達能力,并強化其與用戶間的有效溝通。此外,就當前的現狀來看,現在的C語言包含有C、C++、C#和Objective-C語言等幾種類型,因而由此呈現出語言緊湊、使用靈活、自由度較高的特點,為此通過對C語言的應用可由此優化語言交流環境,同時激發用戶語言應用興趣。另外,圖形功能、邏輯判斷功能、計算功能亦是C語言應用過程中凸顯出的主要優勢,即其可將抽象的數據信息直觀化,因而應注重將其應用于計算軟件開發過程中,并以C++、C#和Objective-C的設計形式擴大C語言應用范圍[1]。
(二)Vinsual Basic語言
Vinsual Basic語言即可視化語言于1991年被相關專家學者開發出來,Vinsual Basic語言在運用的過程中透過面向對象機制⒏叢映絳蟶杓莆侍餳虻セ,且由此整合成對象集,繼而便于用戶對自身所需數據進行整合與操控。Vinsual Basic語言與C語言相比,其應用優勢主要體現在以下幾個方面:第一,Vinsual Basic語言在應用過程中由于其具備事件驅動編程及可視化編程特點,因而用戶可透過該語言全面掌控到程序運作過程中所涉及到的內容,并對其進行合理化操控;第二,Vinsual Basic語言在開發過程中逐步實現了界面與程序的同步運行,即用戶可通過界面操控不同類型對象,并基于編程簡化的基礎上對后期工作進行維修;第三,Vinsual Basic語言在應用過程中其適用范圍較為廣泛,因而可強化對其的有效應用[2]。
(三)JAVA
JAVA于1995年5月被推出,其作為程序設計語言中的一種,可實現跨平臺、動態的Web、Internet計算,同時被廣泛應用于Web設計領域中,支撐當前瀏覽器的運用。此外,就當前的現狀來看,JAVA程序設計語言在應用過程中需要應用編程接口、虛擬機等部件的支撐,最終為Web服務、通信API等提供了良好的服務項目。
二、計算機編程語言選用原則
就當前的現狀來看,計算機編程語言選用原則主要包括以下幾個方面:第一,在計算機編程語言選擇過程中應充分考慮到硬件環境因素的影響,且結合硬件技術更新速度較快的特點,盡量在計算機語言編程過程中將軟件調整控制在較為簡便的狀態;第二,平臺的支持性決定著編程語言應用成效,因而在計算機編程語語言選用過程中亦應強調結合C語言、Vinsual Basic語言、Python、PHP、JAVA各自優勢,繼而達到良好的語言選用狀態;第三,在軟件開發過程中由于計算機編程語言是程序運行的關鍵,因而程序員應對程序總體需求展開調查行為,且對其需求數據信息進行整合,繼而在此基礎上選用適宜的編程語言應用類型,避免編程錯誤問題的凸顯;第四,在計算機編程語言選用過程中充分考慮程序員對編程語言熟悉度及語言開發成本是非常必要的,因而應著重提高對其的重視程度[3]。
三、常用的計算機編程語言選用技巧
基于計算機編程語言選用的基礎上,要求程序員在C語言選用過程中應注重結合其可移植性,以混合編程的方法來達到語言選用目的。同時隨著現代化計算機技術的不斷發展,高校在開展實踐教學過程中逐漸將C語言納入課程教學范圍內,就此提高了學生C語言應用能力,因而在計算軟件開發過程中應著重強調對C語言的選用。此外,在Vinsual Basic語言選用過程中應注重結合其執行效率較低的特點,將其應用于復雜的程序環境下且保障執行效率滿足程序運行需求。另外,在利用匯編語言進行程序編寫的過程中應注重結合其結構較為復雜的特性,將其應用于初始化程序編寫過程中,以此來形成效率較高的語言編寫狀態,并就此滿足程序運行需求。在JAVA語言選用過程中應注重將其置入到Web服務環境下,同時提供靈活的環境,且以一次應用程序編寫的形式將其應用于設備中,同時在JAVA語言選用過程中配置+、-、++、a>b?true:false等運算符號,由此滿足JAVA語言應用需求。而在PHP語言選用過程中,應有助于結合PHP語言可應用于所有流行數據庫、操作系統的特點,在語言選用過程中將其置入到特定環境下,并注重以C、C++進行PHP程度語言的拓展,且注重在PHP計算機編程語言選用過程中配置IS API篩選器,達到語言應用目的。除此之外,在Python計算機編程語言選用過程中應注重將其應用于EXCEL等日常操作中[4]。
結論
綜上可知,編程語言的選用在計算機軟軟件開發過程中起著至關重要的影響作用,因而在此基礎上為了提升整體程序運行效率,要求程序員在實際工作開展過程中應強化對匯編語言、Vinsual Basic語言、C語言優勢的掌握,并結合編程語言選用技巧達到良好的語言選用狀態,且就此提升整體軟件開發效率,滿足程序編寫需求,同時就此提升計算機整體使用性能,與用戶達成良好的語言交流及溝通。
參考文獻
[1] 滕飛.基于C語言的計算機軟件編程實驗研究[J].無線互聯科技,2014,21(11):47+79.
[2] 邢如意.Linux系統下計算機C語言的編程技巧分析[J].電腦知識與技術,2014,45(36):8674-8675+8690.
關鍵詞:Web應用開發;JAVA編程語言;應用
JAVA編程語言順應潮流隨著互聯網的興起而成長壯大以其安全性、可移植性、多線程等特性贏得廣大開發者的追捧。雖然JAVA在某些特定領域不是最優解,但作為互聯網與產品需求間的銜接工具,JAVA仍然展現出其強大的適應能力和表達能力,相信在未來的一段時間里它仍然有很強的生命力和強大的號召力。
1 Web應用的特點
1.1 免安裝
與以往的C/S模式不同,若想使用Web應用程序,你不再需要下載安裝專用的客戶端軟件,無論你在什么地方使用什么樣的網絡什么樣的操作系統這些都不會成為限制,只需要接入互聯網打開瀏覽器輸入Web應用的訪問地址即可立即與服務端建立連接進行信息的交互。
1.2 最新內容
無需安裝專用的客戶端也就沒有客戶端版本限制的問題更沒有客戶端升級過程。只要通過瀏覽器打開Web應用程序,呈現在用戶面前的總是最新的版本(此處可暫時忽略各級緩存造成的版本不同步問題)。
1.3 跨平臺
當下的Web訪問通常是基于開放的HTTP應用層協議的,所以只要依照HTTP協議標準開發Web瀏覽器就能與Web應用交互信息。由于在不同的平_都已經有了比較成熟的瀏覽器Web已經具備了類似于JAVA的“一次編寫隨處可用”的特性,系統運行環境不再是難以逾越的障礙。
1.4 開放互聯
Web應用程序可以通過鏈接將彼此聯系在一起,上一秒還在國內門戶網站瀏覽下一秒可能就跳轉到了國外的某個新聞站。每一個鏈接都能將用戶引導至相應的內容上,所有用戶都可以公平地訪問內容,并產生新的內容。信息的傳播與獲取都只在彈指一揮間。
1.5 足夠快
無論是服務器、數據傳輸設備還是互聯網終端,硬件的進步從來沒有停止過,計算、傳輸、渲染速度提升都已超乎想象,如今一部手機的硬件參數已經可以比肩三兩年前的筆記本電腦甚至是臺式機。硬件性能提升量的積累最終導致了一個質的轉變:對于越來越多的軟件而言,Web應用程序已經足夠快,原生應用在逐漸被替代,輕結構的應用程序原來越多。
2 JAVA語言在Web開發中的優勢
2.1 簡單的語法
對于使用過C++、.NET甚至Javascript腳本語言的人而言上手JAVA不會非常困難,初學者總可以在JAVA中看到一些熟悉的影子。語法的通用性降低了學習的成本,這也是JAVA長期登上TIOBE排行榜的原因之一,也是使用者眾多的原因之一。
2.2 平臺無關性
平臺無關起初是JAVA語言最大的賣點,雖然這一特性不是JAVA首創但無疑是JAVA使這一設計理念在代碼界家喻戶曉。JAVA虛擬機與字節碼的組合使得支持JAVA虛擬機的系統都可以運行JAVA程序,“一次編程到處運行”從此真正地走進大眾的視線之內掌握在廣大程序員手中。
2.3 強大的類庫
對于很多JAVA開發者而言所需要做的就是引用類庫拼裝優秀的已有代碼,經過二十幾年的發展JAVA編程語言基本上已經擁有了覆蓋各行各業各種需求的類庫。如果你使用JAVA編程并且遇到了一個非常棘手的問題,那么首先應該想到的肯定不會是自己動手去開發一個功能完善的類庫,所有的JAVA程序員都知道不再需要重復地造輪子。
2.4 豐富的框架
做JAVA開發的程序員尤其是JAVA EE開發的程序員幾乎不可能沒聽說過SSH框架,尤其是Spring,經過十幾年的發展如今Spring已從一個輕量級的JAVA開發框架成長為全套的企業應用解決方案,并將觸角延伸至移動端,它是JAVA語言在互聯網行業廣泛應用走向成熟的標志也是開發者學習各種設計模式的優秀樣例。
2.5 成熟的中間件
Web中間件是一個能夠獨立運行的平臺,它為上層的Web應用系統提供一個運行環境,并通過標準的接口和API來隔離其支撐的系統。有了中間件程序員的職責劃分將更加清晰,開發效率也邁上了一個新的臺階。在中間件的輔助下架設一個Web應用將會是非常簡單輕松的一件事。
3 JAVA語言在Web開發中的價值
3.1 JAVA的角色
毫無疑問JAVA語言勝任了早起Web開發的大量工作,在Web開發中JAVA可以編寫客戶端小程序、編寫網頁、處理Http請求、做業務邏輯處理、訪問數據庫、對接消息中間件、訪問緩存等等。不過我們也看到了前后端分離JSP在逐漸退出歷史舞臺,還有已經退出歷史舞臺的applet,所以JAVA語言也并不是什么都擅長。如今,對于普通開發者而言JAVA在Web開發中更多地是承載業務邏輯。
3.2 Web開發需要什么
不是每一個網站、服務端都需要應對高并發、海量數據或滿足高度一致性、高度實時性的要求,這些苛刻的條件在Web開發中通常也不會只采用一種語言去應對解決。根據特定的場景使用合適的技術、架構,此外還要認清一點:“技術不是解決問題的唯一途徑,業務的問題也可以通過業務本身的合理安排來滿足”,只有這樣才能在Web開發中擁抱變化適應并生存。不使用JAVA一樣可以開發出優秀的Web應用,今天如此未來更是如此,語言會隨著方法的持續改進、經驗的總結、新思想的產生而發生翻天覆地的變化,即便沒有JAVA人們對信息化的需求依然存在。
4 JAVA語言在Web應用開發中的心得體會
在解決現實生活中的問題時需要充分結合JAVA語言的具體特性,根據需求方面的具體要求對問題域進行深入的分析,并在開發的過程中不斷提煉、認識問題域。在開發Web應用時更多的需要考慮系統的可用性、擴展性、安全性、伸縮性,所以拘泥于某一種語言的特性或者語法并不利于解決問題,跳出語言的限制去思考問題更容易找到問題的根源。進階時需要對JAVA虛擬機有所了解,jstat、jstack等常用的命令將會在緊急時刻協助你解決重大的卡死問題。學習JAVA語言在于不斷地積累,不斷地尋求挑戰即便是簡單的代碼也有改進的空間,尋找改進空間的過程就是個人提高的捷徑。
5 結束語
JAVA語言是互聯網中眾多語言中的一種,在互聯網飛速發展過后JAVA語言大浪淘沙在TIOBE排行榜中穩居前三,并且在嵌入式設備、桌面設備、企業服務器三大領域各有建樹。我們在稱道其取得成績的同時也應深受啟發,唯有適應市場變化滿足開發者偏好并且有嚴格規范的標準才能在各行各業開疆擴土?;ヂ摼W作為工具將與用戶日益豐富的信息化需求一路攜手更豐富易用的JAVA語言特性深入人們未來的生活。
參考文獻
[1]葉紅美.計算機軟件Java編程特點及其技術分析[J].電腦編程技巧與維護,2017(02).
[2]劉亦.計算機軟件的設計與實現[J].電子技術與軟件工程,2015(23).
[3]阿布都拉?買買提.關于計算機軟件維護和管理的研究[J].信息與電腦(理論版),2015(17).
[4]許娜,劉景慧,劉敏,等.Java課程體系教學改革方案[J].中小企業管理與科技(上旬刊),2015(06).
摘要:本文以“C++程序設計”課程為對象,探討了大學編程語言課的實例教學方法,進行了C++程序實例設計,并提出構建一個基于Web的程序實例自學系統,彌補了課堂教學實例數量不足的問題,同時在系統中提供了自適應實例學習控制策略作為學生實例學習的指導。
關鍵詞:實例教學;實例設計;自適應;實例學習策略
中圖分類號:G642
文獻標識碼:B
1引言
在編程語言課的教學中,程序實例具有非常重要的意義。好的實例設計有助于學生對內容的理解;大量實例的累積可以達到量變到質變的作用,使學生從看懂到領悟。在教學過程中,實例的選擇和對學生實例學習的指導都將對編程語言課的學習有很大幫助。本文以“C++程序設計”課程為例探討了實例教學方法。首先確定基于實例教學的總的思想和方法,然后重點探討實例的設計和一個基于Web的自適應實例自學系統。
2基于實例的教學
C++課程基于實例的教學從兩方面入手。其一為教學中恰當的實例選擇運用;其二為課余時大量的實例提供與自學指導。具體包括:
(1) 實例運用上注意實例的連貫性,若知識點相關,則采用同一系列實例進行擴展,即題目內容相近,但針對不同知識點做局部改變擴展,使能快速理解實例,并專注于教學點。
(2) 適當采用實例的歸納、對比、類比等方法。如窮舉法,通過多種實例類比,說明什么問題可以用窮舉法解決;又如面向對象程序架構與程序設計思想,通過對同一問題進行結構化設計和面向對象設計的對比。
(3) 伴隨教學進度分解一個復雜的綜合實例,逐步講解程序設計方法思想。采用問題引導的方法,由綜合實例的某個步驟提出問題,引出新知識點,改進程序,層次推進至最終完成問題。
(4) 每講完一次課程后,為學生總結本次課程的語法知識點和程序設計思想。提示下堂課將會涉及的前序知識點,以及與下堂課有直接關系的前序實例,并提出預備問題。布置與課堂實例的算法相似的程序作業,學生能通過知識的直接遷移來完成作業。
(5) 要求學生在課余根據相應知識點通過實例自學系統學習并練習相應實例來達到進一步的練習和提高,系統會根據學生在實例庫中的學習情況進行相應的控制指導。
3C++程序實例設計
程序實例的設計是實例教學的重點,通過對領域知識點的分析總結,有針對性的進行實例設計。同時實例之間并不是孤立的,有意識的設計了有聯系的各種實例組,形成系統的全面的實例庫。
3.1領域知識點總結
對于“C++程序設計”課程,領域知識點涉及兩個方面,其一為C++語法理解與應用,其二為如何應用程序設計思想解決實際問題。
首先從語法角度開始,每個語法考察點都是一個領域知識點。如:各種基本數據類型的長度、文字常量表示、符號常量表示、變量定義和類型轉換等。
從程序設計角度講,程序設計相關理論方法技巧都是一個領域知識點。程序設計思想涉及遞歸、迭代、窮舉和分治等。程序設計方法與技巧包括數據設計、算法設計和程序架構設計。數據設計包括簡單數據設計、數組數據結構應用和結構體應用等;算法設計包括分支算法、循環算法、循環嵌套和循環與條件語句的嵌套等多種程序設計技巧;程序架構設計包括函數設計和程序架構組織。面向對象程序設計思想包括類的抽取與設計(屬性設計、方法設計、構造方法設計、訪問控制設計)、應用類屬性與類方法解決問題,應用類的聚合解決相應問題和應用類間的消息連接解決相應問題等。
3.2基于領域知識點的實例設計
將C++程序實例分為三個層次:
(1) 純語法實例:用于演示基本語法,可以沒有實際含義;
(2) 算法實例:有一定實際意義的算法思想實例,用于演示程序設計思想和方法技巧;
(3) 綜合實例:需要多個知識點的綜合設計實例,重點演示解決問題的思維方式和程序架構。
純語法實例設計中,為每個語法知識點都設計若干相應的語法實例程序,一個實例會涉及多個語法知識點,但會有重點演示的語法知識點。將設計好的程序進行題目設計,通過總結學生作業、考試中的問題,找出相應語法容易出錯的形式,設計了相應的問題形式,如讀程序寫結果,程序填空,錯誤辨析等。
算法實例一般都是解決實際問題的題目,針對每個程序設計方法知識點設計算法實例。每個實例涉及一個或多個重點演示的設計知識點。如雞兔同籠問題,水仙花數問題應用的是雙重循環技巧,也是窮舉設計思想。
綜合實例都是有一定意義的較復雜的實際問題,如我們設計的學生成績分析系統,模擬停車場輔助系統,模擬選課系統等。綜合實例只給出問題描述,而不是具體要求設計哪些類,哪些函數,鍛煉學生對復雜問題的整體分析設計能力。每個實例都盡量將多個知識點應用進來。如學生成績分析系統涉及類、對象、類的組合、模板、排序算法、文件操作和運算符重載等。模擬停車場系統也涉及類對象、繼承、多態、類的組合、數組和搜索算法等。并且將每個綜合實例分解為若干階段,多個子問題,隨著教學進度不斷擴展引入新問題,通過不斷修改程序來解決新的問題。
3.3實例的組織
在實例設計中,每個知識點都設計若干個實例。除了針對知識點外,還根據知識點之間的相關關系,遞進關系,有意識的設計有各種聯系的實例,創建多種形式的實例組。如:類比實例組(題目不同,算法相同);對比實例組(題目相同,算法不同);擴展實例組(基于知識點的遞進關系,不斷擴展的系列實例)等。
4基于Web的自適應實例自學系統
課余時大量的實例提供與自學指導是實例教學設計的一個重點。如何能達到這個目的,我們探討了一個基于Web的實例自學系統,根據目標知識點,教學進度,實例的難易程度,實例之間的關聯,以及學生的學習情況為學生選擇實例,指導學生對實例的學習。
實例學習的指導策略為:由語法到算法,由易到難;根據學習情況優先選擇擴展實例,若當前實例不理解則選擇類比實例,若還不理解選擇前序知識點實例,若實例理解選擇知識點的其他實例,適當選擇對比實例,達到一定程度增加難度;追蹤一個綜合實例。保證選擇的任何實例都不含未學習的知識點。
4.1創建程序實例庫
實例庫不是實例的簡單集合,為了與教學順序和教學目標配合,并且在學生進行實例學時時提供相應的控制,需要設計實例庫的組織形式。
首先保存設計好的所有實例。三種程序實例需要處理的內容不同,故分別構建語法實例表(實例編號,題目描述,題目內容,問題講解,難度等級)、算法實例表(實例編號,題目描述,分析,程序,講解,難度等級)、綜合實例表(實例編號,題目描述,實例分解步驟)以及綜合實例步驟表(實例編號,步驟編號,問題描述,程序,講解,難度等級)。
保存總結出來的領域知識點。由語法知識點表(知識點編號,標題,語法描述)和設計方法知識點表(知識點編號,標題,算法思想描述)描述。
構造實例與領域知識點之間的關系。每個實例都涉及一個或多個語法知識點,語法實例一般會有一個(或多個)主語法知識點,算法實例與綜合實例的分步實例會有一個(或多個)主設計知識點。建立實例與知識點之間的關系表(實例類型,實例編號,相關知識點編號,相關知識點類型,是否主知識點),標識出實例涉及的所有語法知識點,并標出語法實例的主語法知識點,和其他實例的主設計知識點。表結構為。
建立實例之間的關系。由實例關系表(關系類型,關系編號,實例編號,備注)構建不同的實例組。
一般教學領域知識點間有固定的前序關系。但程序實例之間卻沒有先序關系,每個實例都是獨立的。但一個實例一般會涉及多個語法知識點,雖然許多語法之間是沒有先序關系的,但教學進度卻使這些知識點有了先序關系。故實例使用的先后順序與教學順序有關。為了能正確的提供學生適宜的實例,除盡量提供一些僅涉及當前知識點的實例外,還要將每個實例涉及的知識點都詳細指出,同時構建教學進度表,在學生自主學習過程中屏蔽沒學過內容的相關知識點。教學進度表將相應的學習目標知識點表的知識點按教學進度標識出順序關系,可直接在教學目標相關的兩個表中增加一個字段標識順序號。
4.2學生信息庫
課程的每個學生都是系統允許的用戶,為每個學生提供學習狀況記錄,這里稱為學生模型。學生模型由三個表組成,分別記錄學生的能力程度、學習過程和學生當前追蹤的綜合實例及當前步驟。根據學生的學習過程情況浮動學生的能力值。學習過程記錄所學的實例編號,實例類型,實例難度等級,實例關系編號,學習狀況。學習能力程度記錄當前的能力,用一個0~100之間的數表示。
4.3自適應學習控制策略
學生學習過程中,若讓學生隨意選擇實例學習,那么眾多的實例會使學生無所適從,故系統設計了自適應學習控制策略,其結合教學順序,教學目標,實例難度,實例關系,并根據學生的學習狀況提供適于學生的實例建議。其控制流程如圖1所示。根據學生模型選中恰當實例,學生學習一個實例時,學習完后由學生選擇對實例的學習情況:不理解,理解,能編程。記錄學生模型,從新計算學生能力值,然后根據學生能力和學生在當前實例的學習情況,根據約定的策略推薦下個實例(屏蔽掉當前不適于學習的實例)。
圖1 自適應學習控制流程
(1) 實例選擇策略。
將學生能力分為5個等級,分別為(bad,lower,low,middle,high)。若學生能力為lower則選擇語法實例,否則進入算法實例與綜合實例;若學生能力為low,則選擇初級實例;若學生能力為middle,則選擇中級實例;若學生能力為hign,則選擇高級實例;若學生能力為bad,則回溯?;厮莘椒椴榭串斍八胁焕斫獾膶嵗?,根據實例包含的知識點,找出使用最多的知識點,選擇其教學實例,若有與本實例呈系列的實例優先選擇。
若學生當前實例學習狀況為不理解,且能力沒降級,則選擇類比實例,若能力降級則選擇低一級難度實例。若當前學習狀態為理解,則選擇類比實例(并專注設計程序),若能力升級也可選擇高一級實例。若學習狀態為會編程,且能力沒升級,則進入其他實例,否則提供更高一級實例。
(2) 學生能力計算。
學習過程中,初次進入系統學習能力程度設為50,每學習一個實例,若狀況為不理解則能力程度降低,若為理解則能程度上升,若為可編程則上升幅度更大,能力程度升降分值具體如表1所示。依據量變到質變的原理,能力值累積到一定程度,在學生的能力進入新的等級。學習能力值與能力等級的關系通過一個映射關系描述:
系統當然也允許學生自主控制策略選擇。尤其在課程學完進行總復習的時候。提供了多種查詢方式。如查詢包含某知識點的所有實例??梢园床襟E查看綜合實例,按系列查看相關實例等。
5結束語
在編程語言課教學中很多學生反映,課堂上的有些例子來不及細想就過去了,有些內容僅用了一個例子講解印象不夠深刻,多數學生表示希望多看一些實例,只是沒有來源,也有些學生看了很多參考書的實例,但反映還是不懂或不會編程序。程序實例自學系統的形式可以提供大量實例,并指導學生慢慢體會,逐步深入。在有限的學時下,課堂教學實例需要精心設計,同時要提供大量實例供學生課下自學,本文正是針對此問題探討的解決方法。
參考文獻:
[1] Yuji Yoneyamaa,Kotaro Matsushitab,Kenneth J. Mackinb, et al. Puzzle Based Programming Learning Support System with Learning History Management[A]. 16th International Conference on Computers in Education[C],2008, 623-627.
[2] 程靜,楊明,邱玉輝. 基于知識點對象的個性化學習系統實施[J]. 西南師范大學學報,自然科學版,2006,31(5):120-123.
[3] 劉偉,付璐,余英良. 個性化CAI中教學策略的設計與實現[J]. 河南科技大學學報,自然科學版,2007,28(2):44-49.
[4] Natalia Stash,Alexandra Cristea,Paul De Bra. Learning Styles Adaptation Language for Adaptive Hypermedia[A]. AH 2006[C],2006.323-327.
Discussion about Example Teaching for Programming Language Course
ZHANG Jing-hua
(School of Computer Science of Technology, North China Electric Power University, Baoding, 071003, China)
關鍵詞:常用;計算機編程語言;分析;選用;技巧
中圖分類號:TP311.1
從1946年第一臺計算機誕生至今,計算機的發展日新月異。隨著計算機技術的不斷提高,計算機在應用范圍也越來越廣,普及程度越來越高。現代社會的大部分行業離開了計算機將寸步難行。計算機有利于減少人為產生的工作失誤,極大程度上提高工作效率。要充分發揮計算機的作用,不僅要研究計算機的硬件設計,還要開發出能夠滿足人們需要的計算機軟件。
人們通過使用計算機編程語言編寫程序讓計算機解決各式各樣的問題。隨著計算機的更新速度加快,軟件開發在計算機領域中的地位越來越重要。要提高軟件的開發效率,就一定要了解計算機的編程語言。計算機編程語言的類型多種多樣,主要可以分為機器語言、高級語言和匯編語言。每一門計算機編程語言都有其優點和缺陷。一名優秀的編程程序員都會掌握多門計算機編程語言,在編寫程序的過程中有技巧地選用合適的計算機編程語言,實現不同編程語言之間的互補,大力提高軟件的開發效率和使用性能。在計算機的編程語言中,比較常用的有C語言、Visual Basic語言和匯編語言。
1 常用計算機編程語言分析
1.1 C語言
C語言是目前使用范圍最為廣泛的編程語言。世界上大多數的軟件程序都是由C語言編寫出來的。C語言出現于1972年,是在當時出現的B語言基礎上發展而來的。經過十幾年的發展,到了20世紀80年代,C語言由于兼顧了低級語言和高級語言的作用而得到廣泛運用。
與其他編程語言相比,C語言具有不可比擬的使用優勢,具體體現在以下幾個方面:第一,C語言具有34種運算符,語言比較豐富,表達能力比較強;第二,C語言具有32個關鍵字,9種控制語句,語言緊湊簡潔,使用方式靈活;第三,C語言程序設計自由度高,使用方便;第四,C語言的功能強大,具備強大的圖形功能、計算功能和邏輯判斷功能;第五,C語言設計的程序可以在大部分系統中運行,可移植性強,適用范圍大。
當然,C語言也存在類型檢查機制相對較弱等缺陷。為了彌補C語言的缺陷,20世紀80年代在C語言基礎上發展出了C++語言。C++語言保留了C語言的優點,增加了面對對象的機制。C++語言的出現,改變了C語言開發大程序比較吃力的狀況,擴大了C語言的使用范圍。更重要的是,C++一種集面向對象編程、泛型編程和過程化編程于一體的編程語言,是編程思想革新的代表語言之一。
1.2 Visual Basic語言(可視化編程語言的代表之一)
Visual Basic語言是微軟公司在1991年研發出來的一種編程語言。Visual Basic語言的基本思路就是采用面向對象的機制,將復雜的程序設計問題分解為相對簡單的對象集。與C++語言相比,它的使用方式更加靈活方便??梢暬幊毯褪录寗泳幊淌荲isual Basic語言的顯著特點。使用Visual Basic語言開發軟件時看到的界面與程序實際運行的界面是基本一致的,改變了過去編寫程序與界面開發不同步的狀況。程序員在設計界面時可以通過使用控件畫出不同類型的對象,無需通過編寫程序,可以減少編程的工作量,簡化編寫程序也方便了后期的修改維護。事件驅動編程是指應用程序是由運行過程中的事件決定的,比如用戶的鼠標觸動等,不進行預定的運行路徑設定。事件驅動編程一般用于協助開發環境,受到了程序開發領域的重視。由于Visual Basic語言包含了事件驅動編程語言和可視化編程,使得Visual Basic語言在軟件開發領域中的適用范圍非常廣泛。
1.3 匯編語言
計算機系統的應用程序的匯編工作都要有匯編語言來完成。由于匯編程序是利用計算機的硬件特性并能直接控制計算機的硬件的語言,它的執行效率比較高,但是在編寫程序和調試時會比較復雜。
1.4 三種語言結構對比
1.4.1 C語言舉例
1.4.2 Visual Basic語言舉例
1.4.3 匯編語言舉例
1.4.4 結構對比結論
經過對三種語言結構進行對比后,我們可以發現Visual Basic語言的語言結構最簡單,匯編語言的語言結構最復雜,C語言的語言結構復雜程度介于兩者之間。
2 常用計算機編程語言選用
2.1 選用原則
在選擇計算機編程語言時,要注意以下原則:第一,要充分考慮軟件運行的硬件環境。軟件開發使用的匯編語言必須使用與運行的硬件環境。同時,考慮到現在的硬件技術更新速度非常的快。過去可以適用的語言,硬件技術升級后可能就無法適用。因此,在編程時要考慮軟件的調整問題,盡量使軟件調整更加簡易。
第二,要考慮平臺的支持性。要考慮平臺對編程語言的支持下,根據編程語言的優勢進行語言選擇,使得編程語言可以發揮最大的優勢。
第三,要考慮編寫程序的實際需求。要根據編寫的程序和編程語言的特點,來選擇計算機編程語言。在一些比較特殊的軟件開發時,程序員要使用專業的編程語言。專業的編程語言可以有針對性地進行軟件開發,節省編程時間,提高編程效率,減少編程過程中出現的失誤。
第四,要盡量選擇熟悉的編程語言。每一位程序員熟悉的編程語言類型都不相同。程序員在編寫程序時選擇自己熟悉的語言,可以節省大量的時間,也便于過后的程序維護和修改工作。
第五,要考慮到開發成本的問題。不同的編程語言的編寫成本都不相同,程序編寫出來過后的維護和修改成本也不相同。程序員在選擇編寫語言時要根據項目的成本來限制編程語言的選擇。
2.2 選用技巧
根據上述的原則以及對三種常用的編程語言結構的比較來看,可以得出以下這三種編程語言的選用技巧:
第一,C語言的可移植性最強,可以適用于大部分的運行環境。C語言的難度適中,加上高校的許多專業都開設了C語言課程,許多大學生都掌握了C語言。因此,在編程時可以優先適用C語言。面對C語言存在的缺陷,程序員可以調用其他語言進行混合編程。
第二,Visual Basic語言的掌握難度較低,但是執行效率比較低。使用Visual Basic語言可以簡化編程過程,減少失誤,因此Visual Basic語言更適合編寫一些復雜而不講究執行效率的程序。
第三,匯編程序的語言結構最為復雜,掌握難度大,但是運行效率比較高。因此匯編程序更加適用于編寫一些初始化程序。
3 結束語
編程語言是計算機軟件開發的工具,可供開發者選擇的編程語言很多,選擇合適的編程語言有助于提高編程效率和計算機軟件的使用效率。要不斷提高計算機軟件的開發效率,就要重視計算機編寫程序的選擇。有這樣,才能不斷提高計算機的使用性能,在競爭激烈的計算機軟件行業中占有一席之地。
參考文獻:
[1]徐志偉,李偉.織女星網格的體系結構研究[J].計算機研究與發展,2012(08).
[2]劉君華,賈惠芹.虛擬儀器圖形化編程語言LabVIEW教程[M].西安:西安電子科技大學出版社,2011(20).
[3]喬林.Visual C++6.0高級編程技術[M].北京:中國鐵道出版社,2001(03).
關鍵詞:計算機編程語言;高效;學習方法;探究
學習計算機編程語言時,大多數人都感覺知識點太多、語法規則復雜、基礎理論抽象難懂、枯燥乏味,往往就失去學習興趣,甚至半途而費,有始無終。依據筆者多年計算機編程語言的學習、教學和軟件設計實戰經驗發現,只要具備一定的數學分析和邏輯推斷能力以及較好的英語功底,采取科學高效的學習方法,必定取得事半功倍的學習效果,學好計算機編程語言也就指日可待了。
一、必須選擇一款優秀而專業的集成開發環境
(一)提供諸多智能提示功能,有利于快速而規范地輸入代碼優秀專業的集成開發環境(IDE)能夠以不同的顏色顯示程序代碼中的關鍵字和代碼內容,一旦關鍵字輸入有誤,從顏色上即可判斷出輸入的關鍵字是否正確;對于程序中輸入的錯誤或不合法的表示,能夠及時地在錯誤列表面板的不同選項卡中顯示出來,包括所有錯誤、警告消息的說明、行數、列數,幫助設計者快速找到問題所在;還能夠以下拉列表的形式自動彈出輸入對象的屬性、方法或函數,只需要輸入對象屬性或方法的前幾個字母就可以從彈出的下拉列表中選擇輸入,方便用戶快速而規范地輸入代碼[1]。
(二)提供了方便的調試、測試、編譯和運行程序功能無論是編程初學者還是熟練的程序員,出現程序錯誤在所難免。一般將程序錯誤分為語法錯誤和邏輯錯誤。語法錯誤就是編寫程序時對命令基本格式、關鍵字或程序結構書寫錯誤而導致的錯誤;邏輯錯誤就是編寫的程序在語法上沒有錯誤,但程序的運行結果錯誤。語法錯誤在程序運行時都會被編譯器檢查出來,并及時地給出提示信息;而邏輯錯誤不易被檢查出來,可以在開發環境中通過設置程序斷點,選擇逐語句、逐過程運行方式查看變量的當前值來排除程序錯誤,而對于可能產生的錯誤或是其他可以中斷程序執行的異常情況,可以使用異常處理語句(try…catch語句)構建各種用來處理程序異常情況的程序代碼。
(三)有助于理解計算機程序運行機制,提高程序編寫能力通過對程序反復的調試、測試,不斷加深計算機對語句、程序結構和程序運行過程的理解,增強自身嚴密的邏輯思維和邏輯推理能力以及閱讀程序、程序排錯、程序編寫能力。
二、主動培養計算機語言編程思維方式
由于計算機語言是人與計算機之間的交流語言,其交流的對象是計算機,因此就要按照計算機的特點和規則進行交流,交流的程度越深,思維方式就會越向交流對象靠近。在計算機語言的學習過程中,要主動培養自己的計算機語言編程思維方式[2]。該思維方式具有以下特點:
(一)嚴謹性計算機語言也是一種語言,與人類語言相比,更具有嚴謹性,特別注重語言本身的意思,而會淡化情感、表達方式、意境等超出文本本身的意思。每一條語句或命令都有嚴格的語法規則,每一個關鍵字都有特定的語義和用途。所以,在編寫程序時來不得一點馬虎,即使有一點點錯誤也得不到預期結果。
(二)準確性由于計算機編程語言具有嚴謹的語言體系結構,有明確而簡單的語法規則,但表達能力極強,使得編寫的每一條語句都要準確地表達,反復推敲,避免產生歧義或疏漏。如果表達準確了才會得到想要的結果;如果得不到預期的結果,那只能說明沒有表達清楚,程序代碼寫錯了。
(三)清晰性人的思維方式是以自己心中世界為基礎的,有時是模糊的、不確定的,但計算機語言編程思維方式是清晰的。如果要通過編程解決實際問題,首先要按照計算機的執行方式和語言的表達方式進行分析,把分析的結果再轉化為程序代碼,所以對實際問題的分析思路、解決思路以及編程思路必須是非常清晰的。計算機編程思維方式與人的正常思維方式有很大的差異,往往使得許多初學者覺得計算機語言是很難學的。在編程思維方式上需要跨越心理上和思維上的障礙,重點掌握程序設計方法和編寫程序的思路。編寫程序就是把人的需求轉化為計算機可以理解和接受的語言結構,這種轉換很多時候并不容易,即使人的需求的小小變化,也可能會引起編程的巨大震動。計算機編程思維方式的改變,往往是最難的改變,甚至需要多年的培養和鍛煉。因此,在學習計算機語言一開始,一定要主動培養自己嚴謹細致的做事風格和清晰準確的表達風格,還要養成自我反省和善于推敲的科學習慣[3]。
三、樹立規范意識,培養良好的編程習慣
(一)縮進同一語句塊中的語句應該縮進到同一層次,這是一個非常重要的約定。雖然縮進不是必需的,同樣也沒有編譯器強制過,但是增強了程序代碼的可讀性,也體現出代碼之間的包含關系及層次感。就好比文章的每一段都有兩個字符的縮進一樣,使得文章層次結構分明、易于閱讀。
(二)空白空白也叫空字符,是程序語句中關鍵字之間、關鍵字與元素之間的分隔符。在程序運行過程中,編譯器會忽略空白,但適當使用空白能夠改善代碼的格式,提高代碼的可讀性。
(三)注釋編寫注釋同縮進一樣,編譯器也不會強迫一定要添加注釋,但是良好的注釋習慣,能夠讓人們更加輕松地了解代碼的功能,便于后期維護修改代碼,也使得代碼更加優雅和可讀。
(四)命名習慣統一規范的命名習慣,不僅給標識符起了一個容易記憶的好名,而且還能說明標識符的一些特性,達到“見名知意”的目的。常見的命名習慣有Pascal和Camel兩種形式。Pascal形式就是所有單詞的第一個字母大寫,其他字母小寫,常用于命名空間、類、函數等的命名;Camel形式就是除了第一個單詞外,所有單詞的第一個字母大寫,其他字母小寫,常用于變量、參數等的命名。
(五)大小寫在不同的計算機語言中,大小寫敏感性是不同的,這個規則尤為重要。即使在不區分大小寫的編程語言中,按照約定俗成的習慣,為了區分和維護代碼方便,在程序中一般將常量定義為大寫形式,將變量定義為小寫形式或以小寫開始的形式。
四、靈活運用多種分析方法
(一)放縮法對于程序中需要執行次數特別多的循環結構來說,為了使得問題簡單化,可以把循環執行的次數縮小到有限的幾次進行分析和調試,只要程序在這幾次能夠正確運行,那么再擴大到原來的次數,也能正確運行。比如,在編寫“實現從鍵盤輸入100個數,找出其中的最大數和最小數”的程序時,可以采用放縮法,將本應循環輸入100個數的語句改為5個數,然后進行分析和調試,如果程序測試正確,最后再改回到100個數的范圍即可。
(二)分塊法在閱讀特別復雜的程序時,為了簡化分析,可將程序逐層分為多個相對獨立的程序塊,直至分到最易理解的基本程序結構為止。同理,在編寫復雜程序時,按照模塊化程序設計思想,也要把實現的功能逐層分塊,直到用最基本的程序結構實現為止。
(三)代入法對于某些難以分析的程序來說,可以采用代入值的方法來分析和研究。比如,在“實現從鍵盤輸入5個數,找出其中的最大數和最小數”的程序中,可以任意輸入5個數,驗證程序運行結果是否正確,進而排除程序中的所有錯誤。五、需要多實踐、多模仿剛開始學習計算機語言時,往往按照教材的編寫順序,學習語言的基本要素、語法規則、語句格式等基礎理論知識。但隨著這些理論知識的學習,很容易引起學習者產生枯燥無味的感覺。為了引起學習語言的興趣和激發進一步學習的積極性,要特別重視上機操作實踐。即使是教材上很簡單的例題,也要親手輸入到計算機編程開發環境中運行一下。通過程序的運行結果,加深對計算機語言基礎知識的理解和應用常識的了解。即便在程序運行過程中出現錯誤,通過對錯誤的分析和解決,逐步提高分析程序、糾錯程序、編寫程序的能力,同時對編程思維方式的培養有積極的促進作用[4]。隨著自己計算機語言知識的增多、上機操作經驗的積累以及編程能力的提高,逐漸會產生軟件開發的欲望,但軟件開發需要學習者具備軟件設計、編程的綜合能力。僅靠掌握計算機語言的基本知識和技能還遠遠不夠,還需要大量地模仿項目案例,逐漸在這些項目的模仿實戰中,找到軟件開發所需要具備的其他知識和能力,同時也對自己創新能力的培養大有裨益。多次進行產業革新的沃爾瑪的創始人山姆·沃爾頓曾說過:“我做的事多半都是模仿別人。”因此,在學習計算機編程語言時,通過大量項目案例實戰,必須學會模仿別人的編程思路和方法。模仿的案例越多,積累的實戰經驗也會越多,編程思維也就越開闊,編出的代碼也會越規范,運行效率也就越高。
>> 幼兒學哪種才藝比較好 人生“雜食”比較好 農村哪些投資項目比較好 還是還給你比較好 痔瘡,怎樣治療比較好 到底怎樣的處理比較好 懶女人命比較好 職場中笑比較好 嫁哪種男人會比較好 冬蟲夏草怎么吃比較好 去愛人,還是被愛比較好? 歡慶春節時,喝什么飲料比較好等 痔瘡手術后飲食,怎么吃比較好 一天吃幾個雞蛋比較好? 爸媽說:倆寶差幾歲比較好? 淺談高中生的數學興趣 淺談如何培養高中生對體育課的興趣 淺談高中生學習生物課的興趣培養 淺談如何激發高中生物理課學習的興趣 淺談如何提高高中生對體育課的興趣和愛好 常見問題解答 當前所在位置:中國 > 教育 > 淺談高中生興趣課學什么編程語言比較好 淺談高中生興趣課學什么編程語言比較好 雜志之家、寫作服務和雜志訂閱支持對公帳戶付款!安全又可靠! document.write("作者:未知 如您是作者,請告知我們")
申明:本網站內容僅用于學術交流,如有侵犯您的權益,請及時告知我們,本站將立即刪除有關內容。 隨著我國經濟社會的進一步發展,家庭條件的不斷改善,計算機已從以前的一種高檔消費品正轉換成人們日益依賴的必需品,越來越多的家庭開始配置了計算機。與此同時,信息技術的教學也越來越正規化,學生的學習興趣也在多樣化,不少學生對編寫計算機程序興趣濃厚。但眾所周知,計算機語言眾多,大家熟知的就有C、C++、Pascal、Java、VB、C#等語言,那么對于初涉計算機編程的高中生來說,如果學校開設相關的課外興趣課學習什么編程語言會比較合適呢?這個問題仁者見仁,智者見智,筆者想在本文中談一下個人的看法。
首先,筆者要聲明,本文不考慮NOIP(全國青少年信息學奧林匹克聯賽)這個層面的問題(NOIP的語言指定為C、C++、Pascal三選一),而是單純站在學生興趣,并適當考慮今后的發展這一層面來進行思考。筆者個人的觀點是:C#是比較適合高中生學習的一門語言。
筆者首先是不贊成高中生初學編程學習C或C++還有Pascal語言的。對于沒有接觸過編程的學生來說,任何一門計算機語言在他們看來并沒有什么大的不同。伴隨著強烈的好奇心,學生在學習的初始階段興趣會十分濃厚,課堂上常常流連忘返。然而隨著時間的推移,不同的語言課學生表現出來的差異就開始體現出來,而這其實是語言本身的性質開始就決定了的。筆者曾經帶過好幾屆的程序設計的興趣班,除掉最后一屆,之前教授的語言都是C或C++。正如筆者如前所述,一開始學生熱情高漲以至于教室人滿為患,但后面卻幾乎沒有人堅持下來。是筆者課上得太爛嗎?還是有別的原因?經過細致的調查、反思,才找出問題的關鍵所在。
眾所周知,現在個人電腦的操作系統基本上都是視窗化的了,不管是Windows,還是Linux、Mac OS,都無一例外。C和C++最大的問題在于,使用C和C++進行可視化編程學習周期太長,難度較大,看看一個簡單顯示窗體的程序,其主函數WinMain函數的長度、窗口類眾多的成員變量、復雜的消息循環及分發結構就可以想像其難度了(C++使用MFC也沒有好得太多)?;谶@個原因,學生學習C或C++的時間里,基本上都是在編寫枯燥的控制臺應用程序(因其界面和DOS程序相似,許多人將其誤稱為DOS程序),以及過深地陷入到算法的糾結中,還有重復去發明鏈表(List)、隊列(Queue)、棧(Stack)這些數據結構(C語言的標準庫中是不包含這些基本的數據結構的),而學生生活中的許多問題實際上算法都比較簡單,但需要更友好的圖形界面的呈現方式(比如一個隨機選人的程序),這就導致學生在漫長的學習過程中不能學以致用而缺乏成就感,故而漸漸失去學習興趣。而這在其他三門語言中是很容易就可以實現的事(事實上這在C#中最短不超過10行代碼就可以完成了)。
總的來說,C和C++看似易學,實際上學習難度很大,對于偏向于實現簡單應用的高中學生而言是不適宜的。筆者覺得它們更適合于那些進一步深入研究計算機軟件開發,如系統級(如操作系統內核、嵌入式應用、硬件驅動,以及內存和或效率特別苛刻的電信級應用等)的開發人員學習。當然前面沒有詳細討論Pascal,是因為其很多方面和C語言相似,但其應用基本上囿于教學領域,從長遠著想故而不將其列入考慮范圍。
那么剩下的還有三門語言VB、Java以及C#可選,哪一門高中生學習起來會比容易,興趣會比較高呢?
從學習的難易程度上講,VB無疑是最簡單的,而且一些地方的高中程序設計選修課教材教學語言選擇的就是VB(教材用)。這樣看上去貌似VB應該是最合適的語言了。其實不然,正如文中之前所強調的,立足于學生的生活實際。誠然,VB在學習難度上確實簡單,但是使用VB編寫實際應用的難度實際上要大于Java和C#,這是因為兩個因素:一是Java和C#本身的標準庫里包含了大量的實現好了的通用組件,可以很大地減少開發時間,而VB的庫函數則要簡陋得太多;二是Java和C#有大量開源的免費組件可以直接拿來用,使用他們可以“站在巨人的肩膀上去解決問題”,而VB幾乎很少。另外,VB也有一個天生的缺陷,其本質上不是一個真正的面向對象語言,因為其本身不支持繼承、多態這些面向對象語言的基本特征,而面向對象程序設計毫無疑問是現在及今后的主流。況且,Java和C#的學習難度比VB大不了多少,若從強調快速應用和長遠發展的角度講,Java和C#是更適合的語言。