VFP复习指导.docx
- 文档编号:11336920
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:81
- 大小:64.54KB
VFP复习指导.docx
《VFP复习指导.docx》由会员分享,可在线阅读,更多相关《VFP复习指导.docx(81页珍藏版)》请在冰豆网上搜索。
VFP复习指导
第1章数据库原理及项目管理器
一、基本概念
1、数据与信息
2、数据管理及数据管理技术的三阶段,数据库管理的特点:
最小的冗余、资源共享、数据独立
3、数据模型及种类
4、关系模型、关系模式
5、关键字及其含义
6、典型的DBMS
7、关系运算
8、常用文件类型
8、项目管理器功能
二、应会操作
1、典型的常用命令与含义(dir,?
?
?
…)
2、项目管理器的操作(创建、添加、删除、展开、收缩……)
三、典型题目
1.关系模型中,超关键字___21__C_。
A.可由多个任意属性组成
B.能由一个属性组成,其值能唯一标识该关系模式中任何一个元组
C.可由一个或多个属性组成,其值能唯一标识该关系模式中任何一个元组
D.以上都不是
2.下列不属于关系代数运算的是___21___。
A.查询B.投影C.选择D.联接
3.实体是信息世界的术语,与之对应的数据库术语是___25___。
A.文件B.数据库C.记录D.字段
4.数据库要求有最小的冗余度,是指数据尽可能不重复。
数据库的_______,是指数据库以最优的方式服务于一个或多个应用程序;数据库的独立性,是指数据的存储尽可能独立于使用它的应用程序。
5.VisualFoxPro是一个___21___。
A.数据库系统B.数据库管理系统C.数据库D.数据库管理员
6.实体模型反映实体及实体之间的关系,是人们的头脑对现实世界中客观事物及其相互联系的认识,而___22___是实体模型的数据化,是观念世界的实体模型在数据世界中的反映,是对对现实世界的抽象。
A.数据模型B.物理模型C.逻辑模型D.概念模型
7.关系模型是用______的结构形式表示实体及其实体间的关系。
8.根据关系模型的有关理论,下列说法中不正确的是___25___。
A.二维表中的每一列均有唯一的字段名
B.二维表中不允许出现完全相同的两行
C.二维表中行的顺序、列的顺序均可以任意交换
D.二维表中行的顺序、列的顺序不可以任意交换
9.数据库一般要求有最小的冗余度,是指数据尽可能___。
数据的资源共享性,是指数据库以最优的服务一个或多个应用程序;数据库的___性,是指数据的存储尽可能独立于使用它们的应用程序。
10.关系模型的基本结构是_________。
A.树形结构 B.无向图 C.二维表 D.有向图
第2章VFP语言基础复习
第一部分:
复习要点
一、数据及数据容器
1、数据类型:
类型表示符,数据形式,用途,固定长度
字符型表示
货币型的小数位数
日期型表示{},格式,8位
日期时间型:
表示方式,缺省值,日期与时间可单独
备注型:
4字节,扩展名fpt
通用型:
2、常量:
类型,表示方法(浮点、货币、字符定界符、逻辑常量、传统日期、严格日期、空串、空日期)
3、变量:
意义,命名规则,赋值方法,访问方法(内存变量与有字段同名),显示,保存与恢复,作用域
4、数组:
含义,定义方法,元素个数,赋值(元素或整体),数组的访问
二、运算符
1、运算符分类,表示方法,优先顺序
2、几个重要问题:
(1)字符运算的连接问题(+-$)
(2)日期运算的限制(+,-)
(3)关系运算的要求与结果
(4)关系比较的依据与排序方法,字符串的模糊比较与精确比较及其设置(SETEXACTON|OFF)
(5)逻辑运算的意义与计算
(6)模运算问题
三、函数
1、函数学习的几个要求:
函数的功能、函数名、格式、参数要求、函数的返回值、函数的计算
2、掌握几种典型的函数:
MAX/MIN,INT,MOD,ROUND,RAND,TRIM/ALLTRIM,LEN,AT,SUBSTR/LEFT/RIGHT/,DATE,DAY/YEAR/MONTH,ASC/CHR,VAL/STR,DTOC/CTOD,BETWEEN,IIF,FILE,MESSAGEBOX,GETFILE
四、表达式
1、表达式的概念与构造,表达式与数学表达式的相互转换
2、关系表达式与逻辑表达式的构造:
将书面语言变成表达式
3、名称表达式与宏替换及其应用
表示方法:
名称表达式--(字符表达式),宏替换--&变量名
作用:
名称表达式命令或函数中的名称(字段名、变量名、菜单名、文件名等),宏替换--类似
区别:
名称表达式比宏替换快
宏替换可以替换整个命令,名称表达式不行;宏替换可以作为表达式的一部分,后者也不行
有些命令、函数中不能使用名称表达式
举例:
I=“1”
J=“2”
X12=“Good”
?
X&I&J
x='1‘
y='2‘
c='x+y‘
?
&c
?
(c)
4、空值的意义,空值对运算的影响
等价于没有任何值
排序优先于其它数据
NULL的运算:
逻辑运算,数值运算,日期运算
第二部分程序设计
1.基本概念
程 序:
为解决某一问题而设计的一系列指令。
主程序:
通常被用户直接执行的程序。
子程序:
在程序中被调用的程序。
源程序:
由人用源语言编写的计算机程序,必须翻译成机器语言后才能被执行。
目标程序:
是源程序经过编译后所产生的机器语言程序。
可执行程序:
源程序被编译后产生的可被机器直接执行的程序,具有.EXE扩展名。
在VFP中是指由项目管理器连编生成的、可脱离VFP环境运行的程序。
应用程序:
指为完成专门工作而设计的一组相互联系的例行程序和子程序。
在VFP中是指一组VisualFoxPro程序、表单、菜单和其他文件经项目管理器连编后形成的单个程序,不能脱离VFP环境运行,扩展名为.APP。
例行程序:
按某种顺序排列的、使计算机能执行某种任务的指令集合,可以是一种专用的程序或作为程序的一部分。
它可由若干个子程序组成。
2.程序控制
(1)顺序语句
即按程序中的语句顺序依次执行。
(2)分支语句
条件语句:
情况语句:
IF条件
命令组1
[ELSE
命令组2]
ENDIF
DOCASE
CASE情况1
命令组1
CASE情况2
命令组2
…
[OTHERWISE
其它命令组]
ENDCASE
3.循环语句
FOR
循环语句(预知循环次数)
FOR变量=初值TO终值[STEP步长]
命令组
ENDFOR|NEXT
DOWHILE
循环语句(未知循环次数)
DOWHILE条件
命令组
ENDDO
SCAN
循环语句(针对全部记录)
SCAN[范围][FOR|WHILE条件]
命令组
ENDSCAN
循环结构中的LOOP命令和EXIT命令:
LOOP是短路语句,表示从此开始下一次循环;
EXIT是退出语句,表示跳出循环。
4.子程序
子程序的的形式可以是一个程序文件,也可以是一个过程或自定义函数。
子程序
自定义函数
过程
特点
总是被其他程序调用而不单独执行,可以调用其他子程序,不一定要返回一个值。
能以一个独立的文件储存,也可包含在调用程序中,必须返回一个值。
是一个程序段,是程序的组成部分,一般放在程序的最后。
定义方法
与程序相同,只是在子程序的结尾加需一条返回命令:
RETURN[表达式|TOMASTER|TO程序文件名]
FUNCTION函数名
或:
MODIFYCOMMAND函数名
PARAMETERS数表
命令组
RETURN表达式
注:
用此命令定义的函数以独立的文件形式储存。
PROCEDURE过程名
PARAMETRS参数表
命令组
RETURN
调用方法
DO子程序名[WITH参数表]
=函数名(参数表)
DO过程名WITH参数表
3.创建应用程序
方法一:
在命令窗口中输入:
MODIFYCOMMAND程序名
方法二:
单击文件菜单→新建→程序→新文件→在编辑窗口中编辑程序→完成后关闭→给出合适的程序名及保存位置。
程序的注释:
方法1:
*|NOTE<注释内容>可出现在程序中的任何地方
方法2:
&&<注释内容>一般用于命令的尾部
给程序加注释的目的是为了提高程序的可读性。
面向过程的程序设计三步曲:
输入→处理→输出
4.修改应用程序
方法一:
在命令窗口中输入:
MODIFYCOMMAND程序名|?
注:
?
表示不知道程序名,要从打开对话框中选定。
方法二:
单击文件菜单→打开→选择所需程序并打开→在编辑窗口中对程序进行修改→完成后关闭退出。
5.执行应用程序
方法一:
在命令窗口中输入:
DO程序名|?
方法二:
从程序菜单中选择执行→从打开对话框中选择所需程序并执行之。
6.程序设计的基本步骤
(1)对问题进行说明
(2)分解问题
(3)编制各模块
(4)测试并完善各模块
(5)组装全部模块
(6)整体测试
7、程序编制中的常用算法
(1)累加、连乘
(2)求素数
(3)穷举
(4)求最大、最小值
(5)排序
(6)数组元素的插入、删除
(7)数制转换
(8)加密与解密
(9)查找
(10)字符处理
(11)数据压缩
8、关于阅读程序
(1)了解程序功能
(2)分析算法
(3)程序结构分析:
输入(初始化)--处理--输出结果
(4)关键语句
(5)程序控制结构
(6)手工走程序、记录变量结构
(7)得出结果
第三部分典型例题
13.自定义函数RV()实现的功能是:
将任意给定的一串字符倒序返回,如执行函数:
RV(“ABCD”),则返回“DCBA”。
完善函数RV()的程序代码:
FUNCTIONRV
PARAMETERScH
L=0
McH=""
DOWHILEL McH=McH+SUBSTR(cH, ______,1) L=L+1 ENDDO RETURN__________ ENDFUNC 3.下列表达式中,合法的是____23______. A.Year(Date())-{2000/08/02}B.Date()-(2000/08/02) C.Date()+{2000/08/02}D.A、B、C均对 2.MOD(9,-2)的返回值为______。 (异号为余数加除数) 10.下列自定义函数NTOC()的功能是: 当传送一个1-7之间的数值型参数时,返回一个中文形式的"星期日-星期六".例如: 执行命令? NTOC(4),显示"星期三"。 FUNCTIONNTOC PARAMETERSN LOCALCH CH="日一二三四五六" MCH="星期"+SUBSTR(CH,___________,2) RETURNMCH ENDFUNC 20.表达式SUBSTR("GotFocus",LEN("语言"))的返回值是: _____________。 22.下列程序的功能是计算: S=1/(1*2)+1/(3*4)+1/(5*6)+…+1/(N*(N+1))+…的近似值,当1/(N*(N+1))的值小于0.00001时,停止计算。 S=0 I=1 DOWHILE.T. P=____________ S=S+1/P IF1/P<0.00001 ___________ ENDIF I=I+2 ENDDO 6.在VisualFoxPro中创建数据库后,系统自动生成的三个文件的扩展名分别为___26___。 A..PJX、.PJT、.PRGB..DBC、.DCT、.DCX C..FPT、.FRX、.FXPD..DBC、.SCT、.SCX 1.表达式"ABC">"BC"的值是______.LEN(ALLTRIM("3.14"))的值是______。 2.下列命令中,不能使程序跳出循环的是___24___。 A.LOOPB.EXITC.QUITD.RETURN 3.表达式{09/18/2000}-{09/20/2000}的值是______;(要注意严格格式与常规格式) 表达式INT(6.26*2)%ROUND(3.14,0)的值是______。 4.执行下列程序段后,X(1,1)和X(2,2)的值分别为______。 程序清单如下: DIMENSIONX(6,10) X=123 5.调用系统对话框的系统函数MessageBox()的语法如下: MESSAGEBOX(cMessageText[,nDialogBoxType[,cTitleBarText]]) 某应用程序在执行过程中出现了如下图所示的对话框: 根据上图所示对话框所显示的有关信息,完善下面程序段: LocalnSelect nSelect=MessageBox("删除吗? ",4+__,"删除确认") IFnSelect=6 SELECTjs DELETE ENDIF 如果在出现对话框时选择“否”,则上列程序执行后,变量nSelect的值是____。 6.下列哪一组的数据类型是一致的22。 A.CTOD("1999/09/08"),DATE()+10,DATE() B.ALLTRIM("VFP5.0"),ASC("A"),SPACE(8) C.EOF(),RECCOUNT(),DBC() D.STR(3.14,3,1),TYPE("3.14"),SUBSTR("ABCD",3,1) 7.DIMENSION命令用来对23进行声明。 A.对象B.变量C.字段D.数组 8.下列程序用来计算长方形的面积,请将它写完整: X=3 Y=5 S=0 DO(27)WITHX,Y,S ? S PROCEDUREAREA (28) S1=X*Y RETURN 9.在VFP5.0命令窗口中执行? STR(2345.278,7,2)命令后,返回的结果是___。 A.2345.278 B.2345.27 C.345.278 D.2345.28 10.在VFP5.0中,将字符型数据转换成日期型数据的函数是_____。 A.DTOC() B.CTOD() C.DATE() D.STR() 11.以下的四组函数,返回值的数据类型一致的是_____。 A.DTOC(DATE()),DATE(),YEAR(DATE()) B.ALLTRIM(〃VFP5.0〃),ASC(〃A〃),SPACE(8) C.STR(3.14,3,1),DTOC(DATE()),SUBSTR(〃ABCD〃,3,1) D.EOF(),RECCOUNT(),DBC() 12.设XB为某表中的字符型字段,其宽度为2,则与XB="男".OR.XB="女"等价的表达式为_____。 A.BETWEEN(XB,男,女) B.BETWEEN(XB,"男","女") C.INLIST(XB,男,女) D.INLIST(XB,"男","女") 13.VFP中程序控制结构有_____、_____、_____和_____四种。 14.将VFP默认路径设置为D: \USER的命令是_____。 15.已知N="1",M="2",X12="A+B",则表达式X&N&M的值为______。 16.表达式YEAR(DATE()+10)的数据类型为_______。 17.已知XX=“Englishbook ”,YY=“book”。 则XX+YY=________________ XX-YY=_________________。 18.在VFP5.0命令窗口中执行? ATC("学习","认真学习计算机")命令后,返回的结果是______。 A.2 B.5 C.7 D.9 (AT()区分大小写,而ATC不区分) 19.函数SUBSTR("VisualFoxPro5.0",4,7)的返回值是________。 A.ualFoxP B.FoxPro5 C.FoxP D.FoxPro5.0 20.下列关于数据操作的说法中,正确的是__________。 A.货币型数据不能参加算术运算 B.两个日期型数据可以进行加法运算 C.字符型数据能比较大小,日期型则不能 D.一个日期型数据可以加或减一个整数 21.在VFP5.0中,将日期型数据转换成字符型数据的函数是__________。 A.DTOC() B.CTOD() C.DATE() D.STR() 22.VFP的循环语句有_______(其中FOR是指FOR…ENDFOR结构语句)。 A.DOWHILE,FOR和SCAN B.DOWHILE,FOR和LOOP C.FOR,SCAN和LOOP D.DOCASE和DOWHILE 23.表达式STR(YEAR(DATE()+10))的数据类型为_______________。 22.在VisualFoxPro系统中,表达式LEN(DTOC(DATE(),1))的值为(22)。 A.4 B.6 C.8 D.10 6.表达式LEN(TRIM(STR(24)))的计算结果为(6);(STR函数的默认值为10位数字,不带小数) 7.依次执行一下命令之后,最后一条命令的输出结果是(8)。 SETEXACTOFF x=”6.0” ? IIF(“6.0”=x,”VisualFoxPro”–x,“VisualFoxPro”+“5.0”) 15.阅读下列程序,并填写运行结果。 CLEAR x=”OK” STORE“学习”TOy ok=’努力’ ? &x+(y) 23.以下表达式中不能返回字符串值“FoxPro”的是___23___。 A“Fox”+“Pro” BTRIM(“Fox”–“Pro”) CALLTRIM(“Fox”+“Pro”) D“Fox”-“Pro ” 24.在系统VisualFoxPro中,以下函数返回值不是数值型的是__24____。 A.LEN(“VisualFoxPro”) B.AT(“This”,“ThisForm”) C.YEAR(DATE()) D.LEFT(“ThisForm”,4) 1.函数MOD(-42,-3)的返回值为_____ (1)____ 2.设n=234,m=432,k=”m+n”,表达式1+&k的值是___ (2)____ 12.完善下列程序,以实现通过字符串变量操作竖向显示“天长地久”、横向显示“地久天长”的功能。 程序清单如下: SETTALKOFF STORE“天长地久”TOch CLEAR n=1 DOWHILEn<8 ? __Substr(ch,n,2) n=n+2 ENDDO ? ____Substr(ch,5,4) ? ? SUBSTR(ch,1,4) RETURN 14.在连编应用程序之前应设置应用程序的主程序。 下列程序是某应用程序的主程序main.prg,请根据命令行中的注释信息完善该程序。 CLEARALL _SCREEN.Visible=.f. SETTALKOFF&&关闭显示 **************设置VisualFoxPro主窗口属性*********** WITH_SCREEN .Caption=’《库存管理系统》’ .Picture=’pict\softface.jpg’ .WindowState=2 .ControlBox=.f. ENDWITH _SCREEN.Visible=.t. SETSYSMENUON ____Do____mainmenu.mpr&&执行菜单程序mainmenu.mpr _____Doform______Loginfonm&&运行表单文件: Loginfonm.scx READEVENTS&&启动事件循环 RETURN 1、程序改错(5分) 下列程序的功能是: 显示10000以内所有回文数的个数及其平均值。 所谓回文数是指左右数字完全对称的自然数。 例如: 11、121、1221等都是回文数。 要求: 1、项目中有一个程序文件PCODE,将下列程序输入到其中并进行修改。 2、在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 STORE0TOnCount,nSum FORn=11to10000 c1=STR(n)&&alltrim(str(n)) c2=SPACE(0) FORm=1TOLEN(c1) C2=SUBSTR(c1,m,1)+c2 ENDFOR IFc1=c2 nCount=nCount+1 nSum=nSum+c1 &&val(c1) ENDIF ENDFOR WAITWINDOW”回文数个数及其平均值分别为: ”STR(nCount)+”,”+STR(nSum/nCount) 2、程序改错(5分) 下列程序的功能是验证例题: 若一个三位数是37的倍数,则将这个三个数字循环移位得到的另两个三位数也是37的倍数(例如: 148是37的倍数,481、814也是37的倍数)。 要求: 1、项目中有一个程序文件PCODE,将下列程序输入到其中并进行修改。 2、在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 lResult=.t FORn=100TO999 IFMOD(n,37)#0 &&=0 c=ALLERIM(STR(n)) c1=LEFT(c,1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 复习 指导