数据库基础 第六章 结构化程序设计基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库应用基础 11
6.1.3程序调试
1、程序中的常见错误
(1)语法错误:例如命令拼写错误、命令格式写错、使用了未
定义的变量、数据类型不匹配、操作的文件不存在等。 特点:系统能够发现
(2)逻辑错误/语义错误:例如计算或处理逻辑有错。
特点:系统不能发现,需要通过人工来排错。
静态,通过阅读程序 人工检错的方法 动态:在程序运行过程中,发现异常
数据库应用基础 24
6.2.3 循环结构
循环结构程序:是重复执行一段命令序列若干次或重复执行 一段命令序列直到满足某种条件为止。Visual FoxPro中共 有3种形式,2条辅助语句。
循环结构语句
语
句
名
称
DO WHILE-ENDDO FOR-ENDFOR SCAN-ENDSCAN
条件循环 计数循环 指针循环
【功能】 语句执行时,先判断<条件表达式>的值,若为真,则执 行循环体内的命令,即DO 与ENDDO之间的命令;若为假,则执行 ENDDO后面的命令。 数据库应用基础 26
6.2.3 循环结构
条件为真吗? 真
假
假 条件为真吗?
条件为真吗?
循环体
真
真
条件为真吗?
假 循环体 LO O P
LO O P
真
通过商品进销存 实例介绍VF的功 能、数据库应用 系统的基本结构 及开发过程
数据库应用基础 2
第三部分 应用程序设计
第六章 结构化程序设计基础
6.1 程序的概述
6.2 基本程序结构
6.3 子程序、过程和自定义函数
数据库应用基础 3
第六章 结构化程序来自百度文库计基础
学习目标
l 了解Visual FoxPro 6.0中程序创建、调试和运行方法 l 掌握常用程序设计语句 l 掌握结构化程序设计的三种结构 l 了解输入输出格式
数据库应用基础 4
第六章 结构化程序设计基础
教学重点
1.程序中常用的简单语句:输出语句、等待语句、清屏 语句、内存变量接收/输出语句、返回语句
2.事件程序设计:顺序结构、选择结构、循环结构、过
程及其调用
数据库应用基础 5
6.1
程序的概述
6.1.1 程序的基本概念 程序是为了完成一定任务,严格按照某个语法 规则,依据适合该任务的计算模型编写的的语句 或命令的有序集合。
格式 IF <逻辑表达式> <语句序列1> ENDIF 注意:IF和ENDIF必须成对出现
数据库应用基础 18
6.2 基本程序结构
【例6.4】对spxx.dbf进行操作,输入待查商品编号,如果 该商品为饮料,则显示其商品名称和零售价。
* prog6-4.prg SET TALK OFF CLEAR USE spxx @ 4,10 SAY "请输入商品编号:" GET bh DEFAULT SPACE(6) READ LOCATE ALL FOR 商品编号=bh IF 类别="饮料" @ 8,10 SAY "商品名称:"+商品名称 @ 10,10 SAY "商品零售价格:"+STR(零售价,8,2) ENDIF USE SET TALK ON 数据库应用基础 19
命令。命令的具体功能大家通过实验体会。
数据库应用基础 14
6.1.4程序设计的常用输入输出命令
1.基本输入输出命令 基本输入/输出命令包括WAIT、ACCEPT、INPUT和?等。 (课本第29页,第二章)
2.格式化输入输出命令格式: 命令: @<行号,列号> SAY<表达式> [GET<内存变量>l<字段名>] DEFAULT<表达式> 功能:在当前窗口中指定的位置处显示并可接受数据。 说明:
6.2 基本程序结构
Visual FoxPro程序有三种基本结构:
顺序结构、分支结构和循环结构 1. 顺序结构
顺序结构是程序中最简单、最常用的基本结构。按照顺序执行 【例6.3】根据输入的半径值,编程计算出相应的圆的面积。
* prog6-3 SET TALK OFF
CLEAR
INPUT "请输入圆的半径:" TO r s=3.1416*r*r @10,10 SAY "圆的面积是:"+STR(s,9,3) && STR是数值转换函数
循环体 E X IT
循环体 E X IT
E N D D O 后 面 E N语 D O 的 D 句
后面的语句
E的语 O E N D D O 后 面 N D D句
后面的语句
数据库应用基础 27
【说明】 对循环语句进行以下说明: DO WHILE 和ENDDO子句要配对使用。 DO WHILE <条件表达式>是循环语句的入口;ENDDO是循 环语句的出口;中间<命令行序列>是重复执行的循环体。 LOOP和EXIT只能在循环语句中使用,其中LOOP是转到循 环的入口语句;EXIT是强行退出循环的语句。
6.1.2程序文件的编辑与执行
(4) 程序文件的执行 菜单方式:选择“程序”→“运行”命令,
命令方式:DO
说明:
<程序名>
1)在程序运行过程中,若按ESC键可使运行强行中断。这
时系统显示警告,并给用户三种选择:
取消:中断程序的运行,此为缺省选项。 继续:忽略ESC的中断作用,继续程序的执行。
挂起:暂时中断程序的运行,返回命令窗口。当再次
程序具有以下特点 可被修改并重新运行 程序可从菜单、表单和工具栏下启动 程序可调用其他程序 可以多次运行 返回 数据库应用基础 6
6.1.2程序文件的编辑与执行
(1)程序文件的创建
命令方式:MODIFY COMMAND <程序名> 菜单方式:“新建”->“程序” ->“新建文件”
说明:
(1)<程序名>:指定被编辑的程序文件名,当使用MODIFY COMMAND命 令时,若<文件名>不包含扩展名时,系统默认为.PRG。 (2)当系统执行MODIFY COMMAND命令时,程序文件不存在则以此文件 名建立一个新文件,反之,则打开文件,并将其显示在一个编辑 窗口中。 (3)退出文本编辑窗口的方法主要有: 在编辑窗口中单击关闭按钮:保存修改内容。 按Esc或Ctrl+Q键:不保存修改内容 数据库应用基础 7
运行时可以从中断处继续运行。
数据库应用基础 9
6.1.2程序文件的编辑与执行
【例6.1】建立程序prog6-1.prg,列出spxx.dbf中所有日用品 的商品编号、商品名称、零售价,并输出饮料的平均零售价。
* prog6-1.prg CLEAR && 清屏幕 SET TALK OFF && 不显示某些命令执行状态信息 USE spxx LIST 商品编号,商品名称,零售价 FOR 类别='日用品' AVERAGE 零售价 TO a FOR 类别='饮料' ? a USE SET TALK ON
Y=
X2+4X-1 3X2-2X+1 X2+1 (X<=0) (0<X≤10) (X>10)
*prog6-7 SET TALK OFF CLEAR INPUT "x=" TO x DO CASE CASE x<=0 y=x*x+4*x-1 CASE x>0 .and. x<=10 y=3*x*x-2*x+1 CASE x>10 y=x*x+1 ENDCASE ? "分段函数值为:"+STR(y,10,2) SET TALK ON
6.2 基本程序结构
说 明:
(1)如果所有CASE条件都不成立,且没有OTHERWISE 子句,则直接跳出本结构。 (2)DO
CASE和ENDCASE必须成对出现,DO
CASE是本结构的入口,ENDCASE是本结构的出口。
数据库应用基础 23
6.2 基本程序结构
【例6.7】根据输入X的值,计算下面分段函数的值,并显示结果。
6.1.2程序文件的编辑与执行
(2)程序文件的保存 菜单方式:选择“文件”→“另存为”命令.
快捷鍵方式: Ctrl+W
当需要输入文件名时,在对话框中输入文件 名,单击“保存”
(3)程序文件的修改
菜单方式:选择“文件”→“打开”命令.
命令方式:MODIFY COMMAND <程序名>
数据库应用基础 8
数据库应用基础 28
6.2.3 循环结构
【例6.8】逐个显示spxx.dbf中饮料类的商品编号、商品名 称和零售价。
* prog6-8.prg SET TALK OFF CLEAR USE spxx LOCATE FOR 类别="饮料" DO WHILE not EOF() DISP 商品编号,商品名称,零售价 CONTINUE WAIT "按任意键,继续显示下一个" WINDOWS ENDDO USE SET TALK ON 数据库应用基础 29
(1)<行, 列>:显示输出的起始位置。
(2)SAY <表达式>:首先计算表达式的值,然后在指定位置输出。 (3)GET<变量>:将需要输入(修改)的所有变量定位,然后等待
READ命令激活,开始输入或修改。
(4)DEFAULT<表达式>:赋初值。 数据库应用基础 15
演示课本110页,例6.2
数据库应用基础 16
数据库应用基础
——Visual FoxPro 6.0
1
前言
课程内容
第1部分 VF基础知识
第2部分 数据库操作
第3部分 程序设计
第4部分 VF应用系统开发
数据库的基础知 识。VF基本组 成部分(数据类 型、函数、表达 式、变量)等
学习VF6.0系统 的基本操作命令、 表的建立、维护、
查询、统计等
VF6.0系统的程序 设计方法(结构化 程序设计、面向 对象程序设计)、 表单、菜单、报 表设计的方法等
SET TALK OFF CLEAR INPUT ―请输入邮件的重量:” TO W IF W<=100 F=W*0.05 ELSE F=100*0.05+(W-100)*0.02 ENDIF ? ―邮费总额:‖, F SET TALK ON
数据库应用基础 21
6.2 基本程序结构
3.多向分支
【格式】 DO CASE CASE <条件表达式1> <命令行序列1> CASE <条件表达式2> <命令行序列2> …… CASE <条件表达式n> <命令行序列n> [OTHERWISE] <命令行序列n+1>] ENDCASE 数据库应用基础 22
6.2 基本程序结构
2. 双重选择分支(IF-ELSE-ENDIF)命令
格式:IF <条件表达式>
<语句行序列1>
ELSE <语句行序列2> ENDIF
数据库应用基础 20
6.2 基本程序结构
【例6.5】邮局的寄送包裹的计费标准是:每克为0.05元; 超过100克后,每超出1克为0.02元。试编程计算。
数据库应用基础 10
6.1.2程序文件的编辑与执行
程序的书写规则
(1)程序中每条命令都以回车键结尾,一行只能写一条命令。 若命令需分行书写,应在一行终了时键入续行符“;” (2)程序中可插入注释,以提高程序的可读性。 注释行以符号“*”开头,它是一条非执行命令,仅在程序 中显示。命令后也可添加注释,这种注释以符号“&&”开头。 (3)SET TALK ON∣OFF命令 许多数据处理命令(如AVERAGE、SUM、SELECT—SQL等)在执 行时都会返回一些有关执行状态的信息,这些信息通常会显示在 Visual FoxPro主窗口、状态栏或用户自定义窗口里。SET TALK 命令用(ON)、否(OFF)显示这些信息。默认值为ON。
SET TALK ON
数据库应用基础 17
6.2.2 选择结构
选择结构是指在程序执行时,根据不同的条件,选择执行不同
的程序语句。(注意语句与命令是不同的,不能单独使用)
Visual FoxPro提供了以下3种分支结构语句: 单向分支语句:IF—ENDIF 双向分支语句:IF—ELSE—ENDIF 多向分支语句:DO CASE—ENDCASE 1、单分支(IF-ENDIF)命令
动态检错的工具-调试器:
数据库应用基础 12
6.1.3程序调试
2.调用调试器 (1)选择“工具”→“调试器”命令。
正在执 行的代 码行 断点
跟踪窗口
监视窗口
局部窗口
数据库应用基础 13
6.1.3程序调试
3.调试菜单 “调试”菜单包含执行程序、选择执行方式、
终止程序执行、修改程序以及调整程序执行速度等
循环结构辅助语句 名称
语句
LOOP EXIT
重新循环 退出循环
数据库应用基础 25
6.2.3 循环结构
1 条件循环
条件循环是根据条件表达式的值,决定循环体内语句的执行次 数,也称为当型循环。
【语句】DO WHILE <条件表达式> <命令行序列1> [LOOP] <命令行序列2> [EXIT] <命令行序列3> ENDDO
6.1.3程序调试
1、程序中的常见错误
(1)语法错误:例如命令拼写错误、命令格式写错、使用了未
定义的变量、数据类型不匹配、操作的文件不存在等。 特点:系统能够发现
(2)逻辑错误/语义错误:例如计算或处理逻辑有错。
特点:系统不能发现,需要通过人工来排错。
静态,通过阅读程序 人工检错的方法 动态:在程序运行过程中,发现异常
数据库应用基础 24
6.2.3 循环结构
循环结构程序:是重复执行一段命令序列若干次或重复执行 一段命令序列直到满足某种条件为止。Visual FoxPro中共 有3种形式,2条辅助语句。
循环结构语句
语
句
名
称
DO WHILE-ENDDO FOR-ENDFOR SCAN-ENDSCAN
条件循环 计数循环 指针循环
【功能】 语句执行时,先判断<条件表达式>的值,若为真,则执 行循环体内的命令,即DO 与ENDDO之间的命令;若为假,则执行 ENDDO后面的命令。 数据库应用基础 26
6.2.3 循环结构
条件为真吗? 真
假
假 条件为真吗?
条件为真吗?
循环体
真
真
条件为真吗?
假 循环体 LO O P
LO O P
真
通过商品进销存 实例介绍VF的功 能、数据库应用 系统的基本结构 及开发过程
数据库应用基础 2
第三部分 应用程序设计
第六章 结构化程序设计基础
6.1 程序的概述
6.2 基本程序结构
6.3 子程序、过程和自定义函数
数据库应用基础 3
第六章 结构化程序来自百度文库计基础
学习目标
l 了解Visual FoxPro 6.0中程序创建、调试和运行方法 l 掌握常用程序设计语句 l 掌握结构化程序设计的三种结构 l 了解输入输出格式
数据库应用基础 4
第六章 结构化程序设计基础
教学重点
1.程序中常用的简单语句:输出语句、等待语句、清屏 语句、内存变量接收/输出语句、返回语句
2.事件程序设计:顺序结构、选择结构、循环结构、过
程及其调用
数据库应用基础 5
6.1
程序的概述
6.1.1 程序的基本概念 程序是为了完成一定任务,严格按照某个语法 规则,依据适合该任务的计算模型编写的的语句 或命令的有序集合。
格式 IF <逻辑表达式> <语句序列1> ENDIF 注意:IF和ENDIF必须成对出现
数据库应用基础 18
6.2 基本程序结构
【例6.4】对spxx.dbf进行操作,输入待查商品编号,如果 该商品为饮料,则显示其商品名称和零售价。
* prog6-4.prg SET TALK OFF CLEAR USE spxx @ 4,10 SAY "请输入商品编号:" GET bh DEFAULT SPACE(6) READ LOCATE ALL FOR 商品编号=bh IF 类别="饮料" @ 8,10 SAY "商品名称:"+商品名称 @ 10,10 SAY "商品零售价格:"+STR(零售价,8,2) ENDIF USE SET TALK ON 数据库应用基础 19
命令。命令的具体功能大家通过实验体会。
数据库应用基础 14
6.1.4程序设计的常用输入输出命令
1.基本输入输出命令 基本输入/输出命令包括WAIT、ACCEPT、INPUT和?等。 (课本第29页,第二章)
2.格式化输入输出命令格式: 命令: @<行号,列号> SAY<表达式> [GET<内存变量>l<字段名>] DEFAULT<表达式> 功能:在当前窗口中指定的位置处显示并可接受数据。 说明:
6.2 基本程序结构
Visual FoxPro程序有三种基本结构:
顺序结构、分支结构和循环结构 1. 顺序结构
顺序结构是程序中最简单、最常用的基本结构。按照顺序执行 【例6.3】根据输入的半径值,编程计算出相应的圆的面积。
* prog6-3 SET TALK OFF
CLEAR
INPUT "请输入圆的半径:" TO r s=3.1416*r*r @10,10 SAY "圆的面积是:"+STR(s,9,3) && STR是数值转换函数
循环体 E X IT
循环体 E X IT
E N D D O 后 面 E N语 D O 的 D 句
后面的语句
E的语 O E N D D O 后 面 N D D句
后面的语句
数据库应用基础 27
【说明】 对循环语句进行以下说明: DO WHILE 和ENDDO子句要配对使用。 DO WHILE <条件表达式>是循环语句的入口;ENDDO是循 环语句的出口;中间<命令行序列>是重复执行的循环体。 LOOP和EXIT只能在循环语句中使用,其中LOOP是转到循 环的入口语句;EXIT是强行退出循环的语句。
6.1.2程序文件的编辑与执行
(4) 程序文件的执行 菜单方式:选择“程序”→“运行”命令,
命令方式:DO
说明:
<程序名>
1)在程序运行过程中,若按ESC键可使运行强行中断。这
时系统显示警告,并给用户三种选择:
取消:中断程序的运行,此为缺省选项。 继续:忽略ESC的中断作用,继续程序的执行。
挂起:暂时中断程序的运行,返回命令窗口。当再次
程序具有以下特点 可被修改并重新运行 程序可从菜单、表单和工具栏下启动 程序可调用其他程序 可以多次运行 返回 数据库应用基础 6
6.1.2程序文件的编辑与执行
(1)程序文件的创建
命令方式:MODIFY COMMAND <程序名> 菜单方式:“新建”->“程序” ->“新建文件”
说明:
(1)<程序名>:指定被编辑的程序文件名,当使用MODIFY COMMAND命 令时,若<文件名>不包含扩展名时,系统默认为.PRG。 (2)当系统执行MODIFY COMMAND命令时,程序文件不存在则以此文件 名建立一个新文件,反之,则打开文件,并将其显示在一个编辑 窗口中。 (3)退出文本编辑窗口的方法主要有: 在编辑窗口中单击关闭按钮:保存修改内容。 按Esc或Ctrl+Q键:不保存修改内容 数据库应用基础 7
运行时可以从中断处继续运行。
数据库应用基础 9
6.1.2程序文件的编辑与执行
【例6.1】建立程序prog6-1.prg,列出spxx.dbf中所有日用品 的商品编号、商品名称、零售价,并输出饮料的平均零售价。
* prog6-1.prg CLEAR && 清屏幕 SET TALK OFF && 不显示某些命令执行状态信息 USE spxx LIST 商品编号,商品名称,零售价 FOR 类别='日用品' AVERAGE 零售价 TO a FOR 类别='饮料' ? a USE SET TALK ON
Y=
X2+4X-1 3X2-2X+1 X2+1 (X<=0) (0<X≤10) (X>10)
*prog6-7 SET TALK OFF CLEAR INPUT "x=" TO x DO CASE CASE x<=0 y=x*x+4*x-1 CASE x>0 .and. x<=10 y=3*x*x-2*x+1 CASE x>10 y=x*x+1 ENDCASE ? "分段函数值为:"+STR(y,10,2) SET TALK ON
6.2 基本程序结构
说 明:
(1)如果所有CASE条件都不成立,且没有OTHERWISE 子句,则直接跳出本结构。 (2)DO
CASE和ENDCASE必须成对出现,DO
CASE是本结构的入口,ENDCASE是本结构的出口。
数据库应用基础 23
6.2 基本程序结构
【例6.7】根据输入X的值,计算下面分段函数的值,并显示结果。
6.1.2程序文件的编辑与执行
(2)程序文件的保存 菜单方式:选择“文件”→“另存为”命令.
快捷鍵方式: Ctrl+W
当需要输入文件名时,在对话框中输入文件 名,单击“保存”
(3)程序文件的修改
菜单方式:选择“文件”→“打开”命令.
命令方式:MODIFY COMMAND <程序名>
数据库应用基础 8
数据库应用基础 28
6.2.3 循环结构
【例6.8】逐个显示spxx.dbf中饮料类的商品编号、商品名 称和零售价。
* prog6-8.prg SET TALK OFF CLEAR USE spxx LOCATE FOR 类别="饮料" DO WHILE not EOF() DISP 商品编号,商品名称,零售价 CONTINUE WAIT "按任意键,继续显示下一个" WINDOWS ENDDO USE SET TALK ON 数据库应用基础 29
(1)<行, 列>:显示输出的起始位置。
(2)SAY <表达式>:首先计算表达式的值,然后在指定位置输出。 (3)GET<变量>:将需要输入(修改)的所有变量定位,然后等待
READ命令激活,开始输入或修改。
(4)DEFAULT<表达式>:赋初值。 数据库应用基础 15
演示课本110页,例6.2
数据库应用基础 16
数据库应用基础
——Visual FoxPro 6.0
1
前言
课程内容
第1部分 VF基础知识
第2部分 数据库操作
第3部分 程序设计
第4部分 VF应用系统开发
数据库的基础知 识。VF基本组 成部分(数据类 型、函数、表达 式、变量)等
学习VF6.0系统 的基本操作命令、 表的建立、维护、
查询、统计等
VF6.0系统的程序 设计方法(结构化 程序设计、面向 对象程序设计)、 表单、菜单、报 表设计的方法等
SET TALK OFF CLEAR INPUT ―请输入邮件的重量:” TO W IF W<=100 F=W*0.05 ELSE F=100*0.05+(W-100)*0.02 ENDIF ? ―邮费总额:‖, F SET TALK ON
数据库应用基础 21
6.2 基本程序结构
3.多向分支
【格式】 DO CASE CASE <条件表达式1> <命令行序列1> CASE <条件表达式2> <命令行序列2> …… CASE <条件表达式n> <命令行序列n> [OTHERWISE] <命令行序列n+1>] ENDCASE 数据库应用基础 22
6.2 基本程序结构
2. 双重选择分支(IF-ELSE-ENDIF)命令
格式:IF <条件表达式>
<语句行序列1>
ELSE <语句行序列2> ENDIF
数据库应用基础 20
6.2 基本程序结构
【例6.5】邮局的寄送包裹的计费标准是:每克为0.05元; 超过100克后,每超出1克为0.02元。试编程计算。
数据库应用基础 10
6.1.2程序文件的编辑与执行
程序的书写规则
(1)程序中每条命令都以回车键结尾,一行只能写一条命令。 若命令需分行书写,应在一行终了时键入续行符“;” (2)程序中可插入注释,以提高程序的可读性。 注释行以符号“*”开头,它是一条非执行命令,仅在程序 中显示。命令后也可添加注释,这种注释以符号“&&”开头。 (3)SET TALK ON∣OFF命令 许多数据处理命令(如AVERAGE、SUM、SELECT—SQL等)在执 行时都会返回一些有关执行状态的信息,这些信息通常会显示在 Visual FoxPro主窗口、状态栏或用户自定义窗口里。SET TALK 命令用(ON)、否(OFF)显示这些信息。默认值为ON。
SET TALK ON
数据库应用基础 17
6.2.2 选择结构
选择结构是指在程序执行时,根据不同的条件,选择执行不同
的程序语句。(注意语句与命令是不同的,不能单独使用)
Visual FoxPro提供了以下3种分支结构语句: 单向分支语句:IF—ENDIF 双向分支语句:IF—ELSE—ENDIF 多向分支语句:DO CASE—ENDCASE 1、单分支(IF-ENDIF)命令
动态检错的工具-调试器:
数据库应用基础 12
6.1.3程序调试
2.调用调试器 (1)选择“工具”→“调试器”命令。
正在执 行的代 码行 断点
跟踪窗口
监视窗口
局部窗口
数据库应用基础 13
6.1.3程序调试
3.调试菜单 “调试”菜单包含执行程序、选择执行方式、
终止程序执行、修改程序以及调整程序执行速度等
循环结构辅助语句 名称
语句
LOOP EXIT
重新循环 退出循环
数据库应用基础 25
6.2.3 循环结构
1 条件循环
条件循环是根据条件表达式的值,决定循环体内语句的执行次 数,也称为当型循环。
【语句】DO WHILE <条件表达式> <命令行序列1> [LOOP] <命令行序列2> [EXIT] <命令行序列3> ENDDO