




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 VFP程序设计基础9.3 结构化程序l结构化程序由顺序结构、分支结构和循环结构三种基本结构组成l 顺序结构:程序执行顺序是根据程序中语句的书写顺序l 分支结构:程序执行顺序是根据条件的成立与否,选择执行不同的程序语句l 循环结构:程序执行顺序是在条件成立时反复执行某段程序语句l由三种基本结构构成的程序,可以处理任何复杂的问题9.3.1 顺序结构l按语句排列顺序执行,是三种结构中最基本、最简单的结构语句1语句2语句3求圆周长和圆面积程序l从键盘上输入一个正数为半径,求圆周长和圆面积*求圆周长和面积GetCircleArea.PRG&注释语句CLEAR&清屏语句SET TALK
2、OFF&系统参数设置语句INPUT 半径= TO R&输入圆半径值L=2*PI()*R&计算圆周长S=PI()*R*R&计算圆面积? 圆周长=,L&显示圆周长值? 圆面积=,S&显示圆面积值SET TALK ON&恢复参数设置语句RETURN&返回语句求任意三角形的周长和面积l输入三角形三边长a,b,c,计算周长和面积l周长计算公式L=a+b+cl面积计算公式求任意三角形的周长和面积程序Set talk OffClearINPUT 请输入边长请输入边长a= to aINPUT 请输入边长请输入边长b= to bINPUT 请输入边
3、长请输入边长c= to cL=a+b+cD=(a+b+c)/2S=sqrt(d*(d-a)*(d-b)*(d-c)? 三角形的周长三角形的周长L=+str(L)? 三角形的面积三角形的面积S=+str(S)SET TALK ON输入姓名查询学生信息use StudInfoaccept 请输入学生姓名: to namelocate for StudName=namedisplayuse9.3.2 分支结构IFENDIF语句l语法IF ENDIFl语句功能l判断给定条件是否成立l成立,则执行语句序列 分支结构IFELSEENDIF语句IF ELSE ENDIFIF分支说明l语句功能:判断给定的条件
4、是否成立。成立,则执行语句序列1;否则执行语句序列2。 l(1)ELSE是一个可选项。当ELSE子句缺省时,如果条件不成立,将不执行任何语句。直接转向ENDIF后的下一条语句。l(2)IF和ENDIF必须成对出现,IF是本结构的入口,ENDIF是本结构的出口。l(3)条件语句可以嵌套,但不能出现交叉。在嵌套时,为了使程序清晰、易于阅读,可按缩进格式书写。 求圆周长和圆面积程序l当输入半径大于零时,计算圆周长和圆面积,否则显示半径值不能小于等于零的提示信息。CLEARSET TALK OFFINPUT 半径= TO RIF R0L=2*PI()*RS=PI()*R*R? 圆周长=,L? 圆面积=
5、,SELSE ? 半径值不能小于等于零ENDIFSET TALK On求任意三角形的周长和面积程序Set talk OffClearINPUT 请输入边长请输入边长a= to aINPUT 请输入边长请输入边长b= to bINPUT 请输入边长请输入边长c= to cIF A+B=C OR B+C=A OR A+C=B or a=0 or b=0 or c=0Wait 输入的边长不能组成三角形输入的边长不能组成三角形return endifd=(a+b+c)/2S=sqrt(d*(d-a)*(d-b)*(d-c)? 三角形的周长三角形的周长L=+str(d*2)? 三角形的面积三角形的面积S
6、=+str(S)SET TALK ON求二元一次方程的根l输入二元一次方程系数a,b,c,计算二元一次方程根l计算公式如下:分支语句嵌套IF IF ENDIFELSE IF ELSEENDIFENDIF求 X、Y、Z 三个数中的最大值INPUT 输入X= TO XINPUT 输入Y= TO YINPUT 输入Z= TO ZIF X=Y IF X=Z MAX=X ELSE MAX=Z ENDIFELSE IF Y=Z MAX=Y ELSE MAX=Z ENDIFENDIF? MAXDO CASEENDCASE语句 DO CASE CASE CASE CASE OTHERWISE ENDCASE输
7、入成绩,判断成绩等级SET TALK OFFCLEARINPUT 请输入成绩:请输入成绩: to StudScoreDo Case case StudScore=90StudLevel=优秀优秀case StudScore=80StudLevel=良好良好case StudScore=70StudLevel=中等中等case StudScore=60StudLevel=及格及格OtherwiseStudLevel=不及格不及格endcase?成绩等级为成绩等级为:+StudLevelReturnSET TALK ON9.3.3 循环结构l根据条件或计数要求重复执行一段代码l基于计数的循环:FO
8、R ENDFORl不知重复次数的循环:DO WHILE ENDDOl数据表记录循环:SCAN ENDSCANFOR ENDFOR语句l语法FOR = TO STEP ENDFOR|NEXTl功能l重复执行,直到的值大于l执行次数=ABS(循环终止值-循环起始值)/步长+1执行过程计算1+2+3+100 的和S=0FOR i=1 TO 100 S=S+iNEXT? 1+2+3+100=,S求n!ClearSet talk offinput 请输入所求的阶乘数: to NS=1for i=1 to NS=S*inext?str(N)+!=+ltrim(str(S)Set Talk ONDO WHI
9、LE ENDDO语句DO WHILE LOOP EXIT ENDDO功能说明l 如果第一次判断条件时,条件即为假,则循环体一次都不执行。l 如果循环体包含LOOP命令,那么当遇到LOOP时,就结束循环体的本次执行,不再执行其后面的语句,而是转回DO WHILE处重新判断条件。l 如果循环体包含EXIT命令,那么当遇到EXIT时,就结束该语句的执行,转去执行ENDDO后面的语句。l 通常LOOP或EXIT出现在循环体内嵌套的选择语句中,根据条件来决定是LOOP回去,还是EXIT出去。 计算1+2+3+100S=0i=1DO WHILE i=100S=S+ii=i+1ENDDO? 1+2+3+.+
10、100=,SWhile示例l计算连续自然数之和,并且显示和刚大于1000的最后一个自然数lSn=1+2+3+4+NSTORE 0 TO S,NDO WHILE S=1000N=N+1S=S+NENDDO? NWhile示例&显示性别为男的学生信息USE g:vfp学生DO WHILE .NOT.EOF() IF 性别=男 DISPLAYENDIF SKIPENDDOUSE数据表记录循环查找库文件记录的查找库文件记录的循环(可用扫描循环替换)循环(可用扫描循环替换)l语句格式语句格式Scan For | While EndScanl功能功能lSCAN为循环起始语句,为循环起始语句,END
11、CAN为循环结束语句。为循环结束语句。l本语句对范围内满足条件的记录执行本语句对范围内满足条件的记录执行。默认范围值为。默认范围值为ALL。 lFOR:只有符合条件的记录才进行操作:只有符合条件的记录才进行操作lWHILE:当遇到第一个不符合条件的记录时终止:当遇到第一个不符合条件的记录时终止SCAN-ENDSCAN执行过程l执行SCAN语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令,搜索完范围内最后一条记录后,SCAN语句执行完毕。 l对当前数据表中指定范围内符合条件的记录,执行。l:指定作用范围,缺省指数据表内的所有记录。 对RSK.D
12、BF增加工资,要求:已婚者基本工资增加20元,未婚者不变。clearuse rskscan for 婚否 replace 基本工资 with 基本工资+20endscanuseSCAN-ENDSCAN示例USE student SCAN FOR StudSex=男 DISPLAY ENDSCANUSEUSE StudentSCAN FOR 学号=99070470 And 数学成绩=80 displayENDSCANUSE多重循环 (循环嵌套) DO WHILE DO WHILE DO WHILE ENDDO ENDDO ENDDO 循环不能交叉l下面的循环嵌套是正确的l下面的循环嵌套交叉,是错
13、误的显示九九乘法表clearfor N=1 TO 9 for M=1 TO N ? alltrim(str(N)+alltrim(str(M)+=+ alltrim(str(N*M)+space(5) next ?next显示九九乘法表clearN=1DO WHILE N=9 M=1 DO WHILE M=N ? alltrim(str(N)+alltrim(str(M)+=+ alltrim(str(N*M)+space(5) M=M+1 ENDDO ? N=N+1ENDDO计算1!+2!+3!+n!S=0INPUT N= TO NFOR i=1 TO N K=1 FOR J=1 TO i K=K*J endfor S=S+KNEXT? 1!+2!+3!+.+LTRIM(STR(N)+!=+LTRIM(STR(S)RETURN计算1!+2!+3!+n!S=0K=1INPUT N= TO NFOR i=1 TO N K=K*i S=S+KNEXT?1!+2!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 围棋基础知识试题及答案
- 心理咨询师自我提升方法试题及答案
- 税务知识与实务操作的复习整合税务师试题及答案
- 深度开发测试题及答案
- 广西一模生物试题及答案
- 管理知识西医临床考试试题及答案
- 教师继续教育的趋势与方法试题及答案中小学教师资格
- 信息系统项目管理师备考计划试题及答案
- 健康教育的影响因素与策略试题及答案
- 2025-2030中国电子出版系统行业市场发展分析及发展趋势与投资风险研究报告
- 纵隔肿瘤护理查房
- 眼镜店销售培训课件
- 宜宾市属国有企业人力资源中心宜宾临港投资建设集团有限公司下属子公司2025年第一批项目制员工公开招聘笔试参考题库附带答案详解
- 2025年山东鲁泰控股集团有限公司下属驻陕西煤矿企业招聘(150人)笔试参考题库附带答案详解
- 2025届上海市浦东新区高三二模英语试卷(含答案)
- 开曼群岛公司法2024版中文译本(含2024年修订主要内容)
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 2024年4月自考00150金融理论与实务试题及答案
- 工程变更通知单ECN模板-20220213
- 问题解决过程PSP-完整版
- 2024年海南发展控股有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论