計算機語言

計算機語言

 
計算機是進行科學計算和信息處理的工具,其工作過程可簡述爲:
第一步:接通電源啓動計算機的外設和主機;
第二步:由輸入設備將程序送入內存儲器;
第三步:當計算機接到操作人員的運行命令後,控制器便將程序從內存儲器中逐條取出,經分析加以執行;
第四步:在控制器指揮下,由輸出設備將處理結果顯示或打印;
第五步:程序執行完畢,控制器發出信號,計算機自動停機。
在整個處理過程中,計算機完全按照人們的“意願”去辦事。所以能夠如此,是因爲輸入計算機的“程序”起着關鍵性的作用。程序由會寫程序的操作人員事先編制。編制程序的過程稱程序設計。書寫程序用的“語言”,叫做程序設計語言即計算機語言。計算機語言通常是一個能完整、準確和規則地表達人們的意圖,並用以指揮或控制計算機工作的“符號系統”。
一般的計算機目前還不能在人類的自然語言上直接操作,用計算機解決實際問題,必須對所要解決的問題周密考慮一個明確的處理方法(算法),再使用計算機能理解的計算機語言編製成程序,然後通過輸入設備才能告訴計算機該怎麼去做。
計算機語言通常分爲三類,即機器語言,彙編語言和高級語言。
1. 機器語言
機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬件結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。不同型號的計算機其機器語言是不相通的,按着一種計算機的機器指令編制的程序,不能在另一種計算機上執行。
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。現在,除了計算機生產廠家的專業人員外,絕大多數程序員已經不再去學習機器語言了。
2. 彙編語言
爲了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號“+”的機器代碼),於是就產生了彙編語言。所以說,彙編語言是一種用助記符表示的仍然面向機器的計算機語言。彙編語言亦稱符號語言。
彙編語言由於是採用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。彙編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用彙編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
彙編語言是面向具體機型的,仍離不開具體計算機的指令系統,因此,對於不同型號的計算機,有着不同的結構的彙編語言,而且,對於同一問題所編制的彙編語言程序在不同種類的計算機間是互不相通的。
彙編語言中由於使用了助記符號,用彙編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的“彙編程序“的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用彙編語言等非機器語言書寫好的符號程序稱源程序,運行時彙編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
彙編語言像機器指令一樣,是硬件操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。彙編語言是低級語言。但是,彙編語言用來編制系統軟件和過程控制軟件,其目標程序佔用內存空間少,運行速度快,有着高級語言不可替代的用途。
3. 高級語言
不論是機器語言還是彙編語言都是面向硬件的具體操作的,語言對機器的過分依賴,要求使用者必須對硬件結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能爲計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。這種與自然語言相近併爲計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
目前被廣泛使用的高級語言有BASIC、PASCAL、C、COBOL、LISP和PROLOG等。
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過“翻譯程序”翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種“翻譯”通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個稱爲編譯程序的機器語言程序,作爲系統軟件存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是:源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式爲主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。 每一種高級(程序設計)語言,都有自己人爲規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬件功能相分離(徹底脫離了具體的指令系統),便於廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便於移植。下面介紹幾種較有代表性的高級程序設計語言:
⑴BASIC語言
BASIC語言全稱是Beginner’s all Purpose Symbolic Instruction Code,意爲“初學者通用符號指令代碼“。1964年由美國達爾摩斯學院的基米尼和科茨完成設計並提出了BASIC語言的第一個版本,經過不斷豐富和發展,現已成爲一種功能全面的中小型計算機語言。BASIC易學、易懂、易記、易用,是初學者的入門語言,也可以作爲學習其他高級語言的基礎。BASIC有解釋方式和編譯方式兩種翻譯程序。
⑵PASCAL語言
PASCAL是一種結構程序設計語言,由瑞士蘇黎世聯邦工業大學的沃斯(N.Wirth)教授研製,於1971年正式發表。是從ALGOL60衍生的,但功能更強且容易使用。目前,作爲一個能高效率實現的實用語言和一個極好的教學工具,PASCAL語言在高校計算機軟件教學中一直處於主導地位。Pascal(B.Pascal)是十七世紀法國著名數學家,他於1642年曾發明現代臺式計算機的雛型機—加減法計算機。
PASCAL具有大量的控制結構,充分反映了結構化程序設計的思想和要求,直觀易懂,使用靈活,既可用於科學計算,又能用來編寫系統軟件,應用範圍日益廣泛。
⑶通用編程語言C
C語言是美國AT&T(電報與電話)公司爲了實現UNIX系統的設計思想而發展起來的語言工具。C語言的主要特色是兼顧了高級語言和彙編語言的特點,簡潔、豐富、可移植。相當於其他高級語言子程序的函數是C語言的補充,每一個函數解決一個大問題中的小任務,函數使程序模塊化。C語言提供了結構式編程所需要的各種現代化的控制結構。
C語言是一種通用編程語言,正被越來越多的計算機用戶所推崇。使用C語言編寫程序,既感覺到使用高級語言的自然,也體會到利用計算機硬件指令的直接,而程序員卻無需捲入彙編語言的繁瑣。
⑷COBOL語言
COBOL的全稱是Common Business Oriented Language,意即:通用商業語言。
在企業管理中,數值計算並不複雜,但數據處理信息量卻很大。爲專門解決經企管理問題,於1959年,由美國的一些計算機用戶組織設計了專用於商務處理的計算機語言COBOL,並於1961年美國數據系統語言協會公佈。經不斷修改、豐富完善和標準化,已發展爲多種版本。
COBOL語言使用了300多個英語保留字,大量採用普通英語詞彙和句型,COBOL程序通俗易懂,素有“英語語言”之稱。
COBOL語言語法規則嚴格。用COBOL語言編寫的任一源程序,都要依次按標識部、環境部、數據部和過程部四部分書寫,COBOL程序結構的“部”內包含“節”,“節”內包含“段”,段內包含語句,語句由字或字符串組成,整個源程序象一棵由根到幹,由幹到枝,由枝到葉的樹,習慣上稱之爲樹型結構。
目前COBOL語言主要應用於情報檢索、商業數據處理等管理領域。
⑸LISP語言
LISP語言是專用於人工智能和符號處理的計算機語言,是迄今在人工智能學科領域中應用最廣泛的一種程序設計語言。LISP處理的數據是符號。LISP利用符號表達和處理知識時都以表的形式來表示,而且只使用五個基本函數就足以表達其字符集上任何可計算的函數,具有強有力的符號處理功能。
LISP一名取自英語List Processing Language,意爲“表處理語言”。LISP語言是由美國麻省理工學院的麥卡錫(J.Mecarthy)和他的研究小組於1960年首先設計實現的。目前,常用的版本是LISP1.5。
⑹PROLOG語言
PROLOG是Programming in Logic的縮寫,意爲“邏輯程序設計”。設計邏輯程序語言的思想最早由英國人科瓦爾斯基(R.Kowalski)提出。具體設計PROLOG語言的是法國馬賽大學的科默寥爾(A.Clomerauer)及其研究小組,設計工作於1972年完成。
PROLOG以邏輯程序設計爲基礎,以處理一階謂詞演算爲背景。它文法簡潔,表達力豐富,具有獨特的非過程型語言(一個語句就相當於過程語言的一個子程序而並非算法的一步),是一種具有推理功能的邏輯型語言。
PROLOG語言已被廣泛地應用於關係數據庫、抽象問題求解、數理邏輯、公式處理、自然語言理解、專家系統以及人工智能的許多領域。
常用的高級程序設計語言,除了上述的幾種之外,還有很多,如以英國著名詩人拜倫(G.N.G.Byron)的獨生女艾達·拜倫(Ada Byron)的名字命名的軍用語言Ada,深受中、小學生歡迎的語言LOGO等等。
目前,程序設計語言及編程環境正向面嚮對象語言及可視化編程環境方向發展,出現了許多第四代語言及其開發工具。如:微軟公司(Microsoft)開發的Visual系列(VC++、VB、FoxPro)編程工具及Power Builder等,目前已經在國內外得到了廣泛的應用
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章