第7章结构化程序设计.ppt_第1页
第7章结构化程序设计.ppt_第2页
第7章结构化程序设计.ppt_第3页
第7章结构化程序设计.ppt_第4页
第7章结构化程序设计.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章结构化程序设计,理解程序的概念,掌握建立和运行程序的方法,掌握程序设计中常用的输入和输出语句,掌握程序的基本控制结构:序列结构,分支(选择)结构,循环结构,理解和掌握过程和用户自定义函数,教学目标,程序的概念,其建立和运行方法程序设计中常用的输入和输出语句的控制结构:序列结构,分支(选择)结构, 循环结构过程的概念,用户定义函数的目的和方法,难点是:程序设计算法,分支程序设计,循环程序设计的重点和难点,7.1程序概念(1)定义:一个程序是一组可以完成一定任务的命令。 这组命令存储在一个名为程序文件或命令文件的文本文件中,VFP默认程序文件的扩展名为PRG。程序模式和单一命令处理模式具有以

2、下优点:编辑器可以方便地输入、修改和修改程序。你可以用很多方式运行这个程序很多次。您可以在一个程序中调用另一个程序。7.1程序概念,set talk off清除开放数据库学生开放数据库使用jbqkb开放表列表关闭数据库开放数据库,表SET TALK ON RETURN,示例程序:程序编写规则和指令:程序通常以SET TALK OFF开始,以SET TALK ON和RETURN语句结束。设置通话开启|关闭意味着打开或关闭人机对话模式,并控制VFP信息是显示在主窗口、状态栏还是用户定义的窗口中。它是插入到程序中的命令注释,该注释是非执行代码,不影响程序的功能。以NOTE或*开头的代码行也是注释行。

3、注释行可以增强程序文件的可读性。VFP的注释行显示为绿色。程序中的每个命令都以回车键结束,一行只能写一个命令。如果命令太长,您需要在单独的行上写。键入延续字符“;”在一行的末尾,然后按回车键。取消、返回、退出、执行等命令。经常出现在程序中,其含义如下:取消:终止程序,知道所有私有变量,并返回到命令窗口。返回:结束当前程序的运行,返回调用它的上级程序,如果没有上级程序,返回命令窗口。退出:退出VFP系统。DO:转到另一个程序。程序的编写规则和说明:(1)建立源程序的方法有很多,常用的有:执行“文件新建”命令,在对话框中选择“程序”文件。在“项目经理”的“代码”选择卡中选择“程序”项目,然后选择“

4、新建”按钮。在命令窗口中执行命令:MODIFY COMMAND。|?编辑时注意保存程序。修改程序的方法类似于创建程序的方法。7.1.2。程序的建立和运行,(2)程序的运行方法:执行“程序运行”命令,在“运行”对话框中选择要运行的程序名称,在“项目管理器”的“代码”选项卡中选择“程序”下的程序,在“命令”窗口中选择“运行”按钮,输入:7.1.2。程序的建立和运行,VFP程序文件可以生成不同扩展名的不同目标代码文件。当用DO命令执行程序文件时,如果没有指定扩展名,系统将按以下顺序执行一些目标代码文件:EXE(VFP可执行文件)、APP(VFP应用程序文件)、FXP(VFP编译文件)、PRG(VFP

5、源程序文件)。7.1.3。常用的输入输出语句,(1)接受命令格式接受到功能在程序执行过程中,用户交互输入的内容被指定为字符串形式的内存变量。【说明】如果选择了提示信息,系统首先将提示信息的值显示为提示信息,并将输入字符串指定给。该命令只能接收没有分隔符的字符串,否则系统会将分隔符作为字符串的一部分。如果直接按回车键而不输入任何字符,系统会将空字符串分配给指定的内存变量。SET TALK OFF CLEAR ACCEPT”请输入数据库名称:“TO AAA OPEN DATABASE AAA ACCEPT请输入表名到BBB使用BBB列表使用SET TALK返回示例7-1编程从键盘输入数据库的文件名

6、,并请求打开数据库和表并显示其内容。(2)输入命令格式输入到功能在程序执行过程中,将用户输入的内容分配给指定的内存变量描述如果选择了提示信息,系统将首先显示提示信息的值作为提示信息,并将输入数据分配给。您可以输入各种类型的数据,也可以是常量、变量、函数或表达式的形式。按回车键完成输入。输入带分隔符的非数字数据。例如,逻辑常量应该用点(.)分隔,日期常量应该在2007年5月10日用大括号输入。示例7-2从键盘输入两个任意的正数,并编程找到两个数字作为边长的矩形区域。程序的文件名是PROG2。PRG设置通话关闭清除输入。矩形一边的长度是输入。矩形另一边的长度是?矩形区域为:(1)返回时设置通话,(

7、3)等待命令格式等待消息到窗口,无等待清除|无清除超时功能显示消息并暂停程序执行,按任意键或点击鼠标后继续执行。【说明】如果选择了提示信息,系统首先将提示信息的值显示为提示信息,并将输入的单个字符指定给。如果未选择提示信息,将显示默认提示信息“按任意键继续”。用于保存用户输入的单个字符,其类型只能是字符类型。如果未选择“收件人”短语,键入的单个字符将不会被保留。如果指定了WINDOW子句,将出现一个等待提示窗口,并在窗口中显示提示信息。提示窗口通常位于窗口子句中,它在主窗口中的位置也可以由at短语指定。如果您同时选择了NOWAIT短语和WINDOW子句,系统将直接执行它,而无需等待用户按键。如

8、果未选择清除短语,提示窗口将不会关闭,直到用户执行下一个等待窗口命令或等待清除命令。超时选项是指在中断等待命令之前等待键盘或鼠标输入的秒数。一旦超时到期,它将不再等待用户按键,它将自动向下执行。示例7-3使用等待命令在消息提示窗口中显示:感谢您使用Visual FoxPro!等待“谢谢你使用可视化FoxPro!”窗口超时10,三种输入命令的异同接受命令只能接受没有分隔符的字符数据,并按回车键完成输入;WAIT命令只能输入一个字符,没有分隔符,输入后不需要按回车键;输入命令可以接受数字类型、字符类型、逻辑类型、日期类型和日期时间类型的数据。数据形式可以是常量、变量、函数和表达式。如果是字符串,则

9、需要分隔符。输入后,按回车键完成。4)?|?输出命令格式?|?表达式1和表达式2函数计算表达式的值并输出计算结果。描述?计算表达式的值,输出回车换行,然后将计算结果输出到主窗口;如果省略表达式,将显示或打印一个空行。功能同上,但回车换行不输出,即对等输出。4。格式化输入/输出命令格式说获取函数在指定的行和列的位置输出表达式的值,并可以在获取后修改或重新输入变量值。说明行号和列号是指信息在屏幕上显示的位置,第一行和第一列都是0。表达式通常是字符串。如果选择了“获取”,则必须为变量分配一个初始值,并反向显示。要编辑GET变量,必须用READ激活它。例7-3有如下自由表sb.dbf,记录内容如下:编

10、程:可以根据记录编号修改某台设备的价格和部门编号。序列号名称部门价格016-1车床21 1121100 016-2钻床21 2111000 016-3磨床22 1121300 016-4微型计算机23 11000,设置通话关闭清除屏幕使用sb jlh=1设置get变量的初始值2,10表示“请输入记录号:”get jlh read激活get子句变量jlh以编辑go jlh指向的jlh记录号4, 10天请修改第一个 str(jlh,1)设备的数据输出字符串6,10表示 price 获取price 3360字段变量8,10表示 department 获取department read激活get子句变

11、量,这是用来编辑set talk on,7.2程序的基本结构。 Visual FoxPro系统的程序有两个特点:一是程序控制流模式,它由三个基本结构组成:顺序、分支和循环。另一个是面向对象的可视化结构化程序模块,它也由各个模块中的程序控制流组成。常见的控制结构如下:1 .序列结构序列结构是程序执行时,根据程序中语句的编写顺序依次执行的命令序列。Visual FoxPro系统中的大多数命令都可以作为序列结构中的语句使用。2分支结构分支结构是根据程序执行时的不同情况选择和执行不同的程序语句,从而解决许多选择和传递的问题。循环结构循环结构可以使一些语句或程序段重复执行几次。如果某些语句或程序段需要在

12、固定位置重复,使用循环是最佳选择。在许多应用程序中,一些程序段需要重复执行。这些程序段不是在一个固定的位置,而是分散在程序的许多位置以供重复执行。它们可以从嵌入式程序中分离出来,形成一个独立的程序序列,然后在使用时转移到程序中,从而实现不同位置的重复操作。这增强了程序的可读性和模块化。我们把这个具有独立功能并且可以被其他程序调用的程序序列称为过程。7.2.1分支结构,分支结构有三种类型:(1)单向分支单向分支语句,即根据用户设置的条件表达式的值来决定是否执行一个操作。此语句首先计算条件表达式的值,当条件表达式的值为真时,执行命令行序列;否则,执行ENDIF之后的第一个命令。例7-4求解一般二次

13、方程AX2BXC0的实根。如果d=0x 1=(-b sqrt(d)/(2 * a)x2=(-b-sqrt(d)/(2 * a),则将通话清除输入设置为a输入到b输入到c DB2-4 * a * c?X1,X2 ENDIF设置通话开启,双向分支语句,即根据用户设置的条件表达式的值,选择两个操作之一来执行。Format IF条件表达式命令行序列1 ELSE命令行序列2 ENDIF Function该语句首先计算条件表达式的值,当条件表达式的值为真时,执行命令行序列1中的命令;否则,执行命令行序列2中的命令;ENDIF之后的第一个命令将在命令行序列1或命令行序列2执行后执行。编写一个密码验证程序(假

14、设密码是ABC)。设置通话关闭清除接受”请输入您的密码:“到AAA,如果AAA=“ABC”清除?欢迎使用这个系统!ELSE?“错误的密码!”(3)多向分支语句,即根据多个条件表达式的值,选择多个操作中的一个相应地执行。(1)格式 DO CASE CASE条件表达式1命令行序列1 CASE条件表达式2命令行序列2 CASE条件表达式N命令行序列N否则命令行序列N 1 ENDCASE函数该语句根据N个条件表达式的给定值选择N个命令行序列之一执行。当所有案例中的条件表达式的值都为假时,如果有否则项,执行命令行序列N 1,然后在ENDCASE之后执行第一个命令;否则,在ENDCASE之后直接执行第一个

15、命令。使用分支语句时应注意以下几点:(1)必须成对使用IF ENDIF和DOCASE ENDCASE,并且在DOCASE和第一个CASE条件表达式之间不应有命令。(2)条件表达式可以是各种表达式或函数的组合,其值必须是逻辑值。(3)命令行序列可以由一个或多个命令组成,也可以是由条件控制语句组成的嵌套结构。(4)DO CASE ENDCASE命令最多只能执行一个命令行序列。当多个案例项的条件表达式值为真时,只执行条件表达式值为真的第一个命令行序列,然后执行ENDCASE之后的第一个命令。4使用分支语句时需要注意的几点(1)必须成对使用IF ENDIF和DO CASE ENDCASE,并且在DO

16、CASE和第一个CASE条件表达式之间不应该有命令。(2)条件表达式可以是各种表达式或函数的组合,其值必须是逻辑值。(3)命令行序列可以由一个或多个命令组成,也可以是由条件控制语句组成的嵌套结构。(4)DO CASE ENDCASE命令最多只能执行一个命令行序列。当多个案例项的条件表达式值为真时,只执行条件表达式值为真的第一个命令行序列,然后执行ENDCASE之后的第一个命令。SET TALK OFF CLEAR INPUT 请输入收入: to p do case p 800 r=0 case p 2000 r=0.05、示例7-6假设收入(p)和税率(r)之间的关系如下表所示,并对税收进行编程。0 p 800 r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论