vfp考前辅导.docx

上传人:b****0 文档编号:9448551 上传时间:2023-05-19 格式:DOCX 页数:48 大小:162.80KB
下载 相关 举报
vfp考前辅导.docx_第1页
第1页 / 共48页
vfp考前辅导.docx_第2页
第2页 / 共48页
vfp考前辅导.docx_第3页
第3页 / 共48页
vfp考前辅导.docx_第4页
第4页 / 共48页
vfp考前辅导.docx_第5页
第5页 / 共48页
vfp考前辅导.docx_第6页
第6页 / 共48页
vfp考前辅导.docx_第7页
第7页 / 共48页
vfp考前辅导.docx_第8页
第8页 / 共48页
vfp考前辅导.docx_第9页
第9页 / 共48页
vfp考前辅导.docx_第10页
第10页 / 共48页
vfp考前辅导.docx_第11页
第11页 / 共48页
vfp考前辅导.docx_第12页
第12页 / 共48页
vfp考前辅导.docx_第13页
第13页 / 共48页
vfp考前辅导.docx_第14页
第14页 / 共48页
vfp考前辅导.docx_第15页
第15页 / 共48页
vfp考前辅导.docx_第16页
第16页 / 共48页
vfp考前辅导.docx_第17页
第17页 / 共48页
vfp考前辅导.docx_第18页
第18页 / 共48页
vfp考前辅导.docx_第19页
第19页 / 共48页
vfp考前辅导.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

vfp考前辅导.docx

《vfp考前辅导.docx》由会员分享,可在线阅读,更多相关《vfp考前辅导.docx(48页珍藏版)》请在冰点文库上搜索。

vfp考前辅导.docx

vfp考前辅导

复习

注:

“*”表示难点和易出错

1、数据库系统及VisualFoxpro概述

1)数据管理技术的发展

三阶段:

人工管理阶段、文件管理阶段、数据库方式阶段

例:

2)数据库系统

组成:

数据库(概念和特点)

*特点:

共享性、独立性、冗余度

数据库管理系统

操作系统

计算机硬件资源等组成。

三级模式结构:

外部层——单个用户的视图

概念层——全体用户的公共视图

内部层——存储视图

数据的物理独立性:

数据的逻辑独立性:

3)数据库管理系统(DBMS)

信息的三个领域及对应关系*:

三个阶段:

客观事物——实体——数据世界中的数据

概念模型:

E-R模型的基本概念

实体:

客观存在的、可以相互区别的事物。

用矩形表示

联系:

实体集之间关系的抽象表示。

菱形

属性:

实体或联系所具有的特征。

椭圆型

数据模型:

层次模型、网状模型、关系模型

关系模型和二维表*

关系:

以二维表结构来表示实体集及其实体间的联系。

一个关系就是一张二维表。

表的每一行称为一个元组(Tuple),

每一列称为一个属性(Attribute)。

关系模型的性质:

属性是原子的,不可分解的。

二维表的记录数随数据的增加而改变,但其字段数是相对固定的。

二维表中的每一列均有唯一的字段名

二维表中不允许出现完全相同的两行二维表中行的顺序、列的顺序均可以任意交换

关系模型通过一系列的关系模式来表述数据的结构和属性,一般有三个组成部分:

数据结构、数据操作和完整性规则。

关系的基本运算有两类:

⏹传统的集合运算(并、差、交等)

⏹专门的关系运算(选择、投影、联接)

5)VisualFoxpro概述

项目管理器

功能:

组织和管理各种类型的文件,包括文件、数据、文档、对象

文件扩展名

*操作:

主文件设置:

程序表单查询菜单

编辑说明(项目、数据库和表)

应用程序的连编

表的包含与排除、重命名、添加等方法

.

2、语言概述及程序设计基础

1)语言概述

数据类型和字段类型

基本数据类型:

 字符型 C  货币型 Y  日期型 D 数值型 N

         逻辑型 L  备注型 M  通用型 G

2)数据:

常量、变量、数组

常量:

在数据处理过程中其值不发生变化的量叫常量。

●字符型常量:

用定界符(单引号、双引号、方括号)括起来的字符串。

●(示例:

“ade”、‘568’)

●数值型常量(示例:

538,-10.5)

●浮点型常量(示例:

-1.05E+20)

●日期型常量:

表示一个确切的日期,用大括号作为定界符,默认格式为{mm/dd/yy}。

◆严格的日期格式:

{^YYYY-MM-DD}

⏹(示例:

{05/23/99},{^2001-08-16})

●逻辑型常量(示例:

.t..T..f..F.)

●日期时间型常量(示例:

{05/16/9912:

00:

00})

●货币型:

以$符号开头(示例:

cPrice=$100.35)

变量的命名规则:

(1)名称中只能包含字段、下划线(__)和数字符号

(2)名称的开头只能是字母或下划线,不能是数字;

(3)除了自由表的字段名、表的索引标识名至多只能有10个字符,其余的名称的长度可以在1~128个字符之间。

(4)避免使用系统的保留字。

如:

cVar、Cbe2、x_2

2x2_num-ofnsunm&dcodd

LOCAL指定局部变量

用PRIVATE指定私有变量

用PUBLIC指定全局(公共)变量

访问变量

在VFP中,若变量与字段同名,字段具有更高的优先权。

要访问变量,可在变量前加上:

m.

例:

1、执行下列程序段后,X(1,1)和X(2,2)的值分别为:

程序清单如下:

DIMENSIONX(6,10)

X=123

操作符、表达式、函数

常用函数:

数值函数:

ABS()INT()MAX()MIN()MOD()ROUND()

数据类型转换函数:

ASC()CHR()CTOD()DTOC()STR()VAL()

字符函数:

ALLTRIM()TRIM()AT()BETWEEN()EMPTY()LEFT()LEN()RIGHT()SPACE()SUBSTR()

日期与时间函数:

DATE()DAY()TIME()DAY()MONTH()YEAR()

表操作与数据库操作函数;

其他函数:

IIF()MESSAGEBOX()TYPE()

例:

函数MOD(-42,-3)的返回值为_______

     

例:

以下表达式中不能返回字符串值“FoxPro”的是______。

       A“Fox”+“Pro”

       BTRIM(“Fox  ”–“Pro”)

      CALLTRIM(“    Fox”+“Pro”)

      D“Fox”-“Pro    ”

  例:

在系统VisualFoxPro中,以下函数返回值不是数值型的是_____。

    A.LEN(“VisualFoxPro”)

    B.AT(“This”,“ThisForm”)

    C.YEAR(DATE())

    D.LEFT(“ThisForm”,4)

3)名称表达式、宏替换

例:

.设n=234,m=432,k=”m+n”,表达式1+&k的值是______

4)程序设计语言

*程序控制:

顺序、条件分支、循环、子程序

退出语句:

LOOP、EXIT、QUIT、RETURN的区别

*函数、过程

例:

1、下列命令中,不能使程序跳出循环的是

A、LOOPB、EXITC、QUITD、RETURN

2、下列程序用来求0-----100偶数之和,请将它写完整

STORE0TON,S

DOWHILE.T.

IFN>100

ELSE

S=S+N

ENDIF

N=N+2

ENDDO

3、下列程序的功能是计算:

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

运行以下程序后,VFP主窗口显示的结果是____6____。

   【程序清单】

    CLEAR

    i=0

    n=0

    DOWHILEi<=10

      IFMOD(i,2)=0

        n=n+1

      ENDIF

        i+1

     NDDO

    n

运行下列程序后,显示的运行结果为.

S=0

FORI=1TO100STEP2

IFMOD(I,3)=0

LOOP

ENDIF

S=S+I

ENDFOR

S

运行下列程序后,显示的运行结果为.

X=0

DOWHILE.T.

X=RAND()*100

IFX>70ANDX<80

EXIT

ENDDO

?

*

运行下列程序后,显示的运行结果为.

?

TT("123E%nw$Oq*5n6")

FUNCTIONTT

PARAcstr

cResult=space(0)

FORn=1toLEN(ALLT(cStr))

c=SUBSTR(cStr,n,1)

IF!

BETWEEN(c,"A","Z")and!

BETWEEN(c,"a","z")

LOOP

ENDIF

cResult=cResult+CHR(ASC(c)+1)

ENDFOR

RETURNcResult

ENDFUN

运行此程序的显示结果为:

M=0

N=100

DOWHILEN>M

M=N-M

N=N-10

ENDDO

M,N

RETURN

过程定义的基本语法格式:

PROCEDUREPracedurename

Commands

[RETURN[eExpression]]

ENDPROC

函数定义的基本语法格式“

FUNCTIONFunctionName

Commands

[RETURE[eExpression]]

ENDFUNC

可以传递参数,必须在PROCEDURE或FUNCTION命令后面的第一个语句之前使用PARAMETERS语句进行参数定义。

语法格式如下:

PARAMETERSParameterlist

RETURN函数用于指定过程或自定义函数的返回值,缺省时,返回值为真。

过程与自定义函数的调用

s=0

FORI=1to5

S=s+fjc(i)

ENDFOR

?

s

FUNCTIONFJC

PARAMETERSx

P=1

Forn=1tox

P=p*n

Endfor

Returnp

Endfunc

 

4、完善下列程序。

使其实现计算数列1!

/2!

2!

/3!

3!

/4!

……的前20项之和的功能。

    

    【程序清单】

     nSum=0

     FORn=1TO20

       NSum=__________

     ENDFOR

     FUNCTIONjc

       PARAMETERx

       S=1

       FOR_____to______

         s=s*m

       ENDFOR

       RETURNs

endf

4、下列程序用来计算长方形的面积,请将它完整:

X=3

Y=5

S=0

DOWITHX,Y

S

PROCEDUREAREA

S=X*Y

RETURN

5、设学生表(XS)中含有学号(XH,C,8)、姓名(XM,C,8)、出生日期(CSRQ,D,8)

字段,该表所在的数据库的存储器过程中有一个求学生年龄的自定义函数AGE,代码如下:

FUNCTIONAGE

PARAMETERSdBirthday

LOCALnResult

NResult=-1

IFNOTEMPTY(”dBirthday”)

Nresult=YEAR(DATE())-

ENDIF

RETURNNresult

改错题:

1、下列程序用于计算数列1,1/2,1/3,1/4,1/5,……,1/n之和,当某一数列项的值小于

1.01时停止计算。

要求:

修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

(2002秋VFP03)

setdecimalto2

n=1

nsum=0

dowhile.t.

nsum=nsum+n

if1/n<0.01

loop

endif

n=n+1

enddo

(2005春01)下列程序的功能是:

随机出10道100以内整数加减法算术题。

如果是加法,则两数的和不得大于100;如果是减法,则被减数不小于减数。

要求:

①   项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改(注:

注释部分不需要输入);

②  在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

Clear

Ts=1&&题数计数

Dowhilets<=10

Czf=iif(rand()>0.5,”+”,”-”)&&rand()函数的功能是返回一个0~1之间的随机数

Num1=rand()*100

Num2=rand()*100

Ifczf=”+”

Ifnum1+num2>100

Loop

Endif

Else

Ifnum1

Exit

Endif

Endif

?

”(”+str(ts,2)+”)”+str(num1,3)+czf+str(num2,2)+”=”

ts=ts+1

endif

下列程序的功能是:

根据给定出生日期,打印出60岁前有哪几个生日是在星期六或星期日,并分别统计在星期六和星期日过生日的次数。

要求:

(1)项目中有一个程序文件pcode,将下列程序输入到其中并进行修改;

(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

Setdatetolong

Dbday={^1968/05/20}

Nyear=year(dbday)

Mm=str(month(dbday),2)

Dd=str(day(dbday),2)

Storeotonsunday,nsaturday

ForI=1to60

Cebirth=”^”+str(nyear+I,4)+”/”+mm+”/”+dd

Debirth=dtoc(cebirth)

Nweek=dow(debirth)

Ifnweek=1

?

debirth,”星期日”

nsunday=nsunday+1

endif

ifnweek=6

?

debirth,”星期六”

nsaturday=nsaturday+1

endif

endfor

?

”星期六过的次数:

”+str(nsaturday,2)+”星期日过的次数:

”+str(nsunday,2)

下列程序的功能是求函数f(x)的值,同时分别求出x=-2,x=2,x=6时函数的值。

函数表达式为:

f(x)=2x2+3x+4x<2

=0x=2

=-2x2+3x-4x>2

clear

?

f(-2)

?

f

(2)

?

f(6)

functionf

parametersx

ifx<2

y=2*x*x+3*x+4

else

ifx=2

y=0

endif

y=-2*x*x+3*x-4

endif

endif

returnx

下列程序的功能是找出两个正整数的最大公约数。

可以用辗转相除发来求最大公约数。

例如27和6,先用27除以6,余数为3,由于余数不为0,再将6作为被除数,3作为除数,得到余数为0,则3就是27和6的最大公约数。

要求:

(1)项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;

(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目

     CLEAR

     m=27

     n=6

     IFm

       t=m

       m=n

       n=t

     ENDIF

     r=MOD(m,n)

     DOWHILEr=0

        m=n

        n=r

        r=MOD(m,n)

     ENDDO

     WAITWINDOWS'最大公约数为'+STR(r)

下列程序的功能是找出1992至2010年中的闰年年份。

判断闰年的条件是:

能被4整除但不能被100整除的年份,或能被400整除的年份。

如1989、1900年不是闰年,1992,2000是闰年。

要求:

(1)项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;

(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目

     n=1992

     y=1

     DOWHILEn<=2010

         IFINT(n/4)=n/4

              IFINT(n/100)<>n/100

                 y=1

              ELSE

                 IFINT(n/400)=n/400

                     y=1

                 ELSE

                     y=0

                 ENDIF

              ENDIF

         ENDIF

              y=0

         ENDIF

         WAITWINDOWVAL(n)+'是'+IIF(y=1,'闰年','非闰年')

         n=n+1

ENDDO

 

2、表的创建和使用

上机、笔试结合数据库、查询、表单控件综合考查,体现综合能力

1)表

概念:

指存放在磁盘文件中的一张二维表

内容:

表结构和记录

字段类型:

C、N、L、M、G、Y等

宽度(占存储空间大小)

2)表结构的建立

方法:

表设计器

SQL命令方式:

(书写格式*)

例:

1、XS(学生)表的结构为:

字段名

中文含义

类型

长度

XH

学号

字符

6

XM

姓名

字符

8

XB

性别

字符

2

CSRQ

出生日期

日期

8

ZZMM

政治面貌

逻辑

1

BZ

备注

备注

4

下列命令用来创建XS表的结构,请将它完善:

CREATE;

(XHC(6),XMC(8),XBC

(2),CSRQD,,BZM)

3)修改表结构:

添加、重命名、删除、更改(实现的命令*)

ALTERTABLExsADDCOLUMNnlN

(2)

ALTERTABLExsALTERCOLUMNnlN(100)

ALTERTABLExsDROPCOLUMNxm

ALTERTABLExsRENAMECOLUMNjgTOjiguan

例1、有一个表文件XSDA,含有一个学号字段(XH,C,8),利用ALTERTABLExsda

COLUMNxhc(10)命令,可以将学号字段的宽度修改为10

4)记录的处理:

追加、浏览、定位*、修改*、删除*(逻辑和物理)、筛选(字段和记录)

INSERTINTOtablename[(fieldname1[,fieldname2,…])VALUES(expression1[expression2,…])

brows

GOTO

SKIP

LOCATEFOR

REPLACExmWITH“张三”FORxb=”女”

UPDATEjsSETxm=”张三”wherexb=”女”

例:

下面命令用于打开浏览XS表,且仅显示女学生的学号和姓名:

CLOSETABLEALL

USEXS

BROWSEFIELDSXH,XMFORXB=‘女’NOMODIFYTITLE‘女学生’

数据的复制

COPYTO

利用COPY命令可以将当前工作区中的表复制成MicrosoftExcel文件.若当前工作区中已打开XS表,则用命令COPYTOxyz ,可以将XS表复制成Excel文件xyz.xls.

数据的统计

COUNTFORCJ<60TOAL

1、学生表(XS)的表

结构为:

学号(XH,C,8),姓名(XM,C,8),性别(XB,C,2),

班级(BJ,C,6),用INSERT命令向XS表添加一条新记录,记录内容为:

XH

XM

XB

BJ

10

李小平

984461

下列命令中正确的是

A、INSERTINTOXSVALUES(”10”,”李小平”,”男”,”984461”)

B、INSERTTOXSVALUES(”10”,”李小平”,”男”,”984461”)

C、INSERTINTOXS(XH,XM,XB,BJ)VALUES(10,李小平,男,984461)

D、INSERTTOXS(XH,XM,XB,BJ)VALUES(”10”,”李小平”,”男”,”984461”)

2、已知教师表JS.DBF的结构如下:

字段名

类型

长度

小数位

含义

GH

C

6

工号

XM

C

8

姓名

GL

N

2

工龄

JBGZ

N

7

2

基本工资

若要求按如下条件更改基本工资(JBGZ):

工龄在10年以下(含10年)者基本工资加200

工龄在10年以上(不含10年)者基本工资加400

可用如下命令来完成:

UPDATEJSJBGZ=IIF(,JBGZ+200,JBGZ+400)

3、教师表JS的结构同上:

要删除教师表中年龄在60岁以上(不含60岁)的教师记录,可使用命令:

DELETEFROMJSWHERE

5)工作区的使用(临时关系建立)*

例:

1、建立两个表之间的关系时,必须设置

A、主表的主索引B、主表的主控索引C、子表的主索引D、子表的主控索引

2、使用USE命令可以打开或关闭表.如果XS表已在第1号工作区中打开,则要在第10号工作区中再次打开XS表,可使用命令USExsIN10.

3、有如下一段程序:

   CLOSETABLESALL

  USEXS

  SELE3

  USEJS

  USEKCIN0

  BROW

上述程序执行后,浏览窗口中显示的表及当前工作区号分别是_____________。

   A.KC、2   B.KC、3   C.JS、3   D.JS、

5)表的索引:

建立、应用*(排序、查询)、类型及特点*

例:

1、(操作题)在教师表JS中创建一个名为gg的普通索引,要求先按工龄(gl)排序,工龄相同按工号(gh)排序(注:

gl为数值型,gh为字符型)

2、有关表的索引,下面说法中不正确的是

A、当一张表被打开时,其对应的结构复合索引被自动打开

B、结构复合索引能控制表中字段重复值的输入

C、一张表可建立多个候选索引

D、主索引适用于数据表和自由表

3、对自由表不能创建的索引类型是

A、主索引B、候选索引C、普通索引D、唯一索引

4、学生表(XS)的结构为:

学号(XH,C,8)、姓名(XM,C,8)、性别(XB,C,2)和班级(BJ,C,6),并且按XH字段设置了结构复合索引,索引标识为XH。

如果XS表不是当前工作表,则下列命令中可以用来查找学号为“96437101”的记录

A、SEEK96437101ORDERXHB、SEEK“96437101”ORDERXH

C、SEEK“96437101”ORDERXHINXSD、SEEK96437101ORDERXHINXS

5、在创建表索引时,索引表达式可以包含表的一个或多个字段。

在下列字段类型中。

不能直接选作索引表达式的是___。

A.货币型                   B.日期时间型

C.逻辑型                   D.备注型

3、数据库的创建和使用

1)数据库的概念

2)表之间的关系

一对多、多对多、一对一

3)创建

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2