第九章程序结构与常用控件的使用_第1页
第九章程序结构与常用控件的使用_第2页
第九章程序结构与常用控件的使用_第3页
第九章程序结构与常用控件的使用_第4页
第九章程序结构与常用控件的使用_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、VFP程序提供了三种基本的控制结构,它们是顺序结构、分支结构与循环结构例9-1:键盘输入a、b两个变量的值,将它们的值进行调换 v a 汽油b 煤油t 空桶语句1语句2x=(4H-F)/2 y=(F-2H)/2x+y=H2x+4y=F例9-2:鸡兔同笼,已知鸡兔的总头数为H,总脚数为F,求鸡兔各有多少只?鸡兔同笼算法为:例9-3:设计一个在任意表中按任意数据项(字段)查询信息(记录)的程序(日期型字段除外)x=(4H-F)/2 y=(F-2H)/2x+y=H2x+4y=F二 分支结构:根据指定条件的当前值在两条或多条程序路径中选择一条执行1、单向选择 语句格式: I F 条件 命令序列 END

2、I FpAB成立不成立条件命令序列.T.F.endif后的命令 功能:条件取值为“真”,执行命令序列;条件取值为“假”,命 令序列就不执行 注: 条件是关系表达式或逻辑表达式 例9-4:编程序实现表stud中第一个三好生的入校总分加10分例9-5:按从键盘输入的记录号删除任意表文件中的记录dele reco rn2.双向选择 语句格式: I F条件 命令序列l ELSE 命令序列2 ENDIF 功能:根据条件的值,选择执行两个命令序列中的一个例9-6:判断某一年是否是闰年,如是闰年则能被4整除但不能 被100整除,或能被400整除条件命令序列l命令序列2.T.F.3.多向选择 语句格式: DO

3、 CASE CASE条件表达式1 命令序列l CASE条件表达式2 命令序列2 : CASE条件表达式n 命令序列n OTHERWISE 命令序列n+1 ENDCASE 功能: 依次判断命令中列出的条件表达式,只要找到某一条件取值为“真”,就执行条件表达式的命令序列;在没有一个条件表达式取值为“真”时,则执行OTHERWISE后的命令序列n+1 说明:若有多个条件表达式为真,也只执行第一个为“真”的命令 序列 例8-23:从键盘输入学号,在xk表中根据成绩来判断该学生的成绩属于优(n90)、良(80n90)、合格(60n80) 、还是不合格(n60),并显示该等级情况说明: (1)I F与EN

4、DI F, I F,ELSE与ENDI F, DO CASE与ENDCASE必须成对出现 (2)三种选择结构不仅自身可以嵌套,而且还能相互嵌套 循环结构能做到由指定条件来控制程序中某一部分命令序列的重复执行。VFP提供了条件循环、 计数循环、扫描循环等循环结构1.条件循环 命令格式: DO WHILE逻辑表达式 命令序列 ENDDO 功能:判断逻辑表达式(循环条件)的取值,若为“真”就执行 DO与ENDDO之间的命令序列(循环体),一旦遇ENDDO 就自动返回到DO WHILE重新判断循环条件是否成立以决定是否再循环;条件的取值若为“假”,则退出循环逻辑表达式命令序列 真 假 例9-7:编一程

5、序,要求显示stud表中入校总分高于580分的所有 记录 例补:编程要求统计表中入校总分在590以上(590)、570590、 570以下(570)等各分数段的学生人数2.计数循环 命令格式: FOR 循环变量= 初值 TO 终值 STEP步长 命令序列 ENDFOR | NEXT 功能: 本命令中的初值、终值 、 步长都是数值表达式。通过判断循环变量的取值是否在指定范围之中来确定循环体是否重复执行FOR 循环变量= 初值 TO 终值 STEP步长 命令序列ENDFOR | NEXT循环变量赋初值循环变量=s=0for i=1 to 100 s=s+inext?s=,ss=0for i=100

6、 to 1 step -1 s=s+inext?s=,s 例:求1+2+3+ + 100的和 a=0b=a+1c=b+2d=c+3 :s=s+ii=i+1 例:求1+2+3+ + 100的和 例9-8:从键盘输入一个数,求该数的阶乘说明: (1) STEP 表达式3表示步长,其值可正可负。步长值缺省, 则默认为1,步长值不能为0,否则造成死循环 (2) 初值、终值与步长都在循环开始时计算读入,若其中含有 变量,那末这些变量的值必须在执行循环之前已经确定 (3) 一般情况下,循环体中不应包含改变循环变量值的命令, 否则循环执行的次数也将随之改变s=0for i=1 to 100 s=s+inex

7、t?s=,s3.扫描循环 命令格式: SCAN 范围FOR条件WHILE条件 命令序列 ENDSCAN 功能:对当前表进行循环,循环次数可由当前表的记录数、范围 子句、条件子句指出use studscan 命令序列endscanuse studdo while not eof( ) 命令序列 skipenddo 例9-9:查询stud中1984年出生的所有女生的姓名4.循环辅助语句 LOOP:把控制转到循环结构的开始 EXIT:能立即跳出循环,执行ENDDO的下一条命令 DO WHILE : LOOP :ENDDODO WHILE : EXIT :ENDDO例9-10:编一程序能根据输入的记录号反复显示stud中的记录。如果输入的记录号为0或负数,则结束循环;如果记录号太大超出了范围,则要求重新输入5.多重循环 若在循环体中又包含其它循环,即形成多重循环,也称循环嵌套 例9-11:打印九九乘法口诀表ab=p9.4 数组应用例9-12:建立一个有10个元素的数组,在数组的每个元素中存放一位同学的计算机课成绩,并求出平均成绩例9-13:从键盘上输入5个数,然后把这5个数按从小到大的顺序在屏幕上显示(冒泡法排序)5 9 3 12 15 3 9 12 1 第2次 5 3 9 12 1 第3

温馨提示

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

评论

0/150

提交评论