文档详情

ch04-程序及子程序设计第2部分.pptx

发布:2025-04-08约4.85千字共30页下载文档
文本预览下载声明

第四章程序及子程序设计

第二部分;4.3结构化程序设计基础;4.3.2选择结构

选择结构,也称为分支结构,根据某个条件的成立与否,来决定下一步做什么,不做什么。选择结构体现了程序在运行过程中的逻辑判断能力。

选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制流程图,然后根据程序流程写出源程序。

1.分支语句:if……endif语句

格式:

if条件表达式

语句序列

endif

功能:首先计算条件表达式,如果条件表达式为真(.t.),执行语句系列中的语句,否则执行endif后面的语句。If……endif,只是针对条件的一种情况做出处理,而另一种情况不执行任何操作,这就是单路径的形式。;例9从键盘输入两个数据x和y,判断x是否为偶数,假如x为偶数则将y值加上x,否则y值表示不变,最后输出变量y。

1)新建程序文件为s9.prg,输入如下代码:

clear

input输入数值x:tox

input输入数值y:toy

ifmod(x,2)==0

ifx%2==0

y=y+x

endif

?y值为,y

return

2)在命令窗口,输入dos9。

;2.1分支语句:if……else……endif语句

格式:

if条件表达式

语句序列1

Else

语句序列2

endif

功能:首先计算条件表达式,如果条件表达式为真(.t.),执行语句系列1中的语句,否则执行语句系列2中的各行语句。

If语句根据条件表达式的值,选择两个语句序列中的一个来执行,这是双路径的情况。;例10:设计qq密码校验系统,从键盘输入密码(假设密码为abc),如果密码正确显示“欢迎使用本系统”,否则显示“密码错误,无权登录!!!”。

1)新建程序文件为s10.prg,输入如下代码:

clear

accept请输入您的密码:tomm

ifmm==abc

?欢迎使用本系统!

else

?密码错误,无权登录!!!

endif

return

2)在命令窗口,输入dos10。;在结构化程序设计中,条件语句if可以嵌套使用,在嵌套时要注意语句的格式完整,if和endif必须一一对应;在配对上endif总是与它最近的语句组成一对,不能交叉。

2.2分支语句:If语句的嵌套格式:;例11:在读者表中,根据借书证号查找某读者,如果该读者为团员显示“该读者是团员”,否则显示“该读者不是团员”。

1)新建程序文件为s11.prg,输入如下代码:

clear

use读者

accept请输入借书证号:tojszh

locatefor借书证号=jszh

ifeof()

?查无此人

else

; if团员

?该读者是团员

else

?该读者不是团员

endif

endif

use

Return

2)在命令窗口,输入dos11。

注意:使用locatefor命令时,如果使用的字段设置了索引,应将其取消,否则将无法使用该命令。想要结合索引查询,则需要使用sql语句。;3.多分支语句:docase……endcase

格式:

docase

case条件表达式1

语句序列1

case条件表达式2

语句序列2

[…

case条件表达式n

语句序列n]

[otherwise

语句序列n+1]

endcase;?;1)新建程序文件为s12.prg,输入如下代码:

input请输入x的值:tox

docase

casex=0

y=4*x+3

casex0andx=1

y=x+3

casex1

y=-x+5

endcase

?y=,y

return

2)在命令窗口,输入dos12。;4.3.3循环结构

循环结构,用来描述重复执行某段语句的问题,减少源程序重复书写的工作量。vf中有3种循环语句:dowhile…enddo,for…endfor/next,scan…endscan来控制循环。

1.dowhile循环语句

格式:

dowhile条件表达式

语句序列

enddo

功能:首先判断dowhile处表达式的值,如果条件表达式的值为.t.,则执行循环环体内的语句;否则,转到enddo后的第一条语句执行。

如果第一次判断时条件为假,则循环体一次也一能执行。;例13计算1到10之间的整数和。

1)新建程序文件为s13.prg,输入如下代码:

s=0

i=1

dowhilei=10

s=s+i

i=i+1

enddo

?s

return

2)在命令窗口,输入dos13。

;在dowhile循环中可以使用loop和exit。

loop语句的功能是强行返回到循环开始语句,不管其后有多少语句都不能被执行,而转去判断下一次循环

显示全部
相似文档