一.选择题
1.在Visual FoxPro 中,用来建立程序文件的命令是_(C)_。
A.OPEN COMMAND<文件名>
B.MODIFY<文件名>
C.MODIFY COMMAND<文件名>
D.以上答案都不对
2.在Visual FoxPro 中,INPUT 命令用来_(A)_。
A.暂停执行程序,将键盘输入的数据送入指定的内存变量后再继续执行
B.结束当前程序的执行,返回调用它的上一级程序
C.暂停执行程序,将键盘输入的字符串送入指定内存变量后继续执行
D.以上答案都不正确
3.在Visual FoxPro 中,执行程序文件的命令是_(A)_。
A.DO<文件名>
B.OPEN<文件名> 来源:考试大
C.MODIFY<文件名>
D.以上答案都不对
4.在Visual FoxPro 中,QUIT 命令用来_(D)_。
A.终止运行程序
B.执行另外一个程序
C.结束当前程序的执行,返回调用它的上一级程序
D.退出应用程序
5.在Visual FoxPro 中,程序文件的默认扩展名为_(B)__。
A. .pgr
B. .prg
C. .cdx
D. .dCX
6.保存程序文件的快捷键为_(C)_。
A.Ctrl 十W
B.Shin 十w
C.Ctrl 十S
D.Shift 十S
7.在“命令”窗口中输入DEBUG 命令的结果是_(A)_。
A.打开“调试器”窗口
B.判‘开“跟踪”窗口
C.打开“局部”窗口
D.打开“监视”窗口
8.在Visual FoxPro 中,打开“调试器”窗口后,默认显示_(C)_三个子窗口。
A.跟踪、监视、调试输出
B.监视、局部、调试输出
C.调用堆栈、监视、局部
D.以上答案都不对
9.在Visual FoxPro 中,包括_(D)_程序结构。
A.顺序结构
B.选择结构
C.循环结构
D.A, B,C
二.填空题
1.程序是____。它被存放在称为____或____的文本文件中。(能够完成一定任务的命令的有序集合,程序文件,命令文件)
2.在Visual FoxPro 中,程序结构是指____。(程序结构是指程序中命令或语句执行的流程结构。)
3.在Visual FoxPro 中,程序调试是指____。(在发现程序有错误时,确定出现的位置并纠正错误)
4.在Visual FoxPro 中,支持选择结构的语句有____。(条件语句,分支语句)
三.编程题
1.试编写一个程序,求一元二次方程ax2+bx+c=0 的根。
1.根据一元二次方程的系a,b,c 的取值,有以下几种情况:
(1)当a≠0 时,有两个根
设delta=b2-4ac
当delta>0 时,方程有两个不同的实根
当delta=0 时,方程合两个相同的实根
当delta<o 时,方程有两个不问的虚根
(2)当a=0 时,b≠0 时,有一个根
(3)当a=0 时,b=0 时,方程无意义
根据以上的分析画出流程图,如下所示:
如 果 delta>0
真 有 两 个 实 根
如 果 delta=0
真 有 两 个 相 等 实 根
假
假 有 两 个 相 异 虚 根
如果 b<>0
真 有 一 个 根
方 程 无 意 义
有了流程图,编写这个程序的思路就清晰了,编写程序如下:
程序文件名: PA14.PRG
功能:求一元二次方程的根
SET TALK OFF
CLEAR
INPUT "请输入a 的值:" TO a
INPUT "请输入b 的值:" TO b
INPUT "请输入c 的值:" TO c
IF a<>0 &&有两个根
delta=b^2-4*a*c
re=-b/(2*a)
IF delta>0 &&有两个不同实根
sb=SQRT(delta)/2*a
? "方程有两个实根:"
pl="Xl="+STR(re+sb, 9, 4)
p2="X2="+STR(re-sb, 9, 4)
? Pl
? P2
ELSE
IF delta=0 &&有两个相同
实根
? "方程有两个相同的实根:"
? "x1=x2="+STR(re,9, 4)
ELSE
xb=SQRT(-delta)/(2*a) &&仅有两个虚报
? "方程有两个虚根"
p1="xl="+STR(re,7,3)+"+"+IIF(xb=1,"", STR((xb),
7, 3))+"i"
p2="x2="+STR(re,7,3)+"+"+IIF(xb=1,"", STR((xb),
7, 3))+"i"
? p1
? p2
ENDIF
ENDIF
ENDIF
IF a=0 &&仅有一个根
ygz=-b/C
? "方程仅有一个根:"
? "X="+STR(ygZ)
ENDIF
2.我国古代数学家张丘建在“算经”里提出一个世界数学史上有名的百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁,母,雏各几何?
【分析】设公鸡x 只,母鸡y 只,小鸡z 只,依题意可列出以下方程组:
x+y+z=100
5x+3y+z/3=100
这是一个不定方程,无法直接求解。可用“穷举法”,将各种可能组合一一测试,然后将符合条件的组合输出即可。为了使编程思路更加清晰,画出如下流程图:
编写程序如下:
*程序文件名:PA16.PRG
set talk off
CLEAR
K=2
FOR X=1 to 100
真 输出X,Y,Z
如果 5*X+3*Y+Z/3=100
Z 100-X-Y
Y从1-100
X从1-100
FOR Y=1 to 100
Z=100-X-Y
IF 5*X+3*Y+Z/3=100
?"鸡翁:"+STR(X,3)
?"鸡母:"+STR(Y,3)
?"鸡雏:"+STR(Z,3)
K=K+1
ENDIF
ENDFOR
ENDFOR
set talk on