计算机VF第八章程序设计基础课件.ppt

上传人:牧羊曲112 文档编号:1547139 上传时间:2022-12-03 格式:PPT 页数:41 大小:145.50KB
返回 下载 相关 举报
计算机VF第八章程序设计基础课件.ppt_第1页
第1页 / 共41页
计算机VF第八章程序设计基础课件.ppt_第2页
第2页 / 共41页
计算机VF第八章程序设计基础课件.ppt_第3页
第3页 / 共41页
计算机VF第八章程序设计基础课件.ppt_第4页
第4页 / 共41页
计算机VF第八章程序设计基础课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《计算机VF第八章程序设计基础课件.ppt》由会员分享,可在线阅读,更多相关《计算机VF第八章程序设计基础课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、第八章 程序设计基础,一、VF的工作方式二、程序的建立与运行三、程序中的交互语句及辅助语句四、程序的基本结构五、过程设计,VF的工作方式,VF的三种工作方式:命令方式、菜单方式、程序文件方式。程序文件(命令文件)方式:程序:就是根据所解决问题的需要,将能完成相应功能的命令或语句按照一定的逻辑关系组织起来的命令集合。程序文件的扩展名为.PRG。,返回,程序的建立与运行,以命令方式建立、编辑程序文件格式:MODIFY COMMAND 功能:建立或编辑修改程序文件。说明:扩展名默认为PRG。文件名为默认路径下已有的文件,则使用此命令表示修改指定的程序。文件名为默认路径下没有的文件,则使用此命令表示新

2、建指定的程序。命令:MODI COMM ? 功能:从文件列表中选择要修改的程序。 保存程序:1、用“文件”菜单中的”保存“命令。2、工具栏上的”保存“按钮。 3、按关闭按钮。,程序的建立与运行,程序书写规则:程序中的每条命令都必须以回车结尾。一行只能写一条命令,若命令需分行写,应在一行尾加“;”号续行,然后回车。以菜单方式建立、编辑程序文件用“项目管理器”建立、编辑程序文件,程序文件的调用以命令方式调用格式:DO 说明:程序运行中,遇到以下情况之一,将终止程序运行:执行到程序尾,自然结束,返回VF系统主窗口。执行了RETURN命令,终止程序执行,返回原调用处的下一语句继续执行。(主要用于过程中

3、)执行了CANCEL命令,终止程序执行返回系统主窗口。执行了QUIT命令,终止程序执行,退出VF系统。以菜单方式调用程序文件,程序中的交互语句及辅助语句,简单的格式化输入、输出命令格式化输入命令 (P140) 格式:语句1: SAY GET DEFAULT 语句2:READ功能:语句1的功能是在屏幕指定位置显示和的值。语句2的功能是重新编辑修改的值。说明:要输入编辑数据,语句1、2必须联用,可编辑类型:C、N、D、L型。SAY 用于对GET 变量作提示性说明。,程序中的交互语句及辅助语句,变量可为字段名变量,也可为内存变量,内存变量必须有初值,或用DEFAULT短语的指定初值.初值一旦指定,该

4、变量的类型在编辑期间就不能改变,字符型变量的宽度与数值型变量的小数位数也无法改变。例1:编程在RCDA表中追加记录,并输入编号、姓名、性别、出生日期、工资现状的值。(ZJ.PRG)例2:编程输入BH、XM、XB、RQ、GZ变量的值,并将其追加到RCDA表中。(ZJ1.PRG),程序中的交互语句及辅助语句,格式化输出命令格式: SAY FUNCTION PICTURE 例:查找王国民并输出。(CHAZ.PRG),人机对话命令输入单字符命令WAIT格式:WAIT TO 功能:暂停程序执行,等待用户键入一字符后继续。说明:输入的任何数据,均作为字符型数据处理。只能输入一个字符或直接回车(回车相当于输

5、入空串)。一般用字符串说明,不选用则自动提示“按任一键继续”。选用TO 时,可将输入的字符保存在内存变量中,以便以后使用。例:若有表文件WJ1.DBF、WJ2.DBF、WJ3.DBF,如何实现只输入一个字符而能打开这些表。,人机对话命令,输入字符串命令ACCEPT(可输入多个字符)格式:ACCEPT TO 功能:暂停程序执行,等待用户输入一串字符后,按回车键程序继续运行。说明:输入的任何数据,均作为字符型数据处理。提示信息的用法与WAIT语句相同,不选用则不提示(与WAIT不同)。例1:根据输入的文件名,打开指定的表文件。例2:在RCDA表中按指定姓名(出生日期、工资)查询(LOCATE,SE

6、EK)记录。(XMCZ),输入多种类型数据命令INPUT格式:INPUT TO 功能:暂停程序执行,等待用户输入数据,回车后继续。说明:输入的数据类型可为C、N、D、L。输入字符型数据,必须加定界符;输入日期型,用yyyy-mm-dd或用CTOD()函数转换。例1:在RCDA表中按指定姓名查询。(XMCZ.PRG)例2:在RCDA表中按指定工资(生日)查找。小结:区别WAIT、ACCEPT、INPUT三条命令的不同。,辅助命令CLEAR 清屏命令NOTE| * 注释 必须自成一行,对程序段作说明。& 注释 接在命令语句后对该语句作说明。 TEXTENDTEXT功能:原样输出TEXT与ENDTE

7、XT之间的内容。(CD.PRG),程序的基本结构,VF系统的应用程序中,常见的控制结构有:顺序结构特点:按照语句书写的先后顺序依次执行,执行到程序尾退出。缺陷:1、一次只能操作一组数据; 2、不能对数据进行判断。分支结构一、简单分支语句格式:IF ENDIF意义:略。,一、简单分支语句,说明:IF、ENDIF必须成对使用。可以是表达式,也可是函数,但结果必须为逻辑值。例1:在RCDA表中按姓名查询记录,找到则显示该记录,没找到则提示“无此姓名的记录!”。例2:从键盘输入两个不同的自然数,输出其中最大的。例3:按姓名查询,并提示是否进行修改,回答“Y”则修改,否则退出。(CDXG.PRG),二、

8、选择分支语句格式:IF ELSE ENDIF意义:略。例1:P150。 例2:修改前面的例2。,三、多分支语句,格式:DO CASE CASE CASE OTHERWISE ENDCASE功能说明:略。,三、多分支语句,注意:DO CASE与ENDCASE必须成对出现。DO CASE与CASE之间不能放其它语句。各条件不能互相包含,即不能让两个或两个以上的值为.T.,因为程序只能执行第一个值为.T.的所对应的语句序列。 例1:P151。 例2:从键盘上输入三个不同的自然数,输出其中最大的。,四、分支语句的嵌套结构:略。例1:对DJPD表,根据学号查询,对查到的记录再根据平均分定等级,并填写等级

9、字段,(85分以上为优,7685为良,6075为中,60分以下为差)若没找到则显示:“查无此人!”。例2:对成绩表,根据学号查询,对查到的记录再判断其民族,若为少数民族则总分+5,否则不加分,若没找到指定记录,则提示:“查无此人!”。注意:ELSE与ENDIF都与最近的IF语句匹配。各分支结构不能相互交叉。,循环结构程序设计一、当型循环格式:DO WHILE LOOP EXIT ENDDO意义:当为.T.时,重复执行DO WHILE与ENDDO之间的语句序列,直到为.F.时,退出循环继续执行ENDDO之后的语句。,一、当型循环,注意:LOOP、EXIT只能在循环中使用,而不能在循环外使用。DO

10、 WHILEENDDO语句本身不具有给循环变量赋初值的功能,因此应当在该语句之前给循环变量赋初值,并在循环体中修改循环变量的值。LOOP作用:不再执行其后的语句序列,而进入下一次循环,即重新返回DO WHILE处判断条件的值。EXIT作用:强制退出循环,继续执行ENDDO之后的语句。,几种常见的循环结构:1、对数据表记录进行操作的循环特点:循环条件一般用.NOT. EOF()。用SKIP命令修改循环条件。循环体中操作对象是数据表中的记录。例1:逐条显示RCDA表中性别为女的记录。(条件分别为.NOT. EOF()与.NOT. BOF()。)例2:在RCDA表中,按性别查找,依次对性别为女的工资

11、加100元。,1、对数据表记录进行操作的循环,例3:在成绩表中,统计解几成绩分别在85分以上,76至85分,小于76分的学生的人数。练习:在DJPD表中,按平均分对每人评定等级,并将评定结果填到等级字段中。( 85分以上为优,7685为良,6075为中,60分以下为差),2、循环次数一定的循环,特点:循环次数一定。循环条件多为关系表达式,其中含控制循环次数的循环变量。循环变量有初值和终值。循环体中有修改循环变量的语句,使循环变量增或减值,否则成为死循环。例1:求1到100之间所有整数之和。(两种方法)例2:求1到100之间的奇数和。(三种方法)练习:求10!。,特点:随机条件总是为T。(这样就

12、不能自动退出循环死循环)必要时,可使用EXIT、RETURN、CANCEL、QUIT强制退出循环)例:在RCDA表中,实现可连续按姓名查询。作业:用循环语句编程判断任意一个由键盘输入的数是否为素数。,3、随机循环,二、“计数”型循环控制语句格式:FOR = TO STEP LOOP EXIT ENDFOR|NEXT功能:循环变量首先被赋为变量初值,然后比较循环变量与终值来决定是否执行循环体内的命令语句。步长值为正数时,若循环变量值不大于终值,就执行循环体;步长为负数时,若循环变量不小于终值,就执行循环体。执行一遇到ENDFOR或NEXT,循环变量立即被加上步长值,然后重新与结束值比较。说明:如

13、果无STEP短语,默认步长值为1。例:改写前面当型循环的例子。,三、“指针”型循环控制语句,格式:SCAN FOR WHILE LOOP EXIT ENDSCAN 功能:程序执行到该语句,首先判断EOF()函数的值,若为真,则执行ENDSCAN之后的语句;否则结合条件1与条件2执行循环中的,然后指针移到下一条范围内满足条件的记录,再判断EOF()的值,直到EOF()为真结束循环。,四、多重循环:即循环体中又包含另外一些循环。,格式:略。例1:在RCDA表中,按性别查询,要求能逐条查到所有性别相同的记录并显示。例2:打印九九表。练习:输出3到100之间的所有素数。(输出格式:一行输出5个数,每个

14、数间用5空格隔开。),过程与过程调用,引入定义:我们将以过程说明语句开头,以返回命令结束,能完成一定功能,可以被其它程序反复调用的程序段叫做过程。过程的分类:1、以独立文件存在的过程,称为外部过程。2、若干个过程共存于一个过程文件的过程,称为内部过程。,过程返回语句1、RETURN TO MASTER功能:返回调用程序原调用处的下一语句继续执行。TO MASTER的作用:用在过程嵌套中,直接返回最高层调用处,如不选,则逐级返回。2、RETRY功能:返回调用程序原调用语句,继续执行。外部过程的建立及调用:1、建立与建立一般程序相同。,求5!+10!+20!SET TALK OFFS=0N=1T=

15、1DO WHILE N=5 T=T*N N=N+1ENDDOS=S+TN=1T=1DO WHILE N=10 T=T*N N=N+1ENDDOS=S+TN=1T=1DO WHILE N=20 T=T*N N=N+1ENDDOS=S+T?5!+10!+20!=,SSET TALK ON,返回,2、过程调用 格式:DO 说明:可以将过程保存在单独的程序文件中,也可放在程序的结尾,但不能把可执行的主程序放在过程之后。例:改写引入程序。思考:求C=M!/(N!*(M-N)!),过程文件及使用1、过程文件的建立格式:MODI COMM 2、过程文件的组织形式PROCEDURE ENDPROCPROCED

16、URE ENDPROC,3、过程文件的调用步骤:打开过程文件格式:SET PROCEDURE TO 注意:同一时刻只允许打开一个过程文件。调用过程文件中的过程格式:DO 功能:调用已打开的过程文件中的指定过程。关闭过程文件格式1:SET PROCEDURE TO格式2:CLOSE PROCEDURE功能:关闭打开的过程文件。,过程的嵌套过程调用中的数据传递利用内存变量的属性传递数据全局变量(公共变量)公共变量是在VF系统的全部范围内均有效的内存变量。(包括命令窗口及程序的任何部分主程序及其子程序中)定义格式:PUBLIC 功能:把中指定的内存变量定义为全局变量。说明:1、全局变量在程序结束时不

17、释放,只能使用清除内存变量的命令清除。(CLEAR MEMORY,CLEAR ALL)2、定义的全局变量在赋值前,自动赋值为.F.。,局部变量局部变量只在定义它的程序段有效,而在此程序段的上级程序段或下级程序段无效。定义格式:LOCAL 功能:把中指定的内存变量定义为局部变量。说明:1、局部变量在其所在程序段结束时自动清除。2、定义的局部变量在赋值前,自动赋值为.F.。,私有变量私有变量是在定义它的程序段以及其下级程序段(被调用过程)的局部范围内都有效的内存变量。定义格式1:PRIVATE 格式2:PRIVATE ALL LIKE|EXCEPT 功能:把指定的变量定义为私有变量。说明:1、程序

18、中凡没有使用PUBLIC、LOCAL和PRIVATE语句定义的变量都是私有变量。,2、格式2用法:PRIVATE ALL:定义所有内存变量为私有变量。PRIVATE ALL LIKE :定义与相符的变量为私有变量。PRIVATE ALL EXCEPT :定义与不相符的变量为私有变量。3、局部、私有变量在其有效程序段结束时自动清除。例子,set talk off local y priv x1 public z,z1 x=5 y=6 z=9 z1=28 x1=8 ?x=,x,y=,y,x1=,x1,z=,z,z1=,z1 do kk ?x=,x,y=,y,x1=,x1,z=,z,z1=,z1,z

19、2=,z2 set talk on子程序KK.PRG local y1 priv x2,z public z2 x3=7 y1=5 x2=0 x=1 z=y1+x3 z2=z+x ?x2=,x2,y1=,y1,x3=,x3,z2=,z2 ?x=,x,x1=,x1,z=,z,z1=,z1 return,过程调用中的参数传递使用此方法传递数据时,在调用程序中应使用相应的调用语句传递数据,在过程中应使用相应的语句来接收数据。调用语句格式:DO WITH 功能:在调用过程时,将指定参数(实参)传递给被调用的过程。接受数据的语句格式:PARAMETERS 功能:由参数表中参数(形参)接收调用语句中相应参数的值,并在返回调用程序时,将参数的新值返回给调用语句中相应的参数。,注意:1、两参数表中的参数是一对一传递的,两个表中的参数必须个数相同且类型相同。2、如果实参是常量或表达式,则形参值的改变不影响实参值的改变。 如果实参是变量,则形参的值将直接改变实参的值。例:求矩形的面积。矩形的长、宽从键盘输入。,自定义函数用户自定义函数的实质就是一个能完成一定功能的可以被调用的特殊过程。格式:PARAMETERS RETURN 说明:RETURN语句实现将函数值返回给调用程序。例:自定义一个求解X3+X2+X的函数XS()。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号