程序的三种基本控制结构分析.doc
《程序的三种基本控制结构分析.doc》由会员分享,可在线阅读,更多相关《程序的三种基本控制结构分析.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#+ 程序的三种基本控制结构顺序结构 选择结构 循环结构一、 顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如:store Visual FoxPro to nameAge = 4? My name is + name + , I am ;+ str(Age) + years old一、二、选择结构:分支语句根据一定的条件决定执行哪一部分的语句序列。二、1、 单分支结构 格式: if endif 例程1:clear use sb wait 是否打印?(y/n) to a if upper(a)=Y wait 请接好打印机!按任意键后打印 list t
2、o print endif2、 双分支选择格式: if else endif例程2: clearset talk offaccept 请输入密码: to mmif mmabc?你无权使用本系统quitelse?欢迎使用本系统endifset talk onif语句的嵌套:在一个if语句中包含另一个语句的程序结构例程3:根据输入的x值,计算下面分段函数的值,并显示结果。 2x-5 (x1) Y= 2x (1=x=10) input 请输入x的值: to x if x1 y=2*x-5 else if x=90 ?成绩优秀 case nscore=80 ?成绩良好 case nscore=70 ?
3、成绩中等 case nscore=60 ?成绩较差 case nscore=0 ?成绩不及格 otherwise ?成绩应大于0,数据有错 endcase ?程序执行完毕 set talk on三、循环结构:循环语句使同一个语句组根据一定的条件执行若干次。l有三种循环语句:DO WHILEFOR语句组表达式假.f.真.t.SCAN1、do while 循环语句1. do while 循环l语句格式1DO WHILE 逻辑表达式ENDDO例程1:计算1+2+3100set talk offclears=0I=1Do while I=100s=s+II=I+1Enddo?1100的和为:,s re
4、turn语句格式2:DO WHILE 逻辑表达式 命令序列1loopexitENDDOLoop语句是循环短路语句,当程序执行到loop语句时,被迫结束本次循环,不再执行loop后面至enddo之间的语句序列,而是返回do while处重新判断条件 Exit语句是循环断路语句。当程序执行到exit语句时,被迫中断循环,转去执行enddo语句后的语句。例程2:循环输入学生姓名,查找并显示该学生的情况,直到用户停止输入。Set talk offClearStore y to ynUse 学生Do while .t.Accept 请输入学生姓名:to nameLocate for 姓名=nameIf
5、found()?学号+学号?姓名+姓名else?没有+name+这个学生endifwait 是否继续查找(y/n)?to ynif upper(yn)=Y?loopelseexitendifenddo?程序结束useset talk onreturn读程练习:1、set talk offuse 学生name=space(8)10,5 say 请输入学生姓名get namereadlocate for 姓名=nameif found()dispelse12,5 say 该单位无此人endifset talk onusereturn2、统计学生表中男女学生人数set talk offclearus
6、e 学生store 0 to nman,nwomando while !eof()if 性别=男nman=nman+1elsenowman=nwoman+1endifskipenddo?男生人数为:+str(nman)?女生人数为:+str(nwoman)useset talk onreturn3、逐条输出学生表中1984年出生的学生记录clearuse 学生index on year(出生日期) tag csrqseek 1984do while year(出生日期)=1984dispskipenddousereturn4 1100之间全部奇数之和set talk offstore 0 to
7、 x,ydo while .t.x=x+1do casecase int(x/2)=x/2loopcase x=100exitotherwisey=y+xendcaseenddo?0100之间的奇数之和为:,yset talk onreturn作业:1、使用do while语句逐条显示学生表中的每一条记录 2、算出1100之间的所有偶数的和 3、从键盘输入一个整数,求出此整数的阶乘2、for循环语句 do while语句适用于循环次数未知的循环 for语句适用于循环次数已知的循环 l语句格式FOR 循环变量 = 初值 TO 终值 STEP 步长 语句组ENDFOR/NEXT能循环结构的执行过程
8、是:先为循环变量设置初值(该变量一般为数值型内存变量),然后判断其值是否超过终值。若没超过,执行循环体,遇到endfor时使循环变量增加一个步长值(步长省略,则默认为1),然后返回到for语句处,将循环变量的当前值与循环终值比较,没有超过,继续执行循环体,直至循环变量的当前值超过终值或执行到exit语句,程序才退出循环,执行enddo后面的语句。说明:1、FOR语句适用于循环次数已知的情况2、如果没有给出步长,步长缺省为13、步长可以是正数、负数当STEP0,变量=终值时,语句组执行当STEP=终值时,语句组执行例程1:for I=1 to 10?Iendfor结果为:1 2 3 4 5 6
9、7 8 9 10例程2:for I=10 to 1 step 4?Iendfor结果为:10 6 2例程3:计算1+2+3100s=0for I=1 to 100s=s+Iendfor?s例程4:求所有的水仙花数(153=13+53+33)clearfor m=100 to 999a=int(m/100)b=int(mod(m,100)/10)c=m%10if m=a3+b3+c3?mendifendforreturn例程5 从键盘输入10个数,编程找出其中的最大值和最小值set talk offclearinput “请输入一个数:” to astore a to max,min for I
10、=2 to 10 input “请输入一个数:” to a if maxa min=a endifendfor?”最大值为:”,max?”最小值为:”,minset talk on程序练习:1、设有如下程序set talk offclearuse gzdo while !eof() if 基本工资=800 skip loop endif disp skipenddouse return该程序实现的功能是:2、执行下列程序:set talk offstore 0 to x,ydo while x=1a(k)=a(k)-a(k+1)k=k-1enddo?a(2),a(4),a(6)set talk
11、 on return4、程序如下s=0I=1Do while Izf=0do while not eof()m-zf=m-zf+zfskipenddo?m-zfreturn6、执行如下程序:store “ ” to ansdo while .t.clear3,10 say “1.添加 2.删除 3.修改 4.退出”5,15 say “请输入选择:” get ansreadif val(ans)=1prog=”prog”+ans+”.prg”do &progendifquitenddo如果在屏幕显示“请输入选择:”时,输入4,则系统将()7、在下列程序中,如果要使程序继续循环,变量m的输入值应为
12、()do while .t. wait m=to m if upper(m)$yn exit endifenddo8、下列程序执行时,在键盘上输入9,则屏幕上的显示结果是()input “x=”to xdo casecase x10?”ok1”case x20?”ok2”otherwise?”ok3”endcase3、scan循环语句语句格式:SCAN 范围FOR 逻辑表达式WHILE 逻辑表达式语句组ENDSCAN说明:范围省略时,默认是all格式1:scan 范围 FOR 逻辑表达式从范围内的第一条记录开始,计算逻辑表达式,对逻辑表达式结果为.t.的记录进行操作。如果没有FOR子句,相当于
13、FOR .t.格式2:scan 范围 WHILE 逻辑表达式从指定范围内第一条记录开始,计算逻辑表达式,如果结果为.t.,继续循环,如果结果为.f.时,立即结束循环。如果没有指定WHILE部分,相当于:WHILE .t.例1use 学生scan dispendscanuse这里的SCAN部分与下面的语句等价:go topdo while not eof()dispskipenddo例2:use 学生scan rest for 学号3 dispendscanuse与下面的语句等价:use 学生DO WHILE not eof()IF 学号3DISPENDIFSKIPENDDO例3、对学生表,分别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 基本 控制 节制 结构 分析
限制150内