4-3循环结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

当型循环命令说明
当条件表达式的值为逻辑真(.T.)时,执行循环体中的 ( ) 语句序列 之后再判断条件表达式的值,如果仍为真,再执行语句 序列;……,直到条件表达式为逻辑假,转到ENDDO后 面的语句执行 在 DO WHILE 循环语句中, 在循环外应有一条语句,设置循环的初始条件,保证 循环正常开始;否则,将不能进入(开始)循环 在循环体中应包含使循环趋向结束的语句;否则循环 将无限次进行,而形成死循环
输出的循环变量 I 的值 是多少? 是多少? 讨论I不同的取值 讨论 不同的取值 讨论步长为负数的情况
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
FOR循环的例 FOR循环的例
为表“学生”中的“序号”字段顺序编号 为表“学生”中的“序号”
实际上就是按照记录的物理顺序对记录的“序号” 实际上就是按照记录的物理顺序对记录的“序号”字 段填入一个序号值 假定“序号”为字符型字段; 假定“序号”为字符型字段;且首记录的序号值为 “1”;依此下推,逐一进行编号 ” 依此下推, 使用替换命令 REPLACE 序号 WITH 数值
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
循环查询记录,输入“ 时结束循环查询记录,输入“#”时结束-2
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
程序填空
在表“学生”中统 在表“学生” 计‘男’和‘女’ 的人数
Fra Baidu bibliotek
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
FOR 循环结构
FOR 循环控制变量=初值 TO 终值 [ STEP 步长 ] 循环控制变量= <语句序列> 语句序列> [ IF <逻辑表达式> 逻辑表达式> LOOP | EXIT ENDIF] ENDFOR
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
相关问题的解决
S=1+3+5+7+9+ … S=2+4+6+8+ … S=1+1/3+1/5+1/7+ … S=1/2+2/3+3/4+4/5+5/6+6/7+ … S=1-1/3+1/5-1/7+1/9- …+ … 阶乘问题的求解 ►注意变量的初始化 ………… 问题 多项式求解 问题
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
关于FOR循环的思考 关于FOR循环的思考
FOR I=1 ENDFOR ? I TO 100 STEP 1
语句序列(假定语句序列中不涉及对 的操作 语句序列 假定语句序列中不涉及对I的操作 假定语句序列中不涉及对 的操作)
结束
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
任意输入的10个数值的倒数之和 任意输入的10个数值的倒数之和
CLEAR S=0 FOR N=1 TO 10 INPUT “X= ” TO X S=S+1/X ENDFOR ?“倒数和 S=”,S 倒数和 , RETURN
&& 输出 的最终值 输出S的最终值
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
修改后的程序例
CLEAR S=0 FOR I=1 TO 100 S=S+I ENDFOR ? ”S=”,S RETURN
&& Sn-1+I赋Sn 赋 变量I的作用 变量 的作用: 的作用 控制循环次数 参与数据处理运算
DO
特 别 注 意 两 条 语 句
循环的例
编程求和S=1+2+3+…+100。 编程求和 。 CLEAR S=0 N=1 DO WHILE N<=100 S=S+N N=N+1 ENDDO ? ” 和S=”,S 和 RETURN
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
设置循环初始条件 条件表达式为真
循 环 体
语句序列 LOOP循环 循环 EXIT循环 循环 循环 结 语句
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
两种循环命令的比较
替换操作从首记录开始, 替换操作从首记录开始,一直到末记录结束 需要进行的替换操作的次数正是记录的总数
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
打开数据表
流程图示
clear 统计记录数赋值N 统计记录数赋值 use 运动员 count to N I<=N for i=1 to N go i 指针定位:指向第I号记录 指针定位:指向第 号记录 "2007"+alltrim(str(i)) alltrim(str(i) repl 运动员编号 with "2007"+alltrim(str(i)) 替换“序号” 替换“ 替换“序号”:用I替换“序号字段值” 替换 序号字段值” endfor use 运动员 list 关闭数据表 return
N的阶乘 INPUT “N= ” TO N Y=1 FOR X=1 TO N Y=Y*X ENDFOR ?Y RETURN INPUT “ N= ” TO N Y=1 X=1 DO WHILE X<=N Y=Y*X X=X+1 ENDDO ? Y RETURN
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
USE 学生 STORE 0 TO NM,NW , DO WHILE EOF()=.F. IF 性别 ‘男’ 性别=‘ NM=NM+1 ENDIF IF 性别 ‘女’ 性别=‘ NW=NW+1 ENDIF SKIP ENDDO USE ? NM,MW,NM+NW RETURN
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
命令格式说明
将初值赋于循环控制变量 当其不超过终值时, 当其不超过终值时,执行语句序列 之后循环控制变量的值自动增加步长 步长是循环控制变量在每一次循环后变化的数值 可为正数 也可为负数 步长> 省略 STEP <步长 时,等价于 步长 STEP 1 再与终值比较,如果仍不超过终值, 再与终值比较,如果仍不超过终值,则继续执行语句序列 不超过终值 如此反复,直到循环变量的值超过终值时退出循环, 如此反复,直到循环变量的值超过终值时退出循环,执行 ENDFOR语句后面的语句 语句后面的语句
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
DO 循环结构
DO WHILE <条件> <条件 条件> <语句序列> 语句序列> [ IF <逻辑表达式> <逻辑表达式 逻辑表达式> LOOP | EXIT ENDIF ] ENDDO
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
CLEAR 求1~500中能同时满足用3除 500中能同时满足用3 500 中能同时满足用 FOR n=1 TO 除余3 用7除余 AND n%5=3 AND n%7=2 除余2 余2,用5除余3,n%3=22的 IF 结果之间的空格 ?? n 所有整数 ?? “ ” 求解的思路: 500间取一 求解的思路:在1到500间取一 ENDIF 个整数, 个整数,然后判断它是否满足 ENDFOR 循环中嵌套分支 条件(使用分支语句) 条件(使用分支语句) RETURN 穷举算法
DO
循环的例
CLEAR USE 学生 INDEX ON 班级 TAG 班级 LOCATE FOR 班级 TAG 班级 班级=【计算机 】 可否 【计算机06】 SET ORDER TO SEEK “计算机 计算机06” 计算机 DO WHILE 班级 “计算机 班级=“计算机06” DISPLAY SKIP 不可缺少的语句 ENDDO 使循环趋于结束 显示学生表中所有计算机06班的学生记录 显示学生表中所有计算机 班的学生记录 USE RETURN
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
FOR循环的例 FOR循环的例
编程求和 S=1+2+3+…+100。 。 CLEAR S=0 N=1 FOR I=1 TO 100 S=S+N N=N+1 ENDFOR ? “S=”,S RETURN
&& S存放和值 存放和值 STEP 1 && I为循环变量 为循环变量 && Sn-1+N赋Sn 赋
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
FOR循环的例 FOR循环的例
从A,B,C,D,E,F 六 , , , , , 个人中间选择四人去完成 一项任务 规定 A和B中只能去一人 和 中只能去一人 B和D中只能去一人 和 中只能去一人 CEF三人中去两人 三人中去两人 若A去,则F不能去 去 不能去
数据库及VFP6.0程序设计 数据库及VFP6.0程序设计 VFP6.0
循环结构程序设计
北京科技大学天津学院
计算机教研组 张琦
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
VFP6. 0提供三种形式的语句 0提供三种形式的语句
FOR / ENDFOR循环语句 循环语句 DO WHILE / ENDDO语句 语句 SCAN / ENDSACN语句 语句
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
分析程序的功能
从末记录开始逐条显 示,直到文件头
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
循环查询表中记录,输入“#”时结束 循环查询表中记录,输入“
USE GZB DO WHILE .T. ACCEPT “请输入姓名:” TO cNAME 请输入姓名: 请输入姓名 LOCATE FOR 姓名 姓名=cNAME IF FOUND()=.T. DISPLAY ELSE 查无此人” ?“查无此人” 查无此人 ENDIF IF cNAME=”#” ENDDO EXIT USE ENDIF RETURN
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
将初值赋给循环变量 循环变量<=终值 循环变量 终值
循 环 体
语句序列 LOOP循环 循环 EXIT循环 循环
循环变量
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
FOR循环的例 FOR循环的例
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
FOR 循环结构
FOR 循环变量=初值 TO 终值 [ STEP 步长 ] 循环变量= <语句序列> 语句序列> [ IF <逻辑表达式> 逻辑表达式> LOOP | EXIT ENDIF] ENDFOR
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
数据库及VFP6.0程序设计 循环结构程序 程序设计—循环结构程序 数据库及 程序设计
完善程序:增加判断输入值是否为“ 完善程序:增加判断输入值是否为“0”
CLEAR S=0 S=0 FOR N=1 TO 10 N=1 INPUT “X=” TO X S=S+1 S=S+1/X ENDFOR ?“倒数和 S=”,S S=”, RETURN IF X=0 ?”请重新输入!” ?”请重新输入 请重新输入!” LOOP ENDIF
命令格式说明
循环体中可以包含EXIT命令和 命令和LOOP命令 命令: 循环体中可以包含 命令和 命令 执行EXIT命令时退出循环 命令时退出循环 执行 命令时 执行LOOP命令时,结束本次循环 命令时, 执行 命令时 LOOP 和 EXIT 语句通常与 分支语句相结合使 语句通常与IF 用 ,以决定是否退出循环 以决定是否退出循环
相关文档
最新文档