VFP程序设计基础(完整版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第九讲VFP程序设计基础鲁宁学时:2节教学内容9.1程序概念9.2简单的输入输出命令9.3程序结构9.3.1顺序结构9.3.2分支结构IF…ELSE…ENDIFDOCASE…ENDCASE9.3.3循环结构FOR…ENDFORDOWHILE…ENDDOSCAN..ENDSACN教学目标及重点难点教学目标掌握程序的基本概念及简单程序的编写掌握分支语句的使用方法掌握循环语句的使用方法能灵活应用程序结构编程解决实际问题重点难点分支结构IF…ELSE…ENDIFDOCASE…ENDCASE循环结构FOR…ENDFORDOWHILE…ENDDOSCAN..ENDSACN9.1程序概念程序是能够完成特定任务的命令序列的组合使用程序优点可以利用VFP编辑器,方便输入、修改和保存程序可以用多种方式、多次运行程序可以在一个程序中调用另一个程序WORKHELPER办公助手提供程序文件的建立与修改SetDefaultToD:\鲁宁&&设置工作目录命令方式格式:MODIFYCOMMAND[文件名]功能:建程序是能够完成特定任务的命令序列的组合使用程序优点可以利用VFP编辑器,方便输入、修改和保存程序可以用多种方式、多次运行程序可以在一个程序中调用另一个程序立或编辑修改指定的命令文件,自动打开VFP命令文件编辑窗口。文件扩展名为.PRG菜单方式文件→新建→程序打开→编辑已有程序程序文件的保存指定程序文件的存放位置和文件名(*.prg)保存文件菜单→保存Ctrl+W键保存文件放弃本次修改文件菜单→还原Esc键程序文件的执行命令方式命令格式:DO命令文件名命令功能:将指定的命令文件调入内存并从第一条命令语句开始执行。菜单方式程序菜单→运行从文件列表框中选择要执行的命令文件,并单击运行命令按钮。几个特殊命令当程序文件被执行时,文件中包含的命令将被依次执行,直到所有的命令被执行完毕几个特殊命令(1)CANCEL:终止程序运行,清除所有的私有变量,返回命令窗口;(2)DO程序:转去执行另一个程序;(3)RETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口;(4)QUIT:退出VisualFoxPro系统,返回到操作系统WORKHELPER办公助手提供9.2简单的输入输出命令9.2.1INPUT命令格式INPUT[字符表达式]TO内存变量功能命令等待用户从键盘输入数据后按回车键确认字符表达式为提示信息输入的数据可以是常量、变量、表达式,但不能不输入数据直接按回车输入不同的数据类型数据时时加定界符,如’李明’、.T.、.F.、{^2005-10-28}输入半径,求圆的面积SettalkOff&&关闭对话模式ASetechooff&&关闭结果回显Setstepoff&&关闭单步跟踪Clear&&清屏INPUT请输入圆的半径R=TORS=3.1415926*R*R?圆的面积为S=+Str(s)ReturnSetsteponSetechoonSetTALKON9.2.2ACCEPT命令格式ACCEPT[字符表达式]TO内存变量功能命令等待用户从键盘输入字符串命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作为字符串的一部分不输入任何内容按回车键,则把空串赋给指定的内存变量输入半径,求圆的面积SettalkOff&&关闭对话模式Setechooff&&关闭结果回显Setstepoff&&关闭单步跟踪Clear&&清屏ACCEPT请输入圆的半径R=TORS=3.1415926*VAL(R)*VAL(R)?圆的面积为S=+Str(s)ReturnSetsteponSetechoonSetTALKON格式ACCEPT[字符表达式]TO内存变量功能命令等待用户从键盘输入字符串命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作为字符串的一部分不输入任何内容按回车键,则把空串赋给指定的内存变量9.2.3WAIT命令格式ACCEPT[字符表达式]TO内存变量功能命令等待用户从键盘输入字符串命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作为字符串的一部分不输入任何内容按回车键,则把空串赋给指定的内存变量格式输入语句格式@行号,列号Say提示GET变量名…可以是多个语句READ功能VFP等待用户输入一个或多个值WORKHELPER办公助手提供输入半径,求圆的面积R=0&&指定变量为数据类型和初值@10,10SAY请输入圆的半径:GETRREADS=3.1415926*R*R@12,10SAY圆的面积为:+str(s)9.2.4输出语句格式ACCEPT[字符表达式]TO内存变量功能命令等待用户从键盘输入字符串命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作为字符串的一部分不输入任何内容按回车键,则把空串赋给指定的内存变量9.3结构化程序格式ACCEPT[字符表达式]TO内存变量功能命令等待用户从键盘输入字符串命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作为字符串的一部分不输入任何内容按回车键,则把空串赋给指定的内存变量WORKHELPER办公助手提供VisualFoxPro程序的组成部分格式ACCEPT[字符表达式]TO内存变量功能命令等待用户从键盘输入字符串命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作为字符串的一部分不输入任何内容按回车键,则把空串赋给指定的内存变量9.3.1顺序结构按语句排列顺序执行,是三种结构中最基本、最简单的结构语句1语句2语句3求圆周长和圆面积程序按语句排列顺序执行,是三种结构中最基本、最简单的结构求任意三角形的周长和面积输入三角形三边长a,b,c,计算周长和面积周长计算公式L=a+b+c面积计算公式求任意三角形的周长和面积程序SettalkOffClearINPUT请输入边长a=toaINPUT请输入边长b=tobINPUT请输入边长c=tocL=a+b+cD=(a+b+c)/2S=sqrt(d*(d-a)*(d-b)*(d-c))?三角形的周长L=+str(L)?三角形的面积S=+str(S)SETTALKON输入姓名查询学生信息输入三角形三边长a,b,c,计算周长和面积周长计算公式L=a+b+c面积计算公式WORKHELPER办公助手提供9.3.2分支结构IF…ENDIF语句语法IF条件语句序列ENDIF语句功能判断给定条件是否成立成立,则执行语句序列分支结构IF…ELSE…ENDIF语句IF条件语句序列1ELSE语句序列2ENDIFIF分支说明语句功能:判断给定的条件是否成立。成立,则执行语句序列1;否则执行语句序列2。(1)ELSE是一个可选项。当ELSE子句缺省时,如果条件不成立,将不执行任何语句。直接转向ENDIF后的下一条语句。(2)IF和ENDIF必须成对出现,IF是本结构的入口,ENDIF是本结构的出口。(3)条件语句可以嵌套,但不能出现交叉。在嵌套时,为了使程序清晰、易于阅读,可按缩进格式书写。求圆周长和圆面积程序当输入半径大于零时,计算圆周长和圆面积,否则显示半径值不能小于等于零的提示信息。CLEARSETTALKOFFINPUT半径=TORIFR0L=2*PI()*RS=PI()*R*R?圆周长=,L?圆面积=,SELSE?半径值不能小于等于零ENDIFSETTALKOnWORKHELPER办公助手提供求任意三角形的周长和面积程序SettalkOffClearINPUT请输入边长a=toaINPUT请输入边长b=tobINPUT请输入边长c=tocIFA+B=CORB+C=AORA+C=Bora=0orb=0orc=0Wait输入的边长不能组成三角形returnendifd=(a+b+c)/2S=sqrt(d*(d-a)*(d-b)*(d-c))?三角形的周长L=+str(d*2)?三角形的面积S=+str(S)SETTALKON求二元一次方程的根输入二元一次方程系数a,b,c,计算二元一次方程根计算公式如下:分支语句嵌套IF条件IF条件语句序列1ENDIFELSEIF条件语句序列2ELSE语句序列3ENDIFENDIF求X、Y、Z三个数中的最大值INPUT输入X=TOXINPUT输入Y=TOYINPUT输入Z=TOZIFX=YIFX=ZMAX=XELSEMAX=ZENDIFELSEIFY=ZMAX=YELSEMAX=ZENDIFENDIF?MAXDOCASE…ENDCASE语句DOCASECASE条件1语句序列1CASE条件2语句序列2……CASE条件n语句序列n[OTHERWISE语句序列]ENDCASE输入成绩,判断成绩等级SETTALKOFFCLEARINPUT请输入成绩:toStudScoreDoCasecaseStudScore=90StudLevel=优秀caseStudScore=80StudLevel=良好caseStudScore=70StudLevel=中等caseStudScore=60StudLevel=及格OtherwiseStudLevel=不及格endcase?成绩等级为:+StudLevelReturnSETTALKON9.3.3循环结构根据条件或计数要求重复执行一段代码基于计数的循环:FOR–ENDFOR不知重复次数的循环:DOWHILE–ENDDO数据表记录循环:SCAN–ENDSCANFOR–ENDFOR语句语法FOR循环变量=初值TO终值[STEP步长]语句序列ENDFOR|NEXT功能重复执行语句序列,直到循环变量的值大于终值执行次数=ABS(循环终止值-循环起始值)/步长+1执行过程计算1+2+3+…+100的和S=0FORi=1TO100S=S+iNEXT?1+2+3+…+100=,S求n!S=0FORi=1TO100S=S+iNEXT?1+2+3+…+100=,SWORKHELPER办公助手提供DOWHILE–ENDDO语句DOWHILE条件语句序列1[LOOP]语句序列2[EXIT]语句序列3ENDDO功能说明①如果第一次判断条件时,条件即为假,则循环体一次都不执行。②如果循环体包含LOOP命令,那么当遇到LOOP时,就结束循环体的本次执行,不再执行其后面的语句,而是转回DOWHILE处重新判断条件。③如果循环体包含EXIT命令,那么当遇到EXIT时,就结束该语句的执行,转去执行ENDDO后面的语句。④通常LOOP或EXIT出现在循环体内嵌套的选择语句中,根据条件来决定是LOOP回去,还是EXIT出去。计算1+2+3+…+100S=0i=1DOWHILEi=100S=S+ii=i+1ENDDO?1+2+3+...+100=,SWhile示例计算连续自然数之和,并且显示和刚大于1000的最后一个自然数Sn=1+2+3+4+…+NSTORE0TOS,NDOWHILES=1000N=N+1S=S+NENDDO?NWhile示例&&显示性别为男的学生信息USEStudInfoDOWHILE.NOT.EOF()IFStudSex=男DISPLAYENDIFSKIPENDDOUSE数据表记录循环语句格式Scan[范围][For条件表达式1|While条件表达式2]语句序列EndScan功能SCAN为循环起始语句,ENDCAN为循环结束语句。本语句对范围内满足条件的记录执行循环体。默认范围值为A

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功