条件语句 和循环语句_第1页
条件语句 和循环语句_第2页
条件语句 和循环语句_第3页
条件语句 和循环语句_第4页
条件语句 和循环语句_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、条件语句 和循环语句 1条件语句PowerBuilder的条件语句共有两类:IF语句和CHOOSE CASE语句。IF语句计算一个逻辑表达式,然后根据表达式的值是真(TRUE)是假(FALSE)决定下一步执行的语句块;CHOOSE CASE语句可同时处理多种情况。下面介绍条件语句的结构和用法。21IF语句IF语句有两种形式,单行IF . THEN语句和多行IF . THEN语句。单行IF . THEN语句的格式为:IF cond THEN action1 ELSE action2 其中cond是个表示条件的逻辑表达式,action1、action2是一条语句,方括号表示该成分可根据需要选择。单

2、行IF . THEN语句书写时整条语句写在一行上,当cond的结果为True时执行语句action1,否则执行语句action2(如果有该子句的话)。3多行IF . THEN语句的语法格式为:IF condition1 THENaction1 ELSEIF condition2 THENaction2 . . . ELSEaction3 END IF4其中condition1、condition2是逻辑表达式,action1、action2、action3是一条或多条语句,方括号表示该子句可根据需要选择。本语句的执行过程为:计算逻辑表达式condition1,如果其结果为True,则执行act

3、ion1,然后离开整个IF语句;否则计算condition2,如果其结果为True,则执行action2,然后离开整个IF语句;如果逻辑表达式的结果都是False,且存在ELSE子句,则执行action3。52CHOOSE CASE语句CHOOSE CASE语句根据测试表达式的值选择不同的操作,其语法格式为:CHOOSE CASE testexpressionCASE expressionlist StatementblockCASE expressionliststatementblock . . .CASE expressionliststatementblockCASE ELSEstat

4、ementblockEND CHOOSE6其中,testexpression是测试表达式,expressionlist是判断表达式,Statementblock是满足条件时执行的语句块,方括号表示该成分可以省略。判断表达式可以使用如下的形式:用逗号分隔的一组数据,例如:2,4,7;用TO表示一个区间范围,例如:2 TO 15;用IS代表测试值,后跟关系操作符和比较值,例如:IS 30;组合运用上述3种方法,并用逗号进行分隔,例如:5,6,8 TO 12,IS 20。执行CHOOSE CASE语句时,PowerBuilder将逐条查找CASE,如果找到与测试值相匹配的判断表达式,就执行该CASE

5、后的语句块,然后执行END CHOOSE后的第一条语句。如果CHOOSE CASE语句中包含CASE ELSE子句,则未找到任何匹配的CASE条件时,执行CASE ELSE子句中的语句块。7练习:使用choose条件语句来编程在我们的弹出式窗口里编一个判断成绩的程序,要求成绩输入小于60,结果输出不及格;成绩输入大于60小于79的,结果输出合格;成绩输入大于80小于89的,结果输出良好;成绩输入大于90小于100的,结果输出优秀89循环语句 PowerScript它的循环语句有3种形式:DO LOOP、FOR NEXT、GOTO,将前两种形式与EXIT和CONTINUE语句配合使用,可以完全抛

6、弃GOTO语句,而且DO LOOP本身有4种格式。下面介绍PowerScript循环语句的格式、中途退出循环或中途开始下次循环的方法以及循环嵌套的概念 101. DO LOOP循环DO LOOP结构提供了一种基于某个条件的灵活的循环方法,其中DO表示循环的开始,LOOP表示循环的结束,condition表示循环条件,是个逻辑表达式,其值为True或False。它有4种形式,分别为:11DO UNTIL condition LOOPDO UNTIL condition LOOP的语法格式为:DO UNTIL condition StatementsLOOP其执行过程为:先计算条件conditio

7、n,其结果为False时,执行语句块Statements,接着再检查条件,直到condition的结果为True时退出循环。12REAL A = 1REAL N=1DO UNTIL N REAL(sle_1.text)A*=NN+LOOPsle_2.text=string(A)关于阶乘的运算:13DO WHILE condition LOOP的语法格式为:DO WHILE conditionStatementsLOOP其执行过程为:先计算条件condition,其结果为True时,执行语句块Statements,接着再检查条件,直到condition的结果为False时退出循环。DO WHIL

8、E condition LOOP14关于阶乘的运算:REAL A = 1REAL N=1DO WHILE N =REAL(sle_1.text)A*=NN+LOOPsle_2.text=string(A)15DO LOOP UNTIL condition的语法格式为:DOStatementsLOOP UNTIL condition 其执行过程为:先执行语句块Statements,然后计算条件condition,如果其结果为False,则继续执行语句块statements,直到condition的结果为True时退出循环。DO LOOP UNTIL condition16DO LOOP WHIL

9、E conditionDO LOOP WHILE condition的语法格式为:DO StatementsLOOP WHILE condition 其执行过程为:先执行语句块Statements,然后计算条件condition,如果其结果为True,则继续执行语句块Statements,直到condition的结果为False时退出循环。17REAL A = 1REAL N=1DO A*=NN+LOOP while N =REAL(sle_1.text)sle_2.text=string(A)182FOR NEXT循环FOR NEXT是个循环次数确定的循环结构,它使循环体内的语句执行规定的次

10、数,其语法结构为:FOR varname = start TO end STEP increment StatementblockNEXT其中,varname是循环变量,可以是任意的数值类型,start、end分别是循环变量的初值和终值,increment是每次循环后循环变量的步长增量(缺省值为1),Statementblock是一组语句,称做循环体,方括号表示该子句可以省略。19FOR NEXT语句的执行过程为:循环变量varname从start开始,到end为止,重复执行循环体,每执行一次,varname被重新赋值,新值为varname+ increment。另外,如果start或end在

11、循环体内被修改,将影响循环次数。20练习:213GOTO语句GOTO语句将控制跳转到程序中的其他位置,用GOTO语句也可以构成循环。GOTO语句的语法格式为:GOTO label其中label是语句标号,它使用标识符的命名规则。需要注意的是,在PowerScript中完全可以避免使用GOTO语句,虽然该语句在某些情况下会简化编程,但对大型项目来说,滥用GOTO语句有百害而无一利。对GOTO语句的态度应该是,合理使用、避免滥用。另外GOTO语句只能跳转到当前函数或事件处理程序内部的某个标号处,不能用GOTO语句将控制转移到其他函数或事件处理程序的某个标号处。224EXIT语句与CONTINUE语

12、句在DO LOOP和FOR NEXT语句的循环体中,当想在中途退出循环时,使用EXIT语句是个好办法,执行该语句后,程序的控制权转至循环语句后的语句。在嵌套循环的情况下,EXIT语句退出当前层循环,而不是所有循环。在DO LOOP和FOR NEXT语句的循环体中,遇到CONTINUE语句后,将不执行CONTINUE语句后与循环结束前的所有语句,而开始新一轮循环。23创建自定义函数 单击菜单“”,选择Object选项页中的Function来打开一个Function画板,如图 24在Return Type列表框中可以选择函数返回值的类型,在Function Name的文本框中可以填入自定义的函数名称。然后可以在下面可视化地选择函数的参数列表,Pass By是指参数的传递方式,分为值传送(Value)、引用传送(reference)和只读传送(r

温馨提示

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

评论

0/150

提交评论