vfp第六章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.3
(1)分析问题 ) (2)确定算法 ) (3)画出流程框图 ) (4)编写程序 ) 5) (5)调试程序
结构化程序设计
一、程序设计的概念和步骤
(6)建立建全的文档资料 ) 二、结构化N-S流程图 结构化 流程图
1、顺序结构
2、选择结构 、 3、循环结构 、
三、顺序结构程序设计 根据编写程序所需命令语句的 先后顺序书写每一条命令,该顺序则 先后顺序书写每一条命令, 是程序的执行顺序。如习题3.41程序。 程序。 是程序的执行顺序。如习题 程序 四、分支结构程序设计 1、简单选择 、 格式:IF <条件 条件> 格式: 条件 <命令序列 命令序列1> 命令序列 ENDIF
3、多种选择(IF的嵌套) 、多种选择( 的嵌套 的嵌套) 格式: 格式: if <条件 条件1> 条件 <命令序列 命令序列1> 命令序列 if <条件 条件2> 条件 <命令序列 命令序列2> 命令序列 else <命令序列 命令序列3> 命令序列 endif Else <命令序列 命令序列4> 命令序列 Endif
3、修改程序:主菜单笺程序——打开 、修改程序:主菜单笺程序 打开——文件名,进入程序编 文件名, 打开 文件名 辑窗口,进行修改。 辑窗口,进行修改。 习题4.38 如:习题
6.2
程序的交互式命令
一、人机交互式输入语句 程序在运行过程中需要用户从键盘上输入任意数据,此时程 程序在运行过程中需要用户从键盘上输入任意数据, 序运行暂停,等待用户输入数据并回车,才继续向下执行程序。 序运行暂停,等待用户输入数据并回车,才继续向下执行程序。这 种人机对话方式实现赋值语句有以下三种: 种人机对话方式实现赋值语句有以下三种: 1、ACCEPT 、 格式:ACCEPT [<提示信息 TO <内存变量 提示信息>] 内存变量> 格式: 提示信息 内存变量 功能:从键盘上输入字符串并赋给内存变量。 功能:从键盘上输入字符串并赋给内存变量。 2、WAIT 、 格式: 提示信息>] 内存变量> 格式:WAIT [<提示信息 [TO <内存变量 ] 提示信息 内存变量 功能:从键盘上输入单字符,可赋给内存变量。 功能:从键盘上输入单字符,可赋给内存变量。 如命令中无选项[<提示信息 屏幕将显示“按任意键继续…” 提示信息>] 注:如命令中无选项 提示信息 屏幕将显示“按任意键继续
例题2:查询某课程某分数的学生信息。 例题 :查询某课程某分数的学生信息。 程序1 程序 : SET TALK OFF CLEAR USE STU1 ACCEPT “请输入查询的课程名 :” TO KZM 请输入查询的课程名 INDEX ON &KZM TO KK Set index to kk INPUT “请输入查询的分数: ” TO FS 请输入查询的分数: 请输入查询的分数 SEEK FS DISP SET TALK ON USE
第六章
VFP程序设计 VFP程序设计
二种工作方式: 、交互式——命令窗口 二种工作方式:1、交互式 命令窗口 2、程序方式——程序编辑窗口,以文件形 、程序方式 程序编辑窗口, 程序编辑窗口 式保存,叫命令文件,其扩展名为.prg 式保存,叫命令文件,其扩展名为 6.1 程序的建立和执行 一、程序的建立 格式: 格式:MODIFY COMMAND <文件名 文件名> 文件名
例题6.7:从键盘上任意输入一个数,请判断是偶数还是奇数。 例题 :从键盘上任意输入一个数,请判断是偶数还是奇数。 程序如下: 程序如下: Set talk off Input “请输入任意数” to no 请输入任意数” 请输入任意数 If int(no/2)=no/2 ? “是偶数” 是偶数” 是偶数 Else ? “是奇数” 是奇数” 是奇数 Endif Set talk on
二、程序的执行 格式: 文件名> 格式:DO <文件名 文件名 功能:执行<文件名 所指的程序。 文件名>所指的程序 功能:执行 文件名 所指的程序。
例如:建立程序 例如 建立程序AA.PRG 建立程序 命令窗口: 命令窗口 Modify command aa
进入程序编辑窗口,输入命令语句 以文件名 保存。 进入程序编辑窗口 输入命令语句,以文件名 输入命令语句 以文件名AA.PRG保存。 保存 执行程序: 执行程序: 命令窗口: 命令窗口:DO AA
命令语句序列1 命令语句序列 命令语句序列2 命令语句序列 命令语句序列3 命令语句序列 ……..
功能:判断条件如为 ,执行<命令序列 命令序列1> 功能:判断条件如为.T.,执行 命令序列 中的语 否则跳过<命令序列 而执行ENDIF后的语句。 命令序列1> 后的语句。 句,否则跳过 命令序列 而执行 后的语句
3、文本显示命令 、 格式:TEXT 格式: <文本字符 文本字符> 文本字符 ENDTEXT 功能: 之间的<文本字符 原样输出。 功能:TEXT 与ENDTEXT之间的 文本字符 原样输出。 之间的 文本字符>原样输出 例:set talk off text 调课通知 00511班今天上午 、2节的《计算机基础》课程改在明 班今天上午1、 节的 计算机基础》 节的《 班今天上午 节上课。 天1、2节上课。请互相转告 、 节上课 endtext set ta现有学生成绩表STU1,编程查询某学生的信息。 ,编程查询某学生的信息。 在命令窗口输入: 进入程序编辑窗口, 在命令窗口输入:MODIFY COMMAND XM (进入程序编辑窗口,
输入命令语句如下:) 输入命令语句如下:)
SET TALK OFF CLEAR 1 USE stu1 ACCEPT “请输入查询学生的学号:” TO NA 请输入查询学生的学号: 请输入查询学生的学号 LOCATE ALL FOR 学号 学号=NA DISP OFF 学号 姓名 计算机基础 学号, 姓名, SET TALK ON USE 运行程序: 运行程序: DO XM 请输入查询学生的姓名: 请输入查询学生的姓名:962104 姓名 学号 计算机基础 王小菲 962104 94.00
功能:建立或修改 文件名 所指的命令文件。 文件名>所指的命令文件 功能:建立或修改<文件名 所指的命令文件。 说明:作为新建立程序,指该<文件名 为新文件名。 作为 说明:作为新建立程序,指该 文件名>为新文件名。 文件名 为新文件名 修改程序,指该<文件名 已存在。修改程序时, 文件名>已存在 修改程序,指该 文件名 已存在。修改程序时,将自动复制一个与 命令文件同名但扩展名为.BAK的备份文件。 的备份文件。 命令文件同名但扩展名为 的备份文件
4、选择语句 、 格式: 格式: DO CASE CASE < 条件 条件1> <命令序列 > 命令序列1 命令序列 CASE < 条件 条件2> <命令序列 > 命令序列2 命令序列 CASE < 条件 条件3> <命令序列 > 命令序列3 命令序列 … … CASE < 条件 条件n> <命令序列 > 命令序列n 命令序列 [OTHERWISE] [<命令序列 命令序列N+1>] 命令序列 ENDCASE 功能:按顺序判断 条件>,当其中某< 功能:按顺序判断< 条件 ,当其中某 条 为真.T.时 程序执行其< 条件>下的 下的<命 件>为真 时,程序执行其 条件 下的 命 为真 令序列 >,执行完后转到 ,执行完后转到ENDCASE后继续 后继续 执行。 执行。 都为.F.时 注:当所有< 条件 都为 时,如果有选项 当所有 条件>都为 [OTHERWISE]则执行 命令序列 则执行[<命令序列 则执行 命令序列N+1 ], , 如无则执行ENDCASE后面的语句。 后面的语句。 如无则执行 后面的语句
程序2: 程序 : SET TALK OFF CLEAR USE STU1 ACCEPT “请输入查询的课程名 :” TO KZM 请输入查询的课程名 INPUT “请输入查询的分数: ” TO FS 请输入查询的分数: 请输入查询的分数 LOCATE FOR &KZM=FS DISP OFF SET TALK ON USE
三、菜单方式 1、建立程序:主菜单笺文件——新建 、建立程序:主菜单笺文件 新建——新文件 新文件——进入程序编 新建 新文件 进入程序编 不能用向导方式建立命令文件。) 辑区(注:不能用向导方式建立命令文件。)
2、执行程序:主菜单笺程序——程序 、执行程序:主菜单笺程序 程序——运行 运行——文件名 程序 运行 文件名 运行结果显示在屏幕上,如程序有错, 运行结果显示在屏幕上,如程序有错,则显示错误信息并指出错误 语句,修改后再运行,直到运行结果正确。 语句,修改后再运行,直到运行结果正确。
3、INPUT 、 格式: 提示信息>] 内存变量> 格式:INPUT [<提示信息 TO <内存变量 提示信息 内存变量 功能:从键盘上输入数据并赋给内存变量。 功能:从键盘上输入数据并赋给内存变量。 数据可是字符型、数值型、逻辑型, 注:数据可是字符型、数值型、逻辑型,内存变量的类型由输入的 数据类型决定。 数据类型决定。
第六章
VFP程序设计 VFP程序设计
6.1 程序的建立和执行 6.2 程序的交互式命令 6.3 结构化程序设计 6.4 子程序与过程文件及用户自定义函数 6.5 屏幕显示格式程序设计
6.6 报表设计器(Report Designer) 报表设计器( 6.7 菜单程序设计与菜单设计器(Menu Designer) ) 6.8 程序的调试和调试器(上机实际操作) 上机实际操作)
2、选择判断 、 格式: 条件> 格式:IF <条件 条件 <命令序列 命令序列1> 命令序列 ELSE <命令序列 命令序列2> 命令序列 ENDIF 命令序列1 命令序列 命令序列2 命令序列 T 条件 F
功能:判断条件如为 ,执行<命令序列 命令序列1> 功能:判断条件如为.T.,执行 命令序列 中的 语句,执行ENDIF后的语句;如<条件 为.F.,则 后的语句; 条件>为 , 语句,执行 后的语句 条件 执行<命令序列 命令序列2> 再执行ENDIF后的语句。 后的语句。 执行 命令序列 ,再执行 后的语句
二、程序设计的辅助命令 1、中止程序命令 、 格式一: 格式一:CANCEL 功能:结束程序的运行,返回命令窗口,同时关闭所有文件。 功能:结束程序的运行,返回命令窗口,同时关闭所有文件。 格式二: 格式二:SUSPEND 功能:暂时中止程序的运行,返回命令窗口。 功能:暂时中止程序的运行,返回命令窗口。 当选择主菜单笺程序—继续运行或在命令窗口输入 当选择主菜单笺程序 继续运行或在命令窗口输入RESUME 继续运行或在命令窗口输入 命令。系统都将从中止程序的地方继续执行。 命令。系统都将从中止程序的地方继续执行。 2、注释命令 、 格式一:NOTE*<注释字符串 格式一: 注释字符串> 注释字符串 格式二: 注释字符串> 格式二:&&<注释字符串 注释字符串
程序中如嵌套次数过 大于三次), ),易 多(大于三次),易 发生逻辑错误。 发生逻辑错误。
例如:用学生成绩表 例如:用学生成绩表STU1.DBF来查询某学生计算 来查询某学生计算 机基础课成绩是优良( 或中( 成绩>= 机基础课成绩是优良(>=80) 或中(80 >成绩 60)、 成绩 、 不及格。 不及格。 Set talk off Use stu1 Index on 学号 to xj Acce “输入学号” to no 输入学号” 输入学号 Seek no If .not. Eof() &&测试文件结束函数 测试文件结束函数 if 计算机基础 计算机基础<60 ? 学号,计算机基础不及格 学号, else IF 计算机基础 计算机基础>=80 ? 学号,“计算机基础为优良” 学号 计算机基础为优良” 计算机基础为优良 ELSE ? 学号 计算机基础为中” 学号,“计算机基础为中 计算机基础为中” ENDIF endif Else ? ” 没有该学号的学生。“ 没有该学号的学生。 Endif
程序2: 程序 : SET TALK OFF CLEAR USE STU1 INDEX ON 学号 TO XH SET INDEX TO XH ACCEPT “请输入查询学生的姓名:” TO NN 请输入查询学生的姓名: 请输入查询学生的姓名 SEEK NN DISP OFF 学号 姓名 计算机基础 学号, 姓名, WAIT “需要打印吗(Y/N)?:” TO AB 需要打印吗( )?:” 需要打印吗 )?: IF AB=“Y” SET PRINT ON 姓名,学号 学号,计算机基础 ?姓名 学号 计算机基础 SET PRINT OFF ENDIF SET TALK ON USE