欢迎来到天天文库
浏览记录
ID:25227851
大小:212.50 KB
页数:25页
时间:2018-11-16
《实验十程序设计基础》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第七章应用程序设计基础7.1程序文件的建立与运行VFP系统提供的命令十分丰富,而且功能强大。把这些命令和程序设计语句有效地组织在一起,形成实现某一特定功能的程序,能够更充分地体现VFP系统的特点。VFP系统的程序有两个特点:一是程序控制流模式,由顺序、分支、循环三种基本结构构成,每一个基本结构可以包含一个或多个语句。二是面向对象可视化的结构程序模块,每个模块也是由程序控制流组成。7.2程序控制结构程序结构是指程序中命令或语句执行的流程结构。在VFP系统的应用程序中,常见的程序控制结构有顺序结构、选择结构和循环
2、结构三种。顺序结构是任何从简单到复杂的程序都离不开的主体基本结构,它按命令在程序中出现的先后次序依次执行。但是绝大多数问题仅用顺序结构是无法解决的,还要用到选择结构和循环结构。7.2.1选择结构程序设计选择结构是VFP系统程序的基本结构之一,又称分支结构。选择结构语句有三种基本形式。1、简单分支语句格式:IF〈条件表达式〉〈命令序列〉ENDIF语句功能:当条件为真时,执行IF和ENDIF之间的命令序列;当条件为假时,执行ENDIF后面的语句。条件为真?语句组ENDIF后面的语句YN例如:检查DA.DBF中有无
3、工资低于650元的记录,如果有,则显示该记录的信息,然后显示全部记录。程序如下:SETTALKOFFUSEDALOCATEFOR工资<650.00IF.NOT.EOF()DISPLAYENDIFLISTSETTALKON2、选择分支语句语句格式:IF<条件表达式><语句序列1>ELSE<语句序列2>ENDIF语句功能:当条件为真时,先执行<语句序列1>,然后再去执行ENDIF后面的语句;当条件为假时,先执行<语句组2>,然后再转去执行ENDIF后面的语句。条件为真?语句组1ENDIF后面的语句YN语句组1语句
4、行ENDIF后面的语句例如:铁路托运行李,假设每张车票可按每Kg0.5元托运50Kg以内的行李,如果超过50Kg时,超过的部分每Kg加价0.3元。计算公式为X=0.5×W(当W≤50Kg)X=0.5×50+0.8×(W-50)(当W<50Kg)程序如下:SETTALKOFFINPUT“请输入行李的重量为:”TOWIFW<=50X=0.5*WELSEX=0.5*50+0.8*(W-50)ENDIF?“行李的重量为”+STR(W,6,2)+“Kg,其运费为:”+STR(X,6,2)+“元”SETTALKONRET
5、URNX=3、IF条件语句的嵌套语句格式:IF<条件表达式1><语句组1>ELSEIF<条件表达式2><语句组2>ELSEIF<条件表达式3><语句组3>ELSE…ENDIFENDIFENDIF语句功能:此种嵌套语句可以对复杂情况进行各种判断。说明:在这种嵌套形式中,要求每一层的IF和ELSE及ENDIF必须一一对应。IF-ELSE-ENDIF每个命令各占一行,不能在同一行出现。4、多路分支语句语句格式:DOCASECASE<条件表达式1><语句组1>CASE<条件表达式2><语句组2>…[OTHERWISE
6、][<语句组n>]ENDCASE语句功能:执行此命令时,系统从头依次查看每一个CASE的条件表达式,只要某一个条件表达式的值为真,就执行该条件下的语句组,其他条件下的语句组都跳过去,接下来执行ENDCASE后面的语句。OTHERWISE是一个可选项,若所有的条件都不成立,则执行OTHERWISE后面的语句;如果没有可选项OTHERWISE,则所有的条件都不成立,接着执行ENDCASE后面的语句。条件2条件1条件notherwise语句序列1语句序列2语句序列n语句序列EndCase后面的语句......例如:
7、计算分段函数值:2x-1(x<0)3x+5(0<=x<5)f(x)=x+1(3<=x<5)5x-3(5<=x<10)7x+2(x>=10)程序代码如下:SETTALKOFFINPUT“输入X的值:”TOXDOCASECASEX<0F=2*X-1CASEX>=0ANDX<3F=3*X+5CASEX>=3ANDX<5F=X+1CASEX>=5ANDX<10F=5*X-3OTHERWISEF=7*X+2ENDCASE??"F(X)=",FSETTALKONRETURN7.2.2循环结构程序设计1、DOWHILE-E
8、NDDO语句语句格式:DOWHILE<条件表达式><语句序列1>[LOOP]<语句序列2>[EXIT]ENDDO语句功能:当条件表达式的值为真时,始终执行语句组;否则执行ENDDO后面的语句。执行ENDDO后面的语句执行循环体内各语句修正条件表达式的值条件为真?NY例如:以显示方式输出1-10的数字。SETTALKOFFCLEARI=1DOWHILEI<=10?II=I+1ENDDO语句I=I+1就
此文档下载收益归作者所有