当前位置:文档之家› VF程序设计复习资料_(1) 2

VF程序设计复习资料_(1) 2

VF程序设计复习资料_(1) 2
VF程序设计复习资料_(1) 2

第二部分结构化程序设计语句和算法

一、程序的概念

程序:是计算机能够分析执行的命令序列的集合。

程序设计:是计算机用户将解决某一实际问题所用的命令按一定的逻辑顺序编制成程序,并以文件的形式存放于磁盘的过程。执行程序时,计算机按顺序自动执行程序文件中的命令。例编程求1+2+3+……+100

clear

s=0

for i=1 to 100

s=s+i

endfor

? “s=”,s

return

二、VF语言基础

1.数据类型

1)数值型:由数字0-9以及正负号(+和-)和小数点(.)组成。例如:123,34.56,-100

2)字符型:英文、汉字、数字、空格和标点符等组成的一串字符。例如:”hello”,”good

morning”。

注意:其表示方法用" "将字符串括起来。

3)逻辑型:表示的值为真和假两种状态, .T.或.t.表示真,.F.或.f.表示假。2.常量

1)数值型常量:例如:123,34.56,-100

2)字符型常量:”hello”,”good morning”。

3)逻辑型常量: .T.表示真,.F.表示假。

3.变量

1)概念:变量是指在程序运行期间其值可以变化的量,一个变量可以存放一个数据。 2)变量名:每个变量应有一个名字,称为变量名。(尽量用一个字母作为一个变量名)如:x,y,z,i,j等。

注意:VF中变量不需要定义就可以直接使用。

4.运算符及表达式

●运算符:用来进行运算的符号;

●表达式:是指用运算符将变量、数组元素、常量、函数连接组合得到的一组有物理意义

的式子。表达式分为算术表达式、字符表达式、关系表达式和逻辑表达式4类。表达式和常量一样,是具有数据类型的数据(求值之后),因此一个表达式中的各项必须具有相同类型。

1)算术运算符:( ) ^ % *、/ +、-

算术表达式:10+3*4-15 2^3 x^3/y+a%5

2)字符运算符:

完全连接“+”:“I have a ” +“Book”= “I have a Book”

包含运算“$”:“abc”$“abcdef”=.t.

“ABC”$“abcdef”=.f.

3) 关系运算符:< > = == <= >= <>

关系表达式:<表达式> <关系运算符> <表达式>

关系表达式相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。

1244.33>=12 结果:.t.

10=20 结果:.f.

”A” <”B”结果:.t.

”A BC” >”ABD”结果:.f.

4) 逻辑运算符: !, NOT 或 .NOT. OR 或 .OR. AND 或 .AND.

逻辑表达式:<关系表达式> <逻辑运算符> <关系表达式>

逻辑表达式也相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。

x>5 OR y<10 .T.或者.F.,取决于x,y的值

推导判断闰年的表达式:

闰年:能被4整除,但是不能被100整除;或者能被400整除。

(y%4=0 and y%100<>0) or y%400=0

5.常用函数

1)取绝对值函数:abs(数值表达式)

2)取整函数:int(数值表达式)

功能:取数值表达式的整数部分。

int(12.3)=12

int(56.78)=56

3)求平方根函数:sqrt(数值表达式)

4)求字符串长度函数:len(字符串表达式)

len("hello")=5

len("你好")=4

说明:一个汉字占两个字符的宽度。

5)取子串函数:

●Left(字符串表达式,长度)

●Right(字符串表达式,长度)

●substr(字符串表达式,起始位置,长度)

功能:从指定表达式值的指始位置取指定长度的字符串作为函数值。

Substr(“hello”,2,3) 结果:ell

6)计算字串出现次数函数:

Occurs(字符串表达式1,字符串表达式2)

功能:返回第一个字符串在第二个字符串中出现的次数。

Occurs(“a”,”abcaa”) 结果:3

7)大小写转换函数

Lower(字符串表达式):

Upper(字符串表达式):

8)生成空格字符函数:space(数值表达式)

功能:生成若干个空格,空格的个数由数值表达式确定。

Space(5) 其作用是产生5个空格

9)数值转换成字符串函数:str(数值表达式,长度,小数位数)

功能:将数值表达式的值转换为字符串,转换时根据需要自动四舍五入。转换后的理想长度应该是数值表达式值的整数部分位数加上小数位数值,再加上一位小数点。

Str(“123.567”,7,3) 结果:123.567

Str(“123.567”,6,2) 结果:123.57

10)随机函数: rand()

功能:系统随机产生一个0到1之间的纯小数

产生某个范围的随机整数:Int(rand()*(终值-初值+1)+初值)

例如:随机产生两位随机整数。

Int(rand()*(99-10+1)+10)

三程序设计基本语句:

1.变量的赋值:=

格式:变量=表达式

功能:将“=”(赋值号)右边表达式的值赋予左边的变量。

2.输入命令

1)input命令

格式:input “提示信息”to 变量

功能:在屏幕上显示“提示信息”,并等待用户从键盘上输入表达式,再把表达式

的值赋给指定的变量。

2)Accept命令

格式:accept “提示信息” to 变量

功能:在屏幕上显示[<提示信息>],等待用户从键盘上输入,再把输入内容作为字

符串常量赋值给指定的变量。

3.输出命令?|??

格式:?表达式1,[< 表达式2>…]

功能:将表达式的结果在当前光标的下一行输出;

格式:?? 表达式1,[< 表达式2>…]

功能:将表达式的结果在当前光标位置输出;

四、VF程序基本结构

4.1 顺序结构

顺序结构:就是计算机要按照程序中语句出现的先后次序依次执行各条语句的结构。顺序结构是程序设计中最常见、使用最多的结构。

顺序结构程序主要由赋值语句、输入语句和输出语句构成。

程序:

1求园的面积

clear

input “r=” to r

s=3.14*r^2

?s

return

2交换任意两个变量的值

clear

input “x=” to x

input “y=” to y

t=x

x=y

y=t

? “x=”,x

?”y=”, y

return

3鸡兔同笼问题。已知鸡兔的总头数为h,总脚数为f,求鸡兔各有多少只?

clear

input "h=" to h

input "f=" to f

x=(4*h-f)/2

y=(f-2*h)/2

?”鸡的个数:”,x

?”兔的个数:”,y

return

三、选择结构

1) IF语句格式:

IF 条件表达式

语句序列1

ELSE

语句序列2

ENDIF

功能:执行该语句时,如果条件表达式的值为.t.,则执行语句序列1,否则执行语句序列2,然后再执行endif之后的语句。其中else可以省略,即如果语句序列2为空,则没有ELSE 以及语句序列1。

程序

1.判断闰年。从键盘任意输入一年份,判断其是否是闰年,是则输出“是“,不是则输出

“否”。

Clear

Input “y=” to y

If (y%4=0 and y%100<>0) or y%400=0

?”是”

Else

?”否”

endif

return

2.输出3个数中最大值

clear

input "x=" to x

input "y=" to y

input "z=" to z

if x>=y

m=x

else

m=y

endif

if m

m=z

endif

?m

return

3.判断一个数是否是水仙花数。所谓水仙花数是指一个3位数,其每位数字的立方和等于

它本身。

clear

input "m=" to m

x=int(m/100)

y=int((m%100)/10)

z=m%10

if x^3+y^3+z^3=m

?"是"

else

?"否"

endif

return

2) 多分支语句:

DO CASE

CASE 逻辑达式1

命令序列1

[CASE 逻辑表达式2

命令序列2

CASE 逻辑表达式n

命令序列N]

[OTHERWISE

命令序列]

ENDCASE

说明:

1)从第一个逻辑表达式开始判断,当找到一个逻辑表达式的值为.T.时,就执行紧跟其后的命令序列,然后执行ENDCASE之后的语句。

2)在一个DO CASE结构中,最多只能执行一个CASE语句后面的语句序列。如果case后的所有逻辑表达式的值均为.F.,则执行OTHERWISE后面的语句序列。

4.输入一个成绩,输出其等级。

CLEAR

INPUT “请输入学生成绩:” TO n

DO CASE

CASE n>=90 and n<=100

? “优秀”

CASE n>=80

? “良好”

CASE n>=70

? “中等”

CASE n>=60

? “及格”

OTHERWISE

? “不及格”

ENDCASE

return

四、循环结构

1)do while循环

Do while 条件

循环体

Enddo

提示:级数求和问题从累加求和到最难的求和一鼓作气学完。

算法:

1.求1-100的累加和:s=1+2+3…+100

i=1

s=0

Do while i<=100

s=s+i

i=i+1

Enddo

? s

return

2.求1-100奇数的和。

Clear

i=1

s=0

Do while i<=100

s=s+i

i=i+2

Enddo

? s

return

3.求1-100偶数的和。

Clear

i=2

s=0

Do while i<=100

s=s+i

i=i+2

Enddo

? s

return

2)For循环

For 循环变量=初值 TO 终值 STEP 步长循环体

Endfor

其中步长为1时,STEP 1 可以省略。

4.将1-3题用for语句实现

1)1-100所有整数的和

Clear

s=0

For i=1 to 100

s=s+i

endfor

? s

Return

2)1-100所有奇数的和

s=0

For i=1 to 100 step 2

s=s+i

endfor

? s

Return

3)1-100所有偶数的和

Clear

s=0

For i=2 to 100 step 2

s=s+i

endfor

? s

Return

强调:当循环次数确定的时候尽量用for循环实现。

5.求s=1+1/2+1/3+1/4+....+1/100

clear

s=0

for i=1 to 100

s=s+1/i

endfor

?"s=",s

Return

6.求s=1-1/2+1/3-1/4+....+1/100

clear

s=0

for i=1 to 100

s=s+ 1/i*(-1)^ (i+1)

endfor

?s

Return

7.求s=1-1/2+1/3-1/4+....+1/n,n由键盘输入clear

input “n=” to n

s=0

for i=1 to n

s=s+ 1/i*(-1)^ (i+1)

endfor

?s

Return

8.求N!=1×2×3×4…×N,其中N由键盘输入。Clear

Input “n=” to n

For i=1 to n

t=t*i

endfor

?t

return

9.求s=1!+2!+……+n!,n由键盘输入。(即求阶乘之和)clear

input "n=" to n

s=0

t=1

for i=1 to n

t=t*i

s=s+t

endfor

? s

Return

10.s=1+(1*2)+(1*2*3)+...+(1*2*3* (10)

此题相当于求:s=1!+2!+ (10)

clear

t=0

s=0

for i=1 to 10

t=t+i

s=s+t

endfor

?s

Return

11.s=1+(1+2)+(1+2+3)+...+(1+2+3+4+5+6+7+8+9+10)

clear

t=0

s=0

for i=1 to 10

t=t+i

s=s+t

endfor

?s

Return

12.s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+4+5+6+7+8+9+10) clear

t=0

s=0

for i=1 to 10

t=t+i

s=s+1/t

endfor

?s

return

13.计算 s=1!+1/2!+1/3!……+1/n!,n由键盘输入(即求阶乘倒数之和)

clear

input "n=" to n

s=0

t=1

for i=1 to n

t=t*i

s=s+1/t

endfor

? s

Return

14.计算 s=1!+1/2!+1/3!……+1/n!(要求1/n!<10-6为止)

clear

s=0

t=1

i=1

do while 1/t>=10^(-6)

s=s+1/t

i=i+1

t=t*i

endfor

?"s=",s

return

15.计算 s=1!-1/2!+1/3!-1/4!……±1/n!(要求1/n!<10-6为止)

clear

s=0

t=1

i=1

do while 1/t>=10^(-6)

s=s+1/t*(-1)^(i+1)

i=i+1

t=t*i

endfor

?"s=",s

return

16.计算 s=x/1!+x2/2!+x3/3!……+x n/n!,x由键盘输入。( 要求x n/n!<10-6为止)

Clear

Input “x=” to x

s=0

t=1

i=1

do while x^i/t>=10^(-6)

s=s+(x^i/t)

i=i+1

t=t*i

endfor

?"s=",s

return

17.计算 s=x/1!-x2/2!+x3/3!……±x n/n!( 要求x n/n!<10-6为止)

Clear

Input “x=” to x

s=0

t=1

i=1

do while x^i/t>=10^(-6)

s=s+(x^i/t)*(-1)*(i+1)

i=i+1

t=t*i

endfor

?"s=",s

return

18.e x=1+x+x2/2!+x3/3!……+x n/n!( 要求x n/n!<10-6为止)

Clear

Input “x=” to x

s=1

t=1

i=1

do while x^i/t>=10^(-6)

s=s+x^i/t

i=i+1

t=t*i

endfor

?"s=",s

return

19.求s=2!+4!+6!+8!+10!

S=0

T=1

For i=2 to 10 step 2

T=t*(i-1)*i

S=s+t

Endfor

?s

return

20.求s=1/2!+1/4!+1/6!+1/8!+1/10!

S=0

T=1

For i=2 to 10 step 2

T=t*(i-1)*i

S=s+1/t

Endfor

?s

return

21.求s=1/2!-1/4!+1/6!-1/8!+1/10!

S=0

T=1

d=1

For i=2 to 10 step 2

T=t*(i-1)*i

S=s+1/t*d

d=-d

Endfor

?s

return

22.求s=1!+3!+5!+7!+9!

可以看成 s=1+3!+5!+7!+9!,令s=1,只需求出3!+5!+7!+9!即可S=1

T=1

For i=3 to 9 step 2

T=t*(i-1)*i

S=s+t

Endfor

?s

return

23.求s=1/1!-1/3!+1/5!-1/7!+1/9!

S=1

T=1

D=1

For i=3 to 9 step 2

T=t*(i-1)*i

S=s+1/t*d

Endfor

?s

return

24.

25.cos(x)= 1-x2/2!+x4/4!-x6/6!……±x n/n!( 精度为10^(-8))

Clear

Input “x=” to x

s=1

t=2

i=2

d=-1

do while x^i/t>=10^(-8)

s=s+x^i/t*d

i=i+1

t=t*i

d=-d

endfor

?"s=",s

return

26.输出所有的水仙花数。

提示:先判断某个数是否是水仙花数。

clear

for n=100 to 999

x=int(n/100)

y=int((n%100)/10)

z=n%10

if x^3+y^3+z^3=n then

?n

endif

endfor

return

27.从键盘任意输入一个整数,判断其是否是素数。

除了1和它本身之外不能被任何一个整数所整除的自然数叫质数,又称为素数。例如3,5,17是素数,而4,6,8,9 就不是素数。

特殊:1既不是质数也不是合数,2是最小的质数。

clear

input "n=" to n

for i=2 to n-1

if n%i=0

exit

endif

endfor

if i=n

?"是"

else

?"否"

endif

return

exit作用:退出循环。

28.以5个为一组输出1-100的整数。

Clear

C=0

for i=1 to 100

??i

if i%5=0

?

Endif

endfor

return

29.以5个为一组输出1-100能被3整除的数。

Clear

C=0

for i=1 to 100

if i%3=0

??i

c=c+1

if c%5=0

?

Endif

endif

endfor

return

30.以5个为一组输出100-1000以内的所有素数,并计算这些素数之和。(两重循环的应

用)

分析:1)先找出所有素数

2)以5个数据为一组显示

3)计算所有素数的和

clear

c=0

s=0

for m=100 to 1000

for i=2 to m-1

if m%i=0

exit

endif

endfor

if i=m

?? m

c=c+1

if c%5=0

?

endif

s=s+m

endif

endfor

?“素数的和:”,s

31.百钱买百鸡问题。公鸡5元一只,母鸡3元一只,小鸡3只一块钱,假设用100元买了

100只鸡,问公鸡、母鸡、小鸡各有多少只?

穷举法:所谓穷举法就是将各种组合的可能性全部一一测试一遍,对每一组合检查它是否符合给定的条件,将符合条件的解全部输出即可。

clear

for x=1 to 19

for y=1 to 33

z=100-x-y

if z%3=0 and 5*x+3*y+z/3=100

?x,y,z

endif

endfor

endfor

return

32.请显示如下图所示的九九乘法表。

clear

for i=1 to 9

for j=1 to 9

??str(i,1) + "*" + str(j,1) + "=" + str(i*j,2) + space(3)

endfor

?

endfor

return

33.要求显示如下乘法表。

clear

s=0

for i=1 to 4

for j=i to 4

??str(i,1) + "*" + str(j,1) + "=" + str(i*j,2),space(3)

endfor

?

endfor

34.请显示如下图所示的九九乘法表。

clear

for i=1 to 9

for j=i to 9

??str(i,1) + "*" + str(j,1) + "=" + str(i*j,2) + space(3)

endfor

?space(i*9)

endfor

return

35.设计1个程序,要求是:

(1)在键盘上输入1个不小于3的自然数N(例输入10),求出其不到第N个自然数

中奇数之和,并输出结果

(2)输出1到第N自然数中所有质数的个数

clear

input "n=" to n

if n<3

?”请输入大于等于3的数!”

else

s=0

for i=1 to n-1 step 2

s=s+i

endfor

?”奇数的和:”,s

c=0

for i=1 to n

for j=2 to i-1

if i%j=0

exit

endif

endfor

if j=I

c=c+1

endif

endfor

?”质数的个数”,c

Return

36.求两个数的最大公约数。

算法(采用辗转相除法):m除以n(m>n),得余数r;如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;依次类推,直到r=0为止,此时的n就是最大公约数。

例如:30和20的最大公约数为10

采用辗转相除法(要求m>n):

1)m除以n,得余数r;

2)如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;

3)依次类推,直到r=0为止,此时的n就是最大公约数。

Clear

Input "m=" to m

Input "n=" to n

r=m%n

do while r<>0

m=n

n=r

r=m%n

enddo

? n

Return

37.求两个数的最小公倍数。

M和n的乘积除以最大公约数就是最小公倍数

例如:30和20的最小公倍数为60

Clear

input "m=" to m

input "n=" to n

x=m

y=n

r=mod(m,n)

do while r<>0

m=n

n=r

r=mod(m,n)

enddo

?x*y/n

Return

38.猴子摘桃问题。已知猴子第一天摘了2个桃子,第二天摘的桃子是第一天的2倍多一个;

以此类推,第n天摘了多少个桃子?(递推法)

clear

input "n=" to n

x=2

for i=2 to n

x=x*2+1

?x

Return

39.从键盘随机输入一字符串,统计该字符串中字符“a”出现的次数,不区分大小写。方法1:

clear

accept "请输入字符串:" to s

x=0

for i=1 to len(s)

c=substr(s,i,1)

if c="a" or c="A" then

x=x+1

endif

endfor

?x

Return

方法2:

clear

accept "请输入字符串:" to s

x=occurs(“a”,lower(s))

?x

Return

40.从键盘随机输入一字符串,统计该字符串中字母字符,数字字符,空格其他字符出现的

次数。

clear

accept "请输入字符串:" to s

x=0

y=0

z=0

w=0

for i=1 to len(s)

c=substr(s,i,1)

do case

case upper(c)>="A" and upper(c)<="Z"

x=x+1

case c>="0" and c<="9"

y=y+1

case c=””

z=z+1

otherwise

w=w+1

endcase

endfor

?"字母:",x

?"数字:",y

?"空格:",z

?”其他字符:”,w

Return

41.将一个字符串中的大写字母转换为小写字母,小写字母转换为大写字母。

clear

accept "s=" to s

s1=""

for i=1 to len(s)

c=substr(s,i,1)

if asc(c)>=65 and asc(c)<=90 then

s1=s1+lower(c)

else

if asc(c)>=97 and asc(c)<=122 then

s1=s1+upper(c)

endif

endif

endfor

?s1

return

42.计算1到100中每个数据的立方根(数据总长度为10,小数位数为7),将结果存于外存,

文件名为root.c.

写文件函数:Strtofile(字符串,文件名,.t./.f.)

.t.: 表示追加

.f.: 覆盖原文件中的内容

数值转换成字符串函数:str(数值表达式,<长度>,<小数位数>)

功能:将数值表达式的值转换为字符串,转换时根据需要自动四舍五入。

转换后的理想长度应该是: 数值表达式值的整数部分位数加上小数位数值,再加上一位小数点,即整数和小数位数的总数+小数点。

如果长度和小数位数缺省,则长度默认值为10,小数位数默认值为0.

Str(“123.567”,7,3) 结果:123.567

Str(“123.567”,6,2) 结果:123.57

Str(“123.567”) 结果: 123

clear

For i=1 to 100

X=i^(1/3)

Strtofile(str(x,10,7),”c:\root.c”,.t.)

Endfor

return

五、一维数组

1、定义:Dime 数组名(长度)

dim a(10)

2、引用:数组名(下标)

1)下标通常都是整数常量,如:a(1),a(2),a(3) 2)下标也可以是变量,如:a(i)

3、一维数组的赋值和输出

1)利用键盘给数组元素赋值

dimen a(10)

for i=1 to 10

input "输入数据:" to a(i)

endfor

return

2)利用rand()函数给数组元素赋值

利用rand()函数随机产生10-99的随机整数

Rand()函数将产生0到1之间的随机小数

int(rand()*(终值-初值+1)+初值)

例:随机产生10个两位整数

dimen a(10)

for i=1 to 10

a(i)=int(rand()*(90)+10)

Endfor

4、一维数组的输出

for i=1 to 10

??a(i)

Endfor

程序

1、从键盘上输入10个数,输出其平均值。

Clear

Dime x(10)

S=0

For i=1 to 10

S=s+x(i)

Endfor

? s/10

Return

2、将具有n个元素的一维数组的值按逆序重新存放。

clear

input "n=" to n

dime a(n)

for i=1 to n

input "请输入元素值:" to a(i)

endfor

for i=1 to int(n/2)

t=a(i)

a(i)=a(n+1-i)

a(n-i+1)= t

vf程序设计课后填空题

1数据管理阶段:人工管理阶段,文件管理阶段,数据库管理阶段 2数据库系统组成:数据库,计算机软件系统,计算机硬件系统和用户。 3客观存在并且可以相互识别的事物称为实体: 4实体的某一特性:属性 5数据库系统支持的主要数据模型:层次,网状,关系,面向对象 6关系是一种规范化的二维表,表格中一行称为:元组表格一列为:属性,属性的取值范围称为:域 7实体之间联系的三种类型:一对一,一对多,多对多 8可唯一标识元组的属性或属性集为关键字 9关系模型中三种规则:选择,投影,连接 10关系操作有三种:选择从关系中找出满足条件的元组,投影从关系某型中指定若干个属性组成新的关系,连接从两个关系中选取满足链接条件的元组组成新关系的操作。11对关系进行选择投影或连接操作之后结果仍然是一个:关系 12vf的两种工作方式:交互式和程序运行式 13用户界面组成:标题栏,菜单栏,工具栏,状态栏,工作区和命令窗口 14当用户在命令圈口输入命令时,可以用(j)作为续行符,表示该行的下一行仍然是同一命令的一部分。 15选项对话框的区域选项卡用于显示和管理日期和时间格式,设置默认目录使用文件位置选项卡。 16vf的表分为:数据库表和自由表,他们得扩展名均为:.dbcb。 17vf每个表都是由:结构和数据两个组成。 18表中输入空值的方法:Ctrl+o 19日期字段宽度:8,逻辑型字段宽度:1,备注型和通用型宽度:4 20删除表中记录通常分为两个步骤:物理删除和逻辑删除 21复合索引文件的扩展名:.cdx。 22使用total命令时表文件应先:排序 23一个工作区某一时刻只能打开:1个表,正在使用的工作区叫:当前工作区。 24在不适用索引的情况下,为了定位满足某个条件的记录应使用命令:Go,要继续查找可使用命令:continue。 25当数据表非空时,执行gotop命令后,函数bof()返回值是:.T.,当执行gobottom命令后,函数eof()返回值是:.T.。 26数据库表之间的永久关系有两种类型:一对一和一对多,关系类型取决于:子表的索引类型。 27参照完整性可以设置表的:更新、删除和插入。 28向数据库中添加的表应该是目前不属于:其他数据库的表。 29在vf中一个表只能属于1个数据库。 30插入触发器用于指定一个规则,每次向表中插入或追加记录时触发该规则,检查新输入记录:是否满足规则。 31规则表达式的类型是:字符型。 32主索引或候选索引的关键字的值必须是:唯一的,一个数据库表可以建立:1个主索引和:多个候选索引。 33数据库表之间的一对多关系是通过主表的:主索引和子表的:候选索引。 34sql的意思是:结构化查询语言 35在使用SQL SELECT语句时为了将查询结果存放到临时表中,应该使用:cursor 短语。

计算机VF编程参考答案

四、结构化程序设计 顺序结构程序设计 1、从键盘输入长方体的长、宽、 高,求长方体的表面积。 input “输入长方体的长:” to x input “输入长方体的长:” to y input “输入长方体的长:” to z s=2*x*y+2*x*z+2*y*z ”长方体的表面积为:”,s 2、从键盘输入圆的半径,计算圆的 面积。 input “输入圆的半径:” to r s=*r^2 ”圆的面积为:”,s 3、建立数据库XS,将表添加到该 数据库,并浏览该表所有数据, 最后关闭数据库。 Create database xs Add xsqk Browse Close all 4、在表中,查找出生日期为 1983年10月8日的记录,并显 示该记录;继续查找下一个满足 上述条件的记录,并显示该记 录。 Use xsqk Locate for 出生日期 ={^1983-10-8} Display Continue Display Use 分支结构程序设计 1. 从键盘输入一个数,若为正数则输出,非正数则结束。 input “输入一个数:” to x if x>0 x endif return 2. 求一元二次方程AX2+BX+C=0的实根。 input “输入系数A:” to a

input “输入系数B:” to b input “输入系数C:” to c m=b^2-4*a*c if m>=0 x1=(-b+sqrt(m))/(2*a) x2=(-b-sqrt(m))/(2*a) ”x1=”,x1, ”x2=”,x2 else ”方程无实根!” endif 3. 从键盘输入一个待查学生的学号,在表中查找。若能找到,则显示该记录,否则,显示信息“该学号不存在”。 use xsqk accept “输入待查学生学号:”to x locate for 学号=x if not eof() display else “该学号不存在” Endif Use 4. 从键盘输入一个自然数,若为偶数则输出信息“偶数”,若为奇数则输出信息“奇数”。 input “输入一个自然数:” to x if x%2=0 ”偶数” else ”奇数” endif return 5.计算函数Y的值。 input “输入X的值:” to x if x>=0 f=3*exp(x+2)-1 else f=2*x+5 endif ”f=”,f return 3e x+2-1 2X+5 x>=0 X<0

VF第6章习题练习

Visual Foxpro练习6 一、单项选择题 1.在程序中定义局部变量的命令动词是()。 A.PUBLIC B.PRIVATE C.LOCAL D.DECLARE 2.VFP 6.0程序设计的三种基本结构是()。 A.顺序,选择,循环B.顺序,选择,逻辑C.模块,转 移,循环D.网状,选择,逻辑 3.在DO WHILE / ENDDO循环中,若循环条件设置为.T.,则下列说法中正确的 是()。 A.程序无法跳出循环B.程序不会出现死循环C.用LOOP 可跳出循环D.用EXIT可跳出循环 4.SCAN循环语句是( )扫描式循环。 A.数组B.数据表C.内存变量D.程序 5.在DO WHILE … ENDDO循环结构中,LOOP命令的作用是()。 A.退出过程,返回程序开始处 B.转移到DO WHILE语句行,开始下一个判断和循环 C.终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D.终止程序执行 6.下列程序段执行时在屏幕上显示的结果是()。 DIME A(6) A(1)=1 A(2)=1 FOR J=3 TO 6 A(J)=A(J-1)+A(J-2) NEXT ?A(6) A.5 B.6 C.8 D.7 7.执行如下程序 SET TALK OFF S=0 I=1 INPUT "N=" TO N DO WHILE S<=N S=S+I I=I+1 ENDDO

?S SET TALK ON 如果输入N值为5,则最后S的显示值是()。 A.1 B.3 C.5 D.6 8.下列程序段执行时在屏幕上显示的结果是()。 X1=20 X2=30 DO test With X1,X2 ?X1,X2 PROCEDURE test PARAMETERS a,b x=a a=b b=x ENDPRO A. 30 30 B.30 20 C.20 20 D.20 30 9.有程序如下 USE CJ M.ZF=0 SCAN M.ZF=M.ZF+ZF ENDSCAN ?M.ZF RETURN 其中数据库文件CJ.DBF中有2条记录,内容如下 XM ZF 1 李四500.00 2 张三600.00 运行该程序的结果应当是()。 A.1100.00 B.1000.00 C.1600.00 D.1200.00 10.如下程序段的输出结果是()。 DECLARE b(6) FOR i=1 TO 6 b(i)=i*10 NEXT FOR i=1 TO 6

VFP第一次测验(答案)

《VFP程序设计》习题 一、单项选择题: 1.关系数据库中的三种基本运算不包括()。B A、选择 B、比较 C、连接 D、投影 2.“项目管理器”中数据库是表的集合,其扩展名为()。C A、.DBF B、.PJX C、.DBC D、.APP 3.备注型字段的长度固定为()位。C A、8 B、1 C、4 D、10 4.设X=”ABC”,Y=”ABCD”,则下列表达式中的值为.T.的是()。C A、X=Y B、X==Y C、X$Y D、AT(X,Y)=0 5.打开一个数据库的命令是()。D A、USE B、USE DATABASE C、OPEN D、OPEN DATABASE 6.查询建立后,查询文件的扩展名是()。A A、.QPR B、.SCX C、.VCX D、.MNX 7. 下面用于显示一个或多个表中的记录,并可用来更新源表中的数据的是()。A A、视图 B、检索 C、查询 D 、浏览 8.如果给当前表增加一个字段,应使用的命令是()。B A、APPEND B、MODIFY STRUCTURE C、INSERT D、EDIT 9.在VFP的表结构中,逻辑型和日期型字段的宽度分别为()。B A、1,4 B、1,8 C、4,8 D、3,8 10.执行USE KCC!XS ALIAS 学生IN B 命令后,被打开的表别名是()。B A、XS B、学生 C、B D、ALIAS 11. 顺序执行下列命令后,最后一条命令显示的结果是()。B Use 学生成绩 Go 5 Skip-1 recno() A、5 B、4 C、3 D、2 12.关于索引文件说法正确的是()。D A、索引文件扩展名只有.CDX B、复合索引文件中可以存储多种排序方法 C、建立索引时不可以使用for条件 D、index on 性别tag a1 命令中的a1是指索引文件名 13.查询设计器的结果不能以()方式输出。D A、图形 B、报表 C、标签 D、视图 14.表达式12%3^2*3的值是()。C A、0 B、1 C、9 D、12 15.命令MOD(44,-5)的值是()。B A、1 B、-1 C 、4 D 、-4 16.表单文件的扩展名是()。C A、mnx B、idx C、scx D、fxp 17.下面()是输入控件。A A、编辑框 B、标签 C、列表框 D、滚动条 18.能真正删除当前库文件中所有记录的命令是()。A

(完整版)VFP程序设计期末复习题(学生版)

VFP程序设计期末复习题(学生版) 一、基本知识点(含填空题、选择题、判断题) 1.在有关数据库的概念中,若干记录的集合称为表。 2.要计算职称为副教授或教授的工资总额,可用的命令有: (1)sum 工资 FOR 职称="副教授".OR.职称="教授" (2)SUM ALL 工资 FOR 职称="副教授".OR.职称="教授" (3)SUM 工资 FOR "教授"$职称 3.不允许记录中出现重复索引值的索引是主索引和候选索引。 4.在Visual FoxPro中,打开数据库的命令是OPEN DATABASE <数据库名>。 5.连续执行以下命令之后,最后一条命令的输出结果是A BCD。 SET EXACT OFF X="A " ?IIF("A"=X,X-"BCD",X+"BCD") 6. LEET("Visual FoxPro",6)与SUBSTR("Visual FoxPro",1,6)运算中,结果相同。 7.在Visual Foxpro中,用于建立或修改过程文件的命令是MODIFY COMMAND <文件名>或MODIFY PROCEDURE <文件名>。 8.使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量)的个数为6。 9.APPEND命令的功能是在表的最后面插入一条记录。 10.打开学生数据库及(对成绩字段的)索引文件,假定当前记录号为200,欲使记录指针指向记录号为100的记录,应使用命令GOTO 100。 11.假定系统是期是2004年01月05日,有如下命令: NJ=YEAR(DATE()) 执行该命令后,NJ 的值是2004。 12.学生数据库文件中共10条记录,其姓名字段值均为学生全名,执行如下命令序列: USE STUDENT ?recno() 最后,recno()函数的显示值是1。 13.比较表达式的结果是逻辑型。 14.用COPY STRU TO <文件名> 形成的文件是表文件。 15. 数值型、日期型、字符型能作为索引关键字的数据类型而备注型则不能。 16.显示数据表当前记录内容的命令是LIST NEXT 1。 17.用命令DIMENSION A(4,5)定义后,A数组中共有20个数据元素。

vf表单程序题(含答案)

1、利用文本框和标签控件设计了一表单,文本框Text1的Valid事件代码及表单界面如图1所示。向Text1中输入一段字符:”Figure 1-18 shows you how to use a MENU.”(不含双引号)[ event] x=alltrim 0 to z1,z2 for i=1 to y a=substr(x,i,1) do case case asc(a)>=65 and asc(a)<=90 z1=z1+1 case asc(a)>=97 and asc(a)<=122 z2=z2+1 endcase endfor (1)执行该程序后,“统计1”右边的文本框Text2和“统计2”右边的文本框Text3中的数据值分别为5、22 (2)Text2和 Text3的初值分别为 0、0 2、有数据表“图书.DBF”包含书号、书名、出版社、作者等字 段,设计如图1所示表单,表单运行后,单击命令按钮可以在 表格控件中显示图书表的部分字段的数据,如图1所示,请选 择并完善代码。 命令按钮的CLICK事件代码: USE 图书 copy TO TS FIELDS 书号,书名 =”TS” 表单的UNLOAD(释放对象时发生)事件: CLOSE ALL DROP TABLE TS 3、考生数据表(文件名为:)中有“准考证号/C/9”、“密码/C/6”、 “成绩/N/5/1”等字段。设计如图2所示表单,将考生数据表

添加到表单的数据环境中,表单运行后,在表单的文本框TEXT1中输入查询考生的准考证号,文本框TEXT2中输入该考生的查询密码后,单击“查询”按钮,查询该考生的成绩,并将该考生的成绩显示在表单的标签LABEL3中(考号或密码输入错误,则弹出提示窗口显示“准考证号或密码错误!”)。请选择并完善代码。 “查询”按钮的CLICK事件代码如下: SELECT KS KH=ALLTRIM for 准考证号=KH and密码=MM IF FOUND() THISFORM..=str(成绩,5,1) ELSE MESSAGEBOX(“准考证号或密码错误!”) ENDIF 4、设计如图3所示表单,表单运行后,要在表格中显示图书表中数量 最少的3种图书信息,请选择并完善代码。 表单FORM1的INIT事件代码如下: top 3 * ROM 图书; Order by数量 INTO CURSOR TEMP” 5、有学生成绩表(文件名:),表中数据如下所示,设计如图5所示表单,将学生成绩表添加到表单数据环境中,表单运行时,单击“统计”命令按钮,LABEL1显示课程名为计算机基础且成绩在80以上的平均成绩,LABEL2显示这些记录的绩点总和 学生成绩表(文件名:) 姓名课程名成绩绩点 陈兵计算机基础924 杨昆计算机基础681 江三计算机基础883 陈兵程序设计803 杨杨电子商务702 杨杨计算机基础904 图5 (1)程序填空:“统计”命令按钮的CLICK事件代码如下:

VF程序设计典型题目

VF程序设计典型题目 1、求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。 答案:236 n=0 for i=10 to 1000 if mod(i,7)=0 or mod(i,9)=0 n=n+1 endi endf ?n 2、求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。 答案:18630 s=0 for i=101 to 299 if mod(i,2)=0 and not (mod(i,3)=0 and mod(i,5)=0) s=s+i endi endf

3、求100以内最大的自然数n,使得从1开始的连续n 个自然数的倒数之和小于3.5。 答案:18 s=0 for i=1 to 100 s=s+1/i if s>=3.5 exit endi endf ?i-1 4、求100以内最小的自然数n,使得从1开始的连续n 个自然数的立方之和大于30000。 答案:25 s=0 for i=1 to 100 s=s+i^3 if s>30000 exit endi endf

5、求出100以内使得算式1*2+2*3+…+n*(n+1)的值小于5000的最大的自然数n。 答案:23 s=0 for i=1 to 100 s=s+i*(i+1) if s>=5000 exit endi endf ?i-1 6、求出100以内使得算式1/(1*1)+1/(2*2)+…+1/(n*n)的值小于1.6的最大的自然数n。 答案:21 s=0 for i=1 to 100 s=s+1/i^2 if s>=1.6 exit endi endf

VF程序设计作业

作业一 一、选择题 1、在关系运算中,查找满足一定条件的记录的运算称为() A、复制 B、选择 C、投影 D、连接 2、数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是:() A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 3、设A="123",B="234",表达式( )的值为假 A、.NOT.(A=B).OR. B$"13579" B、.NOT.A$"ABC".AND.A<>B C、.NOT.(A<>B) D、.NOT.(A>=B) 4、对于现实世界中事物的特征,在实体-联系模型中使用:() A、属性描述 B、关键字描述 C、二维表格描述 D、实体描述 5、为了设置两个表之间的数据参照完整性,要求这两个表是:() A、同一个数据库中的两个表 B、两个自由表 C、一个自由表和一个数据库表 D、没有限制 6. 在Visual FoxPro中,向数据库文件中追加数据使用语句( )。 A、INSERT B、REPLACE C、APPEND D、ADD 7. 在Visual FoxPro中,分屏显示当前数据库中年龄字段大于20的所有记录,正确的命令为( )。 A、display all for nl>20 B、display all while nl>20 C、list for nl while nl>20 D、list while nl>20 8. 逻辑运算符在运算时的优先顺序是() A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序 9. 以下各表达式中,运算结果为数值型的是()。 A. 9<6 B. “D”$”ASD” C. TIME()+9 D. LEN(SPAC(8))-9 28.以下各表达式中,运算结果为数值型的是()。 A. 9<6 B. “D”$”ASD” C. TIME()+9 D. LEN(SPAC(8))-9 10.若X=56.789,则命令?STR(X,2)-SUBS([56.789],5,1)的显示结果是()。 A、578 B、568 C、49 D、48 11. 设AB=12,函数TYPE(“AB<30”)的返回值是( )。 A、.T. B、.C. C、.U. D、.L. 12. 在系统默认设置下,表达式“北师大”=“北京师范大学”和“北京师范大学”=“北师大”的值为( )。 A、.T. .T. B、.F..F. C、.T..F. D、.F..T. 13.假定STUDENT.DBF学生数据库文件中前六条记录均为男生的记录,执行以下命令序列: USE.STUDENT GOTO 3 LOCATE NEXT 3 FOR 性别="男" 后,记录指针定位在()。 A)第3条记录上B)第4条记录上 C)第5条记录上D)第6条 记录上 14.修改表结构的命令是() A.CREATE B.LIST STRUCTURE C.BROESE D.MODIFY STRUCTURE

VF程序设计经典例题

1. 求园的面积(要求判断半径是否合理) Clea Inpu ‘r=’ to r If r>0 S=3.14*r*r ?s Else ?’半径错误!’ Endif 2. 求分段函数Y 的值 Clea Inpu ‘x=’If x>0 Y=2*x+5 Else If x=0 Y=x Else Y=abs(x) Endif Endif ?y 3. 输入一个百分制成绩判断其等级(优/良/中/及格/不及格) Clea Inpu ‘cj=’ to cj Do case Case cj>=90 ?’优’ Case cj>=80 ?’良’ Case cj>=70 ?’中’ Case cj>=60 ?’及格’ Orth ?’不及格’ Endcase 4. 输入若干个(个数不定)百分制成绩判断其等级(优/良/中/及格/不及格) Clea Inpu ‘请输入处理几个人的成绩:’ to n For i=1 to n Inpu ‘cj=’ to cj Do case 2x +5 x>0 x x=0 | x | x<0

Case cj>=90 ?’优’ Case cj>=80 ?’良’ Case cj>=70 ?’中’ Case cj>=60 ?’及格’ Orth ?’不及格’ Endcase endfor 5.求S=1+2+3. . . . . .+100 C lea S=0 For i=1 to 100 S=s+i Endfor ?s 6.求S=1×2×3. . . . . .×100 Clea p=1 For i=1 to 100 p=p*i Endfor ?p 7.求S=1+3+5.. . . . .+99 Clea S=0 For i=1 to 99 step 2 S=s+i Endfor ?s 8.求S=1-2+3-4. . . . . .-100 Clea S=0 For i=1 to 100 S=s+(-1)^(i+1)*i Endfor ?s 9.求S=1+1/2+2/3+3/5. . . . . .前10项之和Clea S=0 A=1

VF程序设计编程题及答案

程序设计编程题 1. 求园的面积(要求判断半径是否合理(负数不合理)) 2. 求分段函数 Y 的值 3. 输入一个百分制成绩判断其等级(优/良/中/及格/不及格) 4. 输入若干个(个数不定)百分制成绩判断其等级(优/良/中/及格/ 不及格) 先确定输入几个人的成绩再,输入成绩 5. 求S =1+2+3. . . . . .+100 (使用基于条件循环) 6. 求S =1×2×3. . . . . .×100 7. 求S =1+3+5.. . . . .+99 8. 求S =1-2+3-4. . . . . .-100 9. 求S =1+1/2+2/3+3/5. . . . . .前10项之和 10. 求S =1!+2!+3!. . . . . .+10! 11. 判断一个整数是否素数 能被2整除的数叫素数 12. 判断十个整数是否素数 (输入一个判断一个) 13. 输入两个数,找出其中的大数和小数 14. 输入三个数,找出其中的最大数和最小数 15. 输入十个数,找出十个数的最大数和最小数 16. 对三个整数从大到小排序 17. 对十个整数从大到小排序(用选择法和起泡法两种方法) 18. 求三位数中的所有水仙花数(即指一个三位数,其各位数字立方和 等于该数本身) 19. 已知三角形的三边(从键盘输入),求其面积(S^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2) 20. 求二元方程的根(分三种情况:两个不等实根,两个相等实根,无实根) 21. 输入任意一个五位整数,前后2x +5 x>0 x x=0 | x | x<0

VFP程序设计教程习题答案

第一章 1.试说明数据与信息的区别和联系。 数据是人们用于记录事物情况的物理符号。信息是数据中所包含的意义。数据与信息既有区别,又有联系。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息,信息只是加工处理后的数据,是数据所表达的内容。 2.什么是数据库、数据库管理系统和数据库系统? 数据库是在数据库管理系统的集中控制之下,按一定的组织方式存储起来的、相互关联的数据集合。 数据库管理系统(Database Management System,DBMS)是对数据进行统一的控制和管理,从而可以有效地减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性、完整性和并发控制功能的系统软件。 数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的 系统。 3.简述数据库的三级模式结构。 为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设 计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模 式和内模式。 模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数 据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述。 4.数据库系统的特点是什么? 特点是数据共享,减少数据冗余,具有较高的数据独立性,增强了数据安全性和完整性保护。 5.实体之间的联系有哪几种?分别举例说明。

VF程序设计试题及答案

VF程序设计 请注意: 1、本考试科目提供一套试题参考答案,进入本门课程点在线考试,随机抽题,如果考试题不是其中试题,千万别点最下面的“完成考试”按钮,立即关闭窗口,重新进入抽题,直到抽到所给这套题为止 2、在线考试只有一次机会,成绩为最终考试成绩,抄袭、雷同作业一律按零分处理。没给答案的可自行发挥,别空题,做完后一定点完成考试显示“答卷结果保存成功”表示提交成功,否则考试结果将无分值 请注意:本学期您只有一次在线考试机会,请慎重做答和提交! 01:29:42 单项选择题 第1题以下关于Visual FoxPro的叙述最全面的是(D)本题1分 A、Visual FoxPro是一个数据库应用平台软件 B、Visual FoxPro是一个数据库应用开发工具 C、Visual FoxPro是一个综合应用软件 D、Visual FoxPro既是一个数据库应用平台,又是数据库应用开发工具 第2题关系数据库系统中所使用的数据结构是(D )本题1分 A、树 B、图 C、表格 D、二维表 第3题把各个数据库文件联系起来构成一个统一的整体,在数据库系统中需要采用一定的(D)本题1分 A、操作系统 B、文件系统 C、文件结构 D、数据结构 第4题用二维表形式表示的数据模型是(B )本题1分 A、层次数据模型 B、关系数据模型 C、网状数据模型 D、网络数据模型 第5题关系数据库管理系统的3种基本关系运算不包括(A)本题1分 A、比较 B、选择 C、连接 D、投影 第6题下列关于数据库系统的叙述中,正确的是(A )本题1分 A、表的字段之间和记录之间都存在联系 B、表的字段之间和记录之间都不存在联系 C、表的字段之间不存在联系,而记录之间存在联系 D、表中只有字段之间存在联系 第7题使用数据库技术进行人事档案管理是属于计算机的(C )本题1分

VF复习题及答案

VFP程序设计复习题 一、选择题 1、Visual FoxPro支持面向对象程序设计,在Visual FoxPro中,对象可区分为和容器两种。 A.表格B.控件 C.类 D.数据 2、假设在某表单中设置一个命令按钮,要求在该按钮上显示“确定”二字,于是应修改该命令按钮的属性。 A.Name B.Caption C. Visible D.ToolTipText 3、现要求建立一个表单,使得该表单运行时,用户可通过它进行数据输入,为此在建立表单时,至少要在该表单中设置下列的控件。 A.CommandButton B.Timer C. TextBox D.Image 4、设x=”y+”,y=5,在命令窗口执行命令? &x.y后,屏幕上显示。 A.x.y B.y+5 C.25 D.10 5、函数STR(-304.75)的值是。 A、-304 B、304 C、305 D、 -305 6、连续执行以下命令之后,最后一条命令的输出结果是。 SET EXACT OFF X="A " ?IIF(x="A",X-"BCD",X+"BCD") A、A B、BCD C、A BCD D、ABCD 7、()数据在内存中占用1个字节。 A.字符型B.日期型C.货币型D.逻辑型 8、在命令窗口执行命令store 0 to A后,紧接着输入并执行命令(),Visual FoxPro就会报错。 A.A<>0=A B.A=0=A C.A=0<>A D.A=0 9、在命令窗口输入并执行命令? {^2008-5-31}-{^2008-4-30}后,屏幕上将显示()。 A.1 B.31 C.01/01/08 D.05/01/08 9、在命令窗口输入并执行命令? “大学” $ “大学生”后,屏幕上将显示()。 A.大学B..T. C.大学生D..F. 10、设X=”654”+SPACE(2),Y=”321”,则X-Y的值与()相等。 A.654321 B.654 + SPACE(2) + 321 C.333 D.”654321” + SPACE(2) 11、数据库管理系统(DBMS)是。 A)计算机上的数据库系统B)计算机语言 C)用于数据管理的软件系统D)计算机应用程序 12、用二维表数据来表示实体之间联系的模型叫做。 A)网状模型B)层次模型C)关系模型D)实体-联系模型 13、数据库DB、数据库系统DBS和数据库管理系统DBMS的关系是_____。 A、DBMS包括DB和DBS B、DBS包括DB和DBMS C、DB包括DBS和DBMS D、DB、DBS和DBMS是平等关系 14、若要从库存表中选取商品号和商品名这两个字段组成一个新表,应使用()运算。 A.并 B.选择C.投影 D.交 15、下列函数中,函数值为数值型的是:

vf程序填空和设计复习题

净月校区VF复习题 〖第1题〗『程序填空』(5分)(题号:609) *题目:设有如下表结构,使用SQL命令,检索外语成绩大于等于80分的年龄小于21岁的学生姓名,性别,数学成绩;*学生表.dbf: 学号C(8), 姓名C(8), 性别C(4), 出生日期D, 年龄I, 籍贯C(10), 政治面貌C(4), 专业C(10), 高考分数N(3,0)*成绩表.dbf: 学号C(8), 哲学N(5,1), 数学N(5,1), 外语N(5,1), 计算机N(5,1) ***********SPACE********** SELECT 学生表.姓名,性别,数学FROM 学生表,【?】; ***********SPACE********** WHERE 【?】and 年龄<21 and 外语>=80 答案: 1). 成绩★表 2). 学生★表.★学号★=★成绩★表.★学号 〖第2题〗『程序填空』(5分)(题号:71) *题目:统计300到600之间(包括300和600)能被3整除的数的个数。请在【】处添上适当的内容,使程序完整。 GS=0 N=300 ***********SPACE********** DO WHILE 【?】 IF MOD(N,3)=0 ***********SPACE********** 【?】 ENDIF ***********SPACE********** 【?】 ENDDO ? "300到600之间(包括300和600)能被3整除的数的个数为",GS RETURN 答案: 1). N<★=600 或N<★601 或600★>=N 或601★>N 2). GS=★GS+1 或GS=★1+GS 3). N=★N+1 或N=★1+N 〖第3题〗『程序填空』(5分)(题号:69) *题目:下面程序根据XSDB.DBF数据表中的计算机和英语成绩对奖学金做相应调整:双科90分以上(包括90)的每人增加30元;双科75分以上(包括75)的每人增加20元;其他人增加10元。 USE XSDB ***********SPACE********** DO WHILE 【?】 DO CASE CASE计算机>=90.AND.英语>=90 REPLACE 奖学金WITH 奖学金+30 CASE计算机>=75.AND.英语>=75 REPLACE 奖学金WITH 奖学金+20

新编VFP程序设计教程课后答案

思考题参考答案 第1章数据库系统概述 (1)数据库、数据库管理系统及数据库系统的概念分别是什么? 答:数据库是存储在计算机存储设备上的、结构化的相关数据集合;数据库管理系统是数据库系统中对数据进行管理的软件系统,是数据科系统的核心;数据库系统是指引入了数据库技术的计算机系统。 (2)在关系数据模型中,关系、元组、属性是什么概念? 答:一个关系就是一张二维表,由行和列构成;元组也称记录,是表中的一行;属性也称字段,是表中的一列。 (3)关系模型允许定义哪几类完整性约束? 答:实体完整性;参照完整性;用户定义完整性。 (4)关系的基本运算有哪几类? 答:传统的集合运算(并、交、差等);专门的关系运算(选择、投影、连接)。 (5)Visual FoxPro主要提供了哪几种设计工具? 答:略。 (6)如何设置当前工作目录? 答:界面方式:选择“工具|选项”菜单命令,打开“选项”对话框,在“文件位置”选项卡中选中“默认目录”列表项,单击“修改”命令按钮,打开“更改文件位置”对话框,选中“使用默认目录”复选框,单击“定位默认目录”文本框后的“…”命令按钮,选择一个目录后确定即可。 命令方式:SET DEFAULT TO <路径说明>。 (7)项目管理器的功能有哪些? 答:对项目中的表、数据库、查询、表单、报表、菜单等对象进行组织和管理;实现对项目中各个对象的创建、修改、删除等操作;将应用程序编译成可独立运行的可执行文件等。 第2章Visual FoxPro的数据与数据运算 (1)Visual FoxPro有哪几种常用的数据类型? 答:字符型、数值型、整型、浮点型、双精度型、货币型、日期型、日期时间型、逻辑型、备注型、通用型。 (2)字段变量与内存变量有何区别? 答:字段变量是数据表中的一个字段,变量名即字段名,针对不同的记录,同一字段可以有不同的字段值;内存变量是用户在程序中定义的,当程序运行时,在内存中临时创建内存变量,用于存放程序运行的中间结果和最终结果。 (3)什么是函数?如何调用函数? 答:函数是一段预先编写好的程序代码,用于实现某个特定功能,每个函数有一个函数名,可以接收若干个参数,返回一个确定值。 函数的一般调用格式为:函数名([参数列表])。 (4)什么是表达式?常见的表达式类型有哪几种? 答:表达式是把常量、变量、函数和字段名等用运算符连接起来的式子。常见的表达式类型有:算术表达式、字符表达式、日期和时间表达式、关系表达式、逻辑表达式。 第3章数据表的建立和使用 (1)Visual FoxPro中的表分为哪两类?它们有什么不同?

(完整版)vfP程序设计基础习题集

VFP程序设计习题 习题一 一、判断题(1分/题,共20分,对打画√,错打×) 1.建立自由表分两步:定义表结构和输入数据。 2.表间的关系分三种:一对一关系、一对多关系和多对多关系。 3.若要使用多个表,就要使用多个工作区。 4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。 5.对象具有属性,而属性只能在设计阶段设置。 6.引用对象的方法分绝对引用和相对引用。 7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。 8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。 9.VFP主要数据容器有:表记录、变量和数组。 10.报表包括两个基本组成部分:数据源和布局。 11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。 12.表选择查询输出的去向可以是浏览、报表或表单。 13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。 16.一个视图在使用时,将作为临时表在自己的工作区中打开。 17.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中基表被同时打开。18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。 二、选择题(每个选择3分,共24分) 1.统计女生人数并将结果存放于变量X中的命令是() (A).COUNT FOR .NOT. 性别=”男” TO X (B).COUNT FOR ( 性别=”女”)=.T. TO X (C).SUM FOR ( 性别<>”男”)=.T. TO X (D).SUM FOR 性别=”女” TO X 2. 在已打开的表中,要永久删除当前记录位置开始的10条记录,可用() (A)先执行DELETE NEXT 10命令,后用PACK命令 (B)先执行DELETE RECORD 10命令,后用PACK命令 (C)先执行DELETE FOR RECORD> 10命令,后用PACK命令 (D)ZAP NEXT 10 3.按数值型字段”总分”进行索引,使其按降序排列的命令是() (A)INDEX ON -总分TO WP (B)INDEX ON 总分/A TO WP (C)INDEX ON 总分TO WP (D)INDEX ON 总分/D TO WP 4.下列操作后,不改变表记录指针的命令是()

数据库及VF程序设计考试题

第4章章后作业,第14周上机课时提交作业(电子版即可) 《数据库及VF 程序设计》练习题(I) 一、单选题: 1、如要物理删除某已打开的表文件的第五条记录,使用下列三条命令的正确操作顺序是 。 ① DELETE ② GO 5 ③ PACK A) ①,②,③ B) ②,①,③ C) ③,②,① D) ①,③,② 2、当前表文件中包含"姓名"字段,显示姓"刘"的所有记录的命令是______: A) DISPLAY FOR "刘"=姓名 B ) DISPLAY FOR 姓名=刘 C) DISPLAY FOR SUBSTR(姓名,1,2)="刘" D) DISPLAY FOR SUBSTR(姓名,1,1)="刘" 3、当前应用最广泛的数据库所采用的数据模型是_______: A) 关系模型 B) 层次模型 C) 网状模型 D) 实用模型 4、在数据表中,实体的一个属性对应一个__________: A) 数据表文件 B) 记录 C) 字段 D) 索引文件 5、在以下VFP6.0命令中,必须首先建立索引才可执行的是_______: A) LOCATE B) SUM C) SEEK D) DELETE 6、当前记录号为7,执行SKIP -1命令后,当前记录号为______: A) 6 B) 7 C) 8 D) 不确定 7、假设某数据表中有20条记录;如果此时RECNO()函数的返回值为21,则EOF() 函数的返回值一

定是_______: A) 21 B) 1 C) .T. D) .F. 8、关于设置数据库中的数据表之间的永久关系问题,以下说法正确的是_______: A)父表中必须建立主索引或侯选索引,子表中可以不建立索引 B)父表中必须建立主索引或侯选索引,子表中可以建立普通索引 C)父表中必须建立主索引或侯选索引,子表中必须建立普通索引 D)父表和子表中都必须建立主索引 9、在数据表中建立索引后,将改变其数据记录的_______: A)物理顺序B)逻辑顺序 C)记录总数D)字段的排列顺序 10、顺序执行以下命令后,当前工作区是_______: SELECT 1 USE 学生 SELECT 0 USE 课程 SELECT 0 USE 成绩 SELECT 0 A)第1号工作区B)第3号工作区 C)第2号工作区D)第4号工作区 11、SQL-SELECT语句的基本查询模块的结构是_______: A) SELECT…FROM…ORDER BY B) SELECT …WHERE…GROUP BY C) SELECT …WHERE…HAVING D) SELECT…FROM…WHERE 12、假设数据表中有10条记录,顺序执行下面VFP命令之后,屏幕所显示的记录号顺序是_______: USE 学生 GO 5 LIST NEXT 4 A)1~4 B)5~8 C)6~9 D)5~10 13、假设“职工”表中包含“工资”等字段,并有多个“工资”为3300的数据记录。执行下列命令后,为了将记录指针定位在下一个工资也是3300的记录上,应该接着使用命令_______:

VF程序设计经典例题1

1. 求园的面积(要求判断半径是否合理) Clea Inpu ‘r=’ to r If r>0 S=*r*r s Else ’半径错误!’ Endif 2. 求分段函数Y 的值 Clea Inpu ‘x=’ If x>0 Y=2*x+5 Else If x=0 Y=x Else Y=abs(x) Endif Endif y 3. 输入一个百分制成绩判断其等级(优/良/中/及格/不及格) Clea Inpu ‘cj=’ to cj Do case Case cj>=90 ’优’ Case cj>=80 ’良’ Case cj>=70 ’中’ Case cj>=60 ’及格’ Orth ’不及格’ Endcase 4. 输入若干个(个数不定)百分制成绩判断其等级(优/良/中/及格/不及格) Clea Inpu ‘请输入处理几个人的成绩:’ to n For i=1 to n Inpu ‘cj=’ to cj Do case 2x +5 x>0 x x=0 | x | x<0

Case cj>=90 ’优’ Case cj>=80 ’良’ Case cj>=70 ’中’ Case cj>=60 ’及格’ Orth ’不及格’ Endcase endfor 5.求S=1+2+3. . . . . .+100 C lea S=0 For i=1 to 100 S=s+i Endfor s 6.求S=1×2×3. . . . . .×100 Clea p=1 For i=1 to 100 p=p*i Endfor p 7.求S=1+3+5.. . . . .+99 Clea S=0 For i=1 to 99 step 2 S=s+i Endfor s 8.求S=1-2+3-4. . . . . .-100 Clea S=0 For i=1 to 100 S=s+(-1)^(i+1)*i Endfor s 9.求S=1+1/2+2/3+3/5. . . . . .前10项之和Clea S=0 A=1

相关主题
文本预览
相关文档 最新文档