visual foxpro 程序设计:程序文件的常用命令_第1页
visual foxpro 程序设计:程序文件的常用命令_第2页
visual foxpro 程序设计:程序文件的常用命令_第3页
visual foxpro 程序设计:程序文件的常用命令_第4页
visual foxpro 程序设计:程序文件的常用命令_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1,本次课的教学内容: 程序文件的常用命令、程序的基本结构 本次课的教学目的与要求: 1、程序文件的常用命令 2、三种基本结构 本次课的教学重点与难点:重点:常用命令、基本结构 讲授课时:2学时,2,第十六讲 结构化程序设计,3,程序设计概述,算法的概念 解决问题的方法和步骤称为算法。要编写解决问题的程序,首先应设计算法,任何一个程序都依赖于特定的算法,有了算法,再来编写程序是很容易的事情。,4,算法的描述,算法的描述有许多方法,常用的有:自然语言、一般流程图、NS图等。一般流程图 一般流程图用矩形框表示要进行的操作,用菱形框表示判断,用流程线将各步操作连接起来。 主要优点:直观性强、容易掌握。 缺点: 对流程线的使用没有严格限制;难以阅读。2.N-S图(结构化流程图) N-S图由美国学者I.Nassi和B.Shneiderman提出,它以三种基本结构作为构成算法的基本元素,每一种基本结构用一个矩形框来表示,而且取消了流程线,各基本结构之间保持顺序执行关系。,5,结构化程序设计,自顶向下、逐步求精是结构化程序设计的重要思想,它将问题求解由抽象逐步具体化,符合人们解决复杂问题的普遍规律,可以显著提高程序设计的质量和效率。 模块化是结构化程序的重要原则。所谓模块化就是把大程序按照功能分为较小的程序。一般地讲,一个程序是由一个主控模块和若干子模块组成的。主控模块用来完成某些公用操作及功能选择,而子模块用来完成某项特定的功能。,6,程序的模块化结构图,7,程序文件的建立、修改与运行,程序文件的建立或修改1.菜单方式 在VFP下,选择文件菜单中的新建命令,并选择程序文件类型然后按“新建文件”按钮,VFP命令窗口中生成MODIFY COMMAND命令,并显示程序编辑窗口。2. 命令方式 命令格式: MODIFY COMMAND |? MODIFY FILE |? 命令功能:打开程序文件编辑窗口,建立或者修改一个程序文件。 使用说明:如果没有给文件指定扩展名,则MODIFY COMMAND默认为PRG,而MODIFY FILE却默认为空,所以使用MODIFY FILE建立程序文件时文件名必须带扩展名PRG。,8,运行程序,命令格式:DO 命令功能:执行一个VFP程序文件或其它文件。使用说明: (1) 如果文件名不带扩展名,则VFP按下列顺序寻找并执行这些程序:可执行文件(.EXE)、应用程序(.APP)、编译后的目标程序文件(.FXP)和程序文件(.PRG)。 (2) 一个程序应当有一个结束命令,程序执行时,若遇到RETURN、CANCEL和QUIT等结束命令,则将返回到调用处、命令窗口或Windows操作系统。,9,程序文件的常用命令,注释语句 NOTE * & Note 示例程序Clear&清屏命令Use 学生基本情况表&打开待用表List for 性别=“男”&显示所有男生数据Use&关闭表Return&返回系统,10,基本输入输出命令,(1) 字符串(C)接收命令 ACCEPT TO (2) 任意数据(C,N,L,D)输入命令 INPUT TO (3) 单个字符(C)接收命令 WAIT TO WINDOW AT , TIMEOUT ,11,例: clear accept “请输入数据表:” to ss use &ss input “请输入学生姓名:” to xm locate for 姓名=xm display use return,12,格式输入输出命令的基本形式,1. 格式输出命令的基本形式 SAY 2. 格式输入命令的基本形式 SAY GET READ,13,例: clear use 学生基本情况表 append blank 3,4 say “请输入姓名:”get name defa space(8) read 4,4 say “政治面貌:” get 政治面貌 6,4 say “联系电话:” get 联系电话 read use return,14,文本块输出命令,TEXT ENDTEXT,15,程序的三种基本结构,(1) 顺序结构 顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。Visual FoxPro系统中的大多数命令都可以作为顺序结构中的语句。 ,16,顺序结构程序设计,顺序结构是最简单、最基本的一种程序结构。特点:程序从最前面的第一条语句开始一条一条地依次执行一组语句,整个语句组结束了程序也就结束了。常用状态设置命令 SET TALK ON|OFF SET PRINT ON|OFF SET CONSOLE ON|OFF SET SAFETY ON|OFF SET COLOR TO ,SET DEFAULT TO 盘符:路径 SET DEVICE TO PRINTER|SCREEN|FILE ,17,顺序结构示例:,例:由用户从键盘输入圆半径,并计算的圆面积的结果在屏幕上显示。set talk offclearstore 0 to r &圆半径的初值设为0store 3.14159 to pi &圆周率 8,10 say “请输入圆半径:” get r &半径r 的缺省值为0read &通过read修改r的值s=pi *r2 &计算圆的面积 10,10 say “圆半径是:” get r &其后无read语句,不能 10,10 say “圆面积是:” get s &对get 后面的变量进行修改clear gets &隔断后继的read对其修改 set talk onreturn,18,顺序结构示例:,在学生基本情况表.dbf中,按学号查询学生的情况。 程序如下: CLEAR SET TALK OFF * SET COLOR TO B/GR+,W/B,R USE 学生基本情况表 ACCEPT “请输入待查学生的学号: TO bh1 LOCATE FOR 学号=bh1 DISP 学号,姓名,所在班级 * 15,6 SAY 学号 *15,14 SAY 姓名 *15,25 SAY 所在班级 USE SET TALK ON RETURN,19,分支结构(条件选择),分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。,20,选择结构程序设计,双分支选择语句 1. 简单选择语句 语句格式: IF ENDIF 执行过程: 如果成立,就执行命令组,命令组执行完成后就转到ENDIF之后的命令。如果不成立,则直接转到ENDIF之后的命令。,21,单分支应用举例:,根据输入的学生姓名,在学生基本情况表.dbf中查找学生记录 SET TALK OFF USE学生基本情况表 name=space(8) 10,5 SAY “请输入学生姓名: GET name READ LOCATE FOR 姓名=name &在表中查找记录,姓名是字段名 IF .NOT.FOUND() &若查找成功,FOUND()函数返回.T.,否则返回.F. 12,5 SAY “对不起,该学校无此人! CANCEL ENDIF DISPLAY &找到,显示该记录 SET TALK ON USE RETURN,22,从键盘上输入A的值,然后根据A的值判断B的值 CLEAR INPUT TO A B=0 IF A=0 B=1 ENDIF ?”A=“,A,”B=“,B RETURN,23,双分支选择语句,语句格式: IF ELSE ENDIF 执行过程: 如果成立,就执行命令组1,命令组1执行完成后就转到ENDIF之后的命令。如果不成立,执行命令组2,命令组2执行完成后转去执行ENDIF之后的命令。,24,双分支应用举例:,CLEAR Y=0 INPUT TO X IF X=0 IF X0 Y=1 ENSE Y=0 ENDIF ELSE Y=-1 ENDIF ? Y,25,双分支应用举例:,口令检查程序 SET TALK OFF CLEAR 10,10 SAY 请输入口令: SET CONSOLE OFF ACCEPT TO pw SET CONSOLE ON IF UPPE(pw)LPP WAIT WINDOW 口令错误!按任意键退出 QUIT ELSE ?“欢迎使用本系统” ENDIF SET TALK ON RETURN,26,双分支应用举例:,从键盘输入所要打开的数据表文件名,若该文件存在则打开该文件并进行浏览,否则给出有关信息。 SET TALK OFF ACCEPT 请输入数据表文件名 TO dbfile IF FILE(dbfile+.dbf) USE &dbfile BROWSE ELSE ? &dbfile.数据表文件不存在! ENDIF SET TALK ON RETURN,27,多分支选择语句,语句格式: DO CASE CASE CASE OTHERWISE ENDCASE,执行过程: 在执行DO CASE语句时,依次判断各是否满足,若满足,就执行该条件后的命令组,直到遇到下一个CASE、OTHERWISE或ENDCASE。命令组执行后不再判断其他条件,而转向执行ENDCASE后面的第一条命令。所以在一个DO CASE结构中,最多只能执行一个CASE语句。 如果没有一个满足,就执行OTHERWISE后面的命令组,直到ENDCASE。如果没有OTHERWISE,则不作任何操作就转向ENDCASE之后的第一条命令。,28,多分支应用举例:,例1 为学生学籍管理系统编写简单的菜单程序。SET TALK OFFUSE 学生基本情况表CLEAR 10,20 SAY ”*学生学籍管理系统主菜单*” 11,20 SAY ”* 1.增加学生记录 *” 12,20 SAY ”* 2.查询学生记录 *” 13,20 SAY ”* 3.打印学生记录 *” 14,20 SAY ”* 0.退出系统 *” 15,20 SAY ”*欢迎使用*” WAIT 请输入你的选择(03) TO ch DO CASE CASE ch=0 ? 谢谢使用,再见 CLOSE ALL RETURN CASE ch=1 DO zjjl &增加学生记录模块 CASE CH=2 DO cxjl &查询学生记录模块 CASE CH=3 DO dyjl &打印学生记录模块 ENDCASE SET TALK ON RETURN,29,例2 在学生基本情况表.dbf中,查询“王二小”的记录,根据其性别和年龄确定参加运动会的项目。 SET TALK OFF USE 学生基本情况表.dbf LOCATE FOR 姓名=王二小 IF .NOT.EOF() &若找到了,EOF()函数的值为.F.,NOT.EOF()为.T. DO CASE CASE 性别=男 ? 请参加拔河比赛 CASE 性别=“女”.AND.YEAR(DATE()-YEAR(出生年月)20 ? “请参加投篮比赛 ENDCASE ELSE ? “该学校无此人 ENDIF SET TALK ON RETURN,30,作业:,一、书面作业 Visual Foxpro程序设计上机与考试指南中P197考试练习

温馨提示

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

评论

0/150

提交评论