BASIC稿(第二期).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BASIC程序设计(第二期) 顾铁成 第五章 循环结构程序设计(一) 第一讲 本讲主要内容 计数循环结构FOR-NEXT 条件循环结构: 当循环:DO/WHILE LOOP 直到循环:DO/LOOP UNTIL 循环程序设计的一个例子:假设某班有40位同学。每次考试后,老师都要计算班上所有同学的平均成绩,这就需要将班上同学的分数一个一个地加起来,得到总分,再除以人数,才能得到平均分 解决该问题的算法如图5-1所示 程序清单 S=0:N=0 ST:IF N=40 THEN GOTO JIESUINPUT “X=”;XS=S+XN=N+1GOTO ST JIESU:PRINT S, S/NEND 计数循环结构FOR-NEXT 在已知要循环多少次的情况下使用 格式: FOR 循环变量 =初值 TO 终值 STEP 循环变量增量循环体 NEXT 循环变量 例5-1 打印自然数1到10中奇数的平方FOR I = 1 TO 10 STEP 2PRINT I * I;NEXT IEND 运行结果:1 9 25 49 81 FOR-NEXT语句的执行过程 FOR I=A TO B STEP CPRINT I NEXT I 以上循环结构的执行过程见图5-2 练一练:某同学写了下面的程序,希望能输出1,4,9,16,25这5个值。请分析下面循环的执行过程,实际运行的结果是什么?FOR I = 1 TO 5 STEP 1I = I * IPRINT INEXT IEND 几点说明: FOR与NEXT必须配对出现 FOR语句中的循环变量与NEXT语句中的循环变量必须一致。以下程序段对吗?FOR I=A TO B STEP CPRINT INEXT J 几点说明: 终止循环的条件是“循环变量的值超过终值”,而不是等于终值。下面程序段结束后,I的值是多少?FOR I=1 TO 10 STEP 1PRINT INEXT IPRINT IEND 几点说明: 循环变量的“初值”、“终值”、“步长”可以是常量、变量或表达式。例如:X=4 :Y=3FOR A=X*Y-2 TO X STEP Y-XPRINT ANEXT A:END 几点说明: 如果步长为1,则“STEP 1”可以省略。例如:FOR X=5 TO 8的步长是多少? 步长可以为正,也可以为负。看下面的程序片段: FOR I=1 TO 10 STEP -1PRINT I NEXT I PRINT I:END 几点说明: 当步长为0时,循环永不终止,这是因为,循环变量没有改变,始终等于初值,而不会超过终值,形成“死循环”。例:FOR I=1 TO 5 STEP 0PRINT INEXT I 几点说明: 循环体内可以没有语句,如:FOR I=1 TO 5000NEXT I这样的循环称为“空循环”,它往往起到延时的作用 几点说明: 程序执行流程可以从循环体内转到循环体外,但不能从循环体外转到循环体内。例如:FOR I=1 TO 50S=S+I*IIF S100 THEN GOTO XUNEXT IXU: PRINT IEND 以下的写法是不对的:IF S10 THEN GOTO XUFOR I=1 TO 50XU: S=S+I*INEXT IPRINT IEND FOR-NEXT语句应用举例 编写程序,计算某班40位同学计算机考试成绩的平均分。 分析: 用变量I作计算器,记录学生人数;X为各个学生的成绩,S为总分,N=40表示学生总人数 用FOR I=1 TO N来控制循环次数,每循环一次,总分S就增加一位同学的成绩X,即S=S+X 通过N次循环,得到所有同学成绩的总和,总分除以人数即可得到平均分 程序清单 S=0:N=40 FOR I=1 TO NINPUT “X=”;XS=S+X NEXT I PRINT S,S/N END 例5-5 求S=1+2+3+…+100 例5-5 求S=1+2+3+…+100 S = 0 FOR N=1 TO 100S = S + N NEXT N PRINT “S=”;S END 练一练: 求10!,即1×2 × 3×4 ×5 ×6 ×7 ×8 × 9×10的累乘结果 P = FOR N=2 TO 10P = P * N NEXT N PRINT “P=”;P END 想一想: 累加和S的初值为什么要设成0? 能否将S=0语句置于循环体中? 能否将存放累乘结果的变量的初值设为0? 练一练: 求S=1×2+2×3+…+9×10 求S=1×2

文档评论(0)

fmm40085 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档