vf结构化程序设计精品PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《vf结构化程序设计精品PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vf 结构 程序设计 精品 PPT 课件
- 资源描述:
-
1、Visual FoxPro程序设计教程E-mail: 第第9 9章章 结构化程序设计结构化程序设计9 9.1 .1 程序设计基础程序设计基础9 9.2 .2 顺序结构程序顺序结构程序9 9.3 .3 选择结构程序选择结构程序9.4 9.4 循环结构程序循环结构程序9.5 9.5 程序的模块化程序的模块化9.6 9.6 程序调试程序调试 vf执行命令的方式:通过使用菜单或者在命令窗口执行,还有一种程序工作方式:把有关的操作命令组织在一起,存放到一个文件中,发出调用该文件的命令后,vf就可以自动地执行该文件中的命令,直到全部命令执行完毕。9.1程序设计基础 1.程序设计的概念 程序设计:程序设计反
2、映了计算机解决问题的全过程,包含多方面的内容,而编写程序只是其中一个方面。使用计算机解决实际问题,通常先对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法。并用某一种程序设计语言编写程序,最后调试程序使之产生预期的结果。 拿到一个实际问题后,应对问题的性质与要求进行深入分析,从而确定求解问题的数学模型或方法,接下来进行算法设计并画出流程图。有了算法流程图,在来编写程序时很容易的事。所以编写程序之前,先要把解决的问题分析清楚 例如,在学生表中,需要按照学号查询学生的姓名和入学成绩。根据表操作的有关知识,很容易写出算法: (1)打开学生表 (2)输入待查学生的学号 (3)查找学号所对应的记
3、录 (4)显示该记录的学号、姓名和入学成绩 用计算机解决问题时,用计算机解决问题时,必须先确定算法,然后根据算法编写程必须先确定算法,然后根据算法编写程序,最后通过运行程序来达到解决问题的目的序,最后通过运行程序来达到解决问题的目的。算法的概念算法的概念 做做任何事任何事都有一个过程(应有序)。都有一个过程(应有序)。 即在允许的范围内进行有步骤的若干个操作序列。即在允许的范围内进行有步骤的若干个操作序列。 如学生考试:如学生考试: 进入考场,按指定座位入座;进入考场,按指定座位入座;填写考生相关信息;填写考生相关信息;答题;答题;检查;检查;如有错,则修改;如有错,则修改;交卷。交卷。 这种
4、事先设计出这种事先设计出“行动步骤行动步骤”即解题操作序列称之为算法。通即解题操作序列称之为算法。通俗地说,俗地说,算法就是在规定的环境下,为解决某一问题而采取的方算法就是在规定的环境下,为解决某一问题而采取的方法和步骤。法和步骤。 实际应用中,需要按照流程图描述算法,显得直观、简洁。流程图有一般流程图、N-S图等。一般流程图用菱形框表示判断,用矩形框表示进行某种处理,用流程线将各步操作连接起来。也可以用其它形式的流程图描述算法。 2.程序的控制结构 任何程序都由3种基本控制结构组成。即顺序结构、选择结构和循环结构 (1)顺序结构 顺序结构是程序设计中最基本、最常见的结构。顺序结顺序结构是程序
5、设计中最基本、最常见的结构。顺序结构的程序始终是按照语句排列的构的程序始终是按照语句排列的先后顺序从上到下逐条顺序先后顺序从上到下逐条顺序执行执行。 (2) (2)选择结构选择结构 利用计算机具有逻辑判断能力的特点,根据不同的逻辑利用计算机具有逻辑判断能力的特点,根据不同的逻辑条件转去执行不同的程序语句,这些不同的转向语句就构成条件转去执行不同的程序语句,这些不同的转向语句就构成了分支结构。了分支结构。 (3) (3)循环结构循环结构 具有重复操作功能的程序称为循环结构程序。在编制程序时,重复操作的语句不必重复编写,只要用循环结构的方法来处理,便能实现重复操作。重复执行的部分称为循环体。循环结
6、构分为当型循环和直到型循环。各种结构如p135 当型循环先判断条件是否满足,当条件P满足时反复执行A程序块,每执行一次测试一次P,直到P不满足为止,跳出循环体执行它下面的基本结构 直到型循环先执行一次循环体,在判断条件P是否满足,如果不满足则反复执行循环体,直到P满足为止。 两种循环结构的区别在于: 当型循环结构是先判断条件,后执行循环体,而直到型循环结构是先执行,后判断。直到型循环结构至少执行一次循环体,而当型循环可能一次也不执行循环体。 3.结构化程序设计方法 结构化程序设计方法是被普遍采用的一种程序设计方法,是软件开发的重要方法,用这种方法设计的程序结构清晰,易于阅读和理解,便于调试和维
7、护 结构化程序设计方法采用自顶向下、逐步求精和模块化的分析方法。 自顶向下:指对设计的系统有一个全面的理解,从问题的全局入手,把一个复杂的问题分解成若干个相互独立的子问题,然后对每一个子问题做进一步的分解,如此重复,直到每个问题解决为止。 逐步求精:程序设计的过程是一个渐进的过程,先把一个子问题用一个程序模块来描述,在把每一个模块的功能逐步分解细化为一系列的具体步骤,以至于能有某种程序设计语言的基本控制语句来实现。逐步求精总是和自顶向下结合使用,一般把逐步求精看做自顶向下设计的具体体现。 模块化是结构化程序设计的重要原则,所谓模块化就是把大程序按照功能分为较小的程序。一般来说,一个程序是由一个
8、主控模块和若干个子模块组成的。主控模块是用来完成某些公用操作及功能选择,而子模块是用来完成某项特定功能。一个复杂的问题可以分解成若干个简单的子问题来解决。这种设计风格,便于分工合作,讲一个庞大的模块分解成若干个子模块分别完成,然后用主控模块控制、调用子模块。模块化结构如P136 总之,结构化程序设计过程就是将问题求解由抽象逐步具体化的过程。这种方法符合人们解决复杂问题遵循的普遍规律,可以显著提高程序设计的质量和效率。 4.程序文件的建立与执行 在在VFPVFP中,程序是保存在一个扩展名为中,程序是保存在一个扩展名为.prg.prg的程序文件中,通过调的程序文件中,通过调用和执行该程序文件来运行
9、程序。用和执行该程序文件来运行程序。I.I.建立程序文件建立程序文件 可用如下操作之一:可用如下操作之一: 菜单方式:菜单方式: “ “文件文件”“”“新建新建”“”“程序程序”“”“新建文件新建文件”按钮。按钮。 常用工具:常用工具: “ “新建新建”按钮按钮“程序程序”“”“新建文件新建文件”按钮。按钮。 项目管理器:项目管理器: 选选“代码代码”卡卡“程序程序”项项 “ “新建新建”按钮。按钮。 命令:命令: MODIFY COMMAND MODIFY COMMAND | |? MODIFY FILE MODIFY FILE | |?之后,系统打开程序文件编辑窗口依次输入程序代码。之后,
10、系统打开程序文件编辑窗口依次输入程序代码。 说明: (1)程序文件类型: .prg (可省略)。命令为file时不能省略扩展名 (2)保存文件的路径:用户指定或建立在VFP默认文件夹下。 (3)文件名中可以包含通配符*和?,与文件名相匹配的文件都会被打开,都拥有自己的编辑窗口,用户可以通过“窗口”菜单来选择所需要的窗口,最好在命令后加入文件名,可以直接建立或修改给出的文件,以后不需要在存盘时在输入文件名。(4)文件名将显示在“程序窗口”标题栏的左侧。 II.II.运行程序文件运行程序文件 命令方式:命令方式: DO DO 菜单方式:菜单方式: “ “程序程序”菜单菜单“运行运行”命令。命令。
11、工具方式工具方式( (在程序打开的状态在程序打开的状态) ): 单击常用工具栏的程序运行按钮单击常用工具栏的程序运行按钮 ! 或或 按组合键按组合键 CTRL+E CTRL+E 。 如果程序不带扩展名,如果程序不带扩展名,vfvf将会按下列顺序寻找并执行这些程序:将会按下列顺序寻找并执行这些程序:可可执行文件(执行文件(.exe).exe)、应用程序、应用程序(.app)(.app)、编译后的目标程序文件、编译后的目标程序文件(.fxp(.fxp)、)、程序文件程序文件(.prg)(.prg)III.代码颜色 VFP系统默认在程序代码中以绿色表示命令注释绿色表示命令注释;蓝色表蓝色表示命令关键
12、字示命令关键字;黑色;黑色表示非命令关键字或者用户自定义使用的字符;红色则表示有语法错误的程序代码红色则表示有语法错误的程序代码,提醒用户进行改正。如果用户要重新设置代码颜色,可以选择VFP系统“工具”菜单下面的“选项”命令,打开“选项”对话框,在“语法着色”选项卡中进行自定义设置。 IV. 常用的命令当程序文件被执行时,文件中包含的命令将被依次执行,直到所有的命令被执行完毕。但当执行到程序文件中的以下命令时会终止执行或改变执行循序:lCANCAL:终止程序运行,清除所有的私有变量,返回命令窗口。lDO:转去执行另一个程序。lRETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程
13、序则返回命令窗口。QUIT:退出Visual FoxPro系统,返回到操作系统9.2 顺序结构程序程序文件中的一些辅助命令程序文件中的一些辅助命令I注释语句注释语句(1)程序注释语句程序注释语句格式:格式:NOTE 或或 * 功能:注释说明。其后内容不需要用定界符定界,执功能:注释说明。其后内容不需要用定界符定界,执行时也不显示。要单独成行。行时也不显示。要单独成行。(2 2)语句行注释语句行注释格式:格式:& & 功能:对语句进行注释。功能:对语句进行注释。 不可单独成行,须写在某语句之后不可单独成行,须写在某语句之后 。II状态设置命令状态设置命令(1 1)设置会话状态设置会话状态格式:格
14、式:SET TALK ON|OFFSET TALK ON|OFF功能:是否关闭系统交互对话方式(默认打开的)。功能:是否关闭系统交互对话方式(默认打开的)。(2 2)设置屏幕状态设置屏幕状态格式:格式:SET CONSOLE ON|OFFSET CONSOLE ON|OFF功能:是否显示键盘的输入内容(默认是显示的)。功能:是否显示键盘的输入内容(默认是显示的)。 如果要求输入的内容保密设置如果要求输入的内容保密设置 OFF OFF状态。状态。 (3)设置缺省驱动器和目录格式:SET DEFAULT TO 功能:设置输入/输出操作的缺省驱动器和目录。 缺省时为当前目录。例:若打开或保存的文件都
15、在D盘下的AA文件夹中,则可用命令: SET DEFAULT TO D:AA (4)设置独占方式 格式:SET EXCLUSIVE ON|OFF 功能:设置是否以独占方式打开表文件(默认独占)。 (5)设置字符精确匹配 格式:SET EXACT OFF|ON 功能:设置是否完全匹配(默认不完全匹配)。 决定字符串比较符“=”两边内容是否完全匹配。III.输入输出命令i.程序输出命令 (1)格式:?/? (2)功能:该命令可以对进行求值,并将结果输出到系统屏幕中,其中“?”表示换行显示结果,“?”则表示在同一行显示结果。? 今天是, date()ii. 程序输入命令 1)Accept命令 (1)
16、格式:Accept To (2)功能:在VFP屏幕当前光标处显示的内容,等待用户的输入,按回车表示输入结束,系统会将用户输入的内容以字符串的形式存储在中。 Accept命令只能接受输入字符型数据,内容最多为256个字符,输入内容时不需要加字符定界符。 Accept 请输入内容: to xyz?你输的内容是:,xyz 2)Input命令 (1)格式:Input To (2)功能:Input命令与Accept命令功能基本相同,都是在VFP屏幕当前光标处显示的内容,等待用户的输入,按回车表示输入结束,系统会将用户输入的内容作为一个表达式进行处理,计算表达式的值,并将其存储在中。与Accept命令不同
17、的是,Input命令允许输入各种类型的数据。 Input 请输入内容: to xyz ?你输的内容是:,xyz Input命令也可以输入是字符型, 逻辑型、日期型数据,但需加定界符 字符型 (“ ” ) 逻辑型 (.t. .f.) 日期型 ( 1990-09-09 ) 默认使用严格日期格式,在输入时也可用ctod将字符型的转换成日期型iii.Say命令 (1)格式:SayGetDefault (2)功能:该命令表示在屏幕窗口的指定位置中输出Say子句中的内容,等待用户的输入,按回车表示输入结束,系统会将用户输入的内容存储在Get中。 必须使用必须使用read命令激活当前所命令激活当前所有有ge
18、t变量。变量。 5,10 say 输入半径: get R default 0readS=3.14*R*R? 圆的面积是:,S4)Wait命令 (1)格式:WaitToWindowsAt,NowaitClear NoclearTimeout (2)功能:在VFP程序文件的执行过程中,遇到Wait代码时暂停执行,并显示Wait指定的信息,用户按任意键或者单击鼠标后可以继续执行程序文件。Wait 谢谢使用VF系统! Wait 谢谢使用VF系统! windows Wait 谢谢使用VF系统! windows at 5,5WaitIV.顺序结构程序 顺序结构是程序设计中最基本、最常见的结构。顺序顺序结构
19、是程序设计中最基本、最常见的结构。顺序结构的程序始终是按照语句排列的先后顺序从上到下逐条结构的程序始终是按照语句排列的先后顺序从上到下逐条顺序执行。顺序执行。 例例. .在学生表中,按照学号查询学生的姓名和入学成绩在学生表中,按照学号查询学生的姓名和入学成绩 CLEAR CLEAR SET TALK OFF SET TALK OFF USE USE 学生学生 ACCEPT ACCEPT 请输入待查学生的学号请输入待查学生的学号: to bh: to bh LOCATE FOR LOCATE FOR 学号学号=bh =bh &查找学号为查找学号为bhbh的记录的记录 DISP DISP 学号学号
20、, ,姓名姓名, ,入学成绩入学成绩 USE USE SET TALK ON SET TALK ON RETURN RETURN 9.3 选择结构程序 在解决实际问题中,往往需要根据给定的条件来在解决实际问题中,往往需要根据给定的条件来决定应采取的处理方法。利用计算机具有逻辑判断能决定应采取的处理方法。利用计算机具有逻辑判断能力的特点,根据不同的逻辑条件转去执行不同的程序力的特点,根据不同的逻辑条件转去执行不同的程序语句,这些不同的转向语句就构成了分支结构。语句,这些不同的转向语句就构成了分支结构。1简单判断语句(IFENDIF) 格式: IF ENDIF 功能:先判断条件表达式的值,当其值为
21、真时,则执行IF和ENDIF之间的命令序列;反之则转去执行ENDIF语句之后的语句。说明:可以是各种表达式的组合,如关系表达式、逻辑表达式或者其他逻辑量。但表达式的返回值只能是逻辑值.T.或.F.。2二路选择分支结构(二路选择分支结构(IFELSEENDIF)格式:格式:IF ELSE ENDIF功能:功能:先判断先判断,若其值为真,则执行,若其值为真,则执行,然后转去,然后转去执行执行ENDIF之后的语句;若其值为假,则执行之后的语句;若其值为假,则执行,然后转去执行,然后转去执行ENDIF之后的语句之后的语句。 条件条件?满足执行满足执行YN不满足执行不满足执行例 根据输入的学生姓名,在学
22、生表中查找学生记录 SET TALK OFF &执行程序时,要求会话处于断开状态 USE 学生 name=space(8) 10,5 SAY请输入学生姓名: GET name READ LOCATE FOE 姓名=name &在学生表中查找该记录 IF FOUND() DISPLAY &找到了,输出该记录 ELSE 12,5 SAY对不起,该单位无此人! ENDIF SET TALK ON &程序执行完后,会话状态打开 USE RETURN3分支结构的嵌套分支结构的嵌套格式如下:格式如下:IFIF1 IF IF2 ELSE ELSE ENDIF ENDIF ENDIFENDIF 注意:IF分支
23、结构中IF和ENDIF语句必须成对出现,缺一不可。系统在执行分支结构的嵌套时,由IF语句的最内层开始,逐层将IF和ENDIF配对。4多路分支选择结构多路分支选择结构格式:格式:DO CASEDO CASE CASE CASE 1 1 CASE CASE 2 1 CASE CASE n n OTHERWISE OTHERWISE n+1ENDCASEENDCASE功能: 在执行DO CASE语句时,依次判断各的值是否为真,若为真,则执行CASE语句下的语句序列,直到遇到下一个CASE、OTHERWISE或ENDCASE。 条件可以为关系表达式、逻辑表达式或其他逻辑量。DO CASE-ENDCAS
24、E结构语句功能流程:条件条件1语句语句1YN条件条件2语句语句2YN条件条件3语句语句3YN语句语句N+1N例在学生表中,查询周文杰的记录,根据性别和年龄确定参加运动会的项目SET TALK OFFUSE 学生LOCATE FOR 姓名=周文杰IF .NOT.EOF() &指针不是位于表尾时,开始搜索记录 DO CASE CASE 性别=男 ?请参加拔河比赛 CASE 性别 =女 AND YEAR(date()-YEAR(出生日期)25 ?请参加投篮比赛 CASE 性别 =女 AND YEAR(date()-YEAR(出生日期)=25 ?请参加1500米比赛 END CASE ELSE ?无此
展开阅读全文