- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《visualfoxpro程序设计》第6章结构化程序设计
第6章 结构化程序设计;;6.1 程序文件;6.1 程序文件;6.1.1 程序文件的建立;2.项目管理器方式;3.命令方式;6.1.2 简单的交互方式输入输出命令;2.输入字符串命令; 程序编辑窗口的输入如图6-3所示,运行时在屏幕中输入“王燕燕”,结果如图6-4所示。
;3.输入任意数据命令;4.非格式输出命令;5.格式输入输出命令;图6-5 程序编辑窗口的输入;6.其他辅助命令;6.1.3 应用程序的执行;6.2 程序控制结构;6.2程序控制结构;6.2.1 顺序结构;1.赋值语句;在使用赋值语句时需要注意以下几点:
应注意区分赋值符号与数学中的等号。a=3应读作“将数值3赋给变量a”,a=a+1表示将原来a的值加上1后再放到原来a的存储单元中,即将原来a的值加上1后再赋给a。因此,下面两个语句的意思是不同的:
X=y 表示将y的值赋给x
y=x 表示将x的值赋给y
若要对日期型或日期时间型内存变量赋值,如果表达式是同样类型的常量,必须用花括号“{ }”括起来并在前面加一个“^”符号,如果表达式是字符串,则应用转换函数将其转换为相应的类型。
例如:t1={^2008/5/27}
t2={^2008-5-27 11:14:20a}
t3=CTOD(05-27-08)
t4=CTOT(05-27-08 11:14:20a)
赋值符号的左边只能是变量,不能是表达式,如x+y=z是错误的赋值语句。;2.语句的续行;3.语句的注释;6.2.2 分支结构;;;; (2)双分支形式; 用双分支实现,其程序代码如下:
if x=0
y=cos(x)+sqrt(x^2+1)
else
y=log(x^2)+x-10
endif
也可用单分支实现,其程序代码如下:
y=cos(x)+sqrt(x^2+1)
if x0
y=log(x^2)+x-10
endif;(3)IF语句的嵌套; 程序代码如下:;2.DO CASE语句;;6.2.3 循环结构;【例6-7】编制程序求1+2+3+…+100的和,并输出结果。
分析:实现自然数的累加,应该设置一个累加变量和一个计数变量,累加变量的初值为0,计数变量从1开始逐次累加到累加变量中,每累加一次,计数变量加1,直到计数变量为100为止。
程序代码如下:
*prog7.prg
s=0
i=1
do while i=100
s=s+i
i=i+1
enddo
?s=,s;【例6-8】统计学生信息表student中年龄在20岁以上的学生人数,并输出结果。
程序代码如下:
*prog8.prg
use student
n=0 计数变量初值为0
do while not eof() ??环条件是还未到表尾
if year(date())-year(出生日期)20
n=n+1
endif
skip 修改记录指针,指向下一记录,若没该句,将造成死循环
enddo
use
?年龄大于20岁的人数有:,n ;该语句的格式如下:
FOR 循环变量=初值 TO 终值 [STEP 步长]
循环体
[EXIT]
[LOOP]
ENDFOR|NEXT
语句执行时,首先给循环变量赋予初值,与终值比较,若超过终值,则循环体一次也不执行,直接转去执行ENDFOR|NEXT后面的语句;若不超过终值,则依次执行循环体中的语句,遇到ENDFOR|NEXT语句,将循环变量加上步长后,程序转回到循环初始语句,继续判断,流程图如图6-13所示。
步长可正可负.步长为1时,可省略STEP子句。
当循环次数事先已知时,通常使用计数型循环,循环次数可以根据下式计算:
INT(ABS((终值-初值)/步长))+1;【例6-9】编制程序实现100以内的奇数累加和,并输出结果。
分析:实现100以内奇数的累加,循环变量的初值应为1,终值应为99,循环变量的步长应为2。
【例6-10】从键盘上输入一个大于1的自然数,判断是否为素数(除1和它本身外,不能被其他任何一个整数整除的自然数)。
分析:判断某数n是否为素数,最简单的方法是:从i=2,3,…,n-1逐个判断n能否被i整除,只要有一个能整除,n就不是素数,退出循环;若都不能整除,则n是素数。可进一步证明:若n不能被2~中的任何一个整数整除,则n为素数。;3.扫描型循环SCAN语句;【例6-11】用扫描型循环SCAN语句统计学生信息表student中年龄在20岁以上的学生人数,并输出结果。
程序代码如下:
*prog11.prg
use student
n=0
scan for year(date())-year(出生日期)
文档评论(0)