您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第9章 VFP程序设计基础
19.1算法的描述9.2程序设计基础知识9.3顺序结构程序设计9.4分支结构程序设计9.5循环结构程序设计9.6子程序及其调用9.7过程和自定义函数学习目标了解算法的相关知识,理解语句和程序的概念,重点掌握结构化程序设计的顺序、分支和循环三种结构,并能正确运用三种结构编写程序;能够根据实际需要定义子程序、过程和函数。39.2程序设计基础知识1.菜单方式2.命令方式【格式】MODIFYCOMMAND文件名【功能】建立或修改程序文件。创建及修改程序文件的方法9.2.14【格式】DO程序文件名【功能】执行程序文件。执行程序文件的命令9.2.29.2程序设计基础知识5(1)每个命令必须以一个命令动词开头,不区分大小写,使用英文标点。(2)命令动词和子句中的短语可以用其前面4个或4个以上的字符的缩写表示。(3)大多数命令动词后可以跟一个或多个限定该动词的子句,命令行中的各个子句可以按任意次序排列。(4)命令行中若有多个词,以一个或多个空格隔开,若已经有分隔符,则空格可省略。(5)一个命令行的最大长度不能超过254个字符。(6)一行只能写一个命令,每条命令都是以回车作为结束符并确认执行;如果一个命令太长,一行写不下,可以使用续行符“;”,然后回车,并在下一行接着写,但总长不能超过254个字符。程序文件的书写规则9.2.361.注释语句【格式1】NOTE注释内容【格式2】*注释内容【格式3】&&注释内容【功能】NOTE格式一般用于程序、子过程、自定义函数等的开始部分,对整个程序文件或一段程序进行注释。*格式和&&格式一般用在具体某一个程序语句行的后面,用于说明本行的功能等特性。9.2程序设计基础知识程序设计辅助命令9.2.472.关闭文件语句【格式】CLOSEALL【功能】关闭所有工作区上打开的各种类型的文件,并选择1号工作区。常用在程序的开头进行程序环境的初始化工作程序设计辅助命令9.2.49.2程序设计基础知识83.清除命令【格式】CLEAR【功能】清除当前屏幕上的所有信息,但不清除内存变量。【格式】CLEARALL【功能】关闭所有工作区上打开的各种类型的文件,并能清除内存变量。程序设计辅助命令9.2.49.2程序设计基础知识94.命令结果显示开关命令【格式】SETTALKON|OFF【功能】决定VFP是否显示命令执行的结果。默认情况下为ON,一般在程序开头设置为OFF,在程序的最后恢复为ON。程序设计辅助命令9.2.49.2程序设计基础知识105.屏幕状态命令【格式】SETCONSOLEON|OFF【功能】激活或终止从程序中向VFP主窗口或活动的用户自定义窗口的输出。常用于控制从键盘上输入的信息是否在显示器上显示。默认为ON,用户输入的信息在屏幕上显示,OFF为不显示。程序设计辅助命令9.2.49.2程序设计基础知识116.安全开关命令【格式】SETSAFTYON|OFF【功能】确定改写已有文件之前是否显示确认对话框。默认为ON,指定改写已有文件之前显示一个对话框。OFF用于指定在改写已有文件时不显示对话框而直接改写。程序设计辅助命令9.2.49.2程序设计基础知识127.结束程序执行命令【格式】CANCEL【功能】结束当前VFP程序的执行,回到VFP命令状态。8.退出命令【格式】QUIT【功能】终止程序执行且退出VFP,返回到Windows操作系统。举例程序设计辅助命令9.2.49.2程序设计基础知识131.单字符输入命令【格式】WAIT[字符表达式][TO内存变量名][WINDOW[AT行,列]【功能】显示信息并暂停VFP的执行,直到某个键盘键或鼠标左键被按下后继续执行。基本的输入输出命令9.2.59.2程序设计基础知识142.字符串输入命令【格式】ACCEPT[字符表达式]TO内存变量名【功能】暂停VFP的执行,接收由键盘输入的字符串数据,并将输入结果保存到内存变量中,以回车结束输入。【说明】在ACCEPT命令中输入的数据均被视为字符类型,输入时不必使用定界符,若使用定界符,则定界符也作为字符串的内容。如果没有输入数据就按回车键,内存变量或数组元素接收的内容为空字符串。基本的输入输出命令9.2.59.2程序设计基础知识153.其它类型数据输入命令【格式】INPUT[字符表达式]TO内存变量名【功能】暂停VFP的执行,接收由键盘输入的数据,并将输入结果保存到内存变量中,以回车结束输入。【说明】从键盘输入的表达式决定了内存变量;当输入的数据不正确时(或直接按回车键时),会一直等待用户输入,直到正确为止。基本的输入输出命令9.2.59.2程序设计基础知识164.自定义对话框函数【格式】MessageBox(提示文本)[,数值表达式[,标题文本]]【功能】显示一个用户自定义对话框,函数值为数值型。数值表达式用来指定对话框中的按钮、图标和显示对话框时的默认按钮。【说明】提示文本用于对话框中显示提示文字。数值表达式用于确定对话框的按钮、图标、默认按钮等属性。(3)函数值为数值型,表示选择了对话框中的哪个按钮。基本的输入输出命令9.2.59.2程序设计基础知识17VFP是一种面向对象的程序设计与结构化程序设计相结合的语言。结构化程序设计方法有三种:顺序、分支和循环,也称为结构化程序设计的三大结构。顺序结构是结构化程序设计中最简单和最基本的一种结构,它是按照语句的书写顺序来执行的,每条命令执行一次。处理问题的一般步骤是原始数据输入、中间数据处理、最终结果输出。举例:例9-5、例9-6、例:交换两个变量的值9.3顺序结构程序设计181.单向分支【格式】IF条件表达式命令行序列ENDIF【功能】根据条件表达式的值决定执行命令行序列或不执行命令行序列。如果条件表达式的结果为.T.,则执行命令行序列,如果为.F.,则不执行命令行序列,而是跳转到ENDIF语句之后的语句继续执行。【举例】例9.7、输入三个数,按从大到小的顺序排列。9.4分支结构程序设计IF分支语句9.4.1192.双向分支【格式】IF条件表达式命令行序列1ELSE命令行序列2ENDIF【功能】根据逻辑表达式的值,有选择地执行命令序列。【举例】例9.8、例:查找指定学号的学生,找到了就显示其信息,没找到就输出“查无此人”9.4分支结构程序设计IF分支语句9.4.1203.IIF函数【格式】IIF(条件表达式,表达式1,表达式2)【功能】根据逻辑表达式的值,返回两个表达式值中的某一个。【举例】使用iff函数求两数中的较大数INPUT请输入X的值:TOXINPUT请输入Y的值:TOY?IIF(XY,X,Y)9.4分支结构程序设计IF分支语句9.4.1214.分支结构的嵌套【格式】9.4分支结构程序设计IF分支语句9.4.1IF条件表达式1命令行序列11IF条件表达式2命令行序列21[ELSE命令行序列22]ENDIF……ELSE命令行序列12IF条件表达式3命令行序列31[ELSE命令行序列32]ENDIF……ENDIF22【格式】DOCASECASE条件表达式1命令序列1CASE条件表达式2命令序列2……CASE条件表达式N命令序列N[OTHERWISE命令序列N+1]ENDCASE多重分支语句9.4.29.4分支结构程序设计【功能】根据不同的条件表达式结果执行不同的命令。整个的DOCASE…ENDCASE语句块,系统在执行时,从上到下进行判断,并且只会选择的第一个条件表达式为.T.所对应的命令序列i来执行,而其他忽略。例9-11例:输入百分制成绩,要求转换成对应的优、良、中、不及格五级制的评定。231.条件循环【格式】DOWHILE条件表达式命令序列1[LOOP]命令序列2[EXIT]命令序列3ENDDO【举例】1.求1~100的自然数之和2.密码输入9.5循环结构程序设计循环程序结构9.5.1【功能】如果条件表达式的值为.T.,则执行DOWHILE和ENDDO语句之间的命令序列,即循环体。如果在执行循环体时遇到LOOP命令,则停止循环体的本次执行,然后跳转到执行循环的入口语句DOWHILE条件表达式处,并测试该语句中条件表达式的值,以决定是否继续执行该循环。如果遇到EXIT命令,则EXIT以下的命令序列不再执行,而是直接跳出循环,去执行ENDDO后面的命令。如果条件表达式的值为.F.,程序则跳转到ENDDO。242.记数循环【格式】FOR循环变量=初始值TO终止值[STEP步长]命令序列1[LOOP]命令序列2[EXIT]命令序列3ENDFOR/NEXT【功能】按循环变量指定的次数重复执行一组命令。在遇到ENDFOR或NEXT之前,始终执行FOR与ENDFOR之间的命令序列。执行过程中,每循环一次,循环变量都会自动递增一个步长,然后把循环变量的当前值与终值作比较。如果循环变量的当前值小于或等于终值,将再次执行FOR语句后的命令;如果循环变量的值大于终值,则退出FOR…ENDFOR循环,程序继续执行ENDFOR或NEXT之后的命令。【举例】1.求1~100的自然数之和2.求n!3.统计字符个数4.输入10个数,求最大值5.判断素数9.5循环结构程序设计循环程序结构9.5.1253、记录扫描循环【格式】SCAN[范围][FOR/WHILE条件表达式]语句序列1[LOOP]语句序列2[EXIT]语句序列3ENDSCAN【功能】在当前选定的表中移动记录指针,并对每一个满足指定条件的记录执行一组命令。【举例】例9-159.5循环结构程序设计循环程序结构9.5.126一般将循环体内不含有循环语句的循环叫做单层循环,把循环体内含循环语句的循环叫多重循环,也叫循环嵌套。【举例】1.打印九九乘法表2.求1!+2!+3!+…+10!3.找出2~100内的所有的素数,并统计素数的个数。9.5循环结构程序设计循环程序嵌套9.5.2271.子程序的建立子程序也是一个命令文件,所以建立和编辑子程序的方法同VFP程序文件一样。2.子程序的参数定义【格式】PARAMETERS形参表【功能】定义形式参数。【说明】(1)该语句必须是子程序的第一个语句。(2)形式参数如果是多个,中间用逗号隔开,它的参数类型和个数必须和调用它的实际参数的类型和个数一样。(3)如果实际参数是一个数组(不必带数),则对应的形式参数会自动的定义为一个同样的数组。9.6子程序及其调用子程序的概念及其使用9.6.1283.子程序的调用【格式1】DO子程序文件名[WITH实参表]【格式2】子程序文件名(实参1[,实参2…])【功能】调用指定的子程序。【说明】(1)子程序可以被调用多次,也可以在一个子程序中调用另一个子程序,但不自己调用自己。(2)实参表用来向子程序传递实际参数。(3)实际参数可以是表达式或数组,如果实际参数是数组,调用子程序时不必带维数。9.6子程序及其调用子程序的概念及其使用9.6.129(4)在VFP中参数的传递有两种形式:按引用传递和按值传递。按引用传递是指将该实参的地址传递给形参,即形参和实参指向内存的同一个位置。这样,在子程序中修改了形参的值就相当于修改了实参的值。使用【格式1】并且实参是变量时按引用传递。按值传递是将实参的值复制一份传递给形参,在子程序中修改形参的值不影响调用程序中实参的值,使用【格式1】并且实参是表达式时按值传递,使用【格式2】也是按值传递。9.6子程序及其调用子程序的概念及其使用9.6.1304.子程序的返回【格式】RETURN[表达式|TO程序文件名|TOMASTER]【功能】终止当前运行的程序,返回到调用程序或指定程序或主程序。【说明】(1)如果一个程序调用了另一个子程序,则被调用程序在执行到RETUEN语句后将返回到调用处的下一个语句。(2)如果选择了表达式,则
本文标题:第9章 VFP程序设计基础
链接地址:https://www.777doc.com/doc-3125614 .html