《第8章结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《第8章结构化程序设计.ppt(76页珍藏版)》请在第壹文秘上搜索。
1、第8章 结构化程序设计2Visual FoxPro程序设计结构化程序设计结构化程序设计教学安排n教学目标教学目标q掌握程序的建立、修改和运行掌握程序的建立、修改和运行q掌握结构化程序设计的三种基本结构掌握结构化程序设计的三种基本结构q掌握过程和用户自定义函数的使用掌握过程和用户自定义函数的使用n重点分析重点分析q分支和循环结构、循环嵌套结构、过程的使用分支和循环结构、循环嵌套结构、过程的使用n学时安排学时安排q6学时(学时(理论理论)+6学时(学时(实践实践)3Visual FoxPro程序设计结构化程序设计结构化程序设计本章内容n程序设计基础(程序设计基础(补充补充)n程序文件及其编辑环境程
2、序文件及其编辑环境n程序中几种常用命令程序中几种常用命令n程序的基本控制结构程序的基本控制结构n过程和用户自定义函数过程和用户自定义函数作业作业4Visual FoxPro程序设计结构化程序设计结构化程序设计程序设计基础(补充)n程序的概念程序的概念q程序是计算机完成一个预定任务而设计的一个指令序列。程序是计算机完成一个预定任务而设计的一个指令序列。n程序的特点程序的特点q目的性目的性 q分步性分步性q有限性有限性 q可操作性可操作性 q有序性有序性1.程序的概念和特点例如:求两个数的和。例如:求两个数的和。Input“a=“to a Input“b=“to b C=a+b?“a+b=“,c5
3、Visual FoxPro程序设计结构化程序设计结构化程序设计 分析问题,确定处理方案分析问题,确定处理方案 确定操作步骤确定操作步骤 编写源程序编写源程序 上机调试上机调试 整理资料整理资料2.程序设计的步骤如:求二元一次方程AX2+BX+C=0的两个根。1.1.输入三个系数输入三个系数A A、B B、C C2.2.求求D=BD=B*B-4B-4*A A*C C3.3.若若D0D0,输出两实根。,输出两实根。4.4.若若D=0D=0,输出相等的两实根。,输出相等的两实根。5.5.若若D0D0,输出两虚根。,输出两虚根。结束结束6Visual FoxPro程序设计结构化程序设计结构化程序设计
4、评价程序质量标准:评价程序质量标准:清晰第一,效率第二清晰第一,效率第二。按规范书写程序(按规范书写程序(锯齿型结构锯齿型结构)。)。使用三种基本结构(使用三种基本结构(顺序、选择、循环顺序、选择、循环)。)。单入口、单出口、无死语句、无死循环。单入口、单出口、无死语句、无死循环。3.结构化程序设计的特点4.结构化程序设计的方法n自顶向下自顶向下n模块化模块化n逐步求精逐步求精7Visual FoxPro程序设计结构化程序设计结构化程序设计8.1 程序文件及其编辑环境n程序文件介绍程序文件介绍n程序文件的建立和运行程序文件的建立和运行n程序调试程序调试nVFP编程特点编程特点本节内容8Visu
5、al FoxPro程序设计结构化程序设计结构化程序设计8.1.1 程序文件的建立和运行VFP工作方式单步操作程序(多步)命令方式菜单方式9Visual FoxPro程序设计结构化程序设计结构化程序设计n程序文件程序文件qVisual FoxPro系统将命令文件称为程序文件或程序系统将命令文件称为程序文件或程序。q 命令文件或程序文件的扩展名为命令文件或程序文件的扩展名为.PRGn命令代码包括:命令代码包括:q命令命令qVFP可理解的操作可理解的操作1.程序文件介绍10Visual FoxPro程序设计结构化程序设计结构化程序设计n命令格式:命令格式:MODIFY COMMAND n菜单方式:选
6、择菜单方式:选择“新建新建/程序程序”n功能:打开文本编辑窗口功能:打开文本编辑窗口,用来建立或修改程序文件,用来建立或修改程序文件。n说明:说明:qVisual FoxPro程序文件是一个扩展名为程序文件是一个扩展名为.PRG的文本文件。的文本文件。例例8-18-1 求当前日期和时间的长度,并显示。求当前日期和时间的长度,并显示。1.1.打开程序编辑器。打开程序编辑器。2.2.输入程序代码。输入程序代码。3.3.保存程序。保存程序。建立步骤2.程序文件的建立11Visual FoxPro程序设计结构化程序设计结构化程序设计建立程序示例n例例8-1程序源代码如下:程序源代码如下:*-*程序名称
7、:程序名称:E8_1.PRGE8_1.PRG*功能:显示当前日期和时间功能:显示当前日期和时间*-a=DATE()&求当前日期求当前日期b=TIME()&求当前时间求当前时间a1=LEN(DTOC(a)&求当前日期的长度求当前日期的长度b1=LEN(b)&求当前时间的长度求当前时间的长度?当前日期和时间:当前日期和时间:,a,b&显示日期和时间显示日期和时间?日期和时间的长度:日期和时间的长度:,a1,b1 *显示日期和时间的字符串长度显示日期和时间的字符串长度 12Visual FoxPro程序设计结构化程序设计结构化程序设计n命令格式:命令格式:DO n菜单方式:选择菜单方式:选择“程序程
8、序/运行运行”命令命令3.程序文件的执行注意:运行过程中,如果出现错误,可以重新进入编辑窗口进行编辑,然后再运行。上例运行结果:13Visual FoxPro程序设计结构化程序设计结构化程序设计8.1.2 调试程序 调试就是为了发现程序中出现的问题及问题出现的位置并对调试就是为了发现程序中出现的问题及问题出现的位置并对其进行修正。其进行修正。1.打开“调试器”窗口n打开方式打开方式q选择选择“工具工具/调试器调试器”命令命令q键入键入debug命令命令n调试方法调试方法q设置断点设置断点q单步执行单步执行q监视变量或表达式信息的变化监视变量或表达式信息的变化14Visual FoxPro程序设
9、计结构化程序设计结构化程序设计2.“调试器”窗口介绍监视窗口:显示表达式及它们的当前值,并能够在表达式上设置断点。跟踪窗口:代码运行时,用户可以利用该窗口观察到这些代码。局部窗口:用于显示给定的程序、过程或方法程序中的所有变量、数组、对象以及对象成员。调试输出窗口:用来显示活动程序、过程或方法程序代码的输出结果。调用堆栈窗口:可以显示正在执行的过程、程序和方法程序。15Visual FoxPro程序设计结构化程序设计结构化程序设计8.1.3 Visual FoxPro编程特点 1.变量不区分大小写n对于一般的变量,建议使用规则:对于一般的变量,建议使用规则:TypeName。建议的变量命名约定
10、 16Visual FoxPro程序设计结构化程序设计结构化程序设计n可以直接赋值,根据赋值决定变量类型。可以直接赋值,根据赋值决定变量类型。q如如nAge=25,表明,表明nAge为整型变量,初始值为为整型变量,初始值为25。q如如Flag=.F.表明表明lFlag为逻辑型变量,初始值是为逻辑型变量,初始值是.F.。2.变量不需预先声明3.命令分行n程序中每条命令都以回车键结尾,一行只能写一条命令。程序中每条命令都以回车键结尾,一行只能写一条命令。若需分行书写,可以使用分号若需分行书写,可以使用分号“;”表示续行。表示续行。4.添加注释n系统可以对整行注释和行中部分注释。整行注释使用系统可以
11、对整行注释和行中部分注释。整行注释使用“*”,行中注释使用,行中注释使用“&”。17Visual FoxPro程序设计结构化程序设计结构化程序设计8.2 程序中几种常用命令n基本输入命令基本输入命令n格式输入输出命令格式输入输出命令n程序结尾命令程序结尾命令本节内容 程序基本框架程序基本框架输入数据开始数据处理输出数据结束输入语句输出语句18Visual FoxPro程序设计结构化程序设计结构化程序设计8.2.1 基本输入命令 n格式:格式:WAIT TO WINDOW AT,TIMEOUTn功能:暂停程序的执行并显示提示信息,按任意键或单击功能:暂停程序的执行并显示提示信息,按任意键或单击鼠
12、标后继续执行程序。鼠标后继续执行程序。n说明:说明:q使用使用TO 子句将把按下的键以字符形式保存到指定子句将把按下的键以字符形式保存到指定变量中,本命令只能接一个字符。若按下的是不可打印字符变量中,本命令只能接一个字符。若按下的是不可打印字符或是单击鼠标,则内存变量中存储空字符。或是单击鼠标,则内存变量中存储空字符。1.WAIT命令19Visual FoxPro程序设计结构化程序设计结构化程序设计pWINDOW AT 指定显示的信息窗口在屏幕上的位指定显示的信息窗口在屏幕上的位置,若省略置,若省略AT 则信息窗口显示在屏幕的右上角。省则信息窗口显示在屏幕的右上角。省略该项,则在已显示内容之后
13、显示信息。略该项,则在已显示内容之后显示信息。pTIMEOUT N 指定自动等待键盘或鼠标输入的秒数,该项必指定自动等待键盘或鼠标输入的秒数,该项必须放在须放在WAIT语句的最后。语句的最后。p缺省缺省wait后的提示信息,将显示后的提示信息,将显示“按任意键继续按任意键继续”。n说明说明:例如,例如,WAIT 继续查询吗继续查询吗?(Y/N)?TO JX WAIT 请选择请选择(1/2/3):“TO XZ WINDOW TIMEOUT 3 WAIT20Visual FoxPro程序设计结构化程序设计结构化程序设计n格式格式:ACCEPT TO n功能功能:从键盘上输入一个字符串常量给内存变量
14、。从键盘上输入一个字符串常量给内存变量。n说明说明:q 是提示语是提示语,从键盘上输入的字符串不必用定从键盘上输入的字符串不必用定界符括起来界符括起来。q用来保存键盘上输入的字符串。用来保存键盘上输入的字符串。2.ACCEPT命令例如,例如,accept 请输入要查找的人名请输入要查找的人名 TO name?name21Visual FoxPro程序设计结构化程序设计结构化程序设计n格式格式:INPUT TO n功能功能:是提示语是提示语,可通过键盘输入数值型、可通过键盘输入数值型、字符型、日期型、逻辑型、货币型等数据给字符型、日期型、逻辑型、货币型等数据给。n说明说明:q若输入字符型数据,一
15、定要加定界符(若输入字符型数据,一定要加定界符(与与ACCEPT不同不同)。)。3.INPUT命令 例如,例如,INPUT 请输入姓名:请输入姓名:TO XM INPUT 请输入出生日期:请输入出生日期:TO RQ INPUT 请输入入学成绩:请输入入学成绩:TO CJ INPUT 是团员吗?是团员吗?TO TY?XM,RQ,TY,CJ22Visual FoxPro程序设计结构化程序设计结构化程序设计8.2.2 格式输入输出语句n格式格式:Say Picture n功能功能:在制定的行列位置按格式输出表达式的值。:在制定的行列位置按格式输出表达式的值。23Visual FoxPro程序设计结构
16、化程序设计结构化程序设计8.2.3 程序结尾命令n格式:格式:RUTURNn功能:能使程序执行结束,并返回到调用它的上级程序继功能:能使程序执行结束,并返回到调用它的上级程序继续执行,若无上级程序则返回到命令窗口。续执行,若无上级程序则返回到命令窗口。n说明:了解另两条程序结束命令说明:了解另两条程序结束命令:qCANCEL:它可以中止程序运行,并返回到命令窗口。:它可以中止程序运行,并返回到命令窗口。qQUIT:可以结束程序运行退出:可以结束程序运行退出Visual FoxPro系统。系统。24Visual FoxPro程序设计结构化程序设计结构化程序设计8.3 程序的基本控制结构n顺序结构顺序结构n条件分支结构条件分支结构n循环结构循环结构本节内容 顺序结构 选择结构 循环结构25Visual FoxPro程序设计结构化程序设计结构化程序设计8.3.1 顺序结构n顺序结构的程序运行时按照语句序列的先后顺序,一条接顺序结构的程序运行时按照语句序列的先后顺序,一条接一条地执行,它是程序中最基本的结构。一条地执行,它是程序中最基本的结构。例例8-28-2 计算圆的周长和面积。计算圆的周长