【文章內(nèi)容簡介】
作用:把DATA語句中的數(shù)據(jù)依次傳送給READ語句中的各個變量,第一百一十三頁,共一千三百五十三頁。,幾點注意,DATA語句是非執(zhí)行語句,它在程序中的位置并不影響程序的執(zhí)行結(jié)果; READ語句中的各變量可以是數(shù)值變量,也可以是字符串變量,各類型的變量要求DATA語句按順序提供對應(yīng)類型的數(shù)據(jù)。如果類型不匹配,就會產(chǎn)生“SYNTAX ERROR”錯誤;,第一百一十四頁,共一千三百五十三頁。,幾點注意,READ語句沒有計算功能,它的功能僅僅是數(shù)據(jù)傳送,因此,DATA語句所提供的數(shù)據(jù)必須是常量,而不能是表達(dá)式 DATA語句中的數(shù)據(jù)個數(shù)不能少于READ語句中的變量個數(shù)。否則會出現(xiàn)“OUT OF DATA”錯誤。,第一百一十五頁,共一千三百五十三頁。,例 請寫出下面程序的執(zhí)行結(jié)果(上機(jī)練習(xí)) DIM AS INTEGER A, B, C READ A, B READ B, C READ A, C PRINT A, B, C DATA 1, 2, 3, 4, 5, 6, 7,第一百一十六頁,共一千三百五十三頁。,程序運行后的輸出結(jié)果: 5 3 6,第一百一十七頁,共一千三百五十三頁。,RESTORE語句,功能:用于重復(fù)使用DATA語句中的數(shù)據(jù) 格式:RESTORE [語句標(biāo)號] 原理:使數(shù)據(jù)指針從當(dāng)前位置返回到數(shù)據(jù)區(qū)的開頭;“RESTORE 標(biāo)號”的作用是使數(shù)據(jù)指針返回到由標(biāo)號所指定的DATA語句的開頭。,第一百一十八頁,共一千三百五十三頁。,RESTORE語句用法舉例(上機(jī)練習(xí)),DATA 1 READ A, B, C RESTORE A A: DATA 2, 3, 4 DATA 5 READ D, E RESTORE READ T, T, F, G, H PRINT A, B, C, D, E, F, G, H END,第一百一十九頁,共一千三百五十三頁。,程序的輸出結(jié)果: 1 2 3 2 3 3 4 5,第一百二十頁,共一千三百五十三頁。,第三節(jié) 提高編程的本領(lǐng),標(biāo)準(zhǔn)函數(shù)簡介與運算規(guī)則 函數(shù)的概念; FB中已將人們在程序中經(jīng)常用到的功能(如求平方、將一個數(shù)四舍五入等)設(shè)計成了標(biāo)準(zhǔn)函數(shù),形成了一個標(biāo)準(zhǔn)函數(shù)庫; FB標(biāo)準(zhǔn)函數(shù)在程序中的調(diào)用方式: 函數(shù)名(參數(shù)1[,參數(shù)2,參數(shù)3,…參數(shù)n]),第一百二十一頁,共一千三百五十三頁。,幾個標(biāo)準(zhǔn)函數(shù)簡介,INT(X)函數(shù) ABS(X)函數(shù) SGN(X)函數(shù),第一百二十二頁,共一千三百五十三頁。,取整函數(shù),返回一個不大于X的整數(shù) 例:INT(5) = 5 INT(3.6) = INT(2.1) = 注意,INT(X)函數(shù)沒有四舍五入功能!,INT(X)函數(shù),3,3,第一百二十三頁,共一千三百五十三頁。,FIX(X)函數(shù),截尾函數(shù),作用是將一個數(shù)的小數(shù)部分去掉后,直接返回其整數(shù)部分,如: FIX(5.1) = 5 FIX(6.9) = 6 INT(6.9) = 7 與INT(X)函數(shù)的不同:當(dāng)X為正數(shù)時,INT(X)與FIX(X)是一致的;當(dāng)X為負(fù)數(shù)時,兩者就不同了,因為INT(X)返回的是不大于X的最大整數(shù),第一百二十四頁,共一千三百五十三頁。,CINT(X)函數(shù),可稱為四舍五入函數(shù),它返回的是對X的小數(shù)部分進(jìn)行四舍五入后得到的整數(shù) 例如:CINT(4.6) = 5 CINT(4.6)= 5 CINT(4.1) = 4 CINT(4.1) = 4,第一百二十五頁,共一千三百五十三頁。,ABS(X)函數(shù),作用:求一個數(shù)的絕對值,即一個數(shù)在數(shù)軸上距原點的距離;正數(shù)的絕對值就是它本身,負(fù)數(shù)的絕對值是將此數(shù)的負(fù)號去掉后所得到的數(shù); 例:ABS(3.1) = 3.1 ABS(1.3) = ABS(0) =,1.3,0,第一百二十六頁,共一千三百五十三頁。,SGN(X)函數(shù),符號函數(shù),作用是: 當(dāng)X 0時, SGN(X)返回1; 當(dāng)X = 0時, SGN(X)返回 0; 當(dāng)X 0時, SGN(X)返回1,第一百二十七頁,共一千三百五十三頁。,例318 求下列表達(dá)式的值,3+INT(4.5) = INT(3.1) = 8 * ABS(2.5) = 6 – SGN(123) =,7,4,20,5,第一百二十八頁,共一千三百五十三頁。,讓我的程序設(shè)計得更漂亮,利用下面幾個語句,可以使自己的程序更加規(guī)范、漂亮: CLS語句 END語句 REM語句 冒號“:”的作用,第一百二十九頁,共一千三百五十三頁。,CLS語句,功能:將屏幕上的信息清除掉。當(dāng)屏幕上的顯示內(nèi)容比較雜亂,或顯示的內(nèi)容已經(jīng)沒有用了時,就可以使用CLS語句; CLS是英語CLEAR(清除)和SCREEN(屏幕)的縮寫,第一百三十頁,共一千三百五十三頁。,END語句,功能:結(jié)束程序的運行,一般來說,這個語句放在整個程序的最后; 也可以根據(jù)需要,將END語句放在程序中的任何位置上,并且,一個程序中可以出現(xiàn)多個END語句,當(dāng)最后根據(jù)程序?qū)嶋H運行的情況,只會執(zhí)行其中的一條END語句。,第一百三十一頁,共一千三百五十三頁。,REM語句,注釋語句,其作用是對程序中的指令加注釋和說明,以幫助我們理解程序; 格式:REM [注釋內(nèi)容] 它是一條非執(zhí)行語句,也就是說,其中的注釋內(nèi)容是給我們?nèi)丝吹模瑱C(jī)器/QB在執(zhí)行程序時,會略過這些注釋部分; 也可以用 ’ 號來代替它。,第一百三十二頁,共一千三百五十三頁。,冒號的作用,在程序中,一行內(nèi)可以寫多個語句,這時,各語句之間用冒號“:”分隔; 例: LET A = 9 : PRINT A+6 相當(dāng)于: LET A = 9 PRINT A+6,第一百三十三頁,共一千三百五十三頁。,例319 描述下面程序的執(zhí)行過程,DIM AS INTEGER A, C INPUT ”請輸入兩個數(shù):”。 A, B A = A + B B = B + A LET A = A – B LET B = B – A PRINT A, B SLEEP : END,第一百三十四頁,共一千三百五十三頁。,上機(jī)練習(xí):上機(jī)輸入該程序 想一想:如果通過鍵盤輸入兩個數(shù)5和8,結(jié)果會怎樣呢?,第一百三十五頁,共一千三百五十三頁。,超市的購物清單是如何設(shè)計的,問題描述:在超市里買東西時,最后結(jié)帳時,收銀員會輸入顧客買的東西的單價(或者用讀碼器讀入商品的條形碼),然后電腦就可以打印出你所購買的商品的清單,包括每一樣商品的單價、數(shù)量、應(yīng)付款項和找零等。 想一想:要解決這樣的一個問題,應(yīng)該怎樣來編寫軟件呢?,第一百三十六頁,共一千三百五十三頁。,編寫程序的思路,首先,要通過鍵盤來輸入商品的相應(yīng)信息,以及顧客所付款項 其次,要計算應(yīng)付款項(購買的所有商品的總價格),以及應(yīng)該找回的款項 第三步,輸出相應(yīng)的信息,←這一任務(wù)可以用INPUT語句來完成,←這一任務(wù)可以用LET語句來完成,←這一任務(wù)可以用PRINT語句來完成,第一百三十七頁,共一千三百五十三頁。,程序清單(上機(jī)練習(xí)),DIM AS SINGLE DJ, FK, ZL INPUT ”商品單價:”。 DJ INPUT ”所付金額:”。 FK ZL = FK – DJ PRINT ”單價”, “付款”, “找零” PRINT DJ, FK, ZL SLEEP : END,第一百三十八頁,共一千三百五十三頁。,小結(jié),FB中的數(shù)據(jù)類型:整數(shù),實數(shù); 實數(shù)又分為定點類型與浮點類型 科學(xué)記數(shù)法 FB中各種類型的數(shù)能表示的數(shù)據(jù)范圍 各種算術(shù)運算符 算術(shù)表達(dá)式及其求值,第一百三十九頁,共一千三百五十三頁。,小結(jié),各種算術(shù)運算的順序 → ^ →*或/ → \ → MOD → +或 思考:表達(dá)式 – (2+3) + 7的值是多少? (2+3) + 7 = 5 + 7,= (5) + 7 = 2,第一百四十頁,共一千三百五十三頁。,小結(jié),常量: 數(shù)值常量 字符串常量 符號常量 變量 變量的命名 變量的類型:數(shù)值型變量,字符串型變量,第一百四十一頁,共一千三百五十三頁。,小結(jié),常量及變量的存儲方式:基本ASCII碼 FB中的幾個用于提供數(shù)據(jù)的語句: LET語句 INPUT語句 READ / DATA語句 RESTORE語句,第一百四十二頁,共一千三百五十三頁。,小結(jié),幾個提供數(shù)據(jù)語句的區(qū)別、適用的范圍 輸出語句PRINT的用法及幾種輸出格式 什么是函數(shù) 幾種FB標(biāo)準(zhǔn)函數(shù):INT(X), ABS(X), SGN(X), FIX(X),第一百四十三頁,共一千三百五十三頁。,小結(jié),一些常用的簡單FB語句: CLS語句 END語句 REM語句,第一百四十四頁,共一千三百五十三頁。,會思考的電腦程序,第一百四十五頁,共一千三百五十三頁。,真與假在電腦中是如何表示的,真、假值與邏輯判斷、關(guān)系表達(dá)式 在FB中,用0表示假,用非0值表示真(默認(rèn)用1表示 “真” ),第一百四十六頁,共一千三百五十三頁。,關(guān)系運算符,= (不等) = (大于等于) = (小于等于),第一百四十七頁,共一千三百五十三頁。,關(guān)系表達(dá)式,用關(guān)系運算符聯(lián)系起來的表達(dá)式叫做“關(guān)系表達(dá)式”; 它的一般形式為: 其結(jié)果為真假值,例如: 38 ‘結(jié)果為假 92*2 ‘結(jié)果為真,第一百四十八頁,共一千三百五十三頁。,關(guān)系表達(dá)式(續(xù)),語句: PRINT 2=4, 9=3, 43, 3+59, 7=7 的輸出結(jié)果為: 0 1 1 0 1,第一百四十九頁,共一千三百五十三頁。,漢字、字母等符號之間的“大小”比較,比較其ASCII碼(參見本書附錄) FB規(guī)定: 數(shù)字字符比字母字符小 大寫字母比小寫字母小 同一字體的字母比較時,按英文字典順序排在前面的字母比它后面的字母小 空格比一般字符都小 另外,要注意字符在比較大小時,要加上雙引號,第一百五十頁,共一千三百五十三頁。,漢字、字母等符號之間的“大小”比較(續(xù)),表達(dá)式: “A” “a” “8” “E” 的值是什么?,1,1,第一百五十一頁,共一千三百五十三頁。,例41 寫出下面式子的值,3 6 4 + 8 / 2 = 6 12 / (2 + 2) 1 * 1 “T” “5” “7” ”5” “4” 2 1,第一百五十二頁,共一千三百五十三頁。,注意上面這些關(guān)系表達(dá)式中的運算符的優(yōu)先級 練一練:將“FBASIC 4.5”這幾個字符按其ASCII碼值從小到大排列,“ .45ABCFIS”,第一百五十三頁,共一千三百五十三頁。,行條件語句(IF…THEN)的使用(1),格式:IF THEN 例:IF X 0 THEN PRINT X IF A = 9 THEN PRINT “OK”,第一百五十四頁,共一千三百五十三頁。,例42 老師要統(tǒng)計成績,80分以上的同學(xué)成績?yōu)閮?yōu)。請寫出相應(yīng)的FB語句。,IF FS 80 THEN PRINT “優(yōu)”,第一百五十五頁,共一千三百五十三頁。,例43 寫出下面程序的輸出結(jié)果:( 上機(jī)練習(xí)) DIM AS INTEGER A, B, C, D A = 5 : B = 3 : C = 8 : D = 1 IF A B THEN D = D + 1 IF A C THEN D = D + 1 PRINT D SLEEP : END,第一百五十六頁,共一千三百五十三頁。,練一練:,王力有A本小說和B本連環(huán)畫,李強(qiáng)有C本童話和D本小說,編一個程序比一比兩人誰的書多。 上機(jī)練習(xí):要求A、B、C、D的值通過INPUT語句輸入。,第一百五十七頁,共一千三百五十三頁。,程序清單:,DIM AS INTEGER A, B, C, D INPUT A, B, C, D IF A+B C+D THEN PRINT “WL DUO” IF A+B C+D THEN PRINT “LQ DUO” SLEEP : END,第一百五十八頁,共一千三百五十三頁。,行條件語句的使用(2),條件語句的第二種格式: IF THEN ELSE ,第一百五十九頁,共一千三百五十三頁。,條件語句的使用(2),例44 一本百科全書的價格是20元,小明現(xiàn)有15.4元,他能否買到一本百科全書?如果買不到,他至少還需要多少錢?(上機(jī)練習(xí)) 思路: 如果現(xiàn)有的錢夠了(即大于書的價錢),則顯示出“買到了”; 否則,計算出還差多少錢,并將差的錢數(shù)顯示出來,第一百六十頁,共一千三百五十三頁。,DIM AS SINGLE XYQ, SJQ, CDQ XYQ = 15.4 : SJQ = 20 IF XYQ = 20 THEN PRINT “買到了” ELSE CDQ = SJQ – XYQ : PRINT “還差:”。 CDQ SLEEP : END,第一百六十一頁,共一千三百五十三頁。,上機(jī)練習(xí),如果大于等于80的數(shù)是大數(shù)、80以下的是小數(shù)的話,編一個程序輸入一個數(shù),經(jīng)判斷后輸出數(shù)的類型(是大數(shù)還是小數(shù))。,第一百六十二頁,共一千三百五十三頁。,程序清單:,DIM AS INTEGER X INPUT X IF X =80 THEN PRINT “DA SHU” ELSE PRINT “XIAO SHU” SLEEP : END,第一百六十三頁,共一千三百五十三頁。,如果超過80的數(shù)是大數(shù)、20以下的是小數(shù)的話,編一個程序輸入一個數(shù),經(jīng)判斷后輸出數(shù)的類型(是大數(shù)還是小數(shù))。,第一百六十四頁,共一千三百五十三頁。,DIM AS SINGLE X INPUT X IF X =80 THEN PRINT “DA SHU” ELSE IF X 20 THEN PRINT “XIAO SHU” ELSE PRINT “ZHONG SHU” END IF END IF SLEEP : END,第一百六十五頁,共一千三百五十三頁。,程序的形象化表示法,算法的表示:自然語言表示、流程圖表示等 例:交換兩個變量A和B的值的程序的算法 S1:將變量A的值傳送給中間變量C S2:將變量B的值傳送給變量A S3:將中間變量的值傳送給變量B,第一百六十六頁,共一千三百五十三頁。,程序清單,DIM AS INTEGER A, B, C A = 4 B = 9 C = A A = B B = C PRINT A, B SLEEP : END,第一百六十七頁,共一千三百五十三頁。