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