vfp习题及参考答案(7)

2018-12-17 16:10

Enddo

3.下列程序的输出结果是【 11 】【 18 】【 26 】。

Store 5 To N,S

Do While .T. N=N+1 S=S+N If N>8 Exit Else

? Str(S,2) Endif Enddo Return

4.下列程序的输出结果是【 46 】。

Store 1 To S,M,N

Do While M<=5 S=S+M+N N=3

Do While N>1 S=S+M+N N=N-1 Enddo M=M+2 Enddo ? S

5. 执行下列程序,写出相应语句的输出结果。

* 主程序:EX4_5.prg

Clear Memory

Dimension X(2,3),Y(8) X(1,3)=2 Y(7)=\

Do P1 With X,Y

? X(1,3),Y(7) && 输出【 5 】【 学习VFP 】

* 子程序P1.PRG:

Parameters M(2),N(2,3)

? M(1,3),N(7) && 输出【 2 】【 VFP 】 M(1,3)=2* M(1,3)+1 N(7)= \学习\Return

6. 执行下列程序,写出相应语句的输出结果。

* 主程序EX4_6.PRG:

Clear Memory

Dimension X(3,3),Y(10) X(3,2)= \学习\Y(8)=4

Do P2 With X,Y

? X(3,2),Y(8) && 输出【 学习VFP 】【 5 】

- 31 -

* 子程序P2.PRG:

Parameters M, N

? M(3,2),N(8) && 输出【 学习 】【 4 】 M(3,2)=M(3,2)+ \N(8)=N(8)+1 Return

7. 执行下列程序,写出相应语句的输出结果。

* 主程序EX4_7.PRG:

Clear Memory Dimension M(5) Store 3 To M,N,K

Do P3 With 2,M(3),Sign(N),2*N,K

? 2, M(3), Sign(N) && 输出【 2 】【 3 】【 1 】 ? 2*N, K && 输出【 6 】【 4 】

* 子程序P3.PRG:

Parameters X1,X2,X3,X4,X5

? X1,X2,X3 && 输出【 2 】【 3 】【 1 】 ? X4,X5 && 输出【 6 】【 3 】 X1=X1+1 X2=X2+1 X3=X3+1 X4=X4+1 X5=X5+1

8. 执行下列程序,写出相应语句的输出结果。

* 主程序EX4_8.PRG:

Set Udfparms To Reference Dimension M(5) Store 3 To M,N,K

? P4(2,M(3),Sign(N),2*N,K) && 输出【 8 】 ? M(3), Sign(N) && 输出【 3 】【 1 】 ? 2*N,K && 输出【 6 】【 4 】

* 子程序P4.PRG:

Parameters X1,X2,X3,X4,X5

? X1,X2,X3 && 输出【 2 】【 3 】【 1 】 ? X4,X5 && 输出【 6 】【 3 】 X2=X2+1 X3=X3+1 X4=X4+1 X5=X5+1 Return X1+6

9. 执行下列程序,写出相应语句的输出结果。

* 主程序EX4_9.PRG:

Set Talk Off X=10 Y=20 Do Sub1

? X,Y,Z && 输出【 10 】【 20 】【 3 】

- 32 -

* 子程序Sub1

Procedure Sub1 Private X Local Y Public Z X=1 Y=2 Z=3

? X,Y,Z && 输出【 1 】【 2 】【 3 】 Return

五、 用适当内容填空,使程序完整

1. 设计下面的程序,使它成为对任意数据表都可以追加、删除记录的通用程序。

Set Talk Off

Accept \请输入数据表名: \Use 【 &Name 】 ? \追加记录\? \删除记录\

Wait \请选择(1或2) \If 【 M=\】 Append Else

Input \输入要删除的记录号: \【 Goto N 或 Go N 】 Delete Pack Endif Use

Set Talk On

2. 运行下面程序,可以显示CJB.DBF表(表中有数值型字段“考试成绩”)中的考试成绩的最高分。

Use 【 CJB 】 MX=0

【 SCAN 】

MX=Max(考试成绩,MX) Endscan

? \最高分:\【 MX 】

3. 以下是评分统计程序,共有7位评委打分。统计时去掉1个最高分和1个最低分,其余5个分数的平均值即为最后得分。

Set Talk Off

Dimension CJ(7)

【 For N=1 To 7 】 && 依次输入7个评委的打分

Input \输入第\个评委的打分(0-100):\Endfor

Store CJ(1) To MX,MN,SM For M=2 To 7

- 33 -

If MX

MX=CJ(M) Else

If MN>CJ(M)

MN=CJ(M) Endif

【 Endif 】

【 SM=SM+CJ(M) 】 Endfor

AG=(SM-MX-MN)/5

? \最后得分为:\

? \去掉的最高分为:\? \去掉的最低分为:\

4.下面程序的功能是按学号查找学生的基本情况,请将程序填写完整。

Set Talk Off Use XSB

Index On 学号 Tag xuehao CX=\

Do While 【 Upper(CX)=\】

Accept \请输入要查找的学号:\Seek 【 XH 】

If 【 FOUND() 或 !EOF() 】 Display Else

? \查无此人!\Endif

Wait \继续查询吗(Y/N)?\Enddo Use

5. 利用二维数组编写程序:首先建立3×3矩阵,然后输出该矩阵对角线上的元素。

Dimension A(3,3) For M=1 To 3 For N=1 To 3

Input \输入第\行第\列元素:\【 A(M,N)】 Endfor Endfor

For M=1 To 3 ? ' '

【 For N=1 To M 】 IF 【 M=N 】

?? Str(A(M,N),5) Else

?? Space(4) Endif Endfor Endfor Return

6. 求1~20之间能被3整除的奇数的阶乘和。

- 34 -

* 主程序:

Set Talk Off S=0

For K=1 To 20 Step 2

If 【 Mod(K,3)=0 或 K/3=Int(K/3) 】 【 Do P1 With K 】 S=S+N Endif Endfor

? \~20之间内被3整除的奇数的阶乘和是: \Set Talk On

* 程序P1.PRG:

Para M

【 Public N 】 N=1

For J=1 To M N=N*J Endfor Return

六、 用程序中执行到的语句编号填空,多次执行到的语句重复填写其编号

* 主程序MAIN.PRG:

Input '请输入:' To X 1) M=SUB(X)+5 2) ? M

* 子程序SUB.PRG:

Parameter N Private M If N>100 3) Return 0

Endif M=0

For K=1 To N 4) M=M+K^2

Next Return M

执行程序时,若输入:2,则执行【 1, 4, 4, 2 】语句,输出10。

若输入:-1,则执行【 1, 2 】语句,输出5。

若输入:101,则执行【 1, 3, 2 】 语句,输出5。

七、 修改程序中的错误

A数组有6个元素,前5个数组元素的值已按从小到大的顺序排列。下面程序段的功能是:通过键盘给第6个数组元素A(6)赋值,并使得A数组的6个元素按从小到大顺序输出。请根据题意,改正程序段中的错误。

- 35 -


vfp习题及参考答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:比较文学30问附有答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: