




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5章章 Visual FoxPro 程序设计程序设计第第5 5第第5章章 Visual FoxPro 程序设计程序设计程序的建立与维护程序的建立与维护5.1程序的流程控制程序的流程控制5.2模块结构程序设计模块结构程序设计5.3调试程序调试程序5.4面向对象程序设计的基本概念面向对象程序设计的基本概念5.5第第5章章 Visual FoxPro 程序设计程序设计5.1 程序的建立与维护程序的建立与维护 VFP提供一种程序执行方式,这种方式就是预先把提供一种程序执行方式,这种方式就是预先把需要执行的多条命令按一定的结构组成一个有机序列以需要执行的多条命令按一定的结构组成一个有机序列以文件的形
2、式存储在磁盘上,而用于存储这些由命令组成文件的形式存储在磁盘上,而用于存储这些由命令组成的文件,即为命令文件,又称为程序文件,这些序列的的文件,即为命令文件,又称为程序文件,这些序列的设计、编码和调试的过程就是程序设计。设计、编码和调试的过程就是程序设计。5.1.1 5.1.1 程序设计的概念程序设计的概念第第5章章 Visual FoxPro 程序设计程序设计5.1.2 5.1.2 程序的建立及维护程序的建立及维护1.1.创建与修改程序文件创建与修改程序文件“文件文件”“新建程序)新建程序)”“新建文件新建文件”命令方式 MODIFY COMMAND 程序文件名菜单方式 第第5章章 Visu
3、al FoxPro 程序设计程序设计2.2.运行程序文件运行程序文件菜单方式:菜单方式:(1 1在在Visual FoxProVisual FoxPro系统主菜单下,翻开系统主菜单下,翻开“程序程序菜单,菜单,选择选择“运行运行”。(2 2单击常用工具栏上的运行按钮单击常用工具栏上的运行按钮“!”。 命令方式:命令方式:DO DO 程序文件名程序文件名说明:说明:CANCELCANCEL:终止程序运行,清除所有的私有变量,返回命令:终止程序运行,清除所有的私有变量,返回命令 窗口。窗口。RETURNRETURN:结束程序执行,返回调用它的上级程序,若无上:结束程序执行,返回调用它的上级程序,若
4、无上级程序则返回命令窗口。级程序则返回命令窗口。QUITQUIT:结束程序执行并退出:结束程序执行并退出Visual FoxProVisual FoxPro系统,返回操作系统,返回操作系统。系统。 第第5章章 Visual FoxPro 程序设计程序设计在运行程序时,系统提供了两种方式:先编译后执行和一边编译一边执行。先编译后执行是在编辑窗口打开要编译的程序,然后在菜单“程序中选定“编译”。5.1.3 5.1.3 程序的编译程序的编译1. 每行只能写一条命令,每条命令以回车换行作为结束标志;2. 一条命令一行写不下时,可以分多行输入,在未输入完的数据后加分号,然后回车换行,系统会把此行作为前一
5、行的续行;3. “*”,“&”,“NOTE是用来添加程序说明或注释信息的命令;“*”及“NOTE只能放在一行的前面,而“&”可以放在前面或后面。5.1.4 5.1.4 编程时的一般规则编程时的一般规则第第5章章 Visual FoxPro 程序设计程序设计5.1.5 5.1.5 简单的输入输出命令简单的输入输出命令(1) ACCEPT命令格式 :accept to 功能:在屏幕上显示提示信息,等待用户输入一个字符串,赋值给一个内存变量注意:该命令只能接受字符型常量,输入一个字符串不必加定界符,否则定界符也作为数据的一部分;按回车键后,程序继续执行。第第5章章 Visual Fo
6、xPro 程序设计程序设计5.1.5 5.1.5 简单的输入输出命令简单的输入输出命令例例5.1:要求用户从键盘上输入用户名,然后把输入的用户名:要求用户从键盘上输入用户名,然后把输入的用户名显示出来。显示出来。ACCEPT 请输入用户名:请输入用户名: TO NAME?NAME+你还好吗?你还好吗?第第5章章 Visual FoxPro 程序设计程序设计(2) INPUT命令格式:input to 功能:与accept相似,不同的是能接受字符型、数字型、日期型和逻辑型数据。说明:除输入数值型数据外,其他几种类型的数据一律使用定界符;输入的信息可以是表达式,input命令有计算功能。第第5章章
7、 Visual FoxPro 程序设计程序设计例例5.2:求任意两数之和。:求任意两数之和。INPUT 请输入一个数请输入一个数x: TO XINPUT 请输入另一个数请输入另一个数y: TO Y?X+Y第第5章章 Visual FoxPro 程序设计程序设计(3) WAIT(3) WAIT命令命令 【格式】【格式】WAIT WAIT T0 T0 WindowsNowait TIMEOUTWindowsNowait TIMEOUT 【功能】等待用户从键盘上输入一个字符存入指定变量中。【功能】等待用户从键盘上输入一个字符存入指定变量中。注意:注意:WAITWAIT命令响应速度快,它只接受一个字符
8、,不需用户命令响应速度快,它只接受一个字符,不需用户键入回车键。键入回车键。例例5.35.3:在命令窗口输入下列命令:在命令窗口输入下列命令: Wait “ Wait “输入有误,请重新输入输入有误,请重新输入 window timeout 5 window timeout 5第第5章章 Visual FoxPro 程序设计程序设计格式:格式: SAY SAY GET GET READ SAVECYCLETIMEOUT READ SAVECYCLETIMEOUT功能:在屏幕指定的坐标位置上显示提示或输入数据。功能:在屏幕指定的坐标位置上显示提示或输入数据。注意:注意: :该变量应在其前面定义过
9、、并赋初值;:该变量应在其前面定义过、并赋初值; 初值决定了该变量的类型和宽度。初值决定了该变量的类型和宽度。 READ READ 一般与一般与GET GET 联合起来用:联合起来用:当有当有READREAD时,时, GET GET 的内容可以从键盘上修改;的内容可以从键盘上修改;没有没有READREAD时,时,GET GET 后的变量只能显示内容,不能修改;后的变量只能显示内容,不能修改;一个一个READREAD可以修改它前面的多个可以修改它前面的多个GETGET项的内容,但它可以由项的内容,但它可以由CLEARGETSCLEARGETS命令隔断。命令隔断。 第第5章章 Visual Fox
10、Pro 程序设计程序设计例5.4:name=space(8) 5,10 say 请输入学生姓名 get name read第第5章章 Visual FoxPro 程序设计程序设计3 3格式输出语句格式输出语句 无论是内存变量还是字段变量都可以使用?或?命令输出,这种输出方式简单,但是不能按照用户指定的位置输出。格式输出语句能按用户的要求来设计屏幕格式,使之美观、方便。【格式】 SAY 【功能】 从指定的行、列号开始输出表达式的值。【说明】 (1) 可以是常量、字段变量及由它们组成的表达式。 (2) 定位输出时,一次只能输出一个表达式。 第第5章章 Visual FoxPro 程序设计程序设计3
11、 3格式输出语句格式输出语句例例5.5: 8, 18 SAY * 数据表操作命令菜单数据表操作命令菜单 * 9, 18 SAY 1.打开工作数据表打开工作数据表 10, 18 SAY 2. 增加数据表记录增加数据表记录 11, 18 SAY 3. 删除数据表记录删除数据表记录 12, 18 SAY 4. 修改数据表记录修改数据表记录 13, 18 SAY 5. 打印数据表记录打印数据表记录 14, 18 SAY 6. 关闭工作数据表关闭工作数据表 CHOICE=SPACE(1) 16, 28 SAY 请选择相应代码:请选择相应代码: GET CHOICEREAD18, 28 SAY 您选择的是
12、您选择的是: + CHOICE第第5章章 Visual FoxPro 程序设计程序设计4 4画图命令画图命令【格式】 TODOUBLEPATTERN PEN线宽代号STYLE颜色对【功能】画一个矩形,并通过矩形的四个角的曲度,使矩形变成椭圆或圆。【说明】 DOUBLE表示双线的矩形 PATTERN后的图案代号是: 0一白色 1一黑色 2一横线 3一竖线 4一左斜线 5一右斜线 6一网格线 7一交叉线 PEN的线宽代号为0-6,数字越大,线越宽。 STYLE指定四角曲度,值为0-99。但必须写成字符型。99曲度最大, 颜色对:由两个颜色代码组成,如:RG、GB、R+、G+、B+等例5.6:画一个
13、红色的椭圆图形。 2,10 TO 12,29 COLOR R+ STYLE 99第第5章章 Visual FoxPro 程序设计程序设计(1会话状态设置命令【格式】 SET TALK ON/OFF 【功能】 FoxPro在执行命令时是否向用户提供返回信息,ON 表示向用户返回信息,OFF表示否。(2设置状态栏状态命令【格式】SET STATUS BAR ON/OFF【功能】设置FoxPro屏幕底部状态栏是否显示,OFF不显示。 5 5状态设置命令状态设置命令 第第5章章 Visual FoxPro 程序设计程序设计【格式】SET COLOR TO ,【功能】该命令设置标准色彩与增强色彩。其中,
14、一个颜色对由两个颜色代码组成,第一个指定前景文本颜色,第二个指定背景颜色,两者之间用斜杠(/)分开。如:W/B产生蓝底白字。 如:SET COLOR TO W/B 一个颜色对也可用一个包含6个参数的RGB( )定义,前3个值为前景色,后3个值为背景色,取值范围为0255 。6 6设置屏幕颜色命令设置屏幕颜色命令 第第5章章 Visual FoxPro 程序设计程序设计【格式】 TEXT 文本行 ENDTEXT【功能】把文本输出到屏幕或活动窗口。7 7文本输出命令文本输出命令 【格式】CLEAR 【功能】清除屏幕信息语句。 8 8清屏命令清屏命令 第第5章章 Visual FoxPro 程序设计
15、程序设计5.2 程序的流程控制程序的流程控制 Visual FoxPro系统提供的命令丰富,且功能强大,把这些命令和程序设计语句有效地组织在一起,就形成了实现某一特定功能的程序。 Visual FoxPro系统的程序有两个特点:一是程序控制流模式,由顺序、分支、循环三种基本结构构成。二是面向对象可视化的结构程序模块,在每个模块的内部也是由程序控制流组成。常见的控制结构如下: 第第5章章 Visual FoxPro 程序设计程序设计程序的程序的3种基本结构种基本结构 一种计算机语言的程序主体由3种基本结构组成:顺序结构、选择结构和循环结构。第第5章章 Visual FoxPro 程序设计程序设计
16、 顺序结构是一种顺序结构是一种线形结构,是最基本线形结构,是最基本的程序结构,它是按的程序结构,它是按照命令或语句的排列照命令或语句的排列顺序,依次执行。顺序,依次执行。 5.2.1 5.2.1 顺序结构顺序结构 A B C N第第5章章 Visual FoxPro 程序设计程序设计例例5.7:变量的初始化和变量的赋值。:变量的初始化和变量的赋值。SET TALK OFF STORE 0 TO X,Y,ZA=3B=A+1C=A*B? X, Y, Z? A, B, C SET TALK ON5.2.1 5.2.1 顺序结构顺序结构第第5章章 Visual FoxPro 程序设计程序设计例例5.8
17、:从键盘输入圆的半径:从键盘输入圆的半径R,通过计算圆面积公式,通过计算圆面积公式R2计计算出圆的面积算出圆的面积S,最后输出该圆的面积,最后输出该圆的面积S。 CLEAR INPUT 圆的半径圆的半径R= TO R S=3.1416*R*R ? 圆的面积圆的面积S=,S RETURN 【例】编写一个求梯形面积的程序。【例】编写一个求梯形面积的程序。 5.2.1 5.2.1 顺序结构顺序结构第第5章章 Visual FoxPro 程序设计程序设计1、 单分支选择结构格式: IF条件表达式 语句序列 EDNIF功能:条件表达式的值为真(.T.)则执行“语句序列”, 否则为假(.F.)则直接执行E
18、DNIF后续语句。条件真假语句序列5.2.2 5.2.2 选择结构选择结构第第5章章 Visual FoxPro 程序设计程序设计例例5.9:从键盘输入一个数,若该数能被:从键盘输入一个数,若该数能被3或或7整除,则输出该整除,则输出该数的平方值。数的平方值。Input “请输入一个数:请输入一个数:” to xIf int(x/3)=x/3 or int(x/7)=x/7?x*xEndif5.2.2 5.2.2 选择结构选择结构第第5章章 Visual FoxPro 程序设计程序设计2、双分支选择结构格式:IF条件表达式语句序列1ELSE语句序列2ENDIF功能:表达式为真,则执行“语句序列
19、1”,再执行EDNIF的后续语句;为假,则执行“语句序列2”,再执行EDNIF的后续语句。条件真假语句序列1语句序列25.2.2 5.2.2 选择结构选择结构第第5章章 Visual FoxPro 程序设计程序设计注意:注意:(1) IF(1) IF和和ENDIFENDIF必须成对使用,而必须成对使用,而ELSEELSE可选。可选。(2) IF(2) IF、ELSEELSE、ENDIFENDIF必须各占一行。必须各占一行。(3) (3) 可以为关系表达式、逻辑表达式。可以为关系表达式、逻辑表达式。(4)(4)在语句序列在语句序列1 1和语句序列和语句序列2 2中可以嵌套中可以嵌套IFIF语句。
20、语句。5.2.2 5.2.2 选择结构选择结构第第5章章 Visual FoxPro 程序设计程序设计例5.10:从键盘输入一个自然数,若是偶数则输出“偶数”,否则输出“奇数”。Input 请输入一个数: to xIf mod(x,2)=0 ?x为偶数!Else ?x为奇数!Endif5.2.2 5.2.2 选择结构选择结构第第5章章 Visual FoxPro 程序设计程序设计【练习】计算下列分段函数。5.2.2 5.2.2 选择结构选择结构2+ 7= 5XXYXX第第5章章 Visual FoxPro 程序设计程序设计例例5.115.11:根据从键盘输入学号在:根据从键盘输入学号在stud
21、stud表中进行查找,找到则表中进行查找,找到则显示该学生的学号、姓名、入学成绩;找不到,则显示显示该学生的学号、姓名、入学成绩;找不到,则显示“无无此学号此学号”。use studuse stud Accept Accept 请输入学号:请输入学号: to xh to xhlocate for locate for 学号学号=xh=xhif found()if found() ?学号学号:+:+学号学号 ?姓名姓名:+:+姓名姓名 ?入学成绩入学成绩:,:,入学成绩入学成绩elseelse ?无此学号!无此学号! endifendifuseuse5.2.2 5.2.2 选择结构选择结构第第5
22、章章 Visual FoxPro 程序设计程序设计例例5.125.12:编写程序完成以下功能:当通过键盘输入:编写程序完成以下功能:当通过键盘输入1 1时显示时显示studstud表中男同学的记录;输入表中男同学的记录;输入2 2时显示女同学的记录;若输入时显示女同学的记录;若输入其他符号时则显示其他符号时则显示“输入的数据不合法!输入的数据不合法!”。clearclearset talk offset talk offaccept accept 请输入查看记录性别,男请输入查看记录性别,男-1-1,女,女-2-2: to sex to sexuse studuse studif sex=1i
23、f sex=1 显示学生表中男同学的记录显示学生表中男同学的记录elseelse 判断输入数据是否为判断输入数据是否为22,或其他符号,或其他符号endifendifuse use set talk on set talk on list for list for 性别性别=男男 第第5章章 Visual FoxPro 程序设计程序设计例例5.125.12:编写程序完成以下功能:当通过键盘输入:编写程序完成以下功能:当通过键盘输入1 1时显示时显示studstud表中男同学的记录;输入表中男同学的记录;输入2 2时显示女同学的记录;若输入时显示女同学的记录;若输入其他符号时则显示其他符号时则显
24、示“输入的数据不合法!输入的数据不合法!”。clearclearset talk offset talk offaccept accept 请输入查看记录性别,男请输入查看记录性别,男-1-1,女,女-2-2: to sex to sexuse studuse studif sex=1if sex=1 显示学生表中男同学的记录显示学生表中男同学的记录elseelse 判断输入数据是否为判断输入数据是否为22,或其他符号,或其他符号endifendifuse use set talk on set talk on if sex=2 list for 性别性别=女女 else wait 输入数据不
25、合法输入数据不合法 windowendif 第第5章章 Visual FoxPro 程序设计程序设计3、多分支选择结构DOCASEENDCASE分支结构格式:DOCASECASE条件表达式1语句序列1CASE条件表达式2语句序列2CASE条件表达式语句序列nOTHERWISE语句序列n+1ENDCASE5.2.2 5.2.2 选择结构选择结构Y条件条件1条件条件n条件条件2Endcase的下一条命令的下一条命令命令序列命令序列1命令序列命令序列n命令序列命令序列2命令序列命令序列n+1YYNNNN第第5章章 Visual FoxPro 程序设计程序设计注意:注意:(1DO CASE ENDCA
26、SE 必须配对使用,必须配对使用,DO CASE与第一个与第一个CASE条件表达式之间不应有任何条件表达式之间不应有任何命令。命令。(2)条件表达式可以是各种表达式或函数的组合,)条件表达式可以是各种表达式或函数的组合,其值必须是逻辑值。其值必须是逻辑值。(3)命令行序列可以由一个或多个命令组成,可以)命令行序列可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。是条件控制语句组成的嵌套结构。(4DO CASE ENDCASE 命令,每次最多只能执命令,每次最多只能执行一个命令行序列。在多个行一个命令行序列。在多个CASE项的条件表达项的条件表达式值为真时,只执行第一个条件表达式值为真
27、式值为真时,只执行第一个条件表达式值为真的命令行序列,然后执行的命令行序列,然后执行ENDCASE的后面的第一的后面的第一条命令。条命令。5.2.2 5.2.2 选择结构选择结构第第5章章 Visual FoxPro 程序设计程序设计例例5.135.13:根据输入:根据输入的学生成绩判断:的学生成绩判断:1009010090:优秀:优秀89-8089-80:良好:良好79-7079-70:中等:中等69-6069-60:及格:及格59-059-0:不及格:不及格input input 请输入一个学生的成绩请输入一个学生的成绩: : to xto xdo case do case case x=
28、90 and x=90 and x=80 and x=80 and x=70 and x=70 and x=60 and x=60 and x=0 and x=0 and x60 y= y=不及格不及格 otherwise otherwise y= y=输入的数据必须在输入的数据必须在100100以内!以内! endcaseendcase?y?y第第5章章 Visual FoxPro 程序设计程序设计【练习】求下列函数的值。【练习】求下列函数的值。X的值通过键盘输入。的值通过键盘输入。5.2.2 5.2.2 选择结构选择结构Y=2X-1 (X0)3X+5 (0X5)X+1 (X5)第第5章章
29、Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 1. DO WHlLEENDDO循环循环 语句格式:语句格式: DO WHILE LOOP EXIT ENDDO功能:有条件连续地重复执行功能:有条件连续地重复执行DO WHILE与与ENDDO之间的语句序列,直到之间的语句序列,直到为为假或因执行假或因执行EXIT语句而结束。语句而结束。条件条件.F.循环体循环体 ENDDO后的语句.T.条件条件第第5章章 Visual FoxPro 程序设计程序设计功能说明:功能说明:(1 1系统执行该语句时,先判断循环开始系统执行该语句时,先判断循环开始DO WHILE
30、DO WHILE的条件是否成立,的条件是否成立, 如果条件为真,则执行循环体中的语句序列。当执行到如果条件为真,则执行循环体中的语句序列。当执行到ENDDOENDDO时,返回时,返回到到DO WHILEDO WHILE,再次判断条件是否为真,以确定是否再次执行循环体。,再次判断条件是否为真,以确定是否再次执行循环体。若条件为假,则结束循环若条件为假,则结束循环 ,执行,执行ENDDOENDDO后面的语句。后面的语句。 如果第一次判断如果第一次判断条件时,条件即为假,则循环体一次都不执行,这就是称为条件时,条件即为假,则循环体一次都不执行,这就是称为“先判断先判断后执行后执行的语句。的语句。(2
31、 2循环体中的循环体中的LOOPLOOP是可选项。遇到是可选项。遇到LOOPLOOP时,不再执行后面的语句,时,不再执行后面的语句,转回转回DO WHILEDO WHILE处重新判断。其作用相当于一个特殊的处重新判断。其作用相当于一个特殊的“短路短路返回控返回控制。制。(3 3循环体中的循环体中的EXITEXIT也是可选项。遇到它时便无条件地退出循环,转也是可选项。遇到它时便无条件地退出循环,转到到ENDDOENDDO后面的语句。其作用相当于一个紧急出口。后面的语句。其作用相当于一个紧急出口。(4 4通常通常LOOPLOOP或或EXITEXIT出现在循环体内嵌套的分支语句中,根据条件来出现在循
32、环体内嵌套的分支语句中,根据条件来决定是决定是LOOPLOOP回去,还是回去,还是EXITEXIT出去。出去。第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.14:在屏幕上换行显示字符串:在屏幕上换行显示字符串OK20次。次。cleari=1do while i=20?ok!i=i+1Enddoreturn循环次数循环次数循环前循环前i值值循环后循环后i值值112223202021第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 DO WHILE DO WHILE 语句之前一定要有设置循环
33、变量初语句之前一定要有设置循环变量初 值的语句。值的语句。 循环体内一定要有修改循环变量的语句,否则循环体内一定要有修改循环变量的语句,否则 就会出现死循环。就会出现死循环。注意注意第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.15:求自然数:求自然数1至至4的和。的和。 分析算法分析算法:1. i=1 , s=0 ;2. 累加第累加第 i 个数个数3. 第第i个数加个数加1 4. 当当 i= 4 重复做重复做2 、3;5. ? s 。s= s+i ;i= i+1 ;第第5章章 Visual FoxPro 程序设计程序设计5.2.3
34、5.2.3 循环结构循环结构 例例5.15:求自然数:求自然数1至至4的和。的和。 S=0i=1DO WHILE i=4 S=S+i i=i+1ENDDO? S第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 INPUT 请输入请输入N的值的值: TO N S=0i=1DO WHILE i=N S=S+i i=i+1ENDDO? S 若求自然数若求自然数1 1至至N N的和呢?的和呢?第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 INPUT 请输入请输入N的值的值: TO N S=0i=1DO
35、WHILE i=N S=S+i i=i+1ENDDO? S 若求自然数若求自然数1 1至至N N的积呢?的积呢?S=1S=1S=SS=S* *i i第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.16:求:求1,100内所有能被内所有能被3或被或被5整除的数的个数。整除的数的个数。 n=0i=1DO WHILE i=100 IF MOD(i,3)=0 .OR. MOD(i,5)=0 ? i n=n+1 endif i=i+1ENDDO? 这样的数共有这样的数共有,n, 个个第第5章章 Visual FoxPro 程序设计程序设计5.2.
36、3 5.2.3 循环结构循环结构 例例5.17:阅读程序,并说出程序的运行结果:阅读程序,并说出程序的运行结果 IF i=3 LOOPENDIF程序结果程序结果23456程序结果程序结果2456i=1DO WHILE i=5 i=i+1 ENDDO ? i? “E”EE第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 2. 2. 计数循环计数循环forfor循环)循环)语句格式:语句格式: FOR FOR 循环变量循环变量 TO TO STEP STEP 1 LOOPLOOP 2 EXITEXIT 3 ENDFOR | NEXT ENDFOR |
37、 NEXT 功能:将功能:将FORENDFORFORENDFOR循环中的循环中的 执行指定的次数。执行指定的次数。循环体循环体第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.18:求:求1100之间的奇数之和。之间的奇数之和。 s=0for i=1 to 100 step 2 s=s+iendfor? s考虑:如何求考虑:如何求1N的偶数或奇数之和、的偶数或奇数之和、N的阶乘?的阶乘?第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.19:阅读程序,写出程序运行结果:阅读程序,写出
38、程序运行结果S=0 FOR K=1 TO 10 STEP 2 S=S+K ENDFOR ? SIF K=7LOOPENDIF若改成若改成EXITEXIT呢?呢?第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.20:找出:找出100999之间的所有之间的所有 “水仙花数水仙花数”(三位数中各位数的立方和等于该(三位数中各位数的立方和等于该数本身)。数本身)。clearfor i=100 to 999 a=int(i/100) b=int(mod(i,100)/10) c=i%10 if i=a3+b3+c3 ?i endifendforr
39、eturn第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 3SCAN.ENDSCAN循环循环语句格式:语句格式: SCAN FOR LOOP EXIT ENDSCAN 功能:在指定的范围内,扫描满足给定条件的记录,执行相功能:在指定的范围内,扫描满足给定条件的记录,执行相应的语句。应的语句。循环体循环体第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 例例5.215.21:对:对studstud表分别统计少数民族男、女学生的人数。表分别统计少数民族男、女学生的人数。clearclearstore
40、0 to x,ystore 0 to x,yuse stud use stud Scan for Scan for 少数民族否少数民族否 if if 性别性别=男男 x=x+1 x=x+1dispdisp else else y=y+1 y=y+1dispdisp endif endifendscanendscan ? ? 少数民族的男生有:少数民族的男生有:, x, , x, 人人 ? ? 少数民族的女生有:少数民族的女生有:+str(y,2)+str(y,2)+人人 use use return return第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循
41、环结构循环结构 对数据表扫描时三种循环的等价格式对数据表扫描时三种循环的等价格式计数循环:计数循环: n=RECCOUNT() n=RECCOUNT() FOR i=1 TO n FOR i=1 TO n GO i GO i ENDFOR ENDFOR条件循环:条件循环:DO WHILE NOT EOF()DO WHILE NOT EOF() SKIP SKIP ENDDO ENDDO表文件扫描循环:表文件扫描循环:SCAN FOR ENDSCAN第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 思考题:分别使用三种循环结构显示思考题:分别使用三
42、种循环结构显示stud表中所有男性的记录表中所有男性的记录第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 循环体内又设置循环的情况称为多重循环,又称为循环嵌套。循环体内又设置循环的情况称为多重循环,又称为循环嵌套。内外循环的层次必须分明,不允许有交叉现象出现。内外循环的层次必须分明,不允许有交叉现象出现。循环结构可以与分支结构嵌套,同样不允许有交叉现象出现。循环结构可以与分支结构嵌套,同样不允许有交叉现象出现。 F O R I F F O R S C A N D O W H I L E D O C A S E E N D F O R E N D
43、 I F E N D F O R E N D S C A N E N D D O E N D C A S E 图6 . 7 嵌 套 不 允 许 交 叉 以下交以下交叉情形叉情形不允许不允许出现:出现: 第第5章章 Visual FoxPro 程序设计程序设计5.2.3 5.2.3 循环结构循环结构 程序程序5.225.22:求:求 s=1!+2!+100! s=1!+2!+100!s=0s=0n=1n=1Do while n=100Do while n=100 i=1 i=1 sub=1 sub=1 Do while i=n Do while i=n sub = sub sub = sub *
44、 *i i i=i+1 i=i+1 Enddo Enddo s=s+sub s=s+sub n=n+1 n=n+1EnddoEnddo?S1+S2+S100 =,s?S1+S2+S100 =,ss=0for n=1 to 100 sub=1 for i=1 to n sub = sub *i Endfor s=s+sub Endfor?s用用for语句改进程序如下:语句改进程序如下:第第5章章 Visual FoxPro 程序设计程序设计5.5 面向对象程序设计的基本概念面向对象程序设计的基本概念面向对象程序设计使用可视化界面方式,以“对象为基本操作单位,通过对“对象的属性、事件、和方法进行处
45、理来完成程序的设计。第第5章章 Visual FoxPro 程序设计程序设计 (1类class) 类是一组具有相同特性的对象的抽象定义。类是具有相同或相似特征的对象的抽象,对象是类的具体的实例。类可以具有子类,子类可以继承父类所有的属性和方法,也可以根据需要加入新属性和方法。第第5章章 Visual FoxPro 程序设计程序设计 (2对象object) 对象是类的一个实例,是面向对象程序设计方法中最基本的概念,是构成程序的基本单位和运行实体。对像是用来描述客观事物的一个实体,由一组表示其静态特征的数据即属性和可执行的一组操作方法程序组成。第第5章章 Visual FoxPro 程序设计程序设
46、计 (3属性property) 属性是用来描述和反映对象特性的参数,属性定义了对象的特征或某一方面的行为,对象中的数据就保存在属性中。 (4方法method) 是对象能够执行的一个操作,是一段完成一个具体功能程序代码集合。对象建立后,可以在应用程序的任意位置调用该对象所具有的方法。第第5章章 Visual FoxPro 程序设计程序设计 (5事件event) 事件是用户或系统的动作所引发的事情,由用户或者系统的操作而激活。通常包括键盘“事件和鼠标“事件”,如单击鼠标就发生了一个Click事件。为了响应事件,可以为事件加入相应的代码,也可以执行某个方法。第第5章章 Visual FoxPro 程
47、序设计程序设计 (1类与对象 (2基类 (3子类 类是对象的定义 对象通过类来产生 子类继承父类的全部特征,包括对父类所做的任何修改,但子类也可以增加自己的属性和方法,使其具有与父类不同的特殊性。第第5章章 Visual FoxPro 程序设计程序设计 (1封装性 (2继承性 (3多态性 (4抽象性第第5章章 Visual FoxPro 程序设计程序设计 (1容器类 (2控件类第第5章章 Visual FoxPro 程序设计程序设计对象是构成程序的基本单位和运行实体。对象又可区分为:控件和容器第第5章章 Visual FoxPro 程序设计程序设计属性用来表示对象的特征,以下是命令按钮的各个属性。属 性说 明Name命令按钮名称,编程时用Caption命令按钮上显示的文本FontName命令按钮上文本的字体FontSize命令按钮上文本的尺寸ForeColor命令按钮上文本的颜色BackColor命令按钮上文本的背景Top命令按钮顶边的位置Height命令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年北京市平谷初三二模英语试卷及答案
- 财税知识专题培训课件
- 喝果汁问题教学设计-2024-2025学年五年级下册数学人教版
- 2025年营养午餐主题班会标准教案
- 古董烟斗购买合同范例
- 农商展期合同范例
- 产品加工转让合同范例
- 产品推广与渠道建设方案计划
- 工作技能培训与考核制度建立计划
- 社区医疗服务的工作安排计划
- 《高低压配电室施工工艺标准》
- 2024年12月英语四级真题及参考答案
- 第6章 机械装配工艺基础
- 《诚信经营事业永恒》课件
- 京东方在线测评题库
- 2024年版慢性阻塞性肺疾病(COPD)诊疗指南解读课件
- 2025全年应急演练计划
- 基本养老金核定表、职工退休、退职审批表
- 2024年世界职业院校技能大赛高职组“导游服务组”赛项参考试题库(含答案)
- 2024解析:第八章牛顿第一定律、二力平衡-基础练(解析版)
- 高职高考数学复习第四章指数函数与对数函数4-3对数的概念及运算课件
评论
0/150
提交评论