vfp第7章结构化程序设计

上传人:tian****1990 文档编号:81745026 上传时间:2019-02-22 格式:PPT 页数:76 大小:835.50KB
返回 下载 相关 举报
vfp第7章结构化程序设计_第1页
第1页 / 共76页
vfp第7章结构化程序设计_第2页
第2页 / 共76页
vfp第7章结构化程序设计_第3页
第3页 / 共76页
vfp第7章结构化程序设计_第4页
第4页 / 共76页
vfp第7章结构化程序设计_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《vfp第7章结构化程序设计》由会员分享,可在线阅读,更多相关《vfp第7章结构化程序设计(76页珍藏版)》请在金锄头文库上搜索。

1、Visual FoxPro,1,第七章,结构化 程序设计,Visual FoxPro,2,7.1.1 程序设计的概念 交互工作方式,要求用户必须比较熟悉数据库知识,了解数据组织结构,如果要同时对数据表格多次进行某些操作,就必须反复执行相关命令,这些命令不被保存。对于使用大量数据的最终用户来说,直接使用交互方式管理数据是不现实的。因此,要建立真正的管理信息系统必须编制程序。 程序设计反映了利用计算机解决问题的全过程,先要对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,进行算法设计,画出流程图,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。这个过程称为程序设

2、计。,7.1 程序设计基础,Visual FoxPro,3,程序执行方式是预先把多条命令按一定的规则组织成一个有机的序列,这个命令序列称为程序。程序存放在程序文件中,运行程序时,系统按照一定的顺序自动执行文件中的命令。 程序设计方法是软件工程的一个重要组成部分。在程序设计中使用最广的是“结构化程序设计方法”。他要求程序按照一定的规则编写,具有良好的顺序结构,且容易阅读和理解。 结构化程序设计要求程序由若干个“基本结构”顺序构成,每个基本结构作为程序的一个“单元”,每个“单元”由一个或若干个语句组成,若干个“单元”组成一个结构化程序。,Visual FoxPro,4,程序流程图:用一些符号来表示

3、各种操作,形象直观、简单,易于理解、修改和交流。,【例】用框图描述 如下函数的求解过程:,start,Input x,X0 ?,y=5,y=-5,Output y,end,N,Y,Visual FoxPro,5,7.1.2 程序的控制结构 结构化程序有三种基本结构:顺序结构、选择结构和循环结构。 1. 顺序结构 在这种结构中语句的执行是按照出现的先后顺序。 A块执行完毕后,再执行B块,该结构只有一个入口 和一个出口。 A块、B块可以是若干条语句,也可以是一个基本结构。 2. 选择结构 这种结构的特点是根据条件的真假,选择两个或多个分 支中的一个分支来执行。B1块、B2块中只有一个块被执行, 该

4、结构只有一个入口和一个出口。,Visual FoxPro,6,3. 循环结构 该结构的特点是根据条件,重复执行一个语句块。重复执行的部分称为循环体。当给定条件满足时,执行B块,执行B块后再返回测试条件是否满足,如此循环反复执行B块,直到条件测试不满足为止。 B块可以是单个语句,也可以是基本块。该结构只有一个入口,只有一个出口。,4. 结构化程序的特点 * 任何结构化程序都可以分解为三种“基本结构”。 * 每一个基本结构只有一个入口。 * 每一个基本结构只有一个出口。 * 没有永远执行不到的语句。 * 没有死循环。 * 修改一个基本结构时,不影响其他基本结构中的语句。 * 整个结构化程序层次分明

5、,结构清晰。,Visual FoxPro,7,7.1.3 程序文件的建立与执行 1. 建立或修改程序文件 建立或修改程序文件也有菜单和命令两种操作方式。 (1)命令方式 要建立或者修改一个程序文件,使用MODIFY命令。 格式是: MODIFY COMMAND 其中指建立或者修改的文件。如果省略文件名,在关闭窗口时要求输入文件名。如果没有给文件指定扩展名,则默认为.prg。 (2)菜单方式 选择“文件”菜单中的“新建”命令,并选择“程序”单选按钮,并单击“新建文件”命令按钮。在文本编辑窗口输入程序内容。,Visual FoxPro,8,2. 保存程序 不管是用命令方式还是用菜单方式,打开文本编

6、辑窗口后,就可以一条一条地输入命令。在输入过程中出现错误,可用编辑命令进行修改。当程序建立或修改完毕后,可用Ctrl+W或Ctrl+End存盘,退出编辑窗口。 3. 执行程序 执行一个Visual FoxPro程序文件命令方式格式为: DO 如果文件名不带扩展名,则Visual FoxPro按下列顺序寻找并执行这些程序:可执行文件(.EXE)、应用程序(.app)、编译后的目标程序文件(.fxp)和程序文件(.prg)。,Visual FoxPro,9,4.程序文件中的辅助命令 1).程序注释命令 NOTE | * & 2)常用状态设置命令 (1)置会话状态命令 命令格式: SET TALK

7、ON|OFF (2)置打印状态命令 命令格式: SET PRINT ON|OFF 3)程序结尾的专用命令: RETURN &结束程序执行并返回到调用它的上级环境中继续。允许缺省。 CANCEL &终止程序的运行并清除程序的私有变量,返回到命令窗口。 QUIT &退出VFP系统,返回到操作系统状态。,Visual FoxPro,10,例EX501: 编程查询并显示一个入学成绩570的男学生信息 MODI COMM E1(或MODI FILE E1.PRG) *查询 SET TALK OFF CLEAR USE 学生 LOCA FOR 入学成绩570 AND 性别=“男” DISP USE SET

8、 TALK ON RETURN DO E1,7.2 顺序结构程序,Visual FoxPro,11,7.2.1 交互式输入命令 1. 字符串接收命令 字符串接收命令显示提示信息,等待用户从键盘输入一个字符串并按回车键后,存入指定的内存变量中。命令格式为: ACCEPT TO 例E2 编程实现从键盘输入某数据库的文件名,并要求打开该数据库中的某张表并显示其中的内容。 SET TALK OFF CLEAR ACCEPT “请输入数据库名:“ TO A OPEN DATABASE &A ACCEPT “请输入表名:“ TO B USE &B LIST USE SET TALK ON RETURN,V

9、isual FoxPro,12,2. 任意数据输入命令 命令格式: INPUT TO 该命令与ACCEPT命令的区别在于键入的数据类型不同,它不仅可以接收字符型数据,还可以接收数值型、日期型和逻辑型表达式的值。其中,对于字符串的输入必须用定界符括起来;输入数值或表达式,不加任何定界符;输入日期型数据,除使用日期型的格式外,还要用大括号将其括起来。 例如 INPUT “请输入一个数值表达式:“ TO num INPUT “请输入一个日期:“ TO dat 执行情况如下: 请输入一个数值表达式:98/10/10 请输入一个日期:1998-10-10,Visual FoxPro,13,例E3 :从键

10、盘输入两个任意正数,编程求出以这两个数为长和高的三角形面积。 MODI COMM E3 SET TALK OFF CLEAR INPUT “三角形的长为:“ TO A INPUT “三角形的高为:“ TO B S=(A*(B)/2 ?“三角形面积为:“ , S SET TALK ON RETURN DO E3,Visual FoxPro,14,3. 单个字符接收命令 WAIT TO WINDOW NOWAIT TIMEOUT 命令暂停程序执行,等待用户键入任何一个字符后继续。使用说明: (1) 当命令中有TO 可选项,则定义一个字符型内存变量,并将键入的一个字符存入该变量中。 (2) 若包含提

11、示信息,则在屏幕上显示提示信息的内容;若没有该选择项,则显示系统默认的提示信息: Press any key to continue (3) 如果选择WINDOW,在VFP主窗口的左上角会出现一个提示信息窗口,有关提示信息便在此窗口中显示。 (4) 如果选择NOWAIT,则命令并不会暂停程序的执行,仅在VFP主窗口的左上角提示窗口中显示提示信息,并且用户只要一移动鼠标或按下任意键,提示窗口便会自动被清除。 (5) TIMEOUT子句用于指定WAIT命令等待的时间。如果在由所限定的秒数之内用户仍未移动鼠标或按下任一键,则程序便继续执行。 (6) WAIT只需用户按一个键,命令的执行速度快,常用于

12、等待用户对某个问题的确认。,Visual FoxPro,15,4.三条输入命令的异同 (1) WAIT 只允许字符型,且C=1。 (2) ACCEPT 也只允许字符型,且C254。 (3) INPUT允许C型、N型、D型和L型。 当是C型时,输入要加引号,且C254。 当是N型时,可以直接输入,且N19。 当是D型时,要用严格的日期格式。 当是L型时,两边的圆点不能丢。,Visual FoxPro,16,5、非格式输出命令: 命令格式:?|? 功能:一个问号是从屏幕下一行的第一列开始显示表达式表的结果,二个问号是从屏幕当前行、当前列开始显示表达式表的结果。“表达式表”可以由一个或多个表达式组成

13、的输出项,若多个表达式,则表达式之间用逗号“,”分隔。,6、格式输出命令的基本形式 命令格式: SAY 命令在指定位置输出表达式的值。 (1) 指定了输出的位置。标准屏幕是25行80列,左上角顶点为(0,0),右下角坐标为(24,79)。 (2) 行、列都可为表达式,还可为小数。,例如: 2,10 say “请输入记录号:” 2,10 say 100/5/2,Visual FoxPro,17,格式输入命令: 命令格式: say get default 功能:在屏幕上按“行、列”指定位置上显示“say”子句的“表达式1”的值,并可修改“get”子句的变量值。 注意:“get”子句的变量必须用“r

14、ead”命令来激活。 激活命令: 命令格式:read 功能:用于激活“get”子句中的变量。,【例】 set talk off clear use students appe blank 10,20 say “请输入学号” get xh1 default space(8) 11,20 say “请输入姓名” get xm1 default space(8),read repl xh with xh1,xm with xm1 disp set talk on use,Visual FoxPro,18,7.2.2 顺序结构:顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。 【例

15、5】将学生表中学号为20050008的学生姓名“万华”改为“万强”。 CLEAR SET TALK OFF OPEN DATABASE学生学籍 USE学生 ACCEPT “请输入要修改记录的学号:“ to xh LOCATE FOR 学号=xh REPLACE 姓名 WITH “万强“ USE CLOSE DATABASE SET TALK ON RETURN,Visual FoxPro,19,7.3.1 双分支选择语句 语句格式: IF ELSE ENDIF 执行过程: 如果成立,就执行命令组1,命令组1执行完成后就转到ENDIF之后的命令。如果不成立,当有ELSE子句时,执行命令组2,命令

16、组2执行完成后转去执行ENDIF之后的命令,当没有ELSE子句时,则直接转到ENDIF之后的命令。,7.3 选择结构程序,e,.T.,BLOCK1,ENDIF,.F.,BLOCK2,Visual FoxPro,20,【例6】试编一程序,根据输入的三角形边长,求三角形面积。,clea input ”请输入边长a:” to a input ”请输入边长b:” to b input ”请输入边长c:” to c if a+bc or b+ca or c+ab WAIT(”输入的三个边长不能组成三角形!”) retu endif l=(a+b+c)/2 ? ”三角形面积s=”,sqrt(l*(l-a)*(l-b)*(l-c) retu,Visual FoxPro,21,例E7:任意输入一个正整数,编程判断是“奇数”还是“偶数”。,SET TALK OFF CLEAR INPUT “请输入一个正整数: “ TO

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

当前位置:首页 > 高等教育 > 大学课件

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