您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第七章VFP程序设计基础
第七章VFP程序设计基础大纲要求1、命令文件的建立与运行:(1)程序文件的建立。(2)简单的交互式输入输出命令。(3)应用程序的调试与执行。2、结构化程序设计:(1)顺序结构程序设计。(2)选择结构程序设计。(3)循环结构程序设计。3、过程与过程调用。(1)子程序设计与调用。(2)过程与过程文件。(3)局部变量和全局变量、过程调用中的参数传递。4、用户定义对话框(MESSAGEBOX)的使用。知识要点1.VisualFoxPro的工作方式VisualFoxPro系统提供有三种工作方式:即命令操作方式、菜单操作方式及程序文件操作方式。2.程序的概念有关此VisualFoxPro程序的几点说明:(1)注释语句【格式1】NOTE注释内容【格式2】*注释内容【格式3】&&注释内容【功能】为程序行加注释说明,以增强程序文件的易读性。(2)对话开关语句【格式】SETTALKOFF|ON【功能】关闭或打开命令执行时的对话开关(3)命令的分行VisualFoxPro程序是命令行的序列,每个命令都以回车键结束,一行只能写一条命令;若一条命令太长,一行写不下,也可分行书写,并在分行处加上续行符“;”,再按回车键。3.建立或修改程序文件可用两种方式调用系统内置的文本编辑器建立或修改程序文件:命令方式MODIFYCOMMAND[盘符][路径]〈程序文件名〉或MODIFYFILE[盘符][路径]〈程序文件名〉菜单方式打开“文件”菜单,选择“新建”;在“新建”窗口,选择“程序”,再选择“新建文件”4.保存程序程序输入、编辑完毕,单击【文件】|【保存】菜单项,或按Ctrl+W复合键,在“另存为”对话框中指定程序文件的存放位置和文件名,并单击“保存”按钮保存程序文件并退出文本编辑器。程序文件的默认扩展名是.PRG。5.执行程序程序文件建立后,可以用多种方式、多次执行它。下面是两种常用的方式。(1)菜单方式①单击【程序】|【运行】菜单项,打开“运行”对话框,选择程序文件,单击“运行”按钮;②从文件列表框中选择要运行的程序文件,打开该程序文件,并单击“运行”命令按钮。(2)命令方式【格式】DO[盘符][路径\]文件名【功能】执行指定盘符、路径下的程序文件注意:执行程序文件时,将依次执行文件中的命令,直到所有命令执行完毕。以下是终止程序运行的几个常用命令:①CANCAL:终止程序运行,清除所有私有变量,返回命令窗口。②DO:转去执行另一个程序。③RETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。④QUIT:退出VF系统,返回到操作系统。例题:(1)在VisualFoxPro中,程序文件的扩展名为____。A..prgB..qprC..scxD..sct【解析】本题考查的知识点是程序文件的扩展名。在V1sualFoxPro中,程序文件的扩展名为.prg。答案A是程序文件的扩展名。选项B是生成的查询程序文件的扩展名。选项C是表单文件的扩展名。选项D是表单备注文件的扩展名。【答案】A(2)在VisualFoxPro中,用来建立程序文件的命令是____。A.OPENCOMMAND文件名B.CREATECOMMAND文件名C.MODIFYCOMMAND文件名D.以上答案都不对【解析】本题考查的知识点是建立程序文件的命令的使用。在VisualFoxPro中,建立程序文件的命令是MODIFYCOMMAND文件名。选项A和B语法错误。选项C是建立程序文件的命令。选项D的说法错误。【答案】C6.输入命令INPUT【格式】INPUT[提示信息]TO内存变量【功能】在程序执行过程中,将用户交互式输入的内容赋值给指定内存变量,可以输入字符型、数值型、逻辑型、日期型和日期时间型等类型数据,而且可以是常量、变量、函数或表达式等形式,按回车键结束输入,系统将输入的数据赋值给内存变量。注意:(1)如果选用字符表达式,那么系统会首先显示该表达式的值,作为提示信息。(2)输入的数据可以是常量、变量、表达式。但不能不输入任何内容直接按回车。(3)输入字符串时必须加定界符,逻辑常量必须用圆点定界,日期常量用大括号(如{^2004-12-23})【举例】1.输入”张航”到XM变量中。INPUT”请输入员工姓名:”TOXM请输入员工姓名:”李小林”?XM李小林2.输入逻辑值到HF变量中表示婚姻状况。INPUT”已婚否:”TOHF已婚否:.T.?HF.T.7.输入命令ACCEPT【格式】ACCEPT[提示信息]TO内存变量【功能】在程序执行过程中,将用户交互式输入的内容作为字符串赋值给指定内存变量。该命令只接受字符型数据,输入的字符串不需要加定界符。注意:(1)如果选用字符表达式,那么系统会首先显示该表达式的值,作为提示信息。(2)该命令只能接收字符串。在输入字符串时不需要加定界符。(3)如果不输入任何内容直接按回车。系统会把空串赋给指定的内存变量。【例1】输入“平衡”到XM变量中。ACCEPT”请输入教师姓名:”TOXM请输入教师姓名:平衡?XM平衡【例2】编程从键盘输入某数据库的文件名,要求打开该数据库并显示其内容。程序文件名为PA1.PRG。MODICOMMANDPA1SETTALKOFFCLEARACCEPT请输入数据库名:TOAOPENDATABASE&&AACCEPT请输入表名:TOBUSE&&BLISTUSESETTALKONRETURN8.WAIT命令【格式】WAIT[提示信息][TO内存变量][WINDOW[AT行,列]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT数值表达式]【功能】显示提示信息,暂停程序执行,直到用户按任意键或单击鼠标时继续执行程序。若选择可选项[TO内存变量],将输入的单个字符作为字符型数据赋给指定的内存变量;若用户是按Enter键或单击鼠标,内存变量的值为空串。若省略所有可选项,屏幕显示“键入任意键继续……”默认提示信息。【例】在STUDENT数据库的STUD表中显示任意一个系学生的情况。程序文件名为PA2.PRGSETTALKOFFCLEAROPENDATABASE学生管理USE学生WAIT请输入待查学生的学号(1-3):TONIFVAL(N)1.OR.VAL(N)3WAIT输入无效,结束程序运行!WINDOWTIMEOUT5RETURNELSESTORE0+NTOAAALISTFOR学号=AAAENDIFCLOSEDATABASESETTALKONRETURN三条输入命令的异同INPUT命令可接受数值型、字符型、逻辑型、日期型和日期时间型数据,数据形式可以是常量、变量、函数和表达式,如果是字符串,需用定界符,输入完毕按回车键结束。ACCEPT命令只能接受字符型数据,不需定界符,输入完毕按回车键结束;WAIT命令只能输入单个字符,且不需定界符,输入完毕不需按回车键;例题1.下列关于VisualFoxPro输入输出指令的说法不正确的是____。A.INPUT命令用来从键盘输入数据B.用INPUT命令输入数据时,若不输入任何数据,直接按回车键,则系统会把空字符赋给指定的内存变量C.ACCEPT命令只能接收字符串D.WAIT命令能暂停程序执行,直到用户按任意键或单击鼠标时继续程序【解析】本题考查的知识点是一些基础知识。本题一目了然选择B。【答案】B9.程序结构是指程序中命令或语句执行的流程结构。VisualFoxPro提供了三种基本结构:顺序结构、选择结构、循环结构。10.顺序结构程序设计是程序中最简单、最基本的结构。使用该结构只需先把过程的各个步骤详细列出,然后将有关命令按处理的逻辑顺序自上而下排列起来。VisualFoxPro就能按程序排列的顺序,一条接一条地依次执行。11.分支结构形式有如下三种:(1)单向分支单向分支语句,即根据用户设置的条件表达式的值,决定某一操作是否执行。①语句格式:IF〈条件表达式〉〈命令行序列〉ENDIF②语句功能:该语句首先计算〈条件表达式〉的值,当〈条件表达式〉的值为真时,执行〈命令行序列〉;否则,执行ENDIF后面的第一条命令。【例】求一元二次方程AX2+BX+C=0的实根。程序文件名为PA3.PRG。SETTALKOFFCLEARINPUTA=TOAINPUTB=TOBINPUTC=TOCZ=B^2-4*A*CIFZ=0X1=(-B+SQRT(Z))/(2*A)X2=(-B-SQRT(Z))/(2*A)?X1,X2ENDIFSETTALKONRETURN(2)双向分支双向分支语句,即根据用户设置的条件表达式的值,选择两个操作中的一个来执行。①语句格式:IF〈条件表达式〉〈命令行序列1〉ELSE〈命令行序列2〉ENDIF②语句功能:该语句首先计算〈条件表达式〉的值,当〈条件表达式〉的值为真时,执行〈命令行序列1〉中的命令;否则,执行〈命令行序列2〉中的命令;执行完〈命令行序列1〉或〈命令行序列2〉后都将执行ENDIF后面的第一条命令。【例】编写一密码校验程序(假设密码为ABC)。程序文件名为PA4.PRG。SETTALKOFFCLEARACCEPT“请输入您的密码:”TOAAAIFAAA=”ABC”CLEAR?”欢迎使用本系统!”ELSE?”密码错误!”WAITQUITENDIFSETTALKON(3)多向分支多向分支语句,即根据多个条件表达式的值,选择执行多个操作中的一个对应执行。①语句格式:DOCASECASE〈条件表达式1〉命令行序列1〉CASE〈条件表达式2〉命令行序列2〉……CASE〈条件表达式N〉〈命令行序列N〉][OTHERWISE命令行序列N+1〉]ENDCASE【例】假设收入(P)与税率(R)的关系如下表,编程求税金。程序文件名为PA5.PRG。0P800R=0.05800≤P20000.082000≤P50000.1P≥5000SETTALKOFFCLEARINPUT“请输入收入:”TOPDOCASECASEP800R=0CASEP2000R=0.05CASEP5000R=0.08OTHERWISER=0.1ENDCASETAX=P*R?”税金为:”,TAXSETTALKONRETURN②语句功能:该语句根据给出的N个〈条件表达式〉的值,选择N+1个〈命令行序列〉中的一个执行。当所有CASE中〈条件表达式〉的值都是假时,如果有OTHERWISE项,则执行〈命令行序列N+1〉,再执行ENDCASE后面的第一条命令;否则,直接执行ENDCASE后面的第一条命令。(4)使用分支语句应注意的几点①IF……ENDIF和DOCASE……ENDCASE必须配对使用,DOCASE与第一个CASE〈条件表达式〉之间不应有任何命令。②〈条件表达式〉可以是各种表达式或函数的组合,其值必须是逻辑值。③〈命令行序列〉可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。④DOCASE……ENDCASE命令,每次最多只能执行一个〈命令行序列〉。在多个CASE项的〈条件表达式〉值为真时,只执行第一个〈条件表达式〉值为真的〈命令行序列〉,然后执行ENDCASE的后面的第一条命令。【例】下面程序段的功能是计算-个函数f(x)的值,请写出表达式。SETTALKOFFINPUT“请输入x值:”TOxDOCASECASEx-lf=0CASEX1f=2*x*x-xCASEx5f=xOTHERWISEf=0ENDCASE?‘f(X)=’,fSETTALKONRETURN由以上程序得A:f(x)=____。【解析】本题考查的知识点是用分支语句来实现求一个函数的值。由分支语句的特点和程序的结构可知,函数f(x)是一个分段函数,我们可以较为容易地写出函数的表达式。【答案】0(x-1或x5)f(x)=2x2-x(-1=x1)x(1=x5)12.循环结构程序设计循环结构也称为重复结构,是指程序在执行过程中,其中的某段代码被重复执
本文标题:第七章VFP程序设计基础
链接地址:https://www.777doc.com/doc-2208593 .html