计算机公共基础第11章课件_第1页
计算机公共基础第11章课件_第2页
计算机公共基础第11章课件_第3页
计算机公共基础第11章课件_第4页
计算机公共基础第11章课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第11章 QBASIC的程序结构学习目标 掌握各种数据输入语句掌握输出语句和TAB()函数的应用掌握逻辑运算符和关系运算符的应用掌握条件语句和多分支语句的使用掌握循环语句的使用1第1页,共42页。第11章 QBASIC的程序结构教学内容 11.1 顺序结构 11.2 选择结构 11.3 循环结构 本章小结返回总目录2第2页,共42页。11.1 顺序结构 赋值语句 格式:LET =语句定义符LET可省略“=”被称为赋值号,与等号的概念不同 举例: B=10*A+1将表达式赋给变量 说明:赋值号的左侧只能是一个变量允许 I=1 : I=I+1避免溢出(Overflow)错误 例如,将32768赋给

2、一个整型变量返回目录3第3页,共42页。11.1 顺序结构 数据输出语句 格式: PRINT 输出项列表;|, 分号为紧凑格式逗号为标准格式:屏幕上的每一行被分为5个标准输出区,每个输出区可显示14个字符 例:PRINT 1,2,3,4,5,6,7PRINT 北京, , 上海,PRINT “A”,”B”;”C”输出为:1234567北京上海ABC打印项后有逗号或分号,下一条PRINT语句的打印项将在同一行输出。返回目录4第4页,共42页。11.1 顺序结构 数据输出语句 TAB()函数TAB(n):将打印项送到当前行的第n列上文本模式下,屏幕一行有80列,可显示80个字符TAB()函数必须与P

3、RINT语句、分号一起使用例如,PRINT TAB(10); 123; TAB(30); ABC;CLS语句作用:清除输出窗口中的所有信息 (不会清除源程序)格式: CLS 返回目录5第5页,共42页。11.1 顺序结构 数据输入语句 1. 键盘输入语句INPUTINPUT;输入提示;|,在程序运行过程中输入数据,数据不保存在程序中 例: DIM D1%, D2%, Total% INPUT Please input data1:, D1% INPUT Please input data2:, D2% Total% = D1% + D2% PRINT Data1+Data2=; Total%

4、END执行程序:Please input data1: 20Please input data2: 40Data1+Data2=60返回目录6第6页,共42页。11.1 顺序结构 数据输入语句 例:键盘输入水果名称、单价和重量, 输出水果名称和应付钱款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执行程序:Input item: water melonInput price: 1.86Input weight: 10Item: water melonMoney: 18.6返回目录7第7页,共42页。11.1 顺序结构 数据输入语句 2. READ/DATA READ为读数语句:READ DATA为置数语句:DATA 例:DIM A%, B%, C%, D% 定义4个整型变量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 顺序结构 数据输入语句 有关 READ/DATA的说明 READ/DATA语句必须同时出现在程序中DATA语句可放置在程序的任意处 DATA语句提供的数据总数要=READ语句中的变量总数,否则将出现“Out of Data”错误DATA后面只能出现常量,且类型必须与READ中变量的类型相对应分析错误:READ Person$, Age, Salay, BillDATA 23,Peter, 1234.56+100数据类型不一致DATA中出现了表达式数据个数比变量个数少1返回目录9第9页,共42页。11.1

7、 顺序结构 数据输入语句 例:用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 顺序结构 数据输入语句 3. RESTORE语句 作用:恢复数据区,让数据指针重新指向第一个DATA语句中的第一个数据。格式: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运行结果为: 10 20 10 20 30返回

9、目录11第11页,共42页。11.2 选择结构为何需要“选择结构” ?在实际工作中,往往要根据当时的情况决定下一步操作是什么 例如,要对学生成绩作评价:如果成绩达到或超过60,则输出PassQB使用IFTHENELSE语句实现选择结构选择结构又称分支结构 返回目录12第12页,共42页。11.2 选择结构 关系/逻辑表达式1. 关系运算符和关系表达式关系表达式:包含有关系运算符的表达式QB用-1表示成立(真),0或非-1值表示不成立(假)关系运算符含义数学符号举例 =等于=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 选择结构 关系/逻辑表达式2. 逻辑运算符和逻辑表达式运算符操作数A操作数B运算结果AND成立成立成立成立不成立不成立不成立成立不成立不成立不成立不成立OR成立成立成立成立不成立成立不成立成立成立不成立不成立不成立NOT成立不成立不成立成立逻辑表达式: 含有逻辑运算符的表达式返回目录14第14页,共42页。11.2 选择结构 关系/逻辑表达式逻辑运算符的优先顺序从高到低是: NOTANDOR例如,设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 选择结构 关系/逻辑表达式运算符的优先顺序从高到低依次为:算术运算关系运算逻辑运算赋值运算例,设 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 选择结构 条件语句和分支语句 1. 行条件语句(写在一行)I

12、F THEN ELSE 例:输入两个正整数,输出最大值 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 选择结构 条件语句和分支语句 例1:输入两个正整数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返回目录交换两个变量值需中间变量18第18页,共42页。11.2 选择结构 条件语句和分支语句 例2:降序输出3个数据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分析:经A与B、A与C的两次比较找出最高分保存在A中 再经B与C的比较找出第二高分保存在B中返回目录19第19页,共42页。11.2 选择结构 条件语句和分支语句 2. 块条件语句IF THENELSEEND IF 如果条件表达式不成立时无需操作,可省略ELSE子句。返回目录20第20页,共42页。11.2 选择结构 条件语句和分支语句 例:市内电话计费程序 3分钟以内按0.2元收费,超出部分按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 选择结构 条件语句和分支语句 3. 块条件语句的嵌套形式IF THENELSEIF THENELSEIF THENELSE END IF返回目录22第22页,共42页。11.2 选择结构 条件语句和分支语句 例:评价学生成绩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 选择结构 条件语句和分支语句 4. 多分支选择结构SELECT CASE CASE CASE CASE CASE ELSEEND SELECT返回目录24第24页,共42页。11.2 选择结构 条件语句和分支语句 例: 用SELECT-CASE语句评价学生成绩返回目录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分数转换成整数01025第25页,共42页。11.2 选择结构 程序设计举例 例:判断一个3位整数是否为“水仙花数”,即该数的3个数字的立方和等于该数本身,例如153=13+53+33。DIM A AS INTEGER, B AS INTEGER, C AS INTEGERDIM X AS INTEGER, Y AS INTEGERINPUT Data: , X输入一个整数IF X

19、1000 THEN PRINT No ENDEND IFA = INT(X / 100)取出X的百位数B = INT(X / 10) - 10 * A取出X的十位数C = X - 100 * A - 10 * B取出X的个位数Y = A3 + B3 + C 3计算三个值的立方和IF X = Y THEN PRINT Yes ELSE PRINT NoEND返回目录如果X不是三位数则输出No, 并终止程序26第26页,共42页。11.3 循环结构为何需要“循环结构” ?重复执行某项操作。例如,求全班50名学生成绩的平均分。程序必须在某个条件成立时才能循环,而当条件不成立时则终止循环。常用循环语句

20、有DO WHILELOOP、FOR NEXT以及WHILEWEND返回目录27第27页,共42页。11.3 循环结构 DO-LOOP循环 DO WHILE LOOP条件表达式成立则执行循环体执行到LOOP时,判断条件表达式是否仍成立,如果成立则继续执行循环体,不成立则退出循环。使用EXIT DO语句可从循环体中跳出 程序出循环后继续执行LOOP下面的语句返回目录28第28页,共42页。11.3 循环结构 DO-LOOP循环 例1:用循环语句实现100个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返回目录条件表达式为-1,表示永远循环,由循环体中的IF语句控制循环何时结束。 由于出循环时Sum+N10000,所以,这里N要减去130第30页,共42页。11.3 循环结构 FORNEXT循环 FOR =TOSTEP NEXT FORNEXT语句适用于循环次数已知的场合例:求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 循环结构 FORNEXT循环 例: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返回目录每循环一次,FLAG乘以-1,改变其正负性32第32页

23、,共42页。11.3 循环结构 WHILEWEND循环 格式:WHILE WEND 作用与DO WHILELOOP完全相同:条件表达式成立时执行循环体,否则执行WEND下面的语句。返回目录33第33页,共42页。11.3 循环结构 WHILEWEND循环 例:有现金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 循环结构 双重循环与多重循环双重循环:循环体内使用循环语句。例:返回目录DIM M AS INTEGER, N AS INTEGERFOR M = 1 TO 7 M为外循环变量 PRINT TAB(10-M); 每行输出的起始位置 FOR N = 1 TO 2*M1 N为内循环变量 PRINT *; NEXT N PRINT 本行*输出完毕后换行NEXT MEND外层循环控制图案的行数(共7行)每行输出的起始位置逐行前移内循环的次数控制每行输出的*号

25、的个数:2M-135第35页,共42页。11.3 循环结构 双重循环与多重循环注意:内外循环不能交叉,不允许出现下列情况:FOR I= FOR J= NEXT INEXT J多重循环是更多循环语句的嵌套任意一重循环语句可以是FOR NEXT、DO WHILELOOP或WHILE WEND返回目录36第36页,共42页。11.3 循环结构 双重循环与多重循环多重循环例:输出所有的水仙花数。 DIM A AS INTEGER, B AS INTEGER, C AS INTEGERDIM X AS INTEGERFOR A = 1 TO 9A为百位数,从1开始 FOR B = 0 TO 9B为十位数

26、 FOR C = 0 TO 9C为个位数 X = 100*A + 10*B + C合成一个3位数 IF X = A * A * A + B * B * B + C * C * C THEN PRINT X; END IF NEXT C NEXT BNEXT AEND返回目录水仙花数是一个三位数,其各位数的立方和正好等于该数本身。程序输出: 153 370 371 40737第37页,共42页。11.3 循环结构 循环结构程序举例 例1:验证正整数x是否为素数。 DIM X AS INTEGER, I AS INTEGERINPUT X=, XFOR I = 2 TO X - 1 IF X MOD I = 0 THEN EXIT FOR X如被整除则出循环NEXT IIF I = X THEN PRINT X; is a prime number.“ X是素数ELSE PRINT X; is not a prime number.“ X不是素数END IFEND返回目录素数是只能被1和自身所整除的正整数从数学定义出发,让x分别除以2、3、x-1,一旦x被其中某一个数所整除,则x不是素数38第38页,共42页。11.3 循环结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论