第九章 结构化程序设计.ppt
《第九章 结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《第九章 结构化程序设计.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章 结构化程序设计1 1、VFPVFP数据库管理系统提供了交互执行和程序执行二种工作方式。数据库管理系统提供了交互执行和程序执行二种工作方式。所所谓谓程程序序执执行行方方式式,就就是是将将实实现现某某一一功功能能的的VFPVFP命命令令序序列列,在在编编辑辑器器中中编编成成特特定定的的程程序序文文件件,存存放放在在磁磁盘盘中中,其其文文件件扩扩展展名名为为PrgPrg。当我们需要实现这一功能时,就执行该程序。当我们需要实现这一功能时,就执行该程序。2 2、程序文件编辑的注意事项、程序文件编辑的注意事项输入程序时要注意以下三点:输入程序时要注意以下三点:按回车键表明完成一条命令(语句)的输入
2、。按回车键表明完成一条命令(语句)的输入。一一条条命命令令(语语句句)可可以以在在一一行行写写完完,也也可可以以分分多多行行写写完完,当当分分多多行行写写时时,除除最最后后一一行行外外,每每行行结结尾尾处处放放入入一一个个分分号号(;),表明下行继续。表明下行继续。在文本输入窗口中,输入程序时应注意各关键符号为在文本输入窗口中,输入程序时应注意各关键符号为英文状态英文状态。(4)(4)可以利用鼠标器和键盘,在编辑窗口中完成各种编辑操作。可以利用鼠标器和键盘,在编辑窗口中完成各种编辑操作。9.1 9.1 程序文件的建立、执行和编译程序文件的建立、执行和编译一、一、程序文件的建立程序文件的建立 1
3、 1命令方式命令方式 Modify Command Modify Command 2 2菜单方式菜单方式 单击系统菜单单击系统菜单“文件文件”、“新建新建”,弹出,弹出“新新 建建”窗口。窗口。在在“新建新建”窗口中,选择窗口中,选择“程序程序”、“新建文新建文 件件”,进入,进入“程序文件编辑程序文件编辑”窗口。窗口。在在“程序文件编辑程序文件编辑”窗口中,逐条输入命令行。窗口中,逐条输入命令行。结束后,单击系统菜单结束后,单击系统菜单“文件文件”、“保存保存”,在,在 窗口的窗口的“保存文档为:保存文档为:”对话框中,输入程序文对话框中,输入程序文 件名,默认的文件类型为件名,默认的文件类
4、型为*.Prg.Prg,单击单击“保存保存”按钮,建立程序文件的操作结束。按钮,建立程序文件的操作结束。二、二、程序文件的执行程序文件的执行 程序文件保存在磁盘上,在需要运行时可从程序文件保存在磁盘上,在需要运行时可从磁盘调入内存执行。磁盘调入内存执行。注意:程序运行后,会自动产生一个文件类注意:程序运行后,会自动产生一个文件类型为型为.FxpFxp的同名的编译程序。的同名的编译程序。1 1命令方式命令方式 DoDo程序文件名程序文件名2 2菜单方式菜单方式 单击系统菜单的单击系统菜单的“程序程序”、“运行运行”,在弹出,在弹出的的“运行运行”窗口中,选择路径、双击需要运行的窗口中,选择路径、
5、双击需要运行的程序名。程序名。二、二、程序设计中的常用语句程序设计中的常用语句 程序设计中的常用语句包括输入语句、输出程序设计中的常用语句包括输入语句、输出语句、终止程序执行语句、清屏与注释语句。语句、终止程序执行语句、清屏与注释语句。1、输入、输出语句输入、输出语句 输入语句是程序运行时人机交互的界面,用输入语句是程序运行时人机交互的界面,用于输入程序运行时所需要的数据。而输出语句是于输入程序运行时所需要的数据。而输出语句是用于输出程序运行的结果。用于输出程序运行的结果。1 1输入语句输入语句 输入语句提供了在程序运行的过程中暂停程序输入语句提供了在程序运行的过程中暂停程序的执行,等待用户从
6、键盘上输入数据,当用户以回的执行,等待用户从键盘上输入数据,当用户以回车键结束输入时,系统将表达式的值存入指定的内车键结束输入时,系统将表达式的值存入指定的内存变量,程序继续运行。输入语句有存变量,程序继续运行。输入语句有非格式化非格式化输入输入命令和命令和格式化格式化输入命令两种。输入命令两种。(1 1)非格式化输入命令)非格式化输入命令 非格式化输入命令共有三条:非格式化输入命令共有三条:InputInput、AcceptAccept和和WaitWait。Input Input To To内存变量内存变量Accept Accept To To内存变量内存变量Wait Wait To To内
7、存变量内存变量参数说明:参数说明:InputInput命令能接受除备注型、通用型以外的数命令能接受除备注型、通用型以外的数据类型,但数据为字符型、日期型或逻辑型时应据类型,但数据为字符型、日期型或逻辑型时应使用相应的使用相应的定界符定界符。AcceptAccept命令只接受字符型数据。输入字符串时,命令只接受字符型数据。输入字符串时,不需要不需要用定界符。用定界符。Wait Wait To To内存变量内存变量 命令只命令只接受接受单个字符单个字符。如果执行不带任何参数的。如果执行不带任何参数的WaitWait命命令会弹出令会弹出“按任意键继续按任意键继续”的提示。的提示。例例9-19-1:在
8、学生档案表中,按学号直接定位查询学:在学生档案表中,按学号直接定位查询学生记录。生记录。Use Use 学生档案表学生档案表accept 请输入查询学生的学号:请输入查询学生的学号:To A1Locate For 学号学号=A1Display例例9-29-2:在学生档案表中,按年龄顺序定位查询学:在学生档案表中,按年龄顺序定位查询学生记录。生记录。Use Use 学生档案表学生档案表 Input Input“请输入查询学生的年龄:请输入查询学生的年龄:”To A2To A2 Locate For Locate For 年龄年龄=A2=A2 Display Display Continue Co
9、ntinue Display Display例例9-3:在学生档案数据表中,以性别和年龄为表达:在学生档案数据表中,以性别和年龄为表达式索引定位查询学生记录。式索引定位查询学生记录。Use 学生档案表学生档案表Index On 性别性别+Str(年龄年龄,2)To XbnlInput“请输入查询学生的年龄:请输入查询学生的年龄:”To A4Accept“请输入查询学生的性别:请输入查询学生的性别:”To A5Seek A5+Str(A4,2)Display(2 2)屏幕格式输入语句)屏幕格式输入语句 在在指定行、列指定行、列的位置,从键盘上为变量赋值。的位置,从键盘上为变量赋值。这个变量可以是
10、这个变量可以是内存变量内存变量,也可以是,也可以是字段变量字段变量。如果是内存变量,必须如果是内存变量,必须事先定义好事先定义好。如果是字。如果是字段变量,必须事先段变量,必须事先打开打开相应的数据表。相应的数据表。Say Say Get Get 参数说明:参数说明:Say:作为被编辑的变量前面出现的提示,:作为被编辑的变量前面出现的提示,一般都是用字符串表示。一般都是用字符串表示。Get:变量可以是内存变量,也可以是字段变量。:变量可以是内存变量,也可以是字段变量。若是内存变量必须在使用前先定义。如果是字段变量,若是内存变量必须在使用前先定义。如果是字段变量,则要先打开相应的数据表。则要先打
11、开相应的数据表。数据类型可以是数据类型可以是数值型、字符型、日期型、逻辑型或备数值型、字符型、日期型、逻辑型或备注型。注型。Get命令,必须用命令,必须用Read语句来激活才能完语句来激活才能完成对数据的编辑。成对数据的编辑。多个多个Get命令,可以用命令,可以用一个一个READ语句来激活。语句来激活。例例9-59-5:用屏幕格式输入语句输入数值,计算公式:用屏幕格式输入语句输入数值,计算公式C=2A+3BC=2A+3B的值。的值。A=0 B=0 10,20 Say 请输入请输入A的值:的值:Get A 11,20 Say 请输入请输入B的值:的值:Get B Read?C=2a+2b=+St
12、r(2*A+2*B)思考:请编辑一个程序,能根据学号和课程代码来修思考:请编辑一个程序,能根据学号和课程代码来修改成绩。改成绩。Xh=Space(7)Kcdm=Space(4)cj=0 Use E:课件课件vf程序设计程序设计VF2006-2007.2vfsy学生成学生成绩表绩表 Excl 10,20 Say 请输入要修改成绩的学号请输入要修改成绩的学号 Get Xh 12,20 Say 请输入要修改成绩的课程代码请输入要修改成绩的课程代码 Get Kcdm Read Locate For 学号学号=Xh.And.课程代码课程代码=Kcdm 14,20 Say 请输入修改成绩请输入修改成绩 G
13、et 成绩成绩 Read use例例9-8 用屏幕格式输入法设计一个程序,向用屏幕格式输入法设计一个程序,向“专业代码表专业代码表”中增加一条新记录。中增加一条新记录。Use 专业代码表专业代码表Append BlankGoto Bottom10,20 say 专业代码专业代码:get 专业代码专业代码12,20 say 专业名称专业名称:get 专业名称专业名称Readuse2输出语句输出语句(1)非格式化输出命令)非格式化输出命令 格式:格式:?表达式表表达式表 格式格式2:?表达式表表达式表 格式格式3:?表达式表表达式表 计算表达式的值并输出。计算表达式的值并输出。参数说明:参数说明:
14、“?”表示在当前行的下一行的首位输出,表示在当前行的下一行的首位输出,”?”表示在当表示在当前行光标所处输出,前行光标所处输出,”?”表示向打印机输出。表示向打印机输出。如果是字符、日期、逻辑常量应使用如果是字符、日期、逻辑常量应使用定界符定界符。如果是一个表达式的各部分的数据类型如果是一个表达式的各部分的数据类型必须一致必须一致。如果是如果是,各表达式之间用逗号,各表达式之间用逗号“,”分隔。分隔。例例9-9:显示当前的日期和时间与表达式的值。显示当前的日期和时间与表达式的值。?”今天的日期是今天的日期是:”,DATE(),”时间是时间是:”,TIME()&如果用如果用“+”连接该如何表达连
15、接该如何表达 A=10 B=20?“A*10-B=”,Str(A*10-B),Space(2)?“A*20-B=”+Str(A*20-B,4)例例9-10:显示字符型表达式的值。:显示字符型表达式的值。?“祝贺祝贺”+北京申奥北京申奥+成功成功&字符串的连接字符串的连接(2 2)屏幕格式输出命令)屏幕格式输出命令 SAY SAY 在指定在指定行、列位置行、列位置上输出表达式的值,输出数据的格上输出表达式的值,输出数据的格式由式由PicturePicture选项或选项或FunctionFunction选项中的控制符控制。选项中的控制符控制。SizeSize、FontFont、StyleStyle
16、和和ColorColor选项是用来控制输出结果的字符范围、选项是用来控制输出结果的字符范围、字体、字型、字号大小和颜色的。字体、字型、字号大小和颜色的。参数说明参数说明:Say Say:表达式可以是常量(字符、日期、逻辑:表达式可以是常量(字符、日期、逻辑常量需要使用相应的定界符)、内存变量、字段变量以及常量需要使用相应的定界符)、内存变量、字段变量以及由它们组成的表达式。表达式只能是一个,而且,表达式由它们组成的表达式。表达式只能是一个,而且,表达式的各部分的数据类型必须一致。的各部分的数据类型必须一致。例例9-119-11:显示字符串常数。:显示字符串常数。3,5 Say 3,5 Say
17、这是一个显示字符串常数的例子这是一个显示字符串常数的例子“例例9-129-12:显示学生档案表的第四条记录的字段内容。:显示学生档案表的第四条记录的字段内容。Use Use 学生档案表学生档案表 GotoGoto 4 4 6,6 Say 6,6 Say“学号:学号::”+学号学号 7,6 Say 7,6 Say“姓名:姓名::”+姓名姓名 9,6 Say 9,6 Say“入学年龄:入学年龄:”+StrStr(入学年龄入学年龄,2),2)&数据类型必须一致数据类型必须一致 10,6 Say 10,6 Say“出生日期:出生日期:”+DtocDtoc(出生日期出生日期)例例9-13:屏幕格式输出命
18、令常用来制作应用系统的主菜单。屏幕格式输出命令常用来制作应用系统的主菜单。Clear 2,30 Say*3,30 Say 学籍档案管理系统学籍档案管理系统 4,30 Say 1.建立数据表建立数据表 5,30 Say 2.添加数据添加数据 6,30 Say 3.查询数据查询数据 7,30 Say 4.退出系统退出系统 8,30 Say*11,30 Say 请输入相应的操作序号:请输入相应的操作序号:Get ARead二、二、清屏与注释语句清屏与注释语句1清屏语句清屏语句 Clear 清除屏幕上所有显示的内容。清除屏幕上所有显示的内容。2注释语句注释语句 Note *&Note和和“*”注释语句
19、在程序中单独作为一行,作为程注释语句在程序中单独作为一行,作为程序的注释。序的注释。&注释语句一般写在命令的后面,作为该命令的注释。注释语句一般写在命令的后面,作为该命令的注释。三、三、终止程序执行语句终止程序执行语句1Return 或或Cancel 终止程序的执行,关闭打开的命令文件,返回到终止程序的执行,关闭打开的命令文件,返回到 Foxpro系统的命令窗口。系统的命令窗口。2Quit 终止程序的执行,关闭打开的命令文件,返回到终止程序的执行,关闭打开的命令文件,返回到windows操作系统状态。操作系统状态。3Retry 终止程序的执行,返回到调用行本身,可以实现终止程序的执行,返回到调
20、用行本身,可以实现程序的重复调用。程序的重复调用。8-3 8-3 结构化程序设计概述结构化程序设计概述 所谓结构化,就是指程序或算法的控制结构必须并且所谓结构化,就是指程序或算法的控制结构必须并且只能由只能由顺序结构顺序结构,分支结构分支结构和和循环结构循环结构所构成,程序的执所构成,程序的执行是由这三种结构来控制的。行是由这三种结构来控制的。这三大基本程序结构可以设计任何复杂问题的程序。这三大基本程序结构可以设计任何复杂问题的程序。一、一、顺序结构程序设计顺序结构程序设计 顺序结构是最基本、最普通的结构形式。运行时,也顺序结构是最基本、最普通的结构形式。运行时,也是按照命令书写时的先后次序来
21、执行,在程序执行的过程是按照命令书写时的先后次序来执行,在程序执行的过程中不改变命令执行次序的一种结构。中不改变命令执行次序的一种结构。例例9-15:编写一个求梯形面积的程序。编写一个求梯形面积的程序。Input 请输入梯形的上底:请输入梯形的上底:To M Input 请输入梯形的下底:请输入梯形的下底:To N Input 请输入梯形的高:请输入梯形的高:To H?梯形面积梯形面积=,Str(M+N)*H/2,10,2)Return例例9-169-16:编写一个在:编写一个在“学生档案表学生档案表”中查询年龄大于中查询年龄大于1818岁的岁的9898级浙江籍的学生记录的程序(注意:假设数据
22、表字段中只级浙江籍的学生记录的程序(注意:假设数据表字段中只有出生日期而无年龄字段、学号前二位为年级)。有出生日期而无年龄字段、学号前二位为年级)。ClearUse 学生档案表学生档案表List For Year(Date()-Year(出生日期出生日期)23.And.Subs(学号学号,1,2)=98.And.籍贯籍贯=浙江浙江UseReturn二、二、分支选择结构分支选择结构 编写顺序结构程序虽然简单,但在实际应用编写顺序结构程序虽然简单,但在实际应用中,经常需要对事物做出一定的判断,并依据判中,经常需要对事物做出一定的判断,并依据判断的结果采取不同的处理行为。断的结果采取不同的处理行为。
23、例如:求圆的面积,对半径要做处判断,是例如:求圆的面积,对半径要做处判断,是否大于否大于0,如果是才能参加运算,否则不能运算,如果是才能参加运算,否则不能运算,输出参数错误信息。输出参数错误信息。分支结构有三种基本格式:单分支选择、二分支结构有三种基本格式:单分支选择、二分支选择(选择函数)和多分支选择。分支选择(选择函数)和多分支选择。1 1单分支选择单分支选择 If If 1 EndifEndif 2 Return Return参数说明:参数说明:单分支选择结构是当条件表达式为真时,执行单分支选择结构是当条件表达式为真时,执行 1,然后,再执行,然后,再执行EndIfEndIf后面的后面的
24、 2。如果。如果 条件表达式为假,则直接执行条件表达式为假,则直接执行EndIfEndIf后面的后面的 2。IFIF和和EndIfEndIf必须成对出现,缺一不可。必须成对出现,缺一不可。可以是表达式或表达式的逻辑组合,表可以是表达式或表达式的逻辑组合,表 达式的值必须是逻辑值。达式的值必须是逻辑值。例例9-17:从键盘上输入一个数,若是偶数,则输出。:从键盘上输入一个数,若是偶数,则输出。Input“请输入数据:请输入数据:”To X If Int(X/2)=X/2?X,”为偶数为偶数”Endif Return例例9-18:在学生档案表中,查询王启明的籍贯是否为在学生档案表中,查询王启明的籍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九章 结构化程序设计 第九 结构 程序设计
限制150内