(精品)刘丽书VFP配套PPT第7章程序设计.ppt
《(精品)刘丽书VFP配套PPT第7章程序设计.ppt》由会员分享,可在线阅读,更多相关《(精品)刘丽书VFP配套PPT第7章程序设计.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 程序设计基础程序设计基础第 2 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-1 程序的建立与维护程序的建立与维护7-2 程序的流程控制程序的流程控制7-3 模块结构程序设计模块结构程序设计7-4 MESSAGEBOX()函数的使用函数的使用7-5 调试程序调试程序7-6 小结小结第第7章章 结构化程序设计结构化程序设计第 3 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-1 7-1 程序的建立与维护程序的建立与维护 Visual FoxPro程序文件,是一个以(.PRG)为扩展名的文本文件。任何可以建立、编辑文本文件的工具,都可以创建和编辑Vi
2、sual FoxPro程序文件。这些文本编辑工具,可以是Visual FoxPro系统提供的内部编辑器,也可以是其它常用文本编辑软件。在文本编辑环境下,不仅可以对程序文件进行输入和修改,还可以实现字符串查找、替换、删除和编辑功能。7-1-1 7-1-1 用菜单选择方式建立及维护程序用菜单选择方式建立及维护程序 1.1.创建与修改程序文件创建与修改程序文件 命令方式命令方式 MODIFY COMMAND 程序文件名菜单方式菜单方式 打开“文件”菜单,选择“新建”;在“新建”窗口,选择“程序”,再选择“新建文件”;在“程序文件”编辑窗口,输入程序文件,并保存,此时建立程序文件的操作结束。第 4 页
3、 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录2.运行程序文件 调用程序文件,即运行程序文件,是程序文件建立的最终目的。在Visual FoxPro系统中,调用程序文件有很多方法,在这里仅介绍其中两种方法。菜单方式菜单方式 以菜单方式调用程序文件,操作方法如下:(1)在Visual FoxPro系统主菜单下,打开“程序”菜单,选择“运行”。(2)在“运行”窗口,输入被调用的程序文件名即可。命令方式命令方式 在Command 窗口中,输入如下命令,则程序文件被调用。DO 程序文件名第 5 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录3维护程序维护程序 修改程序文件时,
4、可以从菜单“文件”中选择“打开”命令,从屏幕显示的“打开”对话框中选择要修改的文件,在文件编辑器窗口中进行编辑修改程序。7-1-2 用命令方式建立及维护程序用命令方式建立及维护程序1创建程序创建程序在VisualFoxPro“命令”窗口中直接输入命令来建立和运行程序,更方便简捷。在命令窗口中输入:MODIFY COMMAND 打开在文本编辑器窗口中,等待用户输入新文件的内容。第 6 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录2保存程序保存程序在编辑过程中,按Ctrl+Q或Esc键,中止程序的编辑,按Ctrl+W键,保存编辑的程序,并返回到“命令”窗口中。程序文件名默认的扩展名
5、为.PRG。如果省略“程序文件名”,系统会自动以“程序1”为程序文件名存盘。3维护程序维护程序在编辑过程中,如果内存空间足够大,可以同时打开多个文本编辑窗口编辑多个文件,在一个文件或多个文件之间对文本进行剪切、复制、粘贴等操作。为了便于维护程序和提高编程效率,系统提供了丰富的编程环境。可以在程序窗口中单击鼠标右键,在弹出的快捷键中选择所需要的功能命令按钮。第 7 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录4运行程序运行程序在命令窗口中键入:DO(程序文件名)执行一个VisualFoxPro程序,程序文件名前根据需要可以加上路径。如:DOd:VFP程序1 该命令可以在命令窗口发
6、出,也可以出现在某个程序文件中,这样就使得一个程序在执行的过程中还可以调用执行另一个程序。当程序被执行时,文件中包含的命令被依次执行,直到程序执行完毕,或遇到以下命令:第 8 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录 CANCAL:终止程序运行,清除所有私有变量,返回命令窗口。DO:转去执行另一个程序。RETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。QUIT:退出VFP系统,返回到操作系统。Visual FoxPro程序文件通过编译、连编,可以产生不同的目标代码文件。如果没有对程序进行编译,而且程序中存在错误,则在执行程序过程中Vis
7、ual FoxPro会指出程序中存在的错误,出现错误提示对话框。此时,可以取消操作,中止程序的运行,修改后再运行。第 9 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-1-3 程序的编译在运行程序时,系统提供了两种方式:先编译后执行和一边编译一边执行。先编译后执行是在编辑窗口打开要编译的程序,然后在菜单“程序”中选定“编译”。7-1-4 编程时的一般规则1.每行只能写一条命令,每条命令以回车换行作为结束标志;2.条命令一行写不下时,可以分多行输入,在未输入完的数据后加分号,然后回车换行,系统会把此行作为前一行的续行;3.“*”,“&”,“NOTE”用来作为程序的说明的符号和命
8、令;“*”及“NOTE”只能放在一行的前面,而“&”可以放在前面或后面。第 10 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-1-5 简单的输入输出命令(1).ACCEPT命令格式:accept to 功能:在屏幕上显示提示信息,等待用户输入一个字符串,赋值给一个内存变量注意:该命令只能接受字符型常量,输入一个字符串(不必加引号)且按回车键后,程序继续执行(2).INPUT命令格式:input to 1键盘输入语句第 11 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录功能:与accept相似,不同的是能接受字符型、数字型、日期型和逻辑型数据。说明:除输入数值
9、型数据外,其他几种类型的数据一律使用定界符;输入的信息可以是表达式,input命令有计算功能(3).WAIT命令 【格式】WAIT T0 WindowsNowaitCLEAR TIMEOUT【功能】等待用户从键盘上输入一个字符存入指定变量中。第 12 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录2格式输出语句 无论是内存变量还是字段变量都可以使用?或?命令输出,这种输出方式简单,但是不能按照用户指定的位置输出。格式输出语句能按用户的要求来设计屏幕格式,使之美观、方便。【格式】SAY 【功能】从指定的行、列号开始输出表达式的值。【说明】1.可以是常量、字段变量及由它们组成的表达式
10、。2.定位输出时,一次只能输出一个表达式。第 13 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录3程序设计辅助语句命令(1)CLEAR 语句:【格式】CLEAR【功能】清除屏幕信息语句(2)SET TALK ON/OFF语句:【格式】SET TALK ON/OFF【功能】命令执行的结果传送/不传送到屏幕上(3)程序运行结束命令:lQUIT&返回操作系统lCANCEL&返回Visual FoxPro 6.0“命令”窗口lRETURN&返回调用处第 14 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-2 程序的流程控制 Visual FoxPro系统提供的命令丰富
11、,且功能强大,把这些命令和程序设计语句有效地组织在一起,就形成了实现某一特定功能的程序。Visual FoxPro系统的程序有两个特点:一是程序控制流模式,由顺序、分支、循环三种基本结构构成。二是面向对象可视化的结构程序模块,在每个模块的内部也是由程序控制流组成。常见的控制结构如下:第 15 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录程序的程序的3种基本结构种基本结构任何一种计算机语言程序主体是由3种基本结构组成:顺序结构、选择结构和循环结构。顺序结构循环结构选择结构第 16 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-2-1 7-2-1 顺序结构顺序结构
12、 在结构化程序设计方法中,程序基本控制结构有三种,即顺序结构、分支结构和循环结构。顺序结构是一种线形结构,是最基本的程序结构,它是按照命令或语句的排列顺序,依次执行。7-2-2 7-2-2 选择结构选择结构 分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。第 17 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录选择结构的基本形式 有三种基本形式:1、单条件选择结构单分支结构是一种IFENDIF分支结构格式:IF条件表达式 语句序列 EDNIF功能:条件表达式的值为真(.T.)则执行“语句序列”,否则为假(.F.)则直接执行EDNI
13、F后续语句条件真假语句序列第 18 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录例1:从键盘输入一个数,若为正数则输出,若为非正数则结束。此题学生自己分析。例2:求一元二次方程AX2BXC0的实根。分析:用根的判别式:DB24AC进行判别,如果:D0,说明有实根,如果:D0,则说明无实根。第 19 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录输入A、B、CDBB4AC如果D0X1=(-B+SQRT(D)/(2A)真X2=(-B-SQRT(D)/(2A)输出X1、X2第 20 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录双向分支结构双向分支结构 双
14、向分支语句,即根据用户设置的条件表达式的值,选择两个操作中的一个来执行。是一种IFELSEENDIF选择结构格式:IF条件表达式语句序列1ELSE语句序列2ENDIF 功能:表达式为真,则执行“语句序列1”,再执行EDNIF的后续语句;为假,则执行“语句序列2”,再执行EDNIF的后续语句。条件真假语句序列1语句序列2第 21 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录例:用IFELSEENDIF方法,再做一次求解一元二次方程的根,若有实根,则输出实根,否则输出“无实根”。例:从键盘输入一个自然数,若是偶数则输出“偶数”,否则输出“奇数”。第 22 页 共 76 页上一步上一
15、步下一步下一步关关 闭闭目目 录录2、多分支条件选择语句(多路选择)、多分支条件选择语句(多路选择)是一种DOCASEENDCASE分支结构格式:DOCASECASE条件表达式1语句序列1CASE条件表达式2语句序列2CASE条件表达式语句序列nOTHERWISE语句序列n+1ENDCASE条件1语句序列1条件n。语句序列nOTHERWISEyNNy第 23 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录功能:依次判断条件1n的表达式,当遇到第一个条件为真时,则执行该表达式对应的语句序列,然后转去执行ENDCASE的后续语句,若前几个表达式都为假,则执行OTHERWISE的语句序
16、列,然后执行ENDCASE的后续语句。第 24 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录v 使用分支语句应注意的几点使用分支语句应注意的几点(1)IF ENDIF和DO CASE ENDCASE 必须配对使用,DO CASE与第一个CASE条件表达式之间不应有任何命令。(2)条件表达式可以是各种表达式或函数的组合,其值必须是逻辑值。(3)命令行序列可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。(4)DO CASE ENDCASE 命令,每次最多只能执行一个命令行序列。在多个CASE项的条件表达式值为真时,只执行第一个条件表达式值为真的命令行序列,然后执行END
17、CASE的后面的第一条命令。第 25 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录例:从键盘输入一个学生的成绩,按下述规定输出:90分100分输出“优秀”80分89分输出“良好”70分79分输出“中等”60分69分输出“及格”0分 59分 输出“不及格”参考P135【例7-10】第 26 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录练习1.编写程序,输入一个数,判断这个数能否被6整除。2.编写一正整数存于变量X中,判断它是几位数。第 27 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-2-3 7-2-3 循环结构循环结构 常用的循环语句有以下三
18、种形式:1.1.DO DO WHlLEWHlLEENDDOENDDO循环循环 “当”型循环控制语句,即根据条件表达式的值,决定循环体内语句的执行次数。语句格式:DO WHILE 条件表达式 命令行序列 ENDDO语句功能:该语句通过条件表达式的值来控制循环。执行语句时,反复判断条件表达式的值,当条件表达式的值为“真”时,执行命令行序列;否则,结束循环,并执行ENDDO 后面的第一条命令。第 28 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录举例例1 计算S12399100的值。例2 从键盘输入一组数据,分别计算出正负数的个数,输入“0”时程序结束。例3 逐条输出1982年出生的
19、学生记录第 29 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录输入Xm=0&m用于统计正数的个数n=0&n用于统计负数的个数当X0如果X0真m=m+1假n=n+1输入X输出m、n第 30 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录2FORENDFOR循环循环 FORENDFOR循环,即根据用户设置的循环变量的初值、终值和步长,决定循环体内语句的执行次数据。语句格式:FOR循环变量循环变量初值TO循环变量终值 STEP循环变量步长 命令行序列 ENDFORNEXT第 31 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录语句功能:该语句用循环变量来控
20、制命令行序列的执行次数。执行语句时,首先将循环变量初值赋给循环变量,然后判断循环变量是否大于或小于循环变量终值,若结果为“真”,则结束循环,执行ENDFOR 后面的第一条命令;否则,执行命令行序列,循环变量自动按循环变量步长增加或减少,再重新判断循环变量当前的值是否大于或小于循环变量终值,直到其结果为真。第 32 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录举例例1计算1到100中所有奇数之和。例2 找出100999之间的所有“水仙花数”(三位数中各位数的立方和等于该数本身)。例3 从键盘输入10个数,找出其中最大和最小数。第 33 页 共 76 页上一步上一步下一步下一步关关
21、 闭闭目目 录录3SCAN.ENDSCAN循环循环 SCAN.ENDSCAN循环,即根据用户设置的表中的当前记录指针,决定循环体内语句的执行次数据。语句格式:SCAN范围FOR条件表达式1 WHILE 条件表达式2 命令行序列 ENDSCAN第 34 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录语句功能:该语句在指定的范围内,用数据记录指针来控制循环次数。执行语句时,首先判断函数EOF()的值,若其值为“真”,则结束循环,否则,结合条件表达式1或条件表达式2,执行命令行序列,记录指针移到指定的范围和条件内的下一条记录,重新判断函数EOF()的值,直到函数EOF()的值为真时结束
22、循环。第 35 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录举例例1统计“学生”数据表专业代码为03的男、女生人数。例2编写对“学生”数据表按任意条件查询的程序。Ck.prg第 36 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录4三种循环的比较三种循环的比较(1)DO WHILE和 ENDDO、FOR和ENDFOR、SCAN和ENDSCAN必须配对使用。(2)命令行序列可以是任何FoxPro命令或语句,也可以是循环语句,即可以为多重循环。(3)循环变量应是数值型的内存变量或数组元素。第 37 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录(4)EX
23、IT和LOOP命令嵌入在循环体内,可以改变循环次数,但是不能单独使用。EXIT的功能是跳出循环,转去执行ENDDO、ENDFOR、ENDSCAN后面的第一条命令;LOOP的功能是转回到循环的开始处,重新对“条件”进行判断,相当于执行了一次ENDDO、ENDFOR、ENDSCAN命令,它可以改变命令行序列中部分命令的执行次数。EXIT、LOOP可以出现在命令行序列的任意位置。第 38 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录7-3 模块结构程序设计模块结构程序设计 应用程序一般都是多模块程序,可包含多个程序模块。模块是可以命名的一个程序段,可指主程序、子程序和自定义函数。7-
24、3-1 子程序的调用子程序的调用1子程序的建立、调用与返回子程序的建立、调用与返回 对于两个具有调用关系的程序文件,常称调用程序为主程序,被调用程序为子程序。在VFP中,子程序与主程序享有相同的“待遇”,即可以用“MODIFY COMMAND”命令来建立和修改,具有相同的扩展名.prg,并以同样的文件格式存储在磁盘上。所不同的是:在每个子程序中至少要有一个返回语句RETURN(或RETURN MASTER)。第 39 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录例:试编写一程序求解 W=X!+Y!+Z!(其中:X,Y,Z的值均为一位正常数)。主程序:*MAIN_1.PRGSET
25、 TALK OFFINPUT”X=”TO XINPUT“Y=”TO YINPUT“Z=”TO ZN=XDO SUB_2A=TN=Y第 40 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录DO SUB_2B=TN=ZDO SUB_2W=A+B+T?”W=”+STR(W,7)SET TALK ON*SUB_2.PRGPUBLIC TT=1&给T赋初值1FOR I=1 TO NT=T*IENDFORRETURN第 41 页 共 76 页上一步上一步下一步下一步关关 闭闭目目 录录由此例可以得出以下结论:l主程序在调用子程序之前,要先为子程序中的某些变量赋值,例如,N=X,N=Y,N=Z
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 刘丽书 VFP 配套 PPT 章程 设计
限制150内