程序設計初步
第三部分 QBASIC程序設計基礎
第一章 軟件設計基礎知識
【教學目的】
【教學重點、難點】
【教學過程】
第一節(jié) 計算機語言
語言是人類進行思想交流的工具,人與計算機之間進行交流同樣也需要“語言”——一種能被計算機識別的專用語言稱為計算機語言。能被計算機直接接受的并立即執(zhí)行的語言稱為計算機語言。只能被計算機間接接受的經翻譯后形成目標代碼再執(zhí)行的語言,通常稱為程序設計語言,包括匯編語言和高級語言。
一. 匯編語言
由于機器語言不利于計算機的推廣應用,人們利用一些簡短的英文單詞或縮寫來表示指令,以便于理解和記憶。這種用數(shù)字、符號來代替二進制代碼的計算機語言稱為匯編語言。例如,要把一個數(shù)裝入CPU的寄存器里,就用MOV表示,要做加法就用ADD表示,指令順序跳轉用JMP表示等。
二. 高級語言
高級語句接近自然語句,一般是用一些簡單的英語單詞或縮寫和數(shù)學式子來表達意思,它具有易讀、易寫、易修改,能被方便地移植在不同型號的計算機上等優(yōu)點。目前國內外通用的高級語言很多,比較常見的有BASIC,F(xiàn)ORTRAN,PASCAL,C,COBLE等。它們的特點和應用領域各有側重:FORTRAN語言主要用于科學計算;PASCAL語言主要用于商業(yè)和數(shù)據(jù)處理;C語言是近年來迅速推廣使用的一種現(xiàn)代語言,既具有高級語言的特點又具有低級語言的許多特點,特別適合編寫系統(tǒng)軟件;BASIC語言易學,適合于初學者。
三. 源程序與目標代碼
用高級語言編寫的源程序不能直接被計算機接收,必須通過“翻譯”將其翻譯成目標代碼后才能被計算機執(zhí)行!胺g”高級語言的源程序的方式一般有兩種:解釋型的編譯型。所謂“編譯”是將源程序翻譯成目標文件,而“解釋”是將源程序逐行處理,即解釋一行處理一行,再解釋下一行……直到結束。
BASIC 語言屬于解釋型的,QUICK BASIC 語言是屬于編譯型的。
【教學目的】
【教學重點、難點】
【教學過程】
第二節(jié) 軟件設計的步驟
計算機是一種有效的信息處理機,人們怎樣利用它去處理信息來解決實際問題呢?
一. 分析問題:首先要對問題進行分析,看看這個問題提什么要求,給出了哪些已知條件;要使問題得到解決,需要哪些條件;從給出的已知條件出發(fā),經過哪些處理才能最后解決問題而得到結果。
二. 設計算法:從已知的數(shù)據(jù)出發(fā),到得出所要求解的結果,往往需要經過一系列的處理過程。對某一特定問題的一組(有限的)求解過程(步驟),就是算法。注意這里的“算法”并不是數(shù)學中的“計算方法”的縮語,我們所說的“算法”只包含有限的步驟,而計算方法有時是個無限過程。算法不僅是指“數(shù)學運算”,也指根據(jù)需要而進行的邏輯判斷。
三. 畫出框圖:框圖也叫流程圖。由于應用計算機問題時的算法一般比較復雜,故常用一種人為約定的圖形符號把采用的算法描繪出來,用框圖可以把解決問題的思路,如要進行的數(shù)學運算、邏輯判斷等清晰、形象、直觀地表示出來,為下面的工作打下良好的基礎。
四. 編寫程序:目前,計算機只能接受并執(zhí)行用計算機語言編寫的程序。所以,編寫程序就是用機器語言、匯編語言或高級語言,根據(jù)相應的語言法則用一條條語句(命令)形式把框圖所表示的算法表達出來。
五. 上機調試:編寫好的程序,要輸入到計算機。由于在編寫或輸入過程中,往往會發(fā)生一些錯誤,計算機在執(zhí)行程序時由于這些錯誤,自然得不出預期的結果,這變需要進行修改以排除程序中錯誤。要注意的是,計算機會自動找出一些語法方面的錯誤,數(shù)據(jù)的錯誤,如數(shù)30被改成了80,以及邏輯性的錯誤,計算機就無能為力了。
【練習】(理論知識或常識):
1. 計算機語言是 [黃澤民1] 。
2. 程序設計語言一般包括 [黃澤民2] 。
3. 匯編語言是指 [黃澤民3] 。
4. 軟件設計的基本步驟是 、 、 、 、 [黃澤民4] 。
參考資料(教科書第114頁):編程語言的演變 。
第二章BASIC 的基本常識
【教學目的】
【教學重點、難點】
【教學過程】
BASICJ 是英文“Beginers All-purpose Symbolic Instruction Code”的縮寫,意思是:初學者通用符號指令代碼。在1964年美國初次采用BASIC,僅僅是為了培養(yǎng)初學者,后來內容不斷補充,短短幾年就以它表達能力強、容易掌握、使用方便、應用廣泛的特色而風靡全球。
BASIC又是流行的常用高級語言之中的一種。新穎的、功能更強大的高級語言不斷產生,而古老的BASIC也在不斷地得到更新和發(fā)展。目前BASIC的家庭已發(fā)展成最為龐大的高級語言之一。它由原來的解釋型BASIC 如:BASIC、GWBASIC等,發(fā)展成為編譯型BASIC如:QUICKBASIC、TRUEBASIC等。且各種BASIC都有不同的版本。作為中學階段的教材,本書介紹的是DOS5.0(或是更高版本)提供的QBASIC。
第一節(jié) BASIC 的特點
BASIC 有以下特點:
1. 單易學 BASIC所使用的命令、語句中的詞匯和符號十分接近英語和數(shù)學語言,因此初學者易于理解、記憶和掌握。
2. 具有“人機對話”功能 使用者和計算機可以互相“交談”、彼此提問和回答,計算機能把使用者所出現(xiàn)的錯誤及出錯的原因通過顯示器告訴使用者,便于使用者在鍵盤上進行修改,直到雙方滿意為止。這樣對程序語句逐句地邊算邊改的方式,對于編程不太熟悉的初學者,是十分方便的。
3. 實用性較強 BASIC不僅能用于科技方面的數(shù)值計算,而且在數(shù)據(jù)處理方面也有相當?shù)哪芰,特別是科技計算和事務管理中的小型題目,使用BASIC也是很方便的。在過程控制及輔助教學等方面,也能看到不少BASIC的應用。
第二節(jié) QBASIC 的工作環(huán)境
QBASIC將程序的編輯、運行及文件管理等工作融為一體,提供了一個集成化的編程環(huán)境。
一. BASIC系統(tǒng)的啟動
啟動QBASIC系統(tǒng),首先得進入 MS-DOS。有兩種方式:一種是在Windows環(huán)境下的啟動方式,另一種是在DOS下的啟動方式。
(一) Windows方式下有兩種方式啟動QBASIC方式
1. Windows操作系統(tǒng)的桌面上,用鼠標點擊“開始”菜單欄,點擊桌面圖形出現(xiàn)中的“程序”欄,點擊其后出現(xiàn)的“MS-DOS”,進入MS-DOS方式。此時在屏幕上出現(xiàn)C:\ windows>_,請輸入 cd \dos(或QBASIC所在的目錄)回車。然后輸入QBASIC回車即可。
2. Windows操作系統(tǒng)的桌面上,用鼠標點擊“開始”菜單欄,點擊桌面圖形出現(xiàn)中的“關閉系統(tǒng)”欄,點擊“重新啟動計算機并切換到MS-DOS方式”,計算機重新啟動,啟動后屏幕出現(xiàn) C:\windows>_,請輸入 cd \dos(或QBASIC所在的目錄)回車。然后輸入QBASIC回車即可。
(二) DOS下啟動QBASIC
將載有DOS啟動系統(tǒng)并包含有QBASIC.EXE和QBASIC.HLP 兩個文件的磁盤插入軟盤驅動器,然后開機啟動DOS系統(tǒng)。DOS系統(tǒng)啟動成功后,屏幕上將會出現(xiàn)提示符,在提示符后面鍵入:QBASIC并回車就能進入QBASIC的工作環(huán)境(如下圖)。
QBASIC編程環(huán)境是通過菜單式選項來選擇操作命令的。
二. 菜單命令的使用
在屏幕頂部的主菜單中有8類操作命令,對應8個下拉式菜單,每個下拉菜單中又有多個具有操作命令,選擇了某一個具體操作命令就會進行相應的操作。其選擇具體命令的操作如下:
先按住Alt鍵不放,再按單詞的第一個字母,相應的下拉菜單就會出現(xiàn),用光標鍵選擇要執(zhí)行的具體命令,然后按回車鍵,就可以執(zhí)行該命令。
例如,同時按Alt和F鍵,就會出現(xiàn)File(文件)類下拉菜單,此時要退出QBASIC 系統(tǒng),將光標移至Exit按回車鍵或直接按x鍵,就會退出QBASIC系統(tǒng)返回到DOS方式。
三. 即執(zhí)行方式
QBASIC程序有程序方式和立即方式兩種方式。
立即方式是在立即執(zhí)行窗口中輸入一條語句后,按F6鍵就會切換到下面的立即執(zhí)行窗口。
例如,在Immediate(立即執(zhí)行)窗口中輸入PRINT 4*5
按回車鍵后,轉到“輸出屏幕”顯示處理結果:20。
按任意鍵后將返回Immediate窗口。
再按F6鍵,將回到編輯窗口。
本章的重點是讓學生熟悉、了解和掌握QBASIC的編程窗口,掌握各菜單的使用,能用鍵盤則不用鼠標去操作,要反復操作。
第三章QBASIC 的基本概念
【教學目的】
【教學重點、難點】
【教學過程】
第一節(jié) 什么是QBASIC程序
什么是QBASIC程序?QBASIC程序是什么樣的?是怎樣構成的?
程序是人們?yōu)榱私鉀Q某不問題而設計編寫的指揮計算機運行的一系列指令或語句。QBASIC程序就是用QBASIC編制的程序,也稱為QBASIC源程序。我們先看一個用QBASIC編寫的簡單程序:
i. 求長、寬分別是6.8, 3.5的矩形的周長和面積。
用QBASIC編寫的程序如下(右邊是語句的意思):
LET A=6.8 將數(shù)6.8送入變量A中
LET B=3.5 將數(shù)3.5送入變量B中
LET L=(A+B)*2 將A與B的2倍送入變量L中
LET S=A*B 將A與B的積送入變量S中
PRINT L,S 顯示輸出L及S的值
END 結束
從這個簡單程序我們可以看出:QBASIC十分接近人的自然語言和數(shù)學語言,只是個別符號的含義有所不同。
通過上面這個程序,可以看出BASIC程序是這樣構成的:
一個BASIC程序由若干程序行組成。一個程序行由語句和回車兩個部分或由冒號隔開的多個語句、回車組成,即程序行的構成是:
語 句 回車 (如上面程序中的第一行)
LET A=6.8 ↙
一、 語句
語句是程序行的核心,每個語句指定執(zhí)行某一方面的特定功能。一個語句由語句定義符和語句體組成。
1. 語句定義符:由英文單詞或縮寫詞等英文符號組成。用來確定它所在的語句的功能。除了個別特殊的語句定義符可以省略外,語句不可沒有定義符,否則機器不能執(zhí)行該語句并顯示出錯信息。上面程序中的LET、PRINT和END都是語句定義符。
2. 語句體:為語句操作的具體內容和對象,跟在語句定義符的后面。
不是每個語句都有語句體,有些語句就只有語句定義符,END.
也可將若干個語句寫成一個程序行,各語句間用“:”隔開,形成多語句行,即
語句1 : 語句2 : … : 語句n
上面的例1程序可以寫成:
LET A=6.8:LET B=3.5:LET L=(A+B)*2:LET S=A*B
PRINT L,S:END
這樣可以節(jié)省書寫行。
使用多語句行時應注意:
(1) 多語句行中語句執(zhí)行順序是從左到右逐個執(zhí)行,將多個語句放在一個程序行時,一定要留心不要改變它們的執(zhí)行順序,否則程序將會執(zhí)行出意料之外的情況。
(2) 每程序行的長度有一定限制,在QBASIC中,一個程序行的長度最多不能超過255個字符(含↙⊔)
二、 回車
只有當我們輸入回車鍵后計算機才接收從鍵盤上輸入的任何信息。當我們輸完語句時必須用回車作結束。一個QBASIC程序,實際上是由若干條語句按照人們所要解決問題的步驟順序組合而成的。
第二節(jié) QBASIC的符號系統(tǒng)
任何一種計算機語言都有它自己特定的基本符號,在使用中,不允許出現(xiàn)非規(guī)定的符號,否則,將不被接受。QBASIC的符號系統(tǒng)則由英文大小寫字母、10個阿拉伯數(shù)字和一些特殊符號組成。
ii. 阿拉伯數(shù)字:0 1 2 3 4 5 6 7 8 9
iii. 大小寫英文字母: A B … Z, a b … z
iv. 符號.符號可分為4種:
1. 運算符號(加減乘除、乘方):+ — * / ^ = ( )
2. 點符號:逗號,分號; 小數(shù)點. 問號? 單引號‘’
3. 關系符號:= < > <> >= <=
4. 專用符號:串變量$ 整型變量% 格式# 空格⊔
第三節(jié) 常量和變量
一. 常量(在程序執(zhí)行過程中,值始終保持不變的量)
QBASIC中的常量分為兩類:數(shù)值型常量和字符型常量
1.量有正負數(shù)之分,負號不能省略?梢杂腥缦聨追N表達方式:
(2) 整數(shù)。又稱整型數(shù),不能含有小數(shù)點。
(3) 定點數(shù),只用數(shù)字、小數(shù)點和正負號來表示的數(shù)。
(4) 浮點數(shù):在定點表示的基礎上增加指數(shù)來表示的方法。其實質是數(shù)學中科學記數(shù)法:2E3。浮點數(shù)由尾數(shù)、底數(shù)E和階碼三部分組成,其中尾數(shù)表示數(shù)的有效部分,E表示冪的底數(shù)為10,階碼表示冪的指數(shù)。
由于受機器的限制,多數(shù)QBASIC只允許使用絕對值在2.9*10-39至1.7*1038之間的實數(shù),如果數(shù)的絕對值小于前者視為0,大于后者則溢出。
2. 字符型常量,用于對非數(shù)值的字符進行處理。字符型常量的長度不超過255個字符。
二.變量:在程序執(zhí)行過程中值可以改變的量。分為數(shù)值變量(用于存放數(shù)值常量)和字符串變量(用于存放字符型常量)。用英文字母表示數(shù)值變量: A ,B,AN 等。用A$, B$, A1$等表示字符串變量。變量名的前40個字母是有效的,超過則被計算機忽略掉了,不能用保留字作變量名。
第四節(jié) 數(shù)值函數(shù)和數(shù)值表達式
一. 數(shù)值函數(shù)
在QBASIC中,把一些常用的算法編成一個個標準程序放在QBASIC解釋程序中,稱為標準函數(shù),編寫程序時,只要按規(guī)定寫出函數(shù)名及自變量就可以隨時調用。按照這些函數(shù)的不同用途,可分為數(shù)值函數(shù)和字符串函數(shù),本書只介紹數(shù)值函數(shù)。
SIN(X) COS(X) TAN(X) SQR(X)
ABS(X) INT(X) RND(X)
二. 數(shù)值表達式
用QBASIC的運算符和括號把常量、變量及函數(shù)按QBASIC規(guī)定連接起來構成的式子,稱為QBASIC表達式。能夠產生一個數(shù)字值的QBASIC表達式稱為數(shù)值表達式。
實際上QBASIC數(shù)值表達式一般就是按QBASIC符號系統(tǒng)的規(guī)定表示的數(shù)學式子。
表達式中的運算順序:從高到低執(zhí)行。
書寫表達式時需要注意的若干問題
第五節(jié) 程序的輸入和運行
要讓計算機運行一段程序,首先必須把這段程序輸入到計算機中去,下面學習程序的輸入和修改的方法。
一. 從鍵盤輸入程序。啟動QBASIC系統(tǒng),并確認光標是在編輯窗口后,就可以輸入QBASIC程序了,輸入的方法是按照程序清單在鍵盤上逐個敲入每一字符,敲完一行語句后,按一下回車鍵。每一次按回車鍵后,計算機就把所輸入的這一行內容存放到內存儲器里了。同時光標移到下一行的最左端,等待接收下一行要敲入的內容。
二. 程序的運行。輸入的程序經檢查無誤后,就可以運行了。運行程序的操作方法:利用下拉菜單,即同時按下Alt鍵和R鍵,出現(xiàn)Run類下拉菜單,選擇Start并按回車鍵,就可運行程序;另一種方法是在編輯窗口中同時按下Shift鍵 和F5鍵,就可以運行程序了。
第四章 輸出語句與終止語句
【教學目的】
【教學重點、難點】
【教學過程】
從本節(jié)開始,學習十幾條QBASIC語句的格式和功能,也將懂得程序的結構和掌握一些最基本的算法,并熟悉用它編寫程序。
第一節(jié) 輸出語句(PRINT)
用計算機來解決各種問題,必然希望計算機輸出處理后的結果,語句PRINT就是用來起這種作用的。它是QBASIC中使用最頻繁、用法最靈活的一條語句。正確使用PRING語句,不僅可以輸出計算結果,還可以輸出文字、繪制各種圖表。
一. 格式
PRINT < 輸出內容>
例如: PRINT 3 PRINT “QBASIC”
二. 功能
PRINT語句的功能是將<輸出內容>顯示在顯示器上或在打印機的打印出來。輸出的內容分為兩類:數(shù)值和字符串。
輸出常量、變量或算術表達式的值
字符串原樣輸出
三. PRINT語句的輸出格式:
1標準輸出格式:
如果PRINT語句的表達式組中各項用“,”分隔,那么輸出顯示的時候按標準格式輸出,每行輸出定為5個標準打印位置。如果在一個打印語句中的變量多于5 個,則計算機在打印完5 個數(shù)之后,就自動換到第二行的第一個標準位置開始打;如果打印數(shù)據(jù)長度超過了當前所具有的字符位置個數(shù),那么這個數(shù)據(jù)將從下一行的起點開始打印。
2緊湊輸出格式:
如果PRINT語句的表達式組中各項用“;”分隔,那么輸出顯示的時候按緊湊格式輸出。也就是各項之間沒有空格。
3 PRINT語句末尾標點符號的作用:
PRINT 語句末尾沒有標點符號時,計算機執(zhí)行完成這個語句后將自動換行;當PRINT語句以“,”或“;”結束時,不產生換行操作,下一條PRINT語句所輸出的內容將按標準格式或緊湊格式繼續(xù)輸出顯示。
4 空PRINT語句的作用:
當print語句中不含任何表達式時,稱為空PRINT 語句,它只輸出一個空行(只起換行作用),利用空PRINT語句,可以加大行與行之間的距離,或者解除前面PRINT語句末尾的“,”或“;”的不換行作用。
第二節(jié) 終止語句(END語句)
一個完整的程序應該有終止語句。終止語句一般放在程序的末尾。
1 格式:END
2 功能: 使計算機停止該程序的運行。
第五章 提供數(shù)據(jù)的語句
【教學目的】
【教學重點、難點】
【教學過程】
第六章 轉向語句
【教學目的】
【教學重點、難點】
【教學過程】
第七章 循環(huán)語句
【教學目的】
【教學重點、難點】
【教學過程】
第八章 一維數(shù)組
【教學目的】
【教學重點、難點】
【教學過程】
[黃澤民1]能被計算機直接接受的并立即執(zhí)行的語言稱為計算機語言
[黃澤民2]包括匯編語言和高級語言
[黃澤民3]用數(shù)字、符號來代替二進制代碼的計算機語言
[黃澤民4]1.分析問題; 2.設計算法: 3.畫出框圖; 4.編寫程序; 5.上機調試。