ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:268.57KB ,
资源ID:6185560      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6185560.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6章 程序设计基础.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第6章 程序设计基础.docx

1、第6章 程序设计基础第6章 程序设计基础教学目标与要求: 深入了解程序的概念 熟练掌握程序的建立、修改、保存和执行 熟练掌握与程序有关的常用命令和函数 熟练掌握顺序结构、分支结构、循环结构的编程 熟练掌握过程、自定义函数、内存变量的作用域、参数传递教学重点难点:分支结构,循环结构 过程和自定义函数内存变量的作用域,参数传递学习指导:程序就是包含多条命令的文件,它是解决实际问题常采用的方式。Visual FoxPro既支持传统的结构化程序设计,也支持面向对象程序设计。用前者设计用户界面较为复杂和烦锁,后者利用辅助工具可快速设计用户界面,并能自动生成简单的应用程序。但在面向对象程序设计中,其代码编

2、写的算法基础仍需借鉴结构化程序设计思想,因此,结构化程序设计可以说是面向对象程序设计的基础。本章将对结构化程序设计的方法和有关命令进行介绍。教学内容:6.1程序设计概述6.1.1程序的概念1命令执行方式在Visual FoxPro环境下,命令有以下两种执行方式:(1)单命令方式单命令方式也称交互操作方式,在命令窗口输入命令按回车键,命令被立即执行,屏幕会显示该命令的执行结果,这种方式还包括:菜单方式以及工具按钮方式。其特点是简单、直观,但效率低,不便于反复执行。(2)程序方式程序方式也称批命令方式,这种方式可将多条Visual FoxPro命令按一定的序列存放于一个文件中,执行该文件,则文件内

3、的命令被自动依次执行。该方式的特点是,文件可被反复执行,且极大的降低了用户的介入程度。2Visual FoxPro程序存放Visual FoxPro命令序列的文件称为Visual FoxPro程序文件(简称程序),也称命令文件,扩展名为.PRG。按照预期的功能要求编写程序的过程称为程序设计。程序设计的方法包括:结构化程序设计和面向对象程序设计。结构化程序设计注重程序的流程,通过组织命令序列编写程序,程序的基本结构包括顺序、分支和循环三种;面向对象程序设计以对象为核心,通过对对象的访问构建程序。6.1.2算法1 算法的概念算法指解决问题的确定的、有限的步骤。确定是指每一操作步骤的工作内容是明确的

4、,具有可操作性;有限指整个问题的解决在若干步骤后结束,具有可终止性。如求半径为3圆的面积,其步骤如下:(1)令R为3;(2)令S为3.14R2;(3)输出S。显然,上述求圆面积的步骤就是一个算法,因其满足算法的可操作性以及可终止性:首先,其每一个操作步骤都是明确的,是可以具体执行的;其次,它可在有限的操作步骤后结束。 但是,下面求3x2+5x-1=0两个实根的步骤,就不是一个算法:(1)令A为3,B为5,C为-1;(2)求x1,x2;(3)输出x1,x2。由于其第(2)步求x1,x2的方法不明确,没有可操作性,所以它不是一个算法。从算法所具有的可操作性和可终止性,可以得出如下结论:(1)由于算

5、法中所有的操作步骤都是确定的,具有可操作性,而任何确定的、无二义的操作,计算机都可以按部就班地一步步执行,因此算法可容易的转变为计算机能够执行的程序。(2)计算机求解任何问题,必须在一个有限的时间段内得到处理结果,算法的可终止性保证了这一点。2 算法的表示算法的表示方法有多种,目的都是对解决问题步骤的描述,是进行程序设计的依据。算法的表示方法有文字、伪码和图形等。用图形表示算法最为直观,如:控制流程图(FC)、结构流程图(N-S)、问题分析图(PAD)等。 下面介绍最为常用的控制流程图。控制流程图(简称FC :Flow Chart), 又称程序框图,是直观描述算法的结构和处理内容的图示。它是使

6、用最早、最广泛的算法描述工具,特点是直观形象、简单易懂。FC由具有特定含义的四种基本图符组成,如图5-1所示,这些基本图符构成了三种基本控制结构。(1)基本图符圆弧框:表示一个问题处理的开始和结束。矩形框:表示处理,对应于一条或者多条顺序执行的程序命令。菱形框:表示判断,对应于程序中的分支命令。 流程线:表示执行的次序。 图6-1 控制流程图基本图符(2)控制结构所谓控制结构是指对处理步骤执行顺序的控制。有三种基本控制结构,分别为顺序结构、分支结构、循环结构,用于控制处理步骤按三种不同顺序执行。常见的控制流程往往是这三种结构的混合,而不是单一的某种基本结构。 顺序结构顺序结构指按照处理步骤出现

7、的先后顺序有序的向下执行。求半径为3的圆面积的算法就是一个顺序结构,其控制流程图如图6-2所示。 分支结构指根据对给定条件的判断结果,决定下一步所执行的处理步骤。例如:在学生成绩表1中,查找姓名为“孙雯文”的记录,如果找到将其显示出来,否则显示“查无此人”,其算法的控制流程图如图6-3所示。 图6-2 求圆面积算法 图6-3 分支结构实例 图6-4 循环结构实例 循环结构循环结构指根据需要反复执行某些处理步骤,被反复执行的这些处理步骤称为循环体。图6-4是一个循环结构的控制流程图,在这个循环中,当I4时执行循环体,一直到I为4时,条件I4为“假”,则结束循环,其一共循环了三次。3 Visual

8、 FoxPro程序的逻辑结构Visual FoxPro程序多数情况是进行数据处理, 一般一个程序应包括如下三部分:(1)获得原始数据;(2)进行数据处理;(3)输出处理结果。这三部分符合解决问题的逻辑思路,如果将其转换为Visual FoxPro命令,计算机按此次序执行这些命令后,就会输出预期的处理结果。如上述求半径为3圆面积的程序如下:R=3S=3.14*R*R? S4 程序设计步骤(1)分析问题。获得已知和要求;(2)确定算法,明确解决问题的步骤;(3)画出控制流程图。检查是否满足预期功能;(4)编写程序。将控制流程图各步骤对应转换为Visual FoxPro命令;(5)调试程序。运行程序

9、找出并改正其中的错误。如图6-3所示的分支实例,对应转换为Visual FoxPro命令如下:USE 学生成绩表1INDEX ON 姓名 TAG XMSYSEEK 孙雯文IF FOUND( )DISPLAYELSE? 查无此人ENDIFUSE如果将以上命令按序存放于一个扩展名为.PRG的文件中,这个文件即为Visual FoxPro程序,执行该程序就可自动执行这些命令,从而实现对学生成绩表1“孙雯文”进行查找等操作。(3)画出控制流程图;6.2程序文件的建立和执行6.2.1程序文件的建立与编辑1 程序文件的建立与打开(1)命令方式命令格式:MODIFY COMMAND 功能:打开程序编辑窗口,

10、用于创建和修改Visual FoxPro程序。由用户指定,缺省的扩展名为.PRG。用户在命令窗口中输入该命令并按回车键后,便可以建立或打开程序文件。说明: 前可用路径指定文件的存放位置,缺省的存放位置为当前目录。 指定位置没有文件说明所指程序文件,将会打开一个程序编辑窗口,供用户输入一个新程序,如图6-5所示。 若指定位置有文件说明所指程序文件,则在打开的程序编辑窗口显示之,供用户编辑,同时会在磁盘上产生一个同名、同内容的 .BAK文件。如:MODIFY COMMAND P1.PRGMODIFY COMMAND C:USERP2.PRGSET DEFAULT TO D:学籍项目MODIFY C

11、OMMAND P3.PRG图6-5 程序编辑窗口(2)菜单方式建立:选择“文件”菜单“新建”“程序”“新建文件”。打开:选择“文件”菜单“打开”,在“打开”对话框中,选择文件类型为“程序”,再选定要打开的程序文件,单击“确定”按扭。2 程序的输入、修改与存盘进入程序编辑窗口后,可将所编程序命令依序输入,每输完一条命令按回车键,再输下一条命令;如要修改,可采用同文字处理软件WORD中相同的方法进行。输入或修改结束后用CTRL+END或CTRL+W键存盘并退出程序编辑窗口,用ESC键放弃存盘并退出程序编辑窗口;也可以选择“文件”菜单中的“保存”和“另存为”进行存盘,用“关闭”放弃存盘并退出程序编辑

12、窗口。例如:用命令方式建立用于求圆面积的AREA.PRG程序文件。操作步骤如下:第一步:在命令窗口中键入命令:MODIFY COMMAND AREA.PRG。第二步:在打开的程序编辑窗口中依次输入:INPUT 输入圆的半径: TO RS=3.14*R2?S第三步:按CTRL+W键存盘并退出程序编辑窗口。6.2.2程序文件的执行1 命令方式命令格式:DO 功能:将指定的程序从磁盘调入内存并执行。该命令可以在命令窗口执行,也可作为程序中的一条命令使用。执行该命令时,首先查找是否有编译产生的.FXP的目标文件,如果找到,则将其装入内存并执行,否则,则查找同名的未经编译的.PRG程序文件(称源程序),

13、将其编译生成.FXP后再执行,如果未找到同名的.PRG程序文件,则显示“文件不存在”的出错信息。如:DO AREA.PRGDO AREA.PRG命令执行时,会在系统默认的位置查找并执行AREA.PRG,其运行结果显示在Visual FoxPro窗口的工作区,如图6-6所示。如果AREA.PRG不在系统默认的位置,可在文件说明前加路径,如:DO D:学籍项目 AREA.PRG。图6-6 程序的运行2 菜单方式选择“程序”菜单“运行”,在“运行”对话框中,选择要执行的程序,单击“运行”按扭,或双击要执行的程序文件说明。3 工具方式当程序编辑窗口被打开且是当前窗口时,单击如图5-6所示工具栏内的“运

14、行”按钮,可执行当前程序编辑窗口内程序;也可以按快捷键Ctrl+E来执行。6.3常用命令及消息框函数6.3.1常用编程命令1 注释命令程序注释:NOTE|* 命令注释:& 功能:在程序中插入注释信息解释型字符。以上命令都可对程序进行解释,供用户理解程序,从而提高程序的可读性。系统对注释命令不产生任何操作。“NOTE”或 “*”必须写在命令行的开头,用于对程序或程序段的解释;“&”写在命令行的右面,与左面的命令之间必须以空格分隔,可对其所在命令行进行解释。例6-1 修改学生基本情况表中孙雯文入学成绩的程序。P1.PRG源程序清单如下:NOTE 加分程序OPEN DATABASE D:学籍项目学生

15、库 &打开学生数据库USE 学生基本情况表*查找并修改LOCATE FOR 姓名=孙雯文REPLACE 入学成绩 WITH 入学成绩+20 &孙雯文的入学成绩加20分DISPLAYUSE2 键盘输入命令(1)WAIT命令命令格式:WAIT TO NOWAIT TIMEOUT功能:将键盘输入的一个字符存入指定的内存变量中。该命令可暂停程序的运行,等待用户输入一个字符或按下一任意键后程序继续执行。其中各子句说明如下: TO用来存放键入的字符,如果不选TO子句,则输入的字符不予保存。 若按下回车键或其他不可打印键,则将空串存放在TO后的内存变量中。 如果缺省,则屏幕显示“按任意键继续”提示信息。 若

16、使用NOWAIT选项,系统将不等用户按键,立即往下执行。 TIMEOUT子句用来设定等待时间(秒数),一旦超时将自动往下执行。WAIT命令常常用于:输出提示信息、键盘输入一个字符来控制程序流程和设定延时等。例6-2用WAIT设定延时3秒钟,并且用WAIT给变量M输入数据。P2.PRG源程序清单如下:CLEAR?欢迎使用本系统!?日期:+DTOC(DATE()WAIT TIMEOUT 3CLEAR WAIT 请输入: TO M? M当执行前两个?命令时,在屏幕显示“欢迎使用本系统!”以及当天日期,然后执行到第一个WAIT,用户按任意键或等待3秒钟后以上字样被CLEAR命令清除。程序执行第二个WA

17、IT时,先在屏幕上显示“请输入:”,等待用户通过键盘给M输入数据,当输入6时,则系统将字符6存入M,然后接着往下执行。(2)ACCEPT命令命令格式:ACCEPT TO 功能:将键盘输入的一串字符存入指定的内存变量中。命令执行时,先在屏幕上显示出,然后等待用户通过键盘输入数据,输入结束后按回车键,所输入的数据作为一个字符串赋给TO后的内存变量。例6-3当口令验证正确时就调用P1.PRG的程序。P3.PRG源程序清单如下:CLEARACCEPT 请输入口令: To PasswordIF Password=123 &判断口令是否为“123”DO P1.PRG &口令正确,执行P1.PRG程序 EL

18、SE? 口令错误!QUIT &口令错误,退出Visual FoxPro环境ENDIF(3)INPUT命令命令格式:INPUT TO 功能:将键盘输入的表达式的值存入指定的内存变量中。与ACCEPT命令的格式和功能都类似,但所输入的数据可以是任意类型的表达式,输入结束按回车键,所输入的表达式的值赋给TO后的内存变量,内存变量的类型由所输入数据的类型决定。例如:INPUT 请输入年龄 : TO Age & 输入N型如:18,Age的值为18INPUT 请输入S的值: TO S & 可输入各类型表达式如:2+3,S的值为5INPUT 请输入姓名 : TO XM & 输入C型要加定界符,如:张三INP

19、UT 请输入日期 : TO rq & 输入D型,如:2006/05/033 格式输入输出命令格式输入输出命令可在Visual FoxPro系统窗口的工作区指定位置进行输入和输出。Visual FoxPro系统窗口坐标系如图6-6所示。格式输入输出命令的子句较多,功能很强,下面只介绍其基本格式和功能。图6-6 VFP窗口坐标系(1)格式输出命令基本格式: SAY 功能:在指定位置输出的值。该命令用于在Visual FoxPro系统窗口的工作区指定位置显示的值。命令中的“行”和“列”是数值表达式。例6-4 用命令编程求10+15的值。P4.PRG源程序清单如下:CLEARSTORE 10 TO A

20、 STORE 15 TO B 5,10 SAY A+B= & 从第5行,第10列开始显示 5,COL( ) SAY A+B & COL( )是光标所在的列号,值为14 ROW( )+1,10 SAY END! & ROW( )是光标所在的行号,值为5 程序执行结果如下: A+B= 25 END!例6-5 用命令显示“学生基本情况表”中1985年1月26日出生的记录。P5.PRG源程序清单如下:USE 学生基本情况表LOCATE ALL FOR 出生日期=01/26/855,16 SAY 姓名:+姓名5,36 SAY 性别:+性别5,16 SAY 出生日期:+DTOC(出生日期)5,36 SAY

21、 入学成绩:+STR(入学成绩,5,0)USE该程序执行后在屏幕上显示:姓名:张伟峰 性别:男出生日期:01/26/85 入学成绩:685.0(2)格式输入命令基本格式: SAY GET DEFAULT功能:在指定位置输出和的值。该命令用于在Visual FoxPro系统窗口的工作区指定位置开始显示,空一格后,再接着突出显示GET子句后变量的值。其中各子句说明如下: SAY子句一般作为提示信息,常常为C型。GET子句用来对变量的值进行修改。若缺省SAY子句,GET变量值从指定位置开始显示。 GET子句中的变量可以是一个内存变量或一个字段变量。如果是内存变量,其必须具有初值,或用DEFAULT子

22、句的指定初值(若变量具有初值,本子句被忽略)。初值一旦指定,该变量的类型在编辑期间就不能改变,字符型变量宽度与数值型变量的小数位数也无法再变。如果是字段变量,则其所在的表文件必须打开。 GET子句的变量必须用READ命令来激活。即一个或若干个GET变量,必须遇到READ命令才能编辑变量的值。当光标移出这些GET变量组成的区域时READ命令执行结束。若无READ命令与之配合,本命令仅具输出功能。例6-6求两数的平方和。P6.PRG源程序清单如下:X=02,3 SAY X= GET X3,3 SAY Y= GET Y DEFAULT 0READZ=X2+Y2? 平方和为:,Z程序执行时,分别输入2

23、和4,则结果如下:X= 2Y= 4平方和为: 20例6-6 在“学生成绩表1”中,根据姓名查找记录并修改其各科考试成绩。P6.PRG源程序清单如下:USE 学生成绩表1XM= 3,16 SAY 请输入姓名: GET XMREADLOCATE ALL FOR 姓名=XM5,20 SAY 姓名:+姓名+ 学号:+学号6,10 SAY 高等数学: GET 高等数学6,25 SAY 大学英语: GET 大学英语6,40 SAY 大学语文: GET 大学语文READUSE该程序执行后在屏幕上显示:请输入姓名:赵新月 姓名:赵新月 学号:20020302 高等数学: 85 大学英语: 80 大学语文: 6

24、5第一个和READ命令配合等同于ACCEPT命令,输入“赵新月”后,指针会指在该记录上,执行第二组命令后遇到READ命令时,光标停留在高等数学字段值85的首位时,修改该值后按回车键,光标会移至大学英语字段值的首位,等待用户修改该值,可同样对大学语文的值进行修改。修改后的数据会自动被保存到“学生成绩表1”中。如果不修改直接按回车键,则原字段值保持不变。4 其它常用命令(1)CLEAR功能:清除Visual FoxPro主窗口工作区所显示的信息。(2)CANCEL功能:释放所有局域变量,终止程序的执行,返回Visual FoxPro系统。(3)QUIT功能:关闭所有文件,释放所有变量,退出Visu

25、al FoxPro,返回Windows操作系统。(4)CLEAR ALL功能:关闭所有文件,释放所有变量,清除所有用户自定义的菜单和窗口,并将当前工作区置为1区。相当于刚进入Visual FoxPro系统。(5)SET TALK ON|OFF功能:打开或关闭人机对话。在SET TALK ON状态下,程序执行时把一些非显示命令的执行结果显示出来,可用SET TALK OFF命令关闭这些信息的输出,在OFF状态下,只有输出命令的结果才能显示。系统默认状态为ON状态,这种状态适合于调试程序。例6-8 对“学生成绩表1”中“大学英语”字段求平均。P8.PRG源程序清单如下:SET TALK ONUSE

26、 学生成绩表1AVERAGE 大学语文 TO CH & 显示CH的值? CH & 显示CH的值SET TALK OFFAVERAGE 大学语文 TO CH & 不显示CH的值? CH & 显示CH的值6.3.2消息框函数消息框函数是Visual FoxPro已预先定义好的一个对话框,用户编程时只需调用该函数就可显示这个对话框,并根据用户的不同操作得到不同的返回值。函数格式:MessageBox(,)功能:在屏幕上产生一个消息对话框。对话框中显示一条信息、一个图标和最多三个按钮,如图6-8和6-9是MessageBox函数使用了不同参数调用后所产生的对话框。 图6-8 消息对话框1 图6-9 消

27、息对话框2其中:指定消息框中显示的文字(即消息内容)。:指定消息框标题的文字内容。:用来指定消息框四个方面的内容:按钮的个数、图标的样式、默认按钮以及模态性,它们的取值分别见表6-1、表6-2、表6-3和表6-4。表6-1 按钮个数参数值显示的按扭0只显示“确定”按钮1显示“确定”与“取消”按钮2显示“终止”、“重试”、与“忽略”按钮3显示“是”、“否”和“取消”按钮4显示“是”和“否”按钮5显示“重试”和“取消”按钮表6-2 图标样式参数值 图标参数值 图标16 4832 64表6-3 默认按钮 表6-4 模3态性参数值默认按钮参数值模态性0第一个按钮0应用程序级模态256第二个按钮4096

28、系统级模态512第三个按钮几点说明: 默认按钮是指当显示消息对话框时被首先选中的按钮。 模态性是指当显示消息对话框时,是否还能对程序中的其它窗口进行操作。应用程序级模态:不关闭消息对话框,不允许对本程序中的其它窗口进操作。系统模态:不关闭消息对话框则无法对所有程序进行操作。 的值为:从以上四个表中各取一值相加后的结果。例如下面两条命令分别显示图6-8和图6-9所示的消息对话框。?MessageBox(口令错误,请重新输入!,16,错误) &16=0+16+0+0Int1=MessageBox(数据未存+CHR(13)+保存否?,3+48+0+0,注意) 调用消息框函数时,若省略,则对话框上只显示一个“确定”按钮,没有图标;若省略了,则标题为应用程序名。 程序运行到MessageBox函数时,先显示消息框,然后等待用户响应。当用户选择一个按钮后,MessageBox函数返回一个代表所选按钮的整数,然后继续执行其下面的命令。各按钮对应的整数如表6-5所示。表6-5 MessageBox函数的返回值返回值按钮返回值按钮1确定5忽略2取消6是3终止6否4重试例6-9 删除“学生成绩表1”中姓名为“王星”的记录,删除时用图6-10所示的消息对话框3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1