程序设计基础(vfp)第五章程序设计基础_第1页
程序设计基础(vfp)第五章程序设计基础_第2页
程序设计基础(vfp)第五章程序设计基础_第3页
程序设计基础(vfp)第五章程序设计基础_第4页
程序设计基础(vfp)第五章程序设计基础_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第五章程序设计基础,5.2结构化程序设计基础,程序的定义:指将完成某一种功能的一组命令按照一定的逻辑结构和语法规则编写成的一个完整的命令序列。VFP的程序是建立在程序文件里,并存储在磁盘中,执行时将程序文件调入内存。一个结构化程序就是用高级语言表示的结构化算法。程序方式具有自动和连续处理的特点,结构化程序设计基础,一个程序一般包括以下几方面内容:对数据的描述:指定数据的类型和组织形式,即数据结构;(加工对象)对操作的描述:即操作步骤,就是算法;(灵魂)程序设计方法:语言工具和环境。算法是解决“做什么”和“怎样做”的问题,程序中的语句是算法的体现。显然,不了解算法就谈不上程序设计。数据结构+算法+程序设计方法+语言工具和环境程序,建立和编辑程序文件,建立和编辑程序文件可在任何文本编辑软件中进行。但是VFP也提供了文本编辑器,可以建立和编辑程序文件。1菜单方式(新建和打开)选择文件菜单中的新建命令,或选择工具栏中的新建按钮,弹出新建对话框。选择“程序”项,再单击“新建文件”按钮,即打开编辑窗口。新建文件时,默认文件名是“程序1”,扩展名是PRG,存储文件时可重命名文件名,结束编辑可按关闭窗口按钮,或按ctrl+w。如果要打开已存在的程序文件重新编辑,则选择文件菜单的打开命令,或按工具栏中的打开按钮,找到要打开的文件,即可打开。,建立和编辑程序文件,2命令方式格式一MODIFYCOMMAND程序文件名|?格式二MODIFYFILE文本文件名|?说明:两个命令均打开文本编辑器。格式一,默认编辑.PRG程序文件;格式二,编辑任何文本文件,无默认扩展名,可编辑TXT文本文件。选择?时,出现打开对话框,从中选择要打开的文件。可以同时打开多个文本编辑器,同时编辑多个文件,而且可以在文件之间“剪切”、“复制”、“粘贴”。用编辑器编辑的文本格式的PRG程序文件,称VFP源程序。,建立和编辑程序文件,程序的保存与放弃存盘程序代码输入、编辑后应以文件形式存入磁盘。选择文件菜单中的保存,或另存为命令,输入文件名后单击“保存”。也可以按CTRL+W键结束编辑保存文件。放弃本次编辑,按ESC或CTRL+Q键。,建立和编辑程序文件,程序的运行输入、编辑完的PRG源程序是文本形式的高级语言程序,计算机还不能直接执行,计算机只能独立执行EXE或COM机器语言程序。为了提高程序的运行速度,VFP可以将PRG源程序编译成FXP伪编译程序。FXP程序进行了部分编译,运行时还需要VFP环境的支持。未经编译的PRG源程序,VFP是以解释方式运行。即边编译边运行,运行的同时将.prg文件编译成.fxp文件(磁盘中同时保留.prg和.fxp两种文件)。在PRG文件和FXP文件同时存在的情况下,优先执行FXP文件。,程序的运行,执行源程序执行PRG源程序有多种方法:(1)选择程序菜单中的运行命令,在运行对话框中选择要执行的程序文件,单击“运行”按钮。(2)执行当前打开编辑的程序文件,只需单击常用工具栏中的!按钮。(3)在命令窗口,执行运行命令“DO程序文件名”。在执行过程中程序有错误,系统会出现程序错误提示窗口,提示错误语句和错误原因。单击“取消”后,运行返回到程序编辑窗口,修改存盘后再运行。,程序的运行,编译源程序先在程序编辑窗口打开要编译的源程序。选择程序菜单的编译命令,开始编译。如有错误,出现编译对话框并指出错误类型。编译后生成FXP文件。执行程序时,若有FXP文件就立即执行;若没有FXP文件只有PRG源程序,则解释执行PRG源程序,并同时编译为FXP文件。,5.2.2程序的三种基本结构,程序设计的三种基本结构:顺序结构、分支结构和循环结构。所有的程序都可以利用这三种结构的组合来实现任何复杂问题的求解。,5.2.3顺序结构,程序最基本的执行方式,就是按程序中语句的先后顺序依次执行每一条语句,这就是程序的顺序结构。,1辅助命令,注释语句格式一NOTE或*格式二&说明:注释语句是非执行语句,对程序注释,帮助阅读理解源程序。格式一,放在一行的开头,对前后程序段进行注释;格式二,放在某条语句的后面对本语句注释。系统初始化命令格式CLEARALL说明:清除所有内存变量和数组,关闭所有打开的各类文件,选择1号工作区为当前工作区,使系统恢复到初始状态。,清屏命令格式CLEAR说明:清除当前屏幕上所有信息,光标定位在屏幕左上角。信息显示控制命令格式SETTALKON|OFF说明:有些命令执行后,会在屏幕上返回有关信息,实现与用户“对话”(Talk)。程序中设置为OFF将关闭对话,有程序控制信息的显示,默认为ON状态。,如:USERSGZ.DBFbrowSUM实发工资,基本工资*12TOSFGZ,NJBGZAVERAGE基本工资TOJBGZ?实发工资=,SFGZ?基本工资*12=,NJBGZ?平均基本工资=,JBGZUSE,警告信息显示控制命令格式SETSAFETYON|OFF说明:为了安全,在执行一些不能再恢复的操作前,系统在屏幕上显示“警告信息”提示谨慎操作。如ZAP命令删除记录,INDEX命令是否覆盖文件等。设置OFF状态将不作提示直接操作,默认为ON状态。输出文本信息语句格式TEXTENDTEXT说明:在光标当前位置显示文本信息,TEXTENDTEXT成对出现,缺一不可。相当于多个?语句,但能控制输出文本的位置。,终止程序执行命令格式CANCEL说明:该语句将中止正在运行的程序。在程序中一般与条件语句配合使用,有条件的中止程序执行。返回语句格式RETURN|TOMASTER|TO说明:结束程序的执行。TOMASTER直接返回到主程序,如果程序是被另一程序调用,则返回到调用程序,否则返回到命令窗口。,2基本的输入、输出命令,输入命令输入一个字符命令(等待命令)格式:WAITTOWINDOWAT,NOWAITTIMEOUT功能暂停程序执行,等待用户从键盘输入一键,并继续执行。说明:该命令只能从键盘接收一个字符,选TO短语将接收的字符赋值给内存变量。字符表达式为提示语,缺省为“按任意键继续”例如:waittoa,输入命令,输入字符串命令格式ACCEPTTO功能从键盘输入一个字符串常量赋给内存变量。说明:输入的字符串不用定界符括起来,若使用定界符则成为字符串的内容,输入完按回车结束。例如:accept“请输入姓名:”toname,例:按姓名在xsda中查找职工信息,输入命令,3输入任意类型数据命令格式INPUTTO功能从键盘输入数值型、字符型、日期型、逻辑型、货币型数据给内存变量。说明:输入的常量必须用符号表示出数据类型,输入完按回车结束。如:3.1416”男”2000-10-01.T.$987.65,输入输出命令小结,WAIT只输入一个字符给内存变量,不用打回车;ACCEPT输入一个字符串给内存变量,字符串不用定界符,回车结束;INPUT可输入各种类型数据给内存变量,但要加定界符,输入字符时尽量用ACCEPT;这三个命令都是赋值给内存变量,光标位置不可控制。,顺序结构程序设计例子,求圆的面积,半径从键盘输入。SETTALKOFFINPUT请输入圆的半径值:TORS=PI()*R*R?SSETTALKONRETURN,例子:从键盘输入任意一个三位数,并求出其个、十、百位。,clearclearallinput请输入一个三位数:tong=n%10b=int(n/100)s=int(n-b*100-g)/10)?个位:,g?十位:,s?百位:,b,clearclearallinput请输入一个三位数:tonc=str(n,3)g=substr(c,3,1)s=substr(c,2,1)b=substr(c,1,1)?个位:,g?十位:,s?百位:,b,例:两个数交换值,CLEARINPUT输入第一个数:TOXINPUT输入第二个数:TOY?X=,x,y=,YT=XX=YY=T?X=,x,y=,YRETURN,例子:从键盘输入姓名,在rsda中定位记录,并将其的职称改为“讲师”,SETTALKOFFCLEARUSErsdaACCEPT请输入要修改记录的姓名:TOxmLOCATEFOR姓名=xmREPL职称WITH讲师DISPCLOSEALLSETTALKONRETURN,5.2.4分支结构程序设计,程序运行一般情况是顺序执行。但有时根据处理问题的实际情况,可能有两种或多种情况,要根据具体的条件选择其中的一种。对应于程序设计就产生程序的分支结构。,1.单分支结构程序,.F.,格式:(IFENDIF)简单分支语句的格式:IFENDIF功能说明:若条件为真则执行IF到ENDIF否则执行ENDIF之后的语句。,例5.1从键盘上输入任意两个数据,请按照从大到小的顺序输出,SETTALKOFFCLEARINPUT请输入第一个数据:TOAINPUT请输入第二个数据:TOBIFAB&满足条件两个数据发生交换,否则不执行条件语句T=AA=BB=TENDIF?A,BSETTALKONRETURN,例5.2从键盘输入两个数求最大值,SETTALKOFFclearINPUT请输入第一个数:TOaINPUT请输入第二个数:TObmax=aifa=aANDL=z?UPPER(L)ELSE?LENDIFSETTALKON,usersdaaccept输入要查询职工的姓名:tonamelocatefor姓名=nameIffound()dispelse?查无此人!endifuse,例5.6:在rsda表中按姓名查找职工信息,找到了则显示,找不到给出提示。,3IIF()判断选择函数IIF()函数具有简单条件分支IF语句的作用,在有些情况下使用更方便快捷。格式IIF(,)说明:作用同IF语句,当的值为.T时,函数返回的值;否则函数返回的值。、的数据类型可以是字符型、数值型、日期型、日期时间型、货币型、逻辑型,并允许两个表达式的数据类型不同。、也可以是IIF()函数,形成IIF()函数的嵌套。,SETTALKOFFINPUT“请输入所用电量:TODLIFDL=50DF=DL*0.5ELSEDF=50*0.5+(DL-50)*0.8ENDIF?“应缴电费为:”+LTRIM(STR(DF,10,2)+元SETTALKONRETURN,SETTALKOFFINPUT请输入所用电量:TODLDF=IIF(DLM?C,M,NELSEIFC,C,C,分支结构举例,SETTALKOFFCLEAR?对三个数排序,请输入三个数:INPUTA=TOAINPUTB=TOBINPUTC=TOCIFAA?C,A,BELSEIFCB?A,B,CELSE?A,C,BENDIFENDIFSETTALKON,例子,从键盘输入一个成绩,然后判断:不及格(90),CLEARSETTALKOFFINPUT请输入学生的成绩:TONIFN60?不及格ELSEIFN75?及格ELSEIFN90?良好ELSE?优秀ENDIFENDIFENDIFSETTALKONRETURN,多重分支条件语句,多分支结构可以利用IF语句的多重嵌套来实现,但程序结构复杂不易阅读。VFP提供了DOCASE语句,可很方便的实现多分支程序结构。格式DOCASECASECASECASEOTHERWISEENDCASE,DOCASE语句说明,依次判断每一个CASE后面的条件,当判断到一个条件满足,执行该条件下的语句序列,然后转到ENDCASE后面的语句执行。如果所有条件都不满足,并选择了OTHER

温馨提示

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

评论

0/150

提交评论