教你如何制作vfp程序设计.ppt_第1页
教你如何制作vfp程序设计.ppt_第2页
教你如何制作vfp程序设计.ppt_第3页
教你如何制作vfp程序设计.ppt_第4页
教你如何制作vfp程序设计.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第三部分VFP程序设计,程序文件的建立程序文件的常用命令结构化程序设计,程序文件的建立和运行,1.程序文件的建立或修改格式:MODIFYCOMMAND功能:建立或修改指定的命令文件参数说明:如果文件不在当前盘、当前目录下,需指明盘符和路径。,多条命令按顺序组合在一起就是程序。在VFP中,程序文件又称为命令文件,它的扩展名为.prg。,说明:1.在命令窗口中输入命令,系统在指定位置查找文件,若已存在,则打开进行编辑;若不存在,则新建命令文件,进入全屏幕编辑状态等待输入程序。2.在输入完成之后,按CTRL+W或单击关闭窗口按钮即存盘。命令文件规则:1.一行写一条命令(不超过8192字节)并输入回车键结束。2.一条命令可分成几行写,在行结束处用“;”表示命令未完,转入下一行。3.除主程序外,每个程序的最后一条命令为return。如p153表7-1,2.程序的执行程序的执行就是按照文件指定的顺序执行各命令语句。方法1:在命令窗口中输入命令格式:DO功能:执行指定的命令文件。方法2:菜单方式选择“程序”菜单“运行”命令,弹出对话框,选择要执行的命令文件,即可执行。说明:如果在程序执行时出现错误,则可使用modifycommand命令来进行修改。,实例:编写一个简单的程序。要求统计出student.dbf中男生和女生的人数。分析:统计男生人数只需使用统计命令统计性别为“男”的记录有多少个;同样,统计女生人数则是统计性别为“女”的记录有多少个;最后显示出统计数字。程序步骤如下:Closeall/关闭所有文件Settalkoff/执行命令时的回答不显示147页Used:zhbinstudent/打开文件Countallfor性别“男”toa1/统计男生人数,并保存到a1中Countallfor性别“女”toa2/统计女生人数,并保存到a1中?”男生人数为:“,a1/显示男生人数?”女生人数为:“,a2/显示女生人数,程序文件的常用命令,1.赋值命令2.输入类命令3.输出类命令4.注释命令5.程序流程控制命令,1.赋值命令赋值语句就是将原始数据通过内存变量提供给程序。格式1:内存变量表达式将表达式的值赋给右边的内存变量格式2:STORETO将表达式的值赋给内存变量表中指定的变量,2.输入类命令在程序中使用的数据有时需要在运行时用户输入给内存变量,为此系统提供了三种使用灵活、功能强大的键盘输入命令,用于在程序的执行过程中,接受用户通过键盘所输入的数据。按输入数据的类型可分为:1).输入字符串命令2).输入单个字符命令3).输入表达式命令,1)输入字符串命令格式:ACCEPTTO功能:执行此命令时,程序暂停执行等待用户从键盘输入字符串,最多可以输入254个字符。当按回车键后,系统将用户输入的字符串赋给TO后面的内存变量,继续执行后面的语句。说明:1.此语句将输入的内容都自动作为字符型数据处理,特别是输入的单引号、双引号或方括号三种字符,也都作为字符型数据的一部分。2.输入数据时,若用户仅按回车键,执行此语句后,TO后面的内存变量的值为空。,实例:154页例7.1,宏代换函数格式:&,功能:将字符型内存变量的值替换出来,即字符型内存变量的值就是函数的值说明:在数据处理中宏代换函数有着广泛的应用。,2)输入一个字符格式:WAITTO功能:与ACCEPT语句命令相似,两语句仅有如下三点差别:1)ACCEPT语句允许用户输入多个字符,必须用回车键结束输入的字符串;而WAIT语句只接收用户从键盘输入的一个字符,不须按回车键。2)当省略“提示信息”时,ACCEPT语句不显示任何信息,而WAIT语句将显示信息“按任意键继续.”。3)TO在ACCEPT语句中是必选项,而在WAIT语句中是可选项,若WAIT语句省略此项,则不保留输入的字符。,154页例7.2,3)输入任意数据类型命令格式:INPUTTO功能:执行此命令时,系统将暂停执行,等待用户从键盘输入一个正确的表达式,按回车键后,系统自动计算这一表达式的值,并将其值赋给TO后面的内存变量,再继续执行后面的语句。说明:1.此命令可以接收任何类型的表达式。2.当输入字符串时,必须加上引号。3.当输入逻辑值时,其中两个圆点不能省略。4.TO后面的内存变量的数据类型由输入表达式值的数据类型来决定。5.若仅输入一个回车键,则内存变量没有被赋值,因此,引用内存变量时会产生错误。,155页例7.3,3.输出类命令在程序运行中或结束后,有些数据要显示出来,就需要输出命令:1)输出表达式格式:?功能:使用单引号是从下一行第一列开始输出各个表达式的值;使用双引号是从当前行的当前列开始输出各个表达式的值。,2)输出文本格式:TEXTENDTEXT功能:执行此语句时,将文本块的内容照原样输出。说明:1.TEXT是文本块输出语句的开头语句,ENDTEXT是其结束语句,必须一一对应。2.文本块中可以包含多行字符,每行字符串中可以包含任何可显示的字符。,156页例7.5,用于在程序中插入注释行,提高程序的可理解性。可采用以下三种方式:格式:*NOTE&,4.注释命令,1)等待命令用于不定时的暂停程序的运行,等待用户作出某种处理。格式:WAIT2)终止命令格式:CANCELQUITcancel命令用于终止程序,同时清除已定义的所有内存变量,返回圆点提示符状态;quit命令则是终止程序运行后,退出foxbase+状态。,5.程序流程控制命令,3)返回命令格式:RETURNTOMASTER用于结束一个程序的运行,返回圆点提示符状态。如果所执行的是一个子程序,则结束后将返回到调用该程序的程序。如果加上TOMASTER后,则不论多少级调用,都直接返回主程序。,其他命令清屏命令格式:CLEAR用于清除屏幕并置光标于屏幕的左上角。编程时通常把CLEAR命令用在程序的开始处,结构化程序设计,1.基本概念程序设计的要求是设计出的程序应满足:1.能在计算机上运行且运行结果正确,符合题目要求;2.具有良好的结构,清晰易懂;3.界面友好,便于使用;4.尽可能减少运行时间;5.运行时所占用内存要压缩到合理的范围。程序设计的步骤:1.分析问题2.确定算法3.画出流程图4.编写程序5.调试程序6.建立健全的文档资料,“算法”广义的讲:为解决一个问题而采取的方法和步骤。编写程序,就应先确定它的算法。而在算法中不但包括顺序执行,也有循环和分支执行。为了规范流程图,1966年提出了三种基本结构,用以表示算法的基本单元。1973年提出一种新的流程图形式。这种流程图中完全没有流程线,全部算法写在一个矩形框内,框内包含其他从属于它的框,或者说,由一些基本框组成一个大的框。NS流程图用以下流程图符号:,2.N-S流程图,顺序结构选择结构当型循环直到型循环,3.顺序结构程序设计,顺序结构是最简单的结构,它没有分支,执行上一步后必然执行下一步。按顺序结构组成程序时,只需把要使用的命令按照处理的顺序自上而下的排列起来。,A,B,4.分支结构程序设计,按条件是否成立,选择执行不同的命令分支。,A,B,P,1)格式一IFENDIF对条件进行判断,当条件成立时,则执行.否则跳过这些命令语句不执行,而执行ENDIF后的语句。,例如:要求输入表达式,再判断输入是否正确。?“5+6=”Input”表达式的值为:“todaIfda11?”答案正确“Endif,2)格式二IFELSEENDIF对条件进行判断,条件成立则执行,条件不成立则执行.实例:159页例7.7,3)格式三IFELSEIFELSEIFELSEENDIFENDIFENDIF,进行多重条件的选择。,3)格式三(多分支选择)DOCASECASECASEOTHERWISEENDCASE,功能:依次判断条件,转入条件为真的中执行,说明:1.如果有两个或以上的条件为真,则只执行第一个条件为真的CASE命令序列,完成后,即去执行ENDCASE后的语句。2.docase中的case个数不限,每个case之间独立;docase和endcase成对出现。,SettalkoffCloseallClearUsestudentAccept“请输入学生姓名:”toxmAccept“请输入查询科目:”tokmLocateallfor姓名xmDocasecase&km=90str=“A”case&km=80str=“B”,实例:对student中某学生的某科成绩判断级别(Modicommslc),case&km=70.and.&km=60.and.&km70str=“D”otherwisestr=“不及格”Endcase?xm,”的“,km,”成绩等级为:“,struseSettalkon,实例2:制作如下菜单:1.显示记录2.修改记录3.添加记录4.删除记录0.退出,(Modicommslc2)SettalkoffClearText1.显示记录2.修改记录3.添加记录4.删除记录0.退出EndtextWait“请选择(0-4):”top,Docasecasep”1”dok1casep=“2”dok2casep”3”dok3casep=“4”dok4casep=“0”exitOtherwise?“输入错误!”Endcase。,5.循环结构程序设计,格式一:DOWHILEENDDO功能:当条件表达式的值为真时,执行命令序列,否则执行ENDDO后面的语句,循环是指按照给定的条件去重复执行一段特定功能的程序。,说明:1.dowhile和enddo之间的命令序列又称为循环体;可以是一个语句或一组语句,也可以是VFP子程序。,2.enddo是循环终止语句,表示循环以此语句为终点;3.循环语句本身不会修改执行条件,因此在循环体中要有设置修改循环条件的语句,否则会出现死循环。,实例:以显示方式输出1到10的数字(modicommslx1)SETTALKOFFCLEARI=1DOWHILEI=10?II=I+1ENDDO,实例2:求1+2+3+100的值为,(Modicommslx2)SettalkoffClearI=1S=0DowhileI=100skiploopEndifReplace工资with工资10SkipEnddocancel,实例2:求0-100之间奇数之和SettalkoffX=0Y=0Dowhilex100X=X+1IFINT(X/2)=X/2LOOPELSEY=X+YENDIFENDDO,?“0-100之间的奇数之和为:”,YSETTALKONCANCEL,格式二:FOR循环变量TOSTEPLOOPEXITENDFOR功能:循环过程是首先将初值赋予循环变量。每当执行一次循环,循环变量增加一个步长,直到循环变量大于终值时结束循环。说明:loop语句用于转到for语句继续执行循环;exit用于跳出循环,跳到endfor后面命令执行。,实例1:返回dank表中年龄最大的记录SettalkoffUsed:zhbindankMax=年龄J=reccount()&返回当前工作区表文件的记录数FORI=1forjifmax年龄max=年龄s=recno()endifSkipENDFOR,USE?”年龄最大的记录号为:“,SSETTALKON,格式三:SCANFORloopexitENDSCAN功能:指在表中移动,并重复执行命令序列。一般情况下,SCAN循环开始时记录指针指向满足条件的第一条记录,执行到ENDSCAN时,记录指针指向第二个满足条件的记录,控制又回到SCAN循环开始,直到记录处理完成。,实例1:用SCANENDSCAN命令显示表的记录Used:zhbinstudentScandisplayEndscan,实例2:在dank表中,查找职称为“教师”的记录,计算满足条件的记录格式和工资总和Settalkoffss+工资Used:zhbindankn=n+1S=0endscanN=0useScanfor职称“教师”display,作业:1.编程序求0-100之间的偶数之和(s2+4+6+100)2.编写程序计算下列三个表达式的值(在同一程序内)S=1+2+3+100T=12+22+1002Y=1+1/2+1/31/100,(Modicommls1)Settalkoff

温馨提示

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

评论

0/150

提交评论