複製鏈接
請複製以下鏈接發送給好友

BASIC

(初學者通用符號指令代碼)

鎖定
BASIC(Beginners' All-purpose Symbolic Instruction Code,又譯培基),意思就是“初學者通用符號指令代碼”,是一種設計給初學者使用的程序設計語言。BASIC是一種直譯式的編程語言,在完成編寫後不須經由編譯及連結等手續即可執行,但如果需要單獨執行時仍然需要將其建立成執行檔。
BASIC是由達特茅斯學院院長、匈牙利人約翰·凱梅尼(John G. Kemeny)與數學系教師托馬斯·卡茨(Thomas E. Kurtz)共同研製出來的。1964年BASIC語言正式發佈。第一個BASIC程序在1964年5月1日早上4時,由BASIC編譯程序進行編譯後成功運行 [1]  。1975年,比爾·蓋茨把它移植到PC上。
中文名
培基
外文名
Beginners' All-purpose Symbolic Instruction Code
意    思
初學者通用符號指令代碼
創作時間
1964年
創始人
JohnG.Kemeny
ThomasE.Kurtz
類    別
計算機語言

BASIC發展歷程

BASIC初期階段

創始者 創始者 [1]
20世紀60年代中期,美國達特茅斯學院約翰·凱梅尼(J. Kemeny)和托馬斯·卡茨(Thomas E. Kurtz)認為,像FORTRAN(世界上最早出現的計算機高級程序設計語言)那樣的語言都是為專業人員設計,沒有辦法普及。於是,他們在簡化FORTRAN的基礎上,在1964年研製出一種“初學者通用符號指令代碼”(Beginner's All-purpose Symbolic Instruction Code),簡稱BASIC [2] 
BASIC語言本來是為校園的大學生們創造的高級語言,目的是使大學生容易使用計算機 [3]  。雖然初期的BASIC語言功能弱、語句少,只有14條語句(後來發展到17條語句) [4]  ,但由於BASIC在當時比較容易學習,它很快從校園走向社會,成為初學者學習計算機程序設計的首選語言 [3]  。這個時期的BASIC主要在小型機上使用,以編譯方式執行 [4] 

BASIC微機階段

20世紀70年代,BASIC語言發展成為一種廣泛使用的通用語言,也正是這個年代,微型計算機誕生了,做為必備的軟件,各種微機上都配備了BASIC語言,例如:Apple BASIC、IBM BASIC(BASICA)等。由於各機型不同,它們對基本BASIC語言的擴展也不相同,導致了同是BASIC語言程序卻不能互相兼容的局面(例如各種BASIC語言的繪圖語句差別很大),即所謂“方言性”問題 [4] 
1973年,美國DEC公司的小型機PDP裝上了BASIC語言。因為害怕人們難以理解“編譯”這一概念,他們研製了BASIC的解釋程序,用它代替BASIC的編譯程序。至此,BASIC語言可通過編譯或解釋兩種途徑將程序翻譯成機器指令 [1] 
1975年,比爾·蓋茨創立的Microsoft,併成功的把Basic語言的編譯器移植到使用 Intel處理器的ALR計算機中,IBM在1982年選定Microsoft創作PC的操作系統時,也選定了Microsoft的Basic作為其計算機的ROM-Basic [5] 

BASIC結構化階段

BASIC語言譜系圖 BASIC語言譜系圖 [5]
在20世紀80年代中期,美國國家標準化協會(ANSl)根據結構化程序設計的思想,提出了一個新的BASIC標準草案。在此前後,出現了一些結構化的BASIC語言,主要有True BASICQuick BASICTurbo BASIC等。 [4] 
1985年BASIC的兩位創始人推出的True BASIC,對BASIC語言作了重大改進和發展,它嚴格遵循ANSI BASIC,不僅完全適應結構化和模塊化程序設計的要求,而且保留了BASIC語言的優點——易學易懂,程序易編易調試,它同時提供瞭解釋工作方式和編譯工作方式。他們宣稱,True BASIC的出現將開始BASIC的新紀元 [4] 
1987年Microsoft公司推出的Quick BASIC,它提供了一個開發程序的集成環境,用户在編程序、修改、編譯、調試、運行時均可通過菜單進行操作、十分方便;並且與GW-BASICBASICA高度兼容,提供了全局變量局部變量;程序模塊化;編譯後產生一個可執行文件,提高執行效率 [3] 
1991年6月,伴隨着MS-DOS 5.0的推出,Microsoft公司也同時推出了QBASIC,並作為MS-DOS 5.0的一個組成部分免費提供給用户。QBASIC與Quick BASIC完全兼容,是Quick BASIC的簡化版本,除不能編譯及減少了初學者暫時用不着的一些調試工具外,它具有Quick BASIC的大部分功能。QBASIC採用先進的解釋方式,速度更快,是一種會話式的語言,編寫的程序可以立即運行並得到結果 [3] 

BASICVB階段

1991年4月,Visual Basic 1.0 for Windows版本發佈,這在當時引起了很大的轟動,許多專家把VB的出現當作是軟件開發史上的一個具有劃時代意義的事件 [6]  。Visual BASIC意為“可視的BASIC”,即圖形界面的BASIC,它是用於Windows系統開發的應用軟件,可以設計出具有良好用户界面的應用程序。Visual BASIC與Quick BASIC兼容,用Quick BASIC編寫的程序可以不加修改地運行於Visual BASIC [4] 
VB 6.0版本界面 VB 6.0版本界面
1998年6月15日,Microsoft公司推出Visual BASIC的第6版(即6.0版本),之後,又推出Visual Basic 6.0中文版 [4]  。VB 6.0作為Microsoft Visual Studio 6.0工具套件之一,它提供了圖形化、ODBC實現整合資料瀏覽工具平台,提供了與Oracle和SQL Server的數據庫鏈接工具。VB 6.0的Web開發特性可以使得開發人員以更方便、組件式的方法,開發各種HTML和動態HTML的應用程序。這些新特性,使得VB 6.0成為建立可擴展的企業應用開發平台的理想選擇 [6]  。Microsoft公司總裁比爾·蓋茨宣稱:“Visual BASIC是迎接計算機程序設計挑戰的最好例子” [4] 
2001年,VB.NET發佈。由於使用了新的核心和特性,很多VB的程序員都要改寫程序。2005年11月7日,VB.NET 2005(v8.0)發佈。它可以直接設計出Windows XP風格的界面,但是其編寫的程序佔用內存較多。2010年4月,VB.NET 2010(v10.0)發佈 [6] 
Visual BASIC屬於第四代BASIC,第四代BASIC的特點是:提供圖形界面取代過去的字符界面,是“for Windows”的軟件 [4] 

BASIC語法規則

BASIC語句

一、基本BASIC的17種基本語句
1.賦值(LET)語句
2.鍵盤輸入(INPUT)語句
3.讀數(READ)語句
4.置數(DATA)語句【配合讀數語句使用,稱讀數據(READ/DATA)語句】
5.恢復數據區(RESTORE)語句
6.無條件轉移(GOTO)語句
7.條件轉移(IF~THEN或IF~GOTO)語句
8.註釋(REM)語句
9.循環説明(FOR)語句
10.循環終了(NEXT)語句【與循環説明語句合成循環(FOR~NEXT)語句】
11.暫停(STOP)語句
12.自定義函數(DEF)語句
13.轉子(GOSUB)語句
14.返回(RETURN)語句【配合轉子語句使用,調用子程序
15.數組説明(DIM)語句
16.打印(PRINT)語句
17.結束(END)語句 [7] 
二、BASIC語言中常用的語句定義符及其含意
LET
讓、令
GOTO
轉移到
STOP
暫停
IF
如果
THEN
DATA
數據
FOR
對於
TO
DIM
維數
STEP
步進值
NEXT
下一個
GOSUB
轉子
PRINT
打印
INPUT
輸入
DEF
定義函數
RESTORE
恢復
END
結束
REM
註釋
RETURN
返回
READ


[7] 

BASIC詞法

一、數的表示方法
BASIC中有數值常數及字符型常數。字符型常數為用引號括起來的一串字符,也稱為字符串。引號不是字符串的一部分,僅作為字符串的起止界限。每個字符在機內佔一個字節。
在N-BASIC中數值常數分為整型、定點型、浮點型(單精度及雙精度)、十六進制常數及八進制常數等。
二、變量的表示方法
變量有數值變量及字符型變量,前者是存放數值的,後者存放字符串。變量的值在程序執行過程中是不斷變化的。當程序執行到某處賦予變量新的值就要“沖掉”它原有的值。
三、運算符
1.算術運算符:任一個數學表達式中的算術運算是按優先度進行運算的,相同優先度自左向右順序作。
2.賦值運算符:用“=”表示賦值時稱為賦值運算符, 用它來給數值變量賦數值常數或給字符型變量賦字符型常數。
3.關係運算符(亦稱比較算符):關係運算符是用來比較兩個表達式的,每個表達式都是算術表達式,在比較時,先算出表達式的值然後比較。用關係運算符也可以比較字符型變量,字符型常數及字符型函數等。
4.布爾運算符(或稱邏輯運算符):布爾運算符是對一個或兩個表達式進行邏輯運算。
四、標準函數
BASIC語言中配備了一些常用的函數,用户可以自由調用,調用時寫好函數名後面加一括號,括號內X的位置寫上實在參數就可以了,實在參數可使用常數、變量、表達式或標準函數等。
標準函數 標準函數
五、運算規則
算術表達式中運算的優先度可按如下次序:
1.先算括號,由裏向外脱括號。
2.計算標準函數值。 ’
3.乘冪。
4.乘或除:自左向右傾序作。 ‘
5.加或減:自左向右順序作。
其它的運算優先度按前面算術運算符的排列進行。
六、BASIC表達式
用符合BASIC規定的運算符號將數、變量、函數、數組元素連接起來的複雜運算對象稱為BASIC表達式。注意BASIC表達式中每個符號都佔一格,所有符號都必須一個接一個寫在一橫線上,不能出現在右上角或左下角。 [8] 

BASIC代碼示例

以下代碼為m與a兩數相乘輸出結果:
PROGRAM product
LET m = 2                         
LET a = 4                        
LET force = m*a                   
PRINT force
END
[9] 

BASIC語言特點

一、BASIC語言比較簡單
基本BASIC一共只有17個基本語句,它使用的命令都是用英文表示的,英文的含意和人們日常使用的詞意相同。它使用的運算符號和數學中使用的符號類似。因此便於人們理解。
二、BASIC語言是會話式的語言
使用BASIC語言可以通過鍵盤終端與字符顯示器或電傳打字機,進行人和計算機的對話。有的微型機當BASIC源程序送入計算機時,計算機能立即檢查出詞法錯誤(或拼寫錯誤),並且通過電傳機或字符顯示器打印出來,用户可以立即在鍵盤上修正。當修改後的程序運行時,計算機又能查出程序中的語法錯誤並打印出來,用户可以再次進行修改,直到得到滿意的結果。也有的微型機,當BASIC源程序送入計算機後,運行程序時同時檢查詞法及語法錯誤,並打印出錯誤信息。因此對初學者來説,調試BASIC程序是很方便的。另外還可通過一些命令監督和控制程序的運行。
三、BASIC語言有立即執行方式
BASIC語言可直接使用鍵盤運算,稱為立即執行方式。這時計算機相當一台高級計算器。利用它可檢查程序運行結果是否正確。
四、BASIC語言是一種小型的算法語言
在BASIC語言中數的範圍,簡單變量的數目,數組的維數及每維的大小,自定義函數的個數等均有一定限制,因此它的應用範圍也受到一定限制。同時,科研、教學及生產中的一般題目用BASIC語言解決也是較方便的。
BASIC語言是國際通用的算法語言,有共同的規定,但每台計算機使用的BASIC語言會有—些差別,特別是不同機型的擴展BASIC差別較大,使用前可查閲説明書 [10] 

BASIC標準要求

ANSIX3.60-1978 FOR MINIMAL BASIC ANSIX3.60 ANSI X3.60 X3.60
ECMA-55 Minimal BASIC (1978年1月) 已撤回 [11] 
ISO6373-1984 Data processing; Programming languages; Minimal BASIC [12] 
ANSI INCITS 113-1987 Information Systems - Programming Languages - Modules and Individual Character Input for Full BASIC(信息系統.程序設計語言.全BASIC的模塊和個別字符輸入) [13] 
ECMA-116 BASIC (1986年6月) 已撤回 [11] 
ISO/IEC10279-1991 Information technology; programming languages; Full BASIC(信息技術 程序設計語言 全BASIC) [14] 

BASIC影響

BASIC開啓了計算機領域全方位創意探索的大門:一些用户開發了電腦遊戲(早期的電腦足球遊戲在校園裏很受歡迎),另一些計算機項目則關注於自然科學社會科學人文科學領域。
計算機熱度開始超越達特茅斯學院校園範圍。校園所在地的漢諾威高中很快就通過電話線路實現了計算機的遠程訪問,這也誕生出了第一代的“計算機兒童”。美國東北部的一些學校出現了早期互聯網的雛形,他們都可以使用到達特茅斯學院的計算機。
人們對於計算機的熱情催生出了分時計算機這個細分市場,一家名為“微軟”的公司也由此出現,同時蘋果也在第一款計算機中集成了自己開發的Basic編譯器,眾多版本的Basic語言在全球範圍內不斷髮展 [15] 
參考資料
展開全部 收起