計(jì)算機(jī)公共基礎(chǔ)第11章課件_第1頁
計(jì)算機(jī)公共基礎(chǔ)第11章課件_第2頁
計(jì)算機(jī)公共基礎(chǔ)第11章課件_第3頁
計(jì)算機(jī)公共基礎(chǔ)第11章課件_第4頁
計(jì)算機(jī)公共基礎(chǔ)第11章課件_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第11章 QBASIC的程序結(jié)構(gòu)學(xué)習(xí)目標(biāo) 掌握各種數(shù)據(jù)輸入語句掌握輸出語句和TAB()函數(shù)的應(yīng)用掌握邏輯運(yùn)算符和關(guān)系運(yùn)算符的應(yīng)用掌握條件語句和多分支語句的使用掌握循環(huán)語句的使用1第1頁,共42頁。第11章 QBASIC的程序結(jié)構(gòu)教學(xué)內(nèi)容 11.1 順序結(jié)構(gòu) 11.2 選擇結(jié)構(gòu) 11.3 循環(huán)結(jié)構(gòu) 本章小結(jié)返回總目錄2第2頁,共42頁。11.1 順序結(jié)構(gòu) 賦值語句 格式:LET =語句定義符LET可省略“=”被稱為賦值號(hào),與等號(hào)的概念不同 舉例: B=10*A+1將表達(dá)式賦給變量 說明:賦值號(hào)的左側(cè)只能是一個(gè)變量允許 I=1 : I=I+1避免溢出(Overflow)錯(cuò)誤 例如,將32768賦給

2、一個(gè)整型變量返回目錄3第3頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸出語句 格式: PRINT 輸出項(xiàng)列表;|, 分號(hào)為緊湊格式逗號(hào)為標(biāo)準(zhǔn)格式:屏幕上的每一行被分為5個(gè)標(biāo)準(zhǔn)輸出區(qū),每個(gè)輸出區(qū)可顯示14個(gè)字符 例:PRINT 1,2,3,4,5,6,7PRINT 北京, , 上海,PRINT “A”,”B”;”C”輸出為:1234567北京上海ABC打印項(xiàng)后有逗號(hào)或分號(hào),下一條PRINT語句的打印項(xiàng)將在同一行輸出。返回目錄4第4頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸出語句 TAB()函數(shù)TAB(n):將打印項(xiàng)送到當(dāng)前行的第n列上文本模式下,屏幕一行有80列,可顯示80個(gè)字符TAB()函數(shù)必須與P

3、RINT語句、分號(hào)一起使用例如,PRINT TAB(10); 123; TAB(30); ABC;CLS語句作用:清除輸出窗口中的所有信息 (不會(huì)清除源程序)格式: CLS 返回目錄5第5頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸入語句 1. 鍵盤輸入語句INPUTINPUT;輸入提示;|,在程序運(yùn)行過程中輸入數(shù)據(jù),數(shù)據(jù)不保存在程序中 例: DIM D1%, D2%, Total% INPUT Please input data1:, D1% INPUT Please input data2:, D2% Total% = D1% + D2% PRINT Data1+Data2=; Total%

4、END執(zhí)行程序:Please input data1: 20Please input data2: 40Data1+Data2=60返回目錄6第6頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸入語句 例:鍵盤輸入水果名稱、單價(jià)和重量, 輸出水果名稱和應(yīng)付錢款DIM Item AS STRING * 12DIM Weight AS INTEGERDIM Price AS SINGLEINPUT “Input item: , ItemINPUT “Input price: , PriceINPUT “Input weight: , WeightPRINT Item: ; ItemPRINT Money:

5、 ; Weight * PriceEND執(zhí)行程序:Input item: water melonInput price: 1.86Input weight: 10Item: water melonMoney: 18.6返回目錄7第7頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸入語句 2. READ/DATA READ為讀數(shù)語句:READ DATA為置數(shù)語句:DATA 例:DIM A%, B%, C%, D% 定義4個(gè)整型變量DIM Average! READ A%, B%, C%, D%Average! = (A% + B% + C% + D%) / 4PRINT Average=; Averag

6、e!DATA 10DATA -20,30,-50END返回目錄8第8頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸入語句 有關(guān) READ/DATA的說明 READ/DATA語句必須同時(shí)出現(xiàn)在程序中DATA語句可放置在程序的任意處 DATA語句提供的數(shù)據(jù)總數(shù)要=READ語句中的變量總數(shù),否則將出現(xiàn)“Out of Data”錯(cuò)誤DATA后面只能出現(xiàn)常量,且類型必須與READ中變量的類型相對(duì)應(yīng)分析錯(cuò)誤:READ Person$, Age, Salay, BillDATA 23,Peter, 1234.56+100數(shù)據(jù)類型不一致DATA中出現(xiàn)了表達(dá)式數(shù)據(jù)個(gè)數(shù)比變量個(gè)數(shù)少1返回目錄9第9頁,共42頁。11.1

7、 順序結(jié)構(gòu) 數(shù)據(jù)輸入語句 例:用READ/DATA語句重寫水果銷售程序 DIM Item AS STRING * 12 DIM Weight AS INTEGER, Price AS SINGLE READ Item, Weight, Price PRINT Item: ; Item PRINT Money: ; Weight * Price DATA Apple,12,1.2 ENDDIM Item AS STRING * 12DIM Weight AS INTEGERDIM Price AS SINGLEINPUT “Input item: , ItemINPUT “Input price

8、: , PriceINPUT “Input weight: , WeightPRINT Item: ; ItemPRINT Money: ; Weight * PriceEND返回目錄10第10頁,共42頁。11.1 順序結(jié)構(gòu) 數(shù)據(jù)輸入語句 3. RESTORE語句 作用:恢復(fù)數(shù)據(jù)區(qū),讓數(shù)據(jù)指針重新指向第一個(gè)DATA語句中的第一個(gè)數(shù)據(jù)。格式:RESTORE例:DIM A%, B%, C%, D%, E%READ A%, B%, C%RESTOREREAD C%, D%, E%PRINT A%; B%; C%; D%; E%DATA 10,20,30運(yùn)行結(jié)果為: 10 20 10 20 30返回

9、目錄11第11頁,共42頁。11.2 選擇結(jié)構(gòu)為何需要“選擇結(jié)構(gòu)” ?在實(shí)際工作中,往往要根據(jù)當(dāng)時(shí)的情況決定下一步操作是什么 例如,要對(duì)學(xué)生成績(jī)作評(píng)價(jià):如果成績(jī)達(dá)到或超過60,則輸出PassQB使用IFTHENELSE語句實(shí)現(xiàn)選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu) 返回目錄12第12頁,共42頁。11.2 選擇結(jié)構(gòu) 關(guān)系/邏輯表達(dá)式1. 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系表達(dá)式:包含有關(guān)系運(yùn)算符的表達(dá)式QB用-1表示成立(真),0或非-1值表示不成立(假)關(guān)系運(yùn)算符含義數(shù)學(xué)符號(hào)舉例 =等于=9=9 成立,A=B 不成立大于98 成立,35 不成立=大于或等于8=6 成立,8=8成立小于910成立,98不成立=小

10、于或等于9=9成立,“B”=“A” 不成立不等于67成立,“C“C不成立返回目錄13第13頁,共42頁。11.2 選擇結(jié)構(gòu) 關(guān)系/邏輯表達(dá)式2. 邏輯運(yùn)算符和邏輯表達(dá)式運(yùn)算符操作數(shù)A操作數(shù)B運(yùn)算結(jié)果AND成立成立成立成立不成立不成立不成立成立不成立不成立不成立不成立OR成立成立成立成立不成立成立不成立成立成立不成立不成立不成立NOT成立不成立不成立成立邏輯表達(dá)式: 含有邏輯運(yùn)算符的表達(dá)式返回目錄14第14頁,共42頁。11.2 選擇結(jié)構(gòu) 關(guān)系/邏輯表達(dá)式邏輯運(yùn)算符的優(yōu)先順序從高到低是: NOTANDOR例如,設(shè)A=10,B=20,C=30,則:返回目錄A1 AND B10 AND C=30成立

11、A5 AND B=A+2 AND C=A-1不成立NOT(A20 OR B10) 成立(A10) AND CA+B不成立A10 AND CA+B成立15第15頁,共42頁。11.2 選擇結(jié)構(gòu) 關(guān)系/邏輯表達(dá)式運(yùn)算符的優(yōu)先順序從高到低依次為:算術(shù)運(yùn)算關(guān)系運(yùn)算邏輯運(yùn)算賦值運(yùn)算例,設(shè) A=3,B=4, 求 X=2+NOT (A=B AND B2*5第一步:X=2+NOT (0) OR A=B AND B10第二步:X=2+ (-1) OR 0 AND (-1)第三步:X=1 OR 0第四步:X=-1返回目錄16第16頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 1. 行條件語句(寫在一行)I

12、F THEN ELSE 例:輸入兩個(gè)正整數(shù),輸出最大值 DIM A AS INTEGER, B AS INTEGER DIM Max AS INTEGER INPUT A,B=, A, B IF A B THEN Max = A IF A B THEN Max = A ELSE Max = B或IF B A THEN Max = B ELSE Max = A或IF A-B0 THEN Max = A ELSE Max = B17第17頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 例1:輸入兩個(gè)正整數(shù)A、B,按從大到小的順序輸出。DIM A AS INTEGER, B AS INTEGE

13、RDIM Temp AS INTEGERINPUT A,B=, A, BIF AB THEN PRINT A;B ELSE PRINT B;AEND返回目錄交換兩個(gè)變量值需中間變量18第18頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 例2:降序輸出3個(gè)數(shù)據(jù)DIM A%, B%, C%, T%INPUT Enter three Data: , A%, B%, C%PRINT Before Sorting: ; A%; B%; C%IF A% B% THEN T% = A%: A% = B%: B% = T%IF A% C% THEN T% = A%: A% = C%: C% = T%I

14、F B% C% THEN T% = B%: B% = C%: C% = T%PRINT After Sorting: ; A%; B%; C%END分析:經(jīng)A與B、A與C的兩次比較找出最高分保存在A中 再經(jīng)B與C的比較找出第二高分保存在B中返回目錄19第19頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 2. 塊條件語句IF THENELSEEND IF 如果條件表達(dá)式不成立時(shí)無需操作,可省略ELSE子句。返回目錄20第20頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 例:市內(nèi)電話計(jì)費(fèi)程序 3分鐘以內(nèi)按0.2元收費(fèi),超出部分按0.1元/分鐘 DIM Time AS INTEGER

15、, Bill AS SINGLE INPUT Time: , Time IF Time = 3 THEN Bill = 0.2 ELSE Bill = 0.2 + (Time - 3) * 0.1 END IF PRINT Time=; Time, Bill=; Bill END返回目錄同一行上THEN后不能有任何語句(注釋除外)21第21頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 3. 塊條件語句的嵌套形式IF THENELSEIF THENELSEIF THENELSE END IF返回目錄22第22頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 例:評(píng)價(jià)學(xué)生成績(jī)DIM X

16、 AS INTEGER, Grade AS STRINGINPUT Data: , XIF X = 90 THEN Grade = ExcellentELSEIF X = 80 THEN Grade = GoodELSEIF X = 70 THEN Grade = MiddlingELSEIF X = 60 THEN Grade = PassedELSE Grade = FailEND IFPRINT Data=; X, Grade=; GradeEND返回目錄90100:Excellent8089:Good7079:Middling6069:Passed60分以下Fail 23第23頁,共4

17、2頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 4. 多分支選擇結(jié)構(gòu)SELECT CASE CASE CASE CASE CASE ELSEEND SELECT返回目錄24第24頁,共42頁。11.2 選擇結(jié)構(gòu) 條件語句和分支語句 例: 用SELECT-CASE語句評(píng)價(jià)學(xué)生成績(jī)返回目錄DIM X AS INTEGERDIM Grade AS STRINGINPUT Data: , XSELECT CASE INT(X/10) CASE 10 Grade = Excellent CASE 9 Grade = Excellent“ CASE 8 Grade = “Good” CASE 7 Grade

18、 = Middling CASE 6 Grade = Passed CASE ELSE Grade = FailEND SELECTPRINT Data=; X,PRINT Grade=; GradeEND0100分?jǐn)?shù)轉(zhuǎn)換成整數(shù)01025第25頁,共42頁。11.2 選擇結(jié)構(gòu) 程序設(shè)計(jì)舉例 例:判斷一個(gè)3位整數(shù)是否為“水仙花數(shù)”,即該數(shù)的3個(gè)數(shù)字的立方和等于該數(shù)本身,例如153=13+53+33。DIM A AS INTEGER, B AS INTEGER, C AS INTEGERDIM X AS INTEGER, Y AS INTEGERINPUT Data: , X輸入一個(gè)整數(shù)IF X

19、1000 THEN PRINT No ENDEND IFA = INT(X / 100)取出X的百位數(shù)B = INT(X / 10) - 10 * A取出X的十位數(shù)C = X - 100 * A - 10 * B取出X的個(gè)位數(shù)Y = A3 + B3 + C 3計(jì)算三個(gè)值的立方和IF X = Y THEN PRINT Yes ELSE PRINT NoEND返回目錄如果X不是三位數(shù)則輸出No, 并終止程序26第26頁,共42頁。11.3 循環(huán)結(jié)構(gòu)為何需要“循環(huán)結(jié)構(gòu)” ?重復(fù)執(zhí)行某項(xiàng)操作。例如,求全班50名學(xué)生成績(jī)的平均分。程序必須在某個(gè)條件成立時(shí)才能循環(huán),而當(dāng)條件不成立時(shí)則終止循環(huán)。常用循環(huán)語句

20、有DO WHILELOOP、FOR NEXT以及WHILEWEND返回目錄27第27頁,共42頁。11.3 循環(huán)結(jié)構(gòu) DO-LOOP循環(huán) DO WHILE LOOP條件表達(dá)式成立則執(zhí)行循環(huán)體執(zhí)行到LOOP時(shí),判斷條件表達(dá)式是否仍成立,如果成立則繼續(xù)執(zhí)行循環(huán)體,不成立則退出循環(huán)。使用EXIT DO語句可從循環(huán)體中跳出 程序出循環(huán)后繼續(xù)執(zhí)行LOOP下面的語句返回目錄28第28頁,共42頁。11.3 循環(huán)結(jié)構(gòu) DO-LOOP循環(huán) 例1:用循環(huán)語句實(shí)現(xiàn)100個(gè)5相加DIM Sum AS INTEGER, I AS INTEGERSum = 0 : I = 1 變量Sum、I置初值DO WHILE I

21、10000 THEN EXIT DO Sum = Sum + N N = N + 1LOOPN = N - 1PRINT Sum=; Sum, NEND返回目錄條件表達(dá)式為-1,表示永遠(yuǎn)循環(huán),由循環(huán)體中的IF語句控制循環(huán)何時(shí)結(jié)束。 由于出循環(huán)時(shí)Sum+N10000,所以,這里N要減去130第30頁,共42頁。11.3 循環(huán)結(jié)構(gòu) FORNEXT循環(huán) FOR =TOSTEP NEXT FORNEXT語句適用于循環(huán)次數(shù)已知的場(chǎng)合例:求1+2+3+100DIM Sum AS INTEGER, I AS INTEGERSum = 0FOR I = 1 TO 100 STEP 1 Sum = Sum +

22、INEXT IPRINT Sum=; SumEND返回目錄STEP 1可省略可改寫:FOR I = 100 TO 1 STEP -1 Sum = Sum + INEXT I31第31頁,共42頁。11.3 循環(huán)結(jié)構(gòu) FORNEXT循環(huán) 例:DIM I AS INTEGERDIM Sum AS SINGLEDIM FLAG AS INTEGERSum = 0 : FLAG = 1FOR I = 2 TO 100 STEP 2 Sum = Sum + FLAG / I FLAG = -FLAGNEXTPRINT Sum=; SumEND返回目錄每循環(huán)一次,F(xiàn)LAG乘以-1,改變其正負(fù)性32第32頁

23、,共42頁。11.3 循環(huán)結(jié)構(gòu) WHILEWEND循環(huán) 格式:WHILE WEND 作用與DO WHILELOOP完全相同:條件表達(dá)式成立時(shí)執(zhí)行循環(huán)體,否則執(zhí)行WEND下面的語句。返回目錄33第33頁,共42頁。11.3 循環(huán)結(jié)構(gòu) WHILEWEND循環(huán) 例:有現(xiàn)金1000.00元,假定銀行利率為2.5%, 多少年后本金可以增加一倍?DIM P AS CURRENCY, Year AS INTEGERDIM I AS SINGLEREM P為本金,I銀行利率,Year為年限P = 1000 : Year = 0 : I = 0.025WHILE P = 2000 P = P * (1 + I)

24、 Year = Year + 1WENDPRINT P=; P; , Year=; YearEND返回目錄貨幣型34第34頁,共42頁。11.3 循環(huán)結(jié)構(gòu) 雙重循環(huán)與多重循環(huán)雙重循環(huán):循環(huán)體內(nèi)使用循環(huán)語句。例:返回目錄DIM M AS INTEGER, N AS INTEGERFOR M = 1 TO 7 M為外循環(huán)變量 PRINT TAB(10-M); 每行輸出的起始位置 FOR N = 1 TO 2*M1 N為內(nèi)循環(huán)變量 PRINT *; NEXT N PRINT 本行*輸出完畢后換行NEXT MEND外層循環(huán)控制圖案的行數(shù)(共7行)每行輸出的起始位置逐行前移內(nèi)循環(huán)的次數(shù)控制每行輸出的*號(hào)

25、的個(gè)數(shù):2M-135第35頁,共42頁。11.3 循環(huán)結(jié)構(gòu) 雙重循環(huán)與多重循環(huán)注意:內(nèi)外循環(huán)不能交叉,不允許出現(xiàn)下列情況:FOR I= FOR J= NEXT INEXT J多重循環(huán)是更多循環(huán)語句的嵌套任意一重循環(huán)語句可以是FOR NEXT、DO WHILELOOP或WHILE WEND返回目錄36第36頁,共42頁。11.3 循環(huán)結(jié)構(gòu) 雙重循環(huán)與多重循環(huán)多重循環(huán)例:輸出所有的水仙花數(shù)。 DIM A AS INTEGER, B AS INTEGER, C AS INTEGERDIM X AS INTEGERFOR A = 1 TO 9A為百位數(shù),從1開始 FOR B = 0 TO 9B為十位數(shù)

26、 FOR C = 0 TO 9C為個(gè)位數(shù) X = 100*A + 10*B + C合成一個(gè)3位數(shù) IF X = A * A * A + B * B * B + C * C * C THEN PRINT X; END IF NEXT C NEXT BNEXT AEND返回目錄水仙花數(shù)是一個(gè)三位數(shù),其各位數(shù)的立方和正好等于該數(shù)本身。程序輸出: 153 370 371 40737第37頁,共42頁。11.3 循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)程序舉例 例1:驗(yàn)證正整數(shù)x是否為素?cái)?shù)。 DIM X AS INTEGER, I AS INTEGERINPUT X=, XFOR I = 2 TO X - 1 IF X MOD I = 0 THEN EXIT FOR X如被整除則出循環(huán)NEXT IIF I = X THEN PRINT X; is a prime number.“ X是素?cái)?shù)ELSE PRINT X; is not a prime number.“ X不是素?cái)?shù)END IFEND返回目錄素?cái)?shù)是只能被1和自身所整除的正整數(shù)從數(shù)學(xué)定義出發(fā),讓x分別除以2、3、x-1,一旦x被其中某一個(gè)數(shù)所整除,則x不是素?cái)?shù)38第38頁,共42頁。11.3 循環(huán)結(jié)構(gòu)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論