visual+foxpro程序设计幻灯片.徐红波.第5章

上传人:j7****6 文档编号:61694931 上传时间:2018-12-10 格式:PPT 页数:50 大小:77.50KB
返回 下载 相关 举报
visual+foxpro程序设计幻灯片.徐红波.第5章_第1页
第1页 / 共50页
visual+foxpro程序设计幻灯片.徐红波.第5章_第2页
第2页 / 共50页
visual+foxpro程序设计幻灯片.徐红波.第5章_第3页
第3页 / 共50页
visual+foxpro程序设计幻灯片.徐红波.第5章_第4页
第4页 / 共50页
visual+foxpro程序设计幻灯片.徐红波.第5章_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《visual+foxpro程序设计幻灯片.徐红波.第5章》由会员分享,可在线阅读,更多相关《visual+foxpro程序设计幻灯片.徐红波.第5章(50页珍藏版)》请在金锄头文库上搜索。

1、讲师:徐红波 E-mail: x_h_,Visual FoxPro程序设计教程,第5章 程序设计基础,VFP的工作方式: 1)交互式工作方式是直接在命令窗口中执行命令或用菜单及工具栏按钮执行命令。 2)自动化工作方式是用编写的程序或用各种生成器生成程序文件再执行。,5.1 程序文件的建立、修改、执行 5.1.1 程序,程序是能够完成一定任务的命令集合。程序文件的扩展名为prg。,5.1.2 程序文件的建立和修改,1)用界面方式建立和修改程序 2)用命令方式建立和修改程序 格式:MODIFY COMMAND |? 功能:打开程序编辑器,用于建立或修改程序文件,5.1.3 程序文件的执行,1)用界

2、面方式执行程序文件 2)用命令方式执行程序文件 格式:DO 功能:执行指定的程序,5.1.4 程序的书写规则,一个程序是由若干行组成,每行由回车键结束 1)命令行:一个命令可以写在一行也可以分多行书写,分行书写时应该在行尾加续行符“;” 2)命令的注释:注释符有&,*,NOTE 三种 格式1: & 格式2: * 格式3: NOTE 功能:程序注释 说明:格式1为行尾注释,即可写在命令行的尾部。格式2与格式3为行首注释,即以*和NOTE开始的行都为注释,例5.1 在学生库中查找VFP与C的成绩大于90分的学生的学号,姓名以及课程VFP与C语言的成绩,open database 学生 &命令分行书

3、写要加分号 from 学生, 学生成绩, 学生成绩f & select命令结束 close database all & 关闭数据库 return,5.1.5 调试命令与辅助命令,1、SET TALK命令 格式:SET TALK ON|OFF 功能:设置是否显示命令在执行过程中的状态信息,ON为显示信息(默认值),OFF为不显示信息。如:命令copy files 学生.* to 学生1.*,若选ON,则显示复制过程中复制的几个文件的信息。若选OFF,则无信息。 2、CANCEL命令 格式:CANCEL 功能:终止程序运行,清除所有私有变量,返回到命令窗口 3、RETURN命令 格式:RETUR

4、N 功能:结束当前程序执行,返回到调用它的上级程序,若无上级调用程序,则返回到命令窗口 4、QUIT命令 格式:QUIT 功能:退出VFP系统,返回WINDOWS操作系统,5.2 输入与输出命令 5.2.1 输入命令,1)INPUT命令 格式:INPUT TO 功能:从键盘输入数据,回车后将数据赋给内存变量 说明: 1)为提示信息。 2)输入的数据可为,常量,变量,表达式。 3)输入C,L,D型常量时要用定界符。,例5.2 查找指定姓名对应学生的学号,性别和数学成绩。,open database 学生 input “输入姓名: “ to name select 学生.学号, 学生.姓名, 学生

5、成绩.数学 from 学生, 学生成绩; where 学生.姓名=name and 学生成绩.学号=学生.学号 close database all return,2)ACCEPT命令 格式:ACCEPT TO 功能:从键盘输入字符串数据,赋给内存变量 说明: 1)为提示信息。 2)输入的字符串不需加定界符,否则会将定界符作为字符串的一部分。 3)若不输入数据直接按回车键,将空串赋给变量。,3、WAIT命令 格式:WAIT TO WINDOW AT NOWAIT CLEAR|NOCLEAR TIMEOUT 功能:暂停程序运行,字符表达式为提示信息,待从键盘输入一个字符赋给内存变量,程序继续执行

6、。 说明: 1)省略,则显示默认信息,按任意键继续。 2)对于TO ,若直接回车,变量中内容为空串,省略此项,输入字符不保存。 3)WINDOW AT 设置信息窗口在屏幕上的位置,省略AT 信息将显示在屏幕的右上角。 4)NOWAIT不等待输入直接往下执行。 5)CLEAR清除提示信息窗口,NOCLEAR不清除提示信息窗口,直到执行一条WAIT WINDOW命令或WAIT CLEAR命令为止。 6)TIMEOUT由数值表达式指定等待输入的秒数。若超出秒数,则不等待自动往下执行。,例5.3 WAIT的应用,wait “继续? “ to x window time 10,5.2.2 输出命令,格式

7、: SAY GET DEFAULT 功能:在屏幕指定行列输出表达式的值并修改内存变量的值。 说明: 1)中行自上而下编号,列自左至右编号,编号从0开始,行列可以使用小数精确定位。 2)省略SAY选项,GET变量值在行列指定位置开始显示。若选SAY选项,先显示表达式的值,然后再显示GET变量值。 3)GET中的变量必须有初值或用DEFAULT中的命令定值。 4)GET选项必须用READ命令激活。,例5.4 查找学生成绩大于等于指定成绩的或数学大于等于指定分数的学生学号,姓名,入学成绩,数学成绩。,clear open database 学生 10, 10 say “输入入学成绩:“ get rx

8、cj default 0 10, 10 say “输入数学分数:“ get sxfs default 0 read 10, 10 say “入学成绩为“+str(rxcj)+“ 数学为“ +str(sxfs) select 学生.学号, 学生.姓名, 学生.入学成绩, 学生成绩.数学; from 学生, 学生成绩 where 学生.入学成绩 = rxcj and 学生成绩.数学 = sxfs; and 学生.学号=学生成绩.学号 close database all return,5.3 程序的基本结构,程序设计一般采用顺序,条件,循环这三种基本结构,这三种结构贯穿于整个程序的设计中。,5.3

9、.1 三种基本结构,1)顺序结构:程序是按语句排列的先后顺序来执行。 2)选择结构:条件为真执行一部分语句,否则执行另一部分语句。 3)循环结构:当条件为真执行循环体,否则结束循环。,5.3.2 顺序结构程序设计,例5.7 求圆面积 s=0 r=0 input “输入r:“ to r s=3.14*r*r ?“ s=“, s return,5.3.3 选择结构程序设计,1、二分支选择结构 格式:IF ELSE ENDIF 功能:当条件成立时执行命令序列1,否则执行命令序列2。当不包含ELSE时,条件成立执行命令序列1,否则执行ENDIF后的语句。 说明:IF和ENDIF必须成对出现,此语句可以

10、嵌套使用,条件是逻辑表达式,例5.8 当r=0时计算圆面积否则输出不合题意,set talk off s=0 r=0 input “输入r:“ to r if r0 s=pi( )*r*r ?“s=“, s else ?“r0不合题意!“ endif ?“程序结束“ return,例5.9 输入学号,在学生表中查询学生姓名,学生入学成绩,若没有找到,输出无此学生,clear open database 学生 use 学生 input “ 输入学号:“ to xh locate for 学号=xh if found() ? “学号:“+学号+space(2)+“姓名:“+姓名+ space(2)

11、+str(入学成绩, 3) else ? “ 无此学生“ endif close database all return,2、多分支选择结构 格式: DO CASE CASE CASE OTHERWISE ENDCASE 功能:依次判断条件是否成立,若某个条件成立,则执行对应的语句序列,然后执行ENDCASE的后面语句,若所有条件都不成立,就执行OTHERWISE语句序列n+1。 说明: 1)条件为逻辑表达式。 2)DO CASE与ENDCASE 必须成对出现。,例5.10 输入学生姓名,成绩,给出成绩的等级,成绩为百分制,成绩的等级情况为90-100为优秀,70-89为良好,60-69为及格

12、,0-59为不及格,name=“” number=0 grade=“ input “输入学生姓名:“ to name input “输入学生成绩:“ to number do case case number=90 and number=70 and number=60 and number=0 and number=59 grade=“不及格“ otherwise grade=“输入错误“ endcase ?name, number, grade return,5.3.4 循环结构程序设计,VFP有三种循环结构,它们是DO WHILE, FOR, SCAN。 1、DO WHILE循环 格式:

13、 DO WHILE LOOP EXIT ENDDO 功能: 1)当条件成立时执行DO WHILE与END DO之间的命令,这些命令称为循环体。 2)程序执行到END DO时自动返回到WHILE 处重新判断条件是否成立,以决定是否循环。 3)当条件不成立时,结束循环,执行END DO下面命令。 说明: 1)DO While与END DO必须成对出现。 2)执行LOOP命令时结束本次循环,自动返回DO WHILE处重新判断循环条件。 3)遇到EXIT命令时结束循环,执行END DO下面命令。,例5.11 求1+2+3+100的值,sum=0 n=1 do while n=100 sum=sum+n

14、 n=n+1 enddo ?“ s=“, s return,例5.12 对 100个任意数求和,正数求和,负数不求和,当输入0.001时停止输入,sum=0 n=1 do while n=100 input “x:“ to x n=n+1 if x0 loop endif if x=0.0001 exit endif sum=sum+x enddo ?“sum=“, sum return,2、FOR 循环 格式:FOR = TO STEP ENDFOR | EXIT 功能:先把初值赋给循环变量,再判断循环条件是否成立。若不成立就结束循环,执行循环后面的命令,若条件成立,就执行循环体,循环再执行

15、一此,循环变量自动增加一个步长。再判断循环变量是否成立,以判断是否执行循环体。 说明: 1)循环变量为内存变量,初值,终值,步长为数值表达式。 2)当步长为0时循环变量无增量,将死循环,步长默认值为1。 3)在循环体内可以改变循环变量,但这会改变循环次数。 4)在循环体内可以包括,LOOP和EXIT。当遇到LOOP时,本次循环结束,循环变量增加一个步长值,进入下一次循环,当遇到EXIT时,结束循环,执行下面的命令。,例5.13 求1+2+n,sum=0 input “输入n:“ to n for i=1 to n sum=sum+i endfor ?“ s=“, s return,3、 SCA

16、N循环 格式:SCAN FOR WHILE ENDSCAN 功能:在当前表的指定范围内记录指针自动移到满足条件1或条件2的记录上,执行循环体,然后再将记录指针自动移动到下一个满足条件1或条件2的记录上再一次执行循环体直至超出范围。默认范围为表中所有记录。 说明:1)循环体内可包含LOOP与EXIT命令,当遇到LOOP命令时,结束本次循环返回到SCAN处进入下一次循环。当遇到EXIT时,结束循环,执行ENDSCAN后面的命令 。,例5.14 逐条显示学生表中入学成绩大于等于490分的学生的学号,姓名,入学成绩,并统计人数,clear n=0 open database 学生 use 学生 scan for 入学成绩=490 dispplay 学号,姓名,入学成绩 n=n+1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号