第一篇:VFP读程序选择题
读下列程序: CLEAR STORE 1 TO I, J DO WHILE J<5 @ I , J SAY “*” J=J+1 ENDDO CANCEL(1)屏幕显示的起始坐标为___D___。A)1, 5 B)i, j C)0, 0 2)程序执行后,i,j的值分别为__A____A)1, 5 B)i , j C)0, 0 设表文件XS.DBF有10条记录,程序如下: USE XS GO BOTTOM N=3 DO WHILE N>=1 DISPLAY SKIP-1 WAIT N=N-1 ENDDO USE RETURN(1)程序的功能是(D)
(A)显示所有记录(B)分别显示前3个记录(C)显示第3个记录(2)退出循环后,N的值是(A)(A)0(B)1(C)3 第9题、阅读下面程序 INPUT“输入年龄” TO NL DO CASE CASA NL<7 ?“童年” CASE NL<18 ?“少年” CASE NL>18 ?“少年” CASE NL>=60 ?“老年” CASE NL>=35 ?“中年” OTHER ?“青年” ENDCASE 由于设计不当,本程序运行结果不对
(1)运行时输入 11,输出的结果是:B A)童年 B)少年 C)青年 D)(2)运行时输入 36,输出的结果是:B A)中年 B)少年 C)青年 D)(D)分别显示后三个(D)4 老年 老年
第10题、DIME A(6)S=0 FOR K=1 TO 6 INPUT“请输入数据:” TO A(K)S=S+A(K)ENDFOR AV=S/6 R=0 FOR K=1 TO 6 IF A(K)>AV ??A(K)R=R+1 ENDIF ENDFOR ?R(1)若输入的数据分别是:1 2 3 4 5 6,则显示的是(D)A)1 2 3 B)2 3 4 C)3 4 5 D)4(2)?R的值是多少(B)A)2 B)3 C)4 D)5 第11题、读下列程序:
*MAIPROGRAM CLEA CLEAR ALL X1=“工资-100” Y1=200 Z1=100 DO SUB1 ? 'A处:',X1,Y1,Z1 X1=1 Y1=2 Z1=3 DO SUB2 WITH X1,Z1+10,10 ? 'C处:',X1,Y1,Z1 CANCEL PROCEDURE SUB1 PRIV Z1 Z1=10 X1=300 Y1=2 ? 'B处:',X1,Y1,Z1 Z1=1 RETURN
PROCEDURE SUB1 PRIV Z1 Z1=10 X1=300 Y1=2 ? 'B处:',X1,Y1,Z1 Z1=1 RETURN
PROCEDURE SUB2 PARA X1,Z1,Y1 X1=X1+10 Y1=Y1+10 X1=X1+10 RETURN(1)程序显示A处的X1,Y1,Z1值分别为___B___。
A)300 200 100 B)300 2 100 C)300 200 10 D)300 2 10(2)程序显示B处的的X1,Y1,Z1值分别为___D___。
A)300 200 10 B)300 200 100 C)300 2 100 D)300 2 10(3)程序显示C处的的X1,Y1,Z1值分别为___D___。
A)21 20 30 B)21 20 3 C)21 2 30 D)21 2 3
二、读程序选择_1(本大题共4道小题,每小题分值6分,共24分。)
第7题、有学生信息表XS.DBF文件,其结构和记录如下:
记录号 学号 姓名 年龄 性别 入学日期 出生地 1 Y001 李明 21 男 09/01/99 重庆 2 Y002 林雨 20 女 09/01/99 成都 现有一程序段:
DIMENSION X(3)USE XS SCATTER TO X X(1)=“A003” X(2)=“曾真” X(3)=19 APPEND BLANK GATHER FROM X LIST RETURN(1)运行结果X数组的数据元素的个数是___B___。A)0个 B)3个 C)6个(2)LIST显示记录中,最后一条记录的姓名字段值是__D____。
A)字段值为空 B)林雨 C)李明 D)曾真
第8题、读下列程序: Clear Store 1 To I, A, B Do While I<=3
个 D)1 Do Prog1 ??“P(”+Str(I, 1)+“)=”+Str(A, 2)+“,” I=I+1 Enddo ??“B=”+Str(B, 2)Return Procedure Prog1 A=A*2 B=B+A Return(1)程序的运行结果为(D)。
(A)P(1)=2,P(2)=3,P(3)=4,b=15(B)P(1)=2,P(2)=4,P(3)=6,b=8(C)P(1)=2,P(2)=4,P(3)=6,b=18(D)P(1)=2,P(2)=4,P(3)=8,b=15(2)变量i的最终结果是(C)(A)3(B)5(C)4(D)6
第9题、阅读下面程序: CLEAR OPEN DATABASE emplorer USE compen SCAN FOR RECNO()<=10 IF 姓名='李强' LOOP ENDIF ?姓名,实发工资 ENDSCAN USE CLOSE DATABASE(1)compen是:(D)A.自由表 B.数据库表
C.数据库 D.可能是自由表,也可能是(2)若数据库有50条记录,则程序的功能是:(D)A前10条记录中搜索“李强”的记录 B列出前10条记录
C.每10条记录一屏显示记录,但不显示“李强”的记录 D.列出前10条记录,但是不显示“李强”的 第10题、阅读下面程序: CLEA clear store 1 to i store 2 to j,k do a1 ?“i=”+str(i,2)+“ j=”+str(j,2)+“ k=”+str(k,2)proc a1 i=3*i+2 private i i=2*j+k ?“i=”+str(i,2)+“ j=”+str(j,2)+“ k=”+str(k,2)retu RETURN(1)主程序中“do a1”后的显示语句显示结果为:(C)
(A)i=6 j=7 k=2(B)i=5 j=7 k=2(C)i=5 j=2 k=2(D)i=6 j=8 k(2)过程a1中的显示语句将显示:(D)
(A)i=6 j=7 k=2(B)i=5 j=7 k=2(C)i=5 j=8 k=2(D)i=6 j=2 k=第7题、CLEAR CLOSE ALL USE 学生 COUNT TO X GO TOP FOR I=1 TO X IF 性别='男' DISP ENDIF SKIP ENDFOR CLOSE ALL(1)该程序的功能是:(C)A)显示一条男同学的记录 B)显示一条女同学的记录 C)显示所有男同学的记录 D)显示所有女同学的记录
(2)程序退出循环的条件是(C)A)记录指针指向文件尾 B)记录指针指向文件头 C)循环次数大于表中记录条数 D)循环次数小于表中记录条数 第8题、阅读下面程序: 有图书数据表TS和订书单表DSD如下: TS:(书号:C3,单价:N6.2 书名C10)
书号 单价 书名
001 12.0 计算机应用 002 10.0 化学
003 15.0 分析化学
DSD:(班级:C6,书号:C3,数量:N3.0, 款项:N7.2)
记录号 班级 书号 数量 款项 1 化95.4 001 47 0.00 2 数94.3 002 74 0.00 3 物96.4 003 67 0.00 4 生95.4 002 47 0.00 5 地94.3 001 67 0.00 6 物94.3 002 67 0.00 7 数94.3 001 74 0.00 8 化95.4 003 47 0.00 9 数94.3 003 74 0.00 程序: CLEA ALL SELE 1 USE Ts ALIAS SHU INDEX on 书号 tag TSSH SELE 2 USE dsd alias shdn SET RELA TO 书号 INTO SHU REPL ALL 款项 WITH数量*shu.单价 LIST DO WHIL.T.ACCE “输入0退出” TO BJ IF BJ ='0' EXIT ENDI ACCE“输入书号” TO SH LOCAT FOR 书号=SH DISP ?“书号”+书号+str(款项)+“元。” ENDD clea all RETURN(1)do while循环中locate操作的表是:(B)(A)数据表TS(B)数据表DSD(C)系统临时表aaa(D)系统临时表cursor aaa(2)运行时输入书号“003”,则输出为:_C(A)分别显示书号为“003”的所有款项(B)显示书号为“003”的所有款项之和(C)显示书号为“003”的第一条记录的款(D)输入错误,没有输出
第9题、读下列程序: &&MAIN.PRG PUBLIC X,Y SET PROC TO KK X=20 Y=50 DO A1 ?X,Y SET PROC TO RETU *过程文件kk.prg Proc a1 Private x X=30 Local y Do a2 ?x,y Return Proc a2 X=“kkk” Y=“mmm” Return 第一次显示的X,Y的值是(B)A)KKK 30 B)KKK.F.C)KKK 50 D)30.F.第二次显示的X,Y的值是(B)A)20 50 B)20 MMM C)30 50 D)30 MMM 第10题、读程序: CLEAR CLOSE ALL SELE 2 USE CJ INDEX ON 学号 TO XH SELE 1 USE XS SET RELATION TO 学号 INTO B SET SKIP TO B replace b.成绩 with b.成绩*1.1 for a.姓名=“王小平”(1)在以上程序中(A)A)表CJ是子表 B)表XS是子表 C)表XS是主表也可以是子表 D)无法确(2)该程序的功能是B A)修改王小平的成绩为1.1分 B)修改王小平的成绩为原成绩的1.1C)修改字段名成绩为成绩1.1 D)显示王小平的记录
第11题、有以下三段程序
*Main.PRG CLEA K1=10 K2=20 DO SuB ?K1,K2 &&(1)DO Sub1 With K2+10,K1 ?K1,K2 &&(3)RETU PROC SUB PRIV K1 K1=K2+1 K2=K1+1 RETU PROC Sub1 PARA Xl,x2 X1=10 X2=20 X1=STR(X1,2)+STR(X2,2)X2=X1+STR(X2,2)?X1,X2 &&(2)RETU(1)程序运行到(1)处显示的结果是(D)(A)10 20 b)20 30(C)10 30(D)l0 2(2)程序运行到(2)处显示的结果是(B)A)1020 102010(B)1020 102020(C)1010 101010(D)1020 101010(3)程序运行到(3)处显示的结果是(D)(A)101010 22(B)102020 30(C)102020 40(D)102020 22 第7题、I=0 DO WHILE I<10 IF INT(I/2)=I/2 I=I+3 ENDIF I=I+2 ENDDO ?I RETU(1)上述程序执行后,共循环了__C____次。A)10 B)5 C)4 D)死循环(2)上述程序执行后,屏幕显示为___B___。A)10 B)11 C)9 D)13
第7题、读下列程序: k=1 DO WHILE k<=21 k=k+2 ?STR(k,2)IF k=9 EXIT ENDIF ENDD(1)程序循环了多少次__A____。A)4 B)3 C)6 D)5(2)程序执行的结果是___C___。A)1 3 5 7 B)2 4 6 8 C)3 5 7 9 第8题、读下列程序: CLEAR FOR K=1 TO 4 A=“$” FOR J=1 TO k A=A+STR(K,1)ENDFOR @K,5 SAY A ENDFOR WAIT RETURN(1)程序运行的结果是___B___。
A)$1 B)$1 $22 $22 $122333 $333 $4444 C)$122333 D)$(2)程序运行到WAIT处,变量K与J的值分别是___D___A)1, 1 B)4, 4 C)4, 1 第9题、如下程序显示的结果是()。s=1 i=0 do while i<8 s=s+i i=i+2 enddo ?s(1)S的值为(D)A)10 B)11 C)12 D)13(2)程序循环次数为:(B)A)3 B)4 C)5 D)6
第10题、阅读下面程序: CLEAR OPEN DATABASE emplorer USE compen SCAN FOR RECNO()<=10 IF 姓名='李强' LOOP ENDIF ?姓名,实发工资 ENDSCAN USE CLOSE DATABASE(1)compen是:(D)A.自由表 B.数据库表
C.数据库 D.可能是自由表,也可能是数据(2)若数据库有50条记录,则程序的功能是:(D)
A. 前10条记录中搜索“李强”的记录 B.列出前10条记录 C.每10条记录一屏显示记李强“的记录 D.列出前10条记录,但是不显示”李强“的记录
第7题、读下列程序: USE GZ Y='Y' DO WHILE Y$'Yy' CLEA ACCE '请输入姓名' TO XM INDEX ON 职称 TO ZX FOR 姓名=ALLT(XM)L=3 M=10 DO WHILE.NOT.EOF()@ L,M GET 姓名
@ L,M+20 GET 基本工资 L=L+2 SKIP ENDDO WAIT '下一个(Y/N)?' TO Y ENDDO USE RETU(1)这个程序的功能是___B___。A)输入 B)查询(C)修改(D)统计(2)程序中变量Y的作用是___A___。
A)控制整个程序循环 B)把指针指向下一条记录 C)等待 D)没有作用 第9题、有如下程序段: DO CASE CASE X>100 ?? ”1“ CASE X>200 ?? ”2“ OTHERWISE ?? ”3“ ENDCASE(1)若在X=300的情况下执行这个程序段,屏幕上将显示A A)1 B)2 C)12 D)3(2)输入下列什么数据时,屏幕上将显示字符 3 A A)100 B)200 C)300 D)400 第7题、有如下教师授课表: 教师号 主讲课程 t1101 数据结构 t1102 C语言 t1103 网页制作 t1104 计算机网络 t1105 计算机网络 t1105 C语言 t1105 数据库
下列程序段的输出结果是 CLOSE DATA a=0 USE教师 GO TOP DO WHILE.NOT.EOF()IF主讲课程=”数据结构“.OR.主讲课程=”C语言“ a=a+1 ELSE DISP ENDIF SKIP ENDDO ?a 1 A A)3 B)4 C)5 D)6(2)命令DISP一共显示的记录条数是:A)3 B)4 C)5 D)6
第8题、读下列程序并进行判断。S=0 I=1 Do While I<4 Accept ”请输入字符串: “ To X If ”A“ $ X S=S+1 Endif I=I+1 Enddo ?S Return(1)运行时输入 ”abcd“, ”ABCD“, ”aBcD “, 输出 S的值是(B)(A)2(B)1(C)3((2)运行时输入”ABCD“, ”ABcd“, ”cdab“, 输出 S的值是(C)(A)1(B)4(C)2(D)第7题、如下程序显示的结果是()。s=1 i=0 do while i<8 s=s+i i=i+2 enddo ?s(1)S的值为(D)A)10 B)11 C)12 D)13(2)程序循环次数为:(B)A)3 B)4 C)5 D)6
第8题、CLEAR N=10 FOR J=1 TO 3 ?STR(J,2)+')' ??SPACE(6*J)FOR K=1 TO 3-J+1 ?? STR(J*K,6)N=N+2 ENDFOR ? ENDFOR RETURN(1)输出的图形为:(C)
A.1)1 B.1)1 2 3 C.1)1 2 3 D.1)1 2 3 2)2 4 2)2 4 2)2 4 2)4 6 8 3)3 6 9 3)3 3)3 3)9 12 15(2)程序结束时,N的值是:(A)A.22 B.9 C.10 D.15 第9题、设表文件XS.DBF有10条记录,程序如下: USE XS GO BOTTOM N=3 DO WHILE N>=1 DISPLAY SKIP-1 WAIT N=N-1
ENDDO USE RETURN(1)程序的功能是(D)
(A)显示所有记录(B)分别显示前3个记录(C)显示第3个记录(D)分别显示后三(2)退出循环后,N的值是(A)(A)0(B)1(C)3(D)4
读下列程序:
USE GZ Y='Y' DO WHILE Y$'Yy' CLEA ACCE '请输入姓名' TO XM INDEX ON 职称 TO ZX FOR 姓名=ALLT(XM)
L=3 M=10 DO WHILE.NOT.EOF()@ L,M GET 姓名 @ L,M+20 GET 基本工 L=L+2 SKIP ENDDO WAIT '下一个(Y/N)?' TO Y ENDDO USE RETU(1)这个程序的功能是___B___。A)输入 B)查询(C)修改(D)统计(2)程序中变量Y的作用是___A___。
A)控制整个程序循环 B)把指针指向下一条 录C)等待 D)没有作用
第8题、已知proc.prg程序清单如下:(12)n=10 t=15 S=1 M=0 DO proc_1 WITH n M=M+S DO proc_1 WITH T M=M+S ?M CANC proc_1.prg程序清单如下: PARAMETERS a S=1 FOR K=1 TO A S=S*K ENDFOR RETURN(1)程序proc.prg的功能是(C)A)输出N 和T的乘积 B)输出N 和T的阶乘 C)输出N 和T的阶乘之和D)输出N 和T的值(2)在程序中变量S是(D)A)全局变量 B)私有变量 C)本地变量 D)局部变量 读程序 clear use 学生
locate for 入校总分>=580 do while.not.eof()disp continu enddo ?'结束' Cancel(1)该程序的功能是:(B)A)显示表中一条入总分大于580分的学生记录 B)显示表中所有入校总分大于580分的学生记录C)显示表中一条学生记录D)显示表中所有的学生记录
(2)循环结束后,表中记录指针指向(B)A)文件头 B)文件尾 C)末记录 D)首记录
USE XSDA N=1 XH=”200201“ DO WHILE N<=120 APPEND BLANK REPL 学号 WITH STR(VAL(XH)+N,6)N=N+1 ENDDO USE CANCEL(1)上述程序数据库中,”学号“这个字段是__A___A)字符型 B)数值型 C)日期型 D(2)该程序的功能是____D__。
A)修改表文件的字段 B)修改表文件原有记录中学号字段的值 C)增加表文件的字段 D)追加新记录并填充学号字段的值
(3)程序运行到最后,变量N的值是___C___。A)1 B)120 C)121 D)0 现有表文件STUD.DBF,表中有:学号(C/6),姓名(C/8),性别(C/2),出生日期(D/8)等字段干条,根据已有的表文件运行下面程序: SET TALK OFF CLEAR USE STUD INDEX ON TRIM(姓名)TO ISTUD S=.T.DO WHILE S XM=SPACE(8)ACCEPT ‘请输入姓名:’ TO XM IF LEN(TRIM(XM))=0 EXIT ENDIF SEEK XM IF.NOT.EOF()@3,10 SAY “学号” @3,20 SAY 学号
@5,5 SAY “姓名”+姓名 @7,5 SAY “性别”+性别 @9,5 SAY “出生日期:” @ 9,20 SAY 出生日期 ELSE @20,3 SAY “没有找到该姓名的学生” S=.F.ENDIF WAIT ENDDO CANCEL(1)程序中的索引关键字和索引文件名分别为__B____。
A)学号, STUD.DBF B)姓名,ISTUD.DBF C)学号, ISTUD.IDX D)姓名,ISTUD.IDX(2)程序中用SEEK进行___C___查找。A)顺序 B)条件 C)索引 D)范围(3)执行EXIT命令的条件是____C___。
A)输入姓名后直接按
C)输入姓名,又按空格键,再按
A=“Abcde” N=LEN(A)I=1 DO WHILE I<=N B=SUBSTR(A,I,1)IF ISLOW(B)B=CHR(ASC(B)-32)A=STUFF(A,I,1,B)ENDIF I=I+2 ENDDO ?A RETURN(1)程序运行的结果是___D___。A)abcde B)ABCDE C)abCdE D)AbCdE(2)程序循环的次数是___C___。A)5 B)4 C)3 D)6
读下列程序: USE 学生 I=1 FILEN=”” DO WHILE I<=9 FILEN=”S”+STR(I,1)+”.DBF” COPY TO &FILEN I=I+1 ENDDO USE(1)程序运行的结果是___C___。A)无结果 B)拷贝了1个文件C)拷贝了9个文件
了10个文件
(2)拷贝所产生的新文件名是___D___。A)S.DBF B)FILEN C)&FILEN D)S1.DBF~S9.D
有如下程序段: USE CLASS LOCATE FOR 政治面目=”团员“ DO WHILE FOUND()DISPLAY CONTINUE ENDDO该程序的功能是:C
A)显示团员的一条记录 B)显示非团员的一条记录C)显示团员的所有记录D)显示非团员的所程序退出循环的条件是A
A)FOUND()函数返回值为B)FOUND()函数返回值为假 C)与 FOUND()函数的值无关D)EOF()函数返回值为真
有如下程序段: DO CASE CASE X>100 ?? ”1“ CASE X>200 ?? ”2“ OTHERWISE ?? ”3" ENDCASE(1)若在X=300的情况下执行这个程序段,屏幕上将显示A A)1 B)2 C)12 D)3(2)输入下列什么数据时,屏幕上将显示字符 3 A A)100 B)200 C)300 D)400
读程序
1、CLEAR M=0 FOR X=1 TO 10 IF MOD(X,3)=0 M=M+X ENDIF ENDFOR ? M RETURN(1)该程序的功能是:求1到10之间B A.能被3整除数的个数 B.能被3整除数C.不能被3整除数的个数 D.不能被3整除数的和
(2)该程序执行的结果是:C A.3 B.10 C.18 D.37
&&MAIN.PRG &&P1.PRG X1=1 PARA W1,W2 X2=2 PRIVATE W1 DO P1 WITH X1,X2 W1=W1*3 ?’X1=’+STR(X1,1)W2=W2*4
??’X2=’+STR(X2,1)RETURN X1=1 X2=2 DO P1 WITH X1,X1+X2 ?’X1=’+STR(X1,1)??’X2=’+STR(X2,1)
RETURN(1)第一次显示X1,X2的值是B A 1 , 8 B 3 , 8 C.1 , 1 D.8 , 8(2)第二次显示X1,X2的值是C A 1 , 2 B 3 , 1 C 3 , 2 D.1 , 3
CLEAR DIME A(20)P=1 FOR N=1 TO 20 INPUT“请输入数据:“ TO A(N)ENDFOR FOR L=1 TO 19 FOR M=L+1 TO 20 IF A(L)<=A(M)T=A(L)A(L)=A(M)A(M)=T ENDIF ENDFOR ??A(I)ENDFOR 程序完成的功能是将20个数组元素值A A 排序后按从大到小的顺序输出 B 排序后按从小到大的顺序输出C. 倒序输出 D.按自然顺序输出
将DIME A(20)改成 DIME A(10)后,B A. 出现“数组重复定义”的错误 B. 出现“数组下标越界”的错误 C. 程序功能不变,只是输出10个数组元素值 D. 程序功能不变,仍然输出20个数组元素值
CLEAR CLOSE ALL USE 学生 SCAN IF性别=’男’ DISP ENDIF N=N+1 ENDSCAN ?N CLOSE ALL CANC(1)D A)该程序显示一条男同学的记录 B)该程序显示一条女同学的记录 C)该程序显示全班同学的记录 D))该程序显示全班男同学的记录(2)命令?N 显示的是C A)男同学的记录个数 B)女同学的记录个数 C)全班同学的记录个数 D)无法确定
USE SB SORT TO RQX ON 启用日期/D FIELDS 编号,名称,启用日期 FOR NOT 主要设备 USE RQX LIST USE SB SORT TO BMX ON 部门/D,价格 FOR 主要设备 USE BMX LIST RETURN(1)程序执行到第一个LIST命令时,输出结果是C
(A)将主要设备按编号,名称,启用日期分别升序排序。(B)将主要设备按编号,名称,启用日期分别降序排序。(C)将非主要设备按启用日期降序排序。(D)将非主要设备按启用日期升序排序。
(2)程序执行到第二个LIST命令时,输出结果是B
(A)将主要设备按部门升序排序,当部门相同时,按价格降序排序。(B)将主要设备按部门降序排序,当部门相同时,按价格升序排序。(C)将主要设备按部门降序排序,当部门相同时,按价格升序排序。(D)将主要设备按部门升序排序,当部门相同时,按价格降序排序。
共有3个数据库文件TB1.DBF, TB2.DBF, TB3.DBF,下面程序功能是把每个库文件的末尾记录删掉。序,将程序填写完整。N=1 DO WHILE N<=3 TB=“TB“+STR(N,1)USE &TB GO BOTTOM DELETE PACK N=N+1 ENDDO 该程序的功能是B(A)将数据表的末记录作物理删除(B)将数据表的末记录作逻辑删除(C)将数据表的首记录作物理删除(D)将数据表的首记录作逻辑删除
该程序一共删除了()表中的记录C(A)1个(B)2个(C)3个
(D)4个
阅读下面程序: 有图书数据表TS和订书单表DSD如下: TS:(书号:C3,单价:N6.2 书名C10)
书号 单价 书名
001 12.0 计算机应用 002 10.0 化学
003 15.0 分析化学 DSD:(班级:C6,书号:C3,数量:N3.0, 款项:N7.2)
记录号 班级 书号 数量 款项 1 化95.4 001 47 0.00 2 数94.3 002 74 0.00 3 物96.4 003 67 0.00 4 生95.4 002 47 0.00 5 地94.3 001 67 0.00 6 物94.3 002 67 0.00 7 数94.3 001 74 0.00 8 化95.4 003 47 0.00 9 数94.3 003 74 0.00 程序: CLEA ALL SELE 1 USE Ts ALIAS SHU INDEX on 书号 tag TSSH SELE 2 USE dsd alias shdn SET RELA TO 书号 INTO SHU REPL ALL 款项 WITH数量*shu.单价 LIST DO WHIL.T.ACCE “输入0退出” TO BJ
IF BJ =’0’ EXIT ENDI ACCE“输入书号” TO SH LOCAT FOR 书号=SH DISP ENDI ?“书号”+书号+str(款项)+”元。” ENDD clea all RETURN(1)do while循环中locate操作的表是:B A数据表TS B数据表DSD C系统临时表aaa D系统临时表cursor aaa(2)运行时输入书号“003”,则输出为:_C(A)分别显示书号为“003”的所有款项(B)显示书号为“003”的所有款项之和(C显示书号为“003”的第一条记录的款项(D)输入错误,没有输出
阅读下面程序: CLEAR T=65 R=20 INPUT “请输入图形的行数N=” TO N I=1 DO WHILE I<=N J=1 DO WHILE J<=2*I-1 @I,J+R SAY CHR(T)J=J+1 IF J<=I T=T+1 ELSE T=T-1 ENDIF ENDDO I=I+1 R=R-1 T=65 ENDDO RETURN(1)运行程序后输出图形C
(A)A(B)A BBB ABC CCCCC ABCDE DDDDDDD ABCDEFG EEEEEEEEEEEE ABCDEFGHIJ
„„„„„„„ „„„„„„
(C)A A ABA BAB ABCBA CBABC ABCDCBA DCBABCD ABCDEDCBA EDCBABCDE
„„„„„„„ „„„„„„„(2)语句@I,J+R SAY CHR(T)中函数CHR()的功能是D(A)从字符T中取出子串(B)返回字符T的ACSⅡ码值(C)返回字符T的ACSⅡ码字符
(D)返回<数值表达式>表示的ACSⅡ码字符
:
CLEA BM=SPACE(10)@5,10 SAY“请输入表名:”GET BM READ BM=ALLTRIM(BM)IF FILE(“&BM..DBF”)USE &BM BROWSE ELSE WAIT“文件不存在!” WINDOW NOWAIT ENDIF USE RETURN(1)程序的功能是C(A)浏览任意一个打开的表文件(B)修改任意一个打开的表(c)浏览指定表文件BM(D)修改指定表文件BM(2)函数FILE(“&BM..DBF”)的功能是C(A)测试指定的文件的类型正确否(B)指定文件类型为(C)测试指定的文件存在否(D)指定文件为&BM..DBF
有图书目录数脚sml,dbf和入库流水单表skc.dbf如下 sml.dbf:(5条记录)书号 书名 作者 出版社 1 计算机基础 杨振山 高等教育 2 计算机原理 费利民 西安交大 3 C语言设计 赵国民 上海 4 C语言教程 张 扬 四川 5 C++教程 张 敏 高等教育 skc.dbf:(5条记录)书号 单价 数量 金额 入库日期 1 15.00 30 450.00 20030818 2 11.00 21 231.00 20030818 3 22.00 30 660.00 20030818 4 19.00 30 570.00 20031218 5 22.21 23 510.83 20031218 程序: CLEAR @1,15 SAY ‘新书入库’ Y=’Y’
DO WHILE upper(Y)=”Y” SM=SPACE(14)ZZ=SPACE(8)CBS=SPACE(10)@3,10 SAY ’书名’ GET SM @3,30 SAY ’作者’ GET ZZ @3,45 SAY,出版社 GET CBS READ SELE 1 USE SML LOCA FOR TRIM(书名)=TRIM(SM)AND TRIM(作者)=TRIM(ZZ)AND TRIM(出版;社)=TRIM(CBS)IF FOUND()SH=书号 ELSE SKIP-1 SH=STR(val(书号)+1,4)APPE blan REPL书名WITH SM,书号WITH SH,作者WITH ZZ,出版社with cbs ENDIF SELE 2 USE skc APPE BLAN REPL书号with sh @4,10 SAY ‘单价’ GET单价 @4,30 SAY ‘购人数’ GET数量 READ REPL金额 WITH 单价*数量 REPL入库日期 WITH date()WAIT “是否继续(Y/N)” to Y ENDD CLOSE DATA 设运行时依次输入下列数据:
代数 张三 清华 22.00 31 几何 李四 北大 33.00 32 概率 王五 南开 44.00 33 几何 李四 北大 33.00 41 代数 张三 清华 22.00 56(1)此时sml表中的记录条数和最大记录号分别为C A 10条,10 B 10条,5 C 8条,8 D 8(2)SKC表中记录数为C(A)10(B)5(C)8(D)7
clear dimension k(2,3)i=l ? do while i<=2 j=l do while j<=3 k(i,j)=i*j ??k(i,i)??” ” j=j+1 enddo ? i=i+1 enddo(1)运行程序后,屏幕的显示结果是A
(A)1 2 3(B)1 2 2 4 6 3 2(C)1 2 3(D)1 2 3 1 2 3 2 4 9(2)如果将dimension k(2,3)语句改为:dimension K(2,2)后,A(A)出现“数组重复定义”的错误(B)出现“数组下标超界”的错误
(C)程序功能不变,只输出4个数组元素(D)程序功能不变,仍然输出6个数组元素
阅读下列程序 CLEAR M=0 FOR K=0 TO 2 FOR J=3-k TO 3+K @K,J SAY STR(K,2)+STR(J,1)M=M+1 NEXT K NEXT 1 ?M RETURN(1)输出图形为: A
(A)03(B)03(C)03(D)0 3 14 14 14 1 4 25 25 25 2 5(2)程序结束时,M的值是: B(A)11(B)9(C)10(D)8
读下列程序: J=0 CLEAR FOR K=1 TO 4 FOR R=1 TO 5-K ??“” &&此处括号内有1个空格 ENDFOR FOR M=1 TO 2*K-1 ??STR(K,1)J=J+1 ENDFOR ? ENDFOR ? J(1)程序运行的结果是:A
A)1 B)1 C)2 D)1 222 121 121 212 33333 1331 1331 31113 4444444 144441 144441 4111114(2)程序结束时,J的 值为C A)7 B)17 C)16 D)6
SUM=0 N=0 DO WHILE N< 100 N=N+1 SUM=SUM+N ENDDO ?’SUM=’,SUM(1)该程序的功能是B A)计算1+100的值 B)计算1+2+3+„+100的值 C)计算1+99的值 C)计算1+2+3+„+99的值(2)循环结束后,N的值为A
A)100 B)99 C)101 D)102
Clea FOR N=1 TO 4 FOR I=1 TO 2*N-1
IF I<=N
@ N,10-N+I SAY STR(I,1)
ELSE
@ N,COL()SAY STR(2*N-I,1)
ENDI ENDF ENDF Canc(1)该程序的显示的是:B
A)1 B)1 C)1 D)1 222 121 212 121 33333 12321 31213 13331 4444444 1234321 4123214 1444441(2)循环结束后,N的值为C A)3 B)4 C)5 D)6
INPUT”请输入数据1:“ TO X INPUT”请输入数据2:“ TO Y INPUT”请输入数据3:“ TO Z IF X>Y N=Y ELSE N=X ENDI IF N (1)A)输入的最大值 B)输入的最小值 C)输入的中间值 D)输入的任意值 有一学生情况表STU,表中有成绩字段 以下程序的功能是: N=0 S=0 USE STU 输入的任 D)SCAN FOR 成绩>=560 S=S+成绩 N=N+1 ENDS S=S/N USE ?S CANC 程序中命令?S,S 表示的是D A)表中成绩大于560分的人数 B)统计表中成绩小于560分的人数 C)表中成绩大于560分的人的总分数 D)表中成绩大于560分的人的平均分数 有一学生情况表STU,表中有成绩字段 以下程序的功能是: N=0 S=0 USE STU SCAN FOR 团员 S=S+成绩 N=N+1 ENDS S=S/N USE ?S CANC 程序中命令?S,S 表示的是D A)表中团员人数 B)表中非团员的人数 C)表中团员总分数 D)均分数 VFP程序题 第一套题 一、运行结果题 1、以下程序运行结果是 SET TALK OFF CLEAR A = 5 B = 12 C = 18 IF MAX(A , B)< C ? MAX(A, B) ELSE IF MIN(A , B)< C ? C ELSE ? MIN(A , B) ENDIF ENDIF SET TALK ON RETURN 2、以下程序运行结果是 SET TALK OFF CLEAR USE STCJ DO WHILE ,NOT, EOF() REPLACE 总分 WITH 高数 + 计算机 + 英语 SKIP ENDDO GO BOTTOM ? 学号,总分 USE RETURN 3、以下程序运行结果是 SET TALK OFF SET HEADINGS OFF SELECT 2 USE STCJ INDEX ON 编号 TO GZ21 REPLACE ALL 总分 WITH 高数 + 计算机 + 英语 SELECT 1 USE STDA SET RELATION TO 编号 INTO B DISPLAY FIELDS 姓名,B.总分 FOR 四级通过 OFF CLOSE ALL RETURN 4、以下程序运行结果是 SET TALK OFF SET SAFETY OFF USE STDA INDEX ON 民族 TO XBSY TOTAL ON 民族 TO GZHZ USE GZHZ COUNT TO N ? N SET SAFETY ON SET TALK ON RETURN 5、以下程序运行结果是 SET TALK OFF SET DELETED ON USE STDA DELETE FOR 性别 = “ 男 ” COUNT TO A SET DELETED OFF COUNT TO B DELETE ALL PACK COUNT TO C ? A , B , C SET TALK ON RETURN 6、以下程序运行结果是 SET TALK OFF USE STDA INDEX ON 奖学金 TO GZSY SKIP 2 ? 姓名,奖学金 USE SET TALK ON RETURN 7、以下程序运行结果是 SET TALK OFF SET PROCEDURN TO SP S = 0 DO SP1 WITH 5 , S ? S SET TPROCEDURE TO RETURN * SP PRG PROCEDURE PARAMETERS X , Y N = 1 Y = 1 DO WHILE N < X Y = Y + N N = N + 1 ENDDO RETURN 8、以下程序运行结果是 SET TALK OFF DIMENSION X(2 ,2)X = 5 FOR I = 1 TO 2 FOR J = 1 TO 2 IF I = J X(I , J)ENDIF ?? X(I , J)ENDFOR ENDFOR SET TALK ON RETURN 二、完善程序 1、下列程序计算机 S =1!+ 2!+3!+4!+5!中,填空完成程序。 S = 0 FOR N = 1 TO 5 FOR I = 1 TO N P = P * I ENDFOR ENDFOR ? “SUN =” , S 2、用下列程序找出所有的水仙花数,所谓水仙花数,是指这样一 个三位数,其各位数字的立方和等于该数本身,如 153 = 1^3 +5^3 +3^3,对以下程序填空完成该功能。FOR N = 100 TO 999 A = INT(N / 100) B = C = N – INT(N / 10)* 10 IF N = A^3 +B^3 +C^3 ? N ENDIF ENDFOR RETURN 3、将新表 DB2.DBF 文件中学号重复的记录删掉(只保留一个)SET TALK OFF SET SAFETY OFF USE STDA COPY TO DB2 USE DB2 INDEX ON 学号 TO XH DO WHILE.NOT.EOF()XH = 学号 SKIP DELETE ENDIF ENDDO CLEAR ALL 4、显示STDA.DBF 文件中男同学的记录 SET TALK OFF SET HEADING OFF USE STDA DO WHILE .NOT.EOF() IF ENDIF DISPLAY WAIT ENDDO USE SET TALK ON RETURN 5、将STDA.DBF 表中未通过英语四级考试学生的将赏金取消,通过者奖学金加50元,并显示姓名和奖学金额。SET TALK OFF CLEAR USE STDA DO WHILE.NOT.EOF()IF.NOT.四级通过 REPLACE 奖学 WITH 0 ELSE ? 姓名,奖学金 ENDIF SKIP ENDDO USE SET TALK ON RETURN 6、按学号查询成绩 SET TALK OFF CLEAR SELECT 1 USE STDA INDEX ON 学号 TO IXH SELECT 2 USE STCJ INDEX ON 学号 TO ICJ ACCEPT “请输入查询学号:” TO XH SEEK XH IF FOUND() DISPLAY 学号,A->姓名,总分 ELSE ? “ 查无此人!” ENDIF USE RETURN 7、请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。 SET TALK OFF INPUT “ 请输入一个大于1 的自然数:” TO N K = 0 J = 2 DO WHILE J < N IF MOD(N , J) J = J +1 LOOP ELSE K = 1 EXIT ENDIF ENDDO IF K = 0 ? + “ 素数” ENDIF ? “ 再见!” SET TALK ON RETURN 8、修改数据表文件 STDA.DBF 中指定同学的四级通过情况。SET TALK OFF USE STDA INDEX TO ISY DO WHILE.T.CLEAR ACCEPT “ 输入待学生的姓名” TO XM SEEK XM IF FOUND() @ 10 , 10 SAY “ 修改” + XM + “ 的四级通过情况:” GET 四级通过 WAIT “ 继续修改?(Y / N)” TO N IF ENDIF ENDDO USE RETURN 9、将数据表文件STDA.DBF 中的第三条记录与第四条记录的内容互换,并显示第三条记录。 SET TALK OFF CLEAR USE STDA GO SCATTER TO A GO SCATTER TO B GO GATHER FROM B DISPLAY GO USE SET TALK ON RETURN 10、如下程序根据键入的学号使用SQL SELECT 语句显示学生的学号、姓名和平均成绩。请在下划线处填写适当的内容,使程序能正确的运行。 DO WHILE.T.CLEAR ACCEPT “请输入学号:” TO KEYNO SELECT STDA.学号,姓名,(高数 +计算机 +英语)/3 AS平均成绩;FROM STDA.STCJ WHERE WAIT “如果退出,请按【Y】键!” TO KEY IF UPPER(KEY)= “ Y” ENDIF ENDDO USE RETURN 三、程序改错题 1、在STDA.DBF 中,查询某人英语四级通过情况,若通过了,则授予学位,否则不授予学位。(1)SET TALK OFF(2)USE STDA (3)ACCEPT “请输入姓名:” TO XM(4)SEEK FOR 姓名 = XM(5)IF EOF() (6)? “查无此人!”(7)RETURN(8)ENDIF (9)IF 英语四级通过 (10)?姓名 + “英语四级通过,授予学位”(11)ELSE (12)?姓名 + “英语四级没通过,不授予学位”(13)ENDIF(14)USE (15)SET TALK ON(16)RETURN 错误的行是 改为: 2、显示 STCJ.DBF 中总分不低于190分的所有学生的姓名和总分字段的值。 (1) SET TALK OFF (2) SET HEAD OFF (3) USE STCJ (4) DO WHILE RECNO()< = RECCOUNT() (5) REPL 总分 WITH 高数 +计算机 +英语 (6) IF 总分> = 190 (7) DISP 学号,总分 OFF (8) ENDIF (9) LOOP (10) ENDDO (11) RETURN 错误的行是: 改为: 3、在STDA.DBF 中,快速查询性别为“男”,“09/12/92”出生的人 (1) SET TALK OFF (2) USE STDA (3) INDEX ON 性别 +入学时间 TO LKL (4) SEEK “男” + “09/12/92” (5) IF .NOT.EOF() (6) DISPLAY (7) ELSE (8) ? “查无此人!” (9) ENDIF (10) USE (11) SET TALK ON (12) RETURN 错误的行是: 改为: 4、求出 STCJ 表中总成绩的最大值和最小值。(1) SET TALK OFF (2) USE STCJ (3) DO WHILE .NOT.EOF() (4) REPLACE 总分 WITH 高数 +计算机+英语 (5) SKIP (6) ENDDO (7) GO TOP (8) STORE 总分 TO MAX , MIN (9) DO WHILE .NOT.EOF() (10) IF MAX >总分 (11) MAX = 总分 (12) ENDIF (13) IF MIN <总分 (14) MIN = 总分 (15) ENDIF (16) SKIP (17) ENDDO (18) ? “最高分:” ,MAX ,”最低分:” , MIN (19)SET TALK ON (20)RETURN 错误的行是: 改为: 第九套题 一、完善程序题 1、将“职工”表中的数据按工资降序排列后生成新表,程序如下: CLOSE ALL SET TALK OFF CLEAR USE 职工 TO 职工1 ON 工资/D USE 职工1 DISPLAY ALL USE RETURN 2、在“职工”表中查找且显示“孙大鹏”的信息,程序如下: SET TALK OFF CLEAR USE 职工 LOCATE IF FOUND()DISPLAY ENDIF USE 3、显示“职工”表中女职工的工资和,程序如下: SET TALK OFF CLEAR SELECT FROM 职工 RETURN 1、设计一个查询表单BD.SCX,其界面如图所示,其中文本框控件 名为TEXT1,表格控件名为GRID1。当在其中输入职工姓名并单击“查询”按钮时,将下边的表格内显示该职工的信息。“查询”按钮的Click 事件代码应如下: THISFORM.GRID1.RECORDSOURCETYPE=4 THISFORM.GRID1.FRCORDSOURCE=”SELECT * FORM 职工 WHERE 姓名 = = ” 5、将“职工”表中第6条记录的“出生日期”改为“12/12/1972”,程序如下: SET TALK OFF CLEAR USE 职工 SKIP 5 出生日期 WITH {^1972/12/12} DISPLAY USE RETURN 五.程序题 在Text1中输入一个3位自然数,分解求和的结果存入Text2中 x= thisform.text1.value a=int【1 】 b=int 【 2】 c=【 3】 s=【 4】 thisform.text2.value=【5 】 x/100(x-a*100)/10 x-a*100-b*10 a+b+c s 2 文本框Text1中输入的值与文本框Text2中输入的值交换 a= thisform.text1.value b= thisform.text2.value d=【1 】 【2 】 【3 】=d thisform.text1.value=【4 】 thisform.text2.value=【 5】 a a=b b a b 3 已知任意一个三角形的三条边为a、b、c,求其面积。 a=thisform.text1.value b=【 1】 c=【 2】 p=(a+b+c)/【3 】 s=【 4】(p*(p-a)*(p-b)*(p-c))thisform.text4.value=【5 】 thisform.text2.value thisform.text3.value 2 sqrt s 4 判断一个学生的计算机考试成绩x属于哪个分数段之间(0-59,60-69,70-79,80-89,90-100)Command1_click事件代码如下: x= thisform.text1.value store 0 to h5,h6,h7,h8,h9 do case case x>=0 and x<=59 h5=h5+1 case 【1 】 and x<=69 h6=h6+1 case x>=70 and x<=79 【 2】 case 【3 】 and x<=89 h8=h8+1 case x>=90 and 【 4】 h9=h9+1 【 5】 thisform.label1.caption=str(h5)+ str(h6)+str(h7)+str(h8)+str(h9)x>=60 h7=h7+1 x>=80 x<=100 endcase 5 假设表单与第二题中的表文件zgqk.dbf 建立了数据环境,在其中按姓名查找职工情况,找到后将其情况在表单上显示,否则在信息框中显示“查无此人”。试完成下面程序。 【 1】 zgqk xm=thisform.text1.value locate for【2 】 if 【 3】eof()thisform.【4 】 else 【5 】(“查无此人”)Endif use xm=姓名 not refresh messagebox 6 求s=1/1^2+1/2^2+„+1/n^2 【 1】 n=thisform.text1.【2 】 FOR i=1 TO 【3 】 s=s+【4 】 next THISFORM.Label3.Caption=【5 】 s=0 value n 1/i^2 str(s)7 计算1+3+5+„„99,并将结果存入文本框Text1中,请填空 【 1】 FOR N=1 TO 【 2】 step 【 3】 s=s+n end【4 】 【5 】 s=0 99 2 for thisform.text1.value=str(s)8 计算1+3+5+„„99,并将结果存入文本框Text1中,请填空 【 1】 FOR N=1 TO 【 2】 if 【 3】(n/2)<> n/2 s=s+n endif end【 4】 【5 】 s=0 99 int for thisform.text1.value=str(s)9 计算2+4+6+„„100,并将结果存入文本框Text1中,请填空 【1 】 FOR N=2 TO 【2 】step 1 if int(n/2)=【 3】 s=s+n 【4 】 endfor 【 5】 s=0 100 n/2 endif thisform.text1.value=str(s)10 求所有的3位正整数除以99的商和余数,并输出。 for i= 【1 】to 【2 】 a= 【 3】 b=【4 】 ?【5 】 Endfor 100 999 int(i/99)i%99 a, b 11 求1!+2!+3!+4!+5!。 S=0 For i=1 to【1 】 t=【2 】 for k=1 to 【 3】 t=t*【4 】 endfor s=s+【 5】 endfor 5 1 I k t 12 计算1+2+3+„„100,并将结果存入文本框Text1中,请填空 【 1】 FOR N=1 TO【 2】step 【 3】 s=s+n 【 4】for 【5 】 s=0 100 1 end thisform.text1.value=str(s)13 统计1至100之间能被7整除的数的个数并求其和,结果用信息框(对话框)输出。Command1_click事件代码如下: k=0 s=0 for i=1 to 100 if 【1 】(I,7)=0 k=k+【 2】 s=s+【3 】 endif endfor a=messagebox(【 4】+【 5】)mod 1 I str(k)str(s)14 在文本框Text1中输入一个字符串,统计其中数字字符的个数,结果存入文本框Text2中。Command1_click事件代码如下: k=0 x=allt(thisform.text1.value)n=【1 】 for i=1 to 【 2】 if subs(x,i,1)>”0” and【3 】 【 4】 endif endfor thisform.text2.value=【 5】 len(x)n subs(x,i,1)>”9” k=k+1 str(k)15.s=求1!+2!+3!+...+20!【1 】 for n=1 to 20 t=1 for m=1 to 【 2】 t=t*【3 】 endfor 【 4】 endfor THISFORM.Text1.Value=【 5】 s=0 n m s=s+t s 16.找出2010至2100之间所有闰年的年份 FOR i=【 1】 TO 【2 】 if i%4=0 AND i%100!=0 OR i%【3 】 ? 【4 】 endif 【5 】 2010 2100 400=0 I ENDFOR 17.设计一个求t=n!的自定义函数 【 1】f(x)t=【 2】 FOR j = 1 to 【3】 t=t*【4 】 endfor return 【 5】 function[###]func 1 x j t 18.求 Fibonacci 数列(1,1,2,3,5„)的前n(n>3)项,并输出 input “n=” to n 【 1】 a(n)a(1)=1 a(2)=1 ? a(1),a(2)for i=3 to 【 2】 a(i)=【 3】+【 4】 ?? a(i-1),a(i-2)end【 5】 dime n a(i-1)a(i-2)for 19.输出zgqk.dbf的基本工资大于600的记录 【 1】zgqk do while not 【 2】 if 【 3】 【 4】 endif 【5 】 enddo use eof()基本工资>600 disp[###]display skip 1.在Text1中输入一个3位自然数,分解求和的结果存入Text2中 2.文本框Text1中输入的值与文本框Text2中输入的值交换 3.已知任意一个三角形的三条边为a、b、c,求其面积。 4.判断一个学生的计算机考试成绩x属于哪个分数段之间(0-59,60-69,70-79,80-89,90-100)287 5.求s=1/1^2+1/2^2+„+1/n^2 6.计算1+3+5+„„99,并将结果存入文本框Text1中,7.计算1+3+5+„„99,并将结果存入文本框Text1中 8.计算2+4+6+„„100,并将结果存入文本框Text1中,9.求所有的3位正整数除以99的商和余数,并输出。 10.编写程序计算:s=1+1/2!+1/3!+„+1/n!,说明:在表单中有一个文本框控件:Text1,用来接收n的值,有一个标签控件:Label1,用来显示S的值,试编写表单的单击事件,实现计算与显示功能,只要求写出事件的主要代码,事件过程的起始语句和结束语句可略去。11.编写程序计算:S=1X2+2X3+„+NX(N+1)。0 12.编写程序计算多项式:1^1+2^2+3^3+„+10^10 0 13.编写程序在表单上显示出:1~15之间的偶数 0 14.编写程序在表单上显示出:5/6+4/5+3/4+2/3+1/2 15.假设表单与第二题中的表文件zgqk.dbf 建立了数据环境,在其中按姓名查找职工情况,找到后将其情况在表单上显示,否则在信息框中显示“查无此人” 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 二级VFP模拟选择题 第一,二章选择题 1.数据库系统的三级模式结构是对数据的三个抽象级别,数据库用户看到的视图称为()。 答案:A A.外模式 B.概念模式 C.内模式 D.存储模式 2.实体-联系方法用()来描述现实世界的概念模型。 答案:B A.关系图 B.E-R图 C.流程图 D.联系图 3.数据模型由数据结构、()和完整性约束三个要素组成。 答案:C A.数据管理 B.数据共享 C.数据操作 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 D.数据控制 4.数据模型由()、数据操作和完整性约束三个要素组成。 答案:A A.数据结构 B.层次结构 C.关系结构 D.网状结构 5.下列关于关系模型的叙述中,正确的是()。 答案:C A.关系中的一个属性可以对应于多个值域 B.主键只能由一个属性组成C.任何属性不可再分 D.一个关系只能有一个候选键 6.数据表是相关数据的集合,它不仅包括(),而且包括数据之间的联系。 答案:A A.数据本身 B.数据定义 C.数据控制 D.数据字典 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 7.下列叙述中,()是数据库系统的特点之一。 答案:B A.数据结构化低 B.数据独立性高 C.数据冗余度高 D.数据与程序依赖程度高 8.下列叙述中不正确的是()。 答案:C A.命令关键字不能是全角字符 B.在命令窗口中,命令关键字可以只输入前四个字符 C.在“文件”菜单中选择“关闭”可以退出Visual Foxpro D.在项目管理器中可以创建菜单文件 9.在“选项”对话框的“文件位置”选项卡中不可以设置()。案:C A.临时文件目录 B.默认目录 C.日期和时间的显示格式 D.搜索路径 10.创建表时字段名默认的数据类型是()。 答案:D A.数值型 B.日期型 精心收集 精心编辑 精致阅读 如需请下载! 答 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 C.逻辑型 D.字符型 11.在数据工作期窗口中不可以()。 答案:A A.创建表文件 B.关闭已打开的表 C.打开表文件 D.浏览已打开的表 12.项目管理器中的“数据”选项卡不可用于显示和管理()。 答案:A A.报表 B.数据库 C.自由表 D.查询 13.数据库具有()、最小冗余度、较高的数据独立性和数据统一管理和控制的特点。 答案:A A.数据结构化 B.较高的数据模块化 C.较高的程序结构化 D.较高的程序标准化 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 14.下列关于数据库系统的叙述中,正确的是()。 答案:A A.数据库系统减少了数据冗余 B.数据库系统中数据的一致性是指数据类型一致 C.数据库系统避免了一切冗余 D.数据库系统比文件系统能管理更多的数据 15.数据模型由数据结构、数据操作和()三个要素组成。案:C A.独立性约束 B.共享性约束 C.完整性约束 D.安全性约束 16.描述数据库中全体数据的全局逻辑结构和特征的是()。案:D A.外模式 B.内模式 C.存储模式 D.概念模式 17.不能在()中创建一个程序文件。 答案:C A.“文件”/“新建” 精心收集 精心编辑 精致阅读 如需请下载! 答答 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 B.项目管理器 C.数据工作期 D.命令窗口 18.用二维表格来表示实体之间联系的模型称为()。 答案:C A.层次模型 B.网状模型 C.关系模型 D.概念模型 19.关系表中的每一行称为一个()。 答案:A A.元组 B.字段 C.属性 D.码 20.下列关于关系模型的说法正确的是()。 答案:B A.当需要索引时列的次序非常重要 B.列的次序无关紧要 C.关键字必须指定为第一列 D.列的次序非常重要 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 21.Visual Foxpro项目管理器的“文档”选项卡不包含()。 答案:B A.表单 B.程序 C.标签 D.报表 22.Visual Foxpro项目管理器的“运行”按钮可以执行(案:C A.查询、标签或表单 B.程序、表单或标签 C.查询、表单或程序 D.标签、查询或程序 第三章选择题: 1.有如下赋值语句,合法的表达式是()。 X=MONTH(DATE()) Y=“月” 答案:A A.STR(X)-Y B.X+Y C.X-STR(Y) D.LEFT(X,2)+Y 精心收集 精心编辑 精致阅读 如需请下载! 文件。答) 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 2.下列表达式中,表达式返回结果为.T.的是()。 答案:A A.[亚运会]$“2010年广州亚运会” B.TYPE(“12/25/10”)=“d” C.ROUND(12.66,0)=INT(12.66) D.LEN(STR(6))=6 3.下列函数返回值为数值型的是()。 A.CTOD() B.STR() C.DATE() D.SQRT() 4.下列函数返回值为日期型的是()。 A.CTOD() B.DTOC() C.ROUND() D.TYPE() 5.下列表达式中,结果为.T.的是()。 A.LEN(“123”)=LEN(SPACE(3)) B.INT(5/3)=5/3 C.TYPE(“12/25/10”)=“d” 精心收集 精心编辑 精致阅读 答案:D 答案:A 答案:A 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 D.ROUND(12.66,0)=INT(12.66) 6.设A=“123”,B=“234”,则下列表达式的运算结果为.F.的是()。 答案:C A.NOT A=B OR B$“13579” B.NOT A$“ABC” AND A<>B C.NOT A<>B D.NOT A>=B 7.已知A=“.T.”,B=A,则执行下行命令的结果是()。 ? TYPE(“B”),TYPE(B)答案:B A.C C B.C L C.L C D.L L 8.表达式“INT(5.27*2)%ROUND(3.56,0)”的值是()。 答案:C A.0 B.1 C.2 D.3 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 9.设数值型变量M是3的倍数,则以下()表达式值为.T.。 答案:B A.MOD(M,3)=1 B.INT(M/3)=M/3 C.M%3=1 D.EMP(M,3)=1 10.下列表达式结果为数值型的是()。 答案:A A.MONTH({^2010/12/25}) B.SPACE(5)-SPACE(3) C.1+1=2 D.LEFT(“20101225”,3) 11.已知变量X的值为.T.,变量Y和Z的值均为.F.,则下列表达式值为.T.的是()。 答案:B A.NOT X AND Y OR Z B.X OR NOT Z AND Y C.Z AND X OR Y D.Y AND Z OR NOT X 12.设X=“0.25E2”,Y=“0.25E4”,则表达式VAL(Y)+VAL(X)的值为()。 答案:D A.0.2525 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 B.0.25E20.25E4 C.0.50 D.2525.00 13.有如下赋值语句,表达式结果为“VFP考试”的是()。 A=“等级考试” B=“VFP” 答案:A A.B-SUBSTR(A,5,4) B.B+SUBSTR(A,3,2) C.B+RIGHT(A,2) D.B-LEFT(A,2) 14.下列表达式结果为.F.的是()。 答案:A A.AT(“VFP”,“BCD”)<0 B.“国家”$“中国是一个多民族的国家” C.ROUND(12.567,0)>12 D.LEN(“数据库”)=LEN(SPACE(6)) 15.下列表达式结果不是逻辑型的是()。 答案:B A.FOUND() B.CTOD('01/01/96') C.EMPTY(5) 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 D.BOF() 16.下列表达式结果为数值型的是()。 答案:D A.TYPE(“TIME()”) B.CTOD(DTOC(DATE())) C.DATE() D.MONTH({^2011/06/11}) 17.如果变量D=[06/11/2011],命令 ?TYPE(D)的结果为()。 答案:B A.C B.N C.D D.U 18.设A=“123”,B=“234”,则下列表达式的运算结果为.F.的是()。 答案:C A.NOT A=B OR B$“13579” B.NOT A$“ABC” AND A<>B C.NOT A<>B D.NOT A>=B 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 19.已知 A=“12”,B=“10”,C=20,下列表达式中正确的是()。 答案:A A.A+B B.B*C C.A+&B D.B-C 20.下列表达式中错误的是()。 答案:C A.{^2011-06-11}-20 B.{^2011-06-11}+20 C.{^2011/06/11}+{^2011/06/01} D.{^2011/06/11}-{^2011/06/01} 21.设N=“123.45”,表达式 10+&N 的值是()。 A.133.45 B.123.45 C.123.4510 D.10123.45 22.结果为.T.的表达式是()。 答案:A A.“abc” $ “abdabcabd” B.“abc” $ “abdcabd” 精心收集 精心编辑 精致阅读 如需请下载!答案:A 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 C.“abcde” $ “abc” D.“ABC” $ “abc” 23.表达式 2*4^2+3*4/2+2^3 值是()。 答案:C A.64 B.49 C.46 D.30 第四章 选择题 1.已知STU.DBF是记录数为 0 的数据表,执行下列命令的结果是()。 USE STU ? EOF(),BOF()答案:C A..T..F.B..F..F.C..T..T.D..F..T.2.参照完整性的规则不包括()。 答案:D A.删除规则 B.插入规则 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 C.更新规则 D.检索规则 3.在Visual Foxpro中,建立数据表时,将某字段值限制在0-100之间的这种约束属于()。 答案:A A.域完整性约束 B.实体完整性约束 C.参照完整性约束 D.视图完整性约束 4.Visual Foxpro参照完整性规则中的更新规则不包括()。 答案:B A.级联 B.触发 C.限制 D.忽略 5.设置两个数据表之间的数据参照完整性时要求这两个数据表是()。 答案:A A.同一个数据库中的两个表 B.两个自由表 C.一个自由表和一个数据库表 D.没有限制 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 6.在数据库设计器中,建立两个表之间的一对多联系要求()。 答案:A A.父表建立主索引或候选索引,子表建立普通索引 B.父表建立主索引,子表建立普通索引或候选索引 C.父表建立普通索引,子表建立主索引或候选索引 D.父表建立普通索引,子表建立主索引或普通索引 7.若某一数据表中的某字段已包含有重复数据,则在该字段上能够建立()索引。 答案:D A.候选索引或普通索引 B.主索引或唯一索引 C.主索引或候选索引 D.普通索引或唯一索引 8.在自由表设计器中能够建立()。 答案:C A.候选索引、主索引或普通索引 B.主索引、普通索引或唯一索引 C.唯一索引、普通索引或候选索引 D.唯一索引、主索引或候选索引 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 9.对姓名(字符型)和性别(字符型)两个字段进行组合索引,索引表达式是()。 答案:D A.姓名+STR(性别) B.STR(姓名)+性别 C.STR(姓名)+STR(性别) D.姓名+性别 10.在Visual FoxPro中,建立索引的作用之一是()。 答案:D A.提高修改速度 B.节省存储空间 C.提高更新速度 D.提高检索速度 11.某数据表中共有10条记录,若当前记录号为7,执行命令DISPLAY NEXT 4 后,再调用函数EOF()的返回值为()。 答案:C A.9 B.10 C..F.D..T.12.若TABLE1.DBF有10条记录,执行下列命令序列后,显示结果为 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 ()。 USE TABLE1 LIST SKIP-3 ? RECNO()答案:A A.8 B.7 C.10 D.11 13.打开某个记录数为 0 的数据表,函数EOF()的返回值(案:C A.0 B..F.C..T.D.1 14.打开某个记录数为 0 的数据表,函数BOF()的返回值(案:C A.0 B..F.C..T.精心收集 精心编辑 精致阅读 如需请下载! 答 答)) 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 下列关于表 精心收集 精心编辑 精致阅读 如需请下载! D.1 15. 第一部分:程序入门 一级 一、选择结构(IF-ELSE-ENDIF)语句格式:IF〈条件〉 〈语句序列1〉 [ ELSE 〈语句序列2〉] ENDIF 说明:IF和ENDIF必须配对使用,而ELSE可选。三个语句应各占一行。若省略ELSE子句,条件为真时,则执行〈语句序列1〉,然后再执行ENDIF后的语句;否则,若条件为假,即执行ENDIF后的语句。 二、循环结构 1、条件循环: 语句格式: DO WHILE 〈条件表达式〉 〈语句序列1〉 [ LOOP] 〈语句序列2〉 [ EXIT ] 〈语句序列3 〉 ENDDO 说明:系统执行该语句时,先测试条件表达式的值,若为真,则执行循环体,在循环体中修改循环条件,直到条件为假时,脱离循环,执行循环体ENDDO后的语句。若遇到LOOP语句,则直接返回执行DO语句,测试条件以决定是否继续循环。若执行循环体时遇到EXIT语句,则不执行下面的语句,直接跳出循环,执行ENDDO后面的语句。 注意:DO WHILE 必须和ENDDO配合使用,两者缺一不可,DO WHILE语句前一定要有条件变量的初始值。 2、计数循环 FOR 〈循环变量〉=〈循环初值〉TO 〈循环终值〉[STEP〈步长〉] 〈语句序列1〉 [LOOP] 〈语句序列2〉 [EXIT] 〈语句序列3〉 ENDFOR/NEXT 说明:使用和DO WHILE 基本一致,注意步长和ENDFOR语句。 三、程序举例: A.Eg:求出[10,100]内所有能被2整除的整数的和(2530),个数(46)set talk off clear 简单整除,求和求个数。n=0 &&设置计数变量 s=0 &&设置求和变量 I=10 &&设置循环变量 Do while I<=100 &&循环开始及结束 if mod(i,2)=0 &&判断整除条件 n=n+1 &&满足条件计数变量加1 s=s+i &&满足条件,求和变量增加 endif &&结束条件 I=I+1 &&循环变量累加 Enddo &&此句使循环回到 do while 处 ? n,s &&输出结果 set talk on return A1.求出[10,100]内所有能被7和9中至少一个数整除的整数的个数(22),和(1250).A2.求出[10,100]内所有能被7但不能被9整除的整数的个数(12),(665) A3.求出[10,100]内所有能被7和9中的一个且只有一个数整除的整数的个数(21),(1187) A4.编写程序,求出1~7000以内能被3或者7整除的数的个数(3000)。A5.编写程序,求[1,500]既能被6整除又能被7整除的数之和。(2772)A6.求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。(162) A7.将大于1000且能被3和5中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。(20465)set talk off clear k=1 s=0 &&设置求和变量 x=1000 do while k<=20 x=x+1 if mod(x,3)=0 or mod(x,5)=0 s=s+x &&满足条件,求和变量增加 k=k+1 endif enddo ? s set talk on return A9 将小于2000且能被4和6中至少一个数整除的所有整数按从小到大顺序排列后,求最后20个数之和。(39390)B类: 简单余数 Eg: 编写程序,求出100到500之间同时满足除5余4和除7余2条件的数的个数及和。(12)(3678)Set talk off S=0 N=0 I=100 Do while I<=500 If mod(I,5)=4 and mod(I,7)=2 S=s+I N=n+1 Endif I=I+1 Enddo ?n,s set talk on return B!.编写程序,求在10~1000之间所有能被4除余2,被7除余3,被9除余5的数之和。2000 B2.求出[200,800]内被除3余1并且被除5余3的整数的和。20020 C类:退出控制 Eg: 编写程序,求出1到6000之间的能被5整除的前若干个偶数之和,当和值大于650时退出并输出和值。660 Set talk off S=0 For I=1 to 6000 If mod(I,5)=0 and mod(I,2)=0 S=s+I Endif If s>650 Exit Endif Endf ?s C1: 编写程序,求出1到5000之间的能被7整除的前若干个数之和,当和值大于等于1500时退出并输出和值。1617 C2: 编写程序,已知:S=2+4+8+16+32+„,求S不大于980的最大值。510 Set talk off S=0 For I =1 to 1000 X=2*i S=s+x ?x,s If s>980 Exit Endif Endf ?s-x C3: 编写程序,已知:S=1+3+5+7+9+„,求S不大于1000的最大值。961 C4: 编写程序,已知:S=2+4+8+16+32+„,求S不大于9000的最大值。8190 C5.已知数列:1,2,4,7,11,16,„,其规律是相邻两项之差依次是1,2,3,4,5,„。试求出此数列中大于5000的最小的项。5051 C6.求出50以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。(18)set talk off clear s=0 for n=1 to 50 s=s+1/n &&先求倒数再求和 if s>=3.5 exit &&退出循环 endif endfor ? n-1 &&为什么? return C7: 求出50以内最小的自然数n,使得从1开始的连续n个自然数的倒数之和大于3.6(21)C8: 求出50以内最小的自然数n,使得从1开始的连续n个自然数的立方和小于20000(16) C9.求出50以内最大的自然数n,使得从101开始的连续n个奇数之和小于2000。(17)set talk off clear s=0 for n=1 to 50 a=99+2*n s=s+a if s>2000 exit endif endfor ? n-1 return C10.求出100以内使得算式1/(1*2)+1/(2*3)+„+1/(n*(n+1))的值小于0.952的最大的自然数n。19 C11.某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一翻。2024 set talk off clear s=1 for n=2001 to 2100 s=s*1.03 if s=2 &&应改为 if s>=2 loop &&应改为 exit endif endfor ? n set talk on return C12.某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。18 C13.一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最小的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程超过678米。13 set talk off clear h=100 s=0 应改为: s=100 for n=2 to 100 h=h*3/4 s=s+h 应改为: s=s+2*h if s>678 exit endif endfor ? n set talk on return C14.一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最大的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程不超过590米。6 第二部分:算法举例 D类:多循环控制 穷举法:穷举法就是将所有可能的方案都一一测试,找出其中符合指定要求的。 Eg.把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问有多少种方案?(461) set talk off clea n=0 for yi=1 to 100 && 1分的最少1枚,最多100枚。for er=1 to 50 for wu=1 to 20 if yi+er*2+wu*5=100 n=n+1 endif endfor endfor endfor ? n set talk on return d1.把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后硬币总数最多的与硬币总数最少的枚数之差是多少?(73)d2.把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后其中 二分的硬币恰有20枚的方案共有多少种?(11)d3.有60个学生一起买小吃,共花钱100元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种 不同的解(去掉某类学生为0的)? 19 D4.有5羊4犬3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,2羊3犬5鸡1兔值钱861,求兔值多少钱?(鸡13, 兔29 犬121, 羊177)(修改并调试下列程序) set talk off for y=1 to 300 for c=1 to 400 for j=1 to 500 for t=1 to 400 if 5*y+4*c+3*j+2*t=1496 and 4*y+2*c+6*j+3*t=1175; 3*y+1*c+7*j+5*t=958 and 2*y+3*c+5*j+1*t=861 ? y,c,j,t endif endf endf endf endf set talk on E类:简单位数运算 Eg:编写程序,求三位数的奇数中,所有各位数字之和是15的倍数的数的和。19731 Set talk off S=0 For I=100 to 999 A=int(I/100)B=int(mod(I,100)/10)C=mod(I,10)If mod(I,2)=1 and mod(a+b+c,15)=0 S=s+I Endif Endf ?s e1: 编写程序,求三位数的奇数中,所有各位数字之和是12的倍数的数的个数。38 e2: 编写程序,求三位数的偶数中,所有各位数字之和是15的倍数的数的个数。34 e3: 编写程序,计算在0~50的范围内有多少个数,其每位数的乘积小于每位数的和。26 e4: 编写程序,计算1000以内有多少个这样的数,其个位数为6且该数能被9整除。11 e5: 编写程序,统计200~400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数 4 e6: 编写程序,求四位数的偶数中,所有各位数字之和是24的倍数的数的个数。187 set talk off n=0 for I=1000 to 9999 a=int(i/1000)b=int(mod(I,1000)/100)c=int(mod(I,100)/10)d=mod(I,10)if mod(I,2)=0 and mod(a+b+c+d,24)=0 n=n+1 endif endf ?n e7: 编写程序,求四位数的奇数中,所有各位数字之积(且不为0)是125的倍数的数的和。161095 e8: 编写程序,求在四位数的偶数中,所有各位数字之积(且不为0)是18的倍数的数的和。8638596 e9: 编写程序,计算100-10000以内个位上的数小于百位上的数的所有数之和。23314500(改错并调试下列程序)set talk off clea n=100 for i=100 to 10000 bw=mod(i,1000)gw=mod(i,10)if gw F类:回文数 Eg:所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出100-200的范围内所有回文数的和。1460 Set talk off S=0 For I=100 to 200 A=int(i/100)B=int(mod(I,100)/10)c=mod(I,10)If a=c S=s+i endif endf ?s f1: 所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求在100-900的范围内所有能被3整除的回文数的个数。26 f2: 所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,计算从1981年开始到3000年为止,共有多少个年号是回文数年号。11 f3: 求出[123,456]内恰好有两个数字相同的所有整数之和。26406(改正并调试下列程序)set talk off clear s=0 for x=123 to 456 a=int(x/100)b=int((x-a*100)/10)c=mod(x,1)if a=b and a!=c or a!=b and a=c s=s+x endif endfor ? s set talk on return G 类:水仙花数 Eg: “水仙花数”是指这样的数,其各位数字的立方和等于该数本身。编写程序求100至400的范围内有多少个水仙花数。3 Set talk off n=0 For I=100 to 400 A=int(i/100)B=int(mod(I,100)/10)c=mod(I,10)If a^3+b^3+c^3=i N=n+1 endif endf ?n g1: “水仙花数”是指这样的数,其各位数字的立方和等于该数本身。编写程序求100至999的范围内有多少个水仙花数。4 g2: “水仙花数”是指这样的数,其各位数字的立方和等于该数本身。编写程序,计算从100年开始到2000年为止,共有多少个年号是水仙花数年号。4 g3: 设某四位数的各位数字的平方和等于198,问满足这种条件的最大数和最小数之和是多少?12749(改正并调试下列程序)set talk off clea min1=1000 max1=1000 for x=1000 to 9999 a=int(x/1000)b=int((x-a*1000)/100)c=int(x/100)/10 d=mod(x,10)if a*a+b*b+c*c+d*d=198 if max1 H类:位数及多条件运算 Eg: 编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。110 set talk off n=0 for I=1000 to 9999 a=int(i/1000)b=int(mod(I,1000)/100)c=int(mod(I,100)/10)d=mod(I,10)if mod(I,8)=0 and a+b=b+c n=n+1 endif endf ?n h1: 编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是18的倍数,且C=7,A+B=C+D,即第1位数加上第2位数等于第3位数加上第4位数。9 h2: 编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。该四位数是一个完全平方数,且其第1位与第3位数字之和为10,第2位与第4位数字之积为12。2 set talk off n=0 for I=1000 to 9999 a=int(i/1000)b=int(mod(I,1000)/100)c=int(mod(I,100)/10)d=mod(I,10)if a+c=10 and b*d= 12 and int(sqrt(i))=sqrt(i)&&注意判定完全平方数 n=n+1 ? i endif endf ?n h3: 编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。该数是一个完全平方数,且其第1、2位数字之和为10,第3、4位数字之积为18。1 h4: 求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较大的一个数。(提示:设A<=B,当A越大时A+B越小)953 set talk off clear c=54321 k=int(sqrt(c))for a=1 to k b=int(c/a)if a*b=c max=b endif endfor ? max set talk on return h5: 求满足条件A*B=54321的所有自然数对A、B对应的A+B的最小值。(提示:设A<=B,当A越大时A+B越小)1010 h6: 设a=234,b=569,求a/b的精确值中小数点后前40位数字中数字8的个数。(提示:基于人工计算的思想)6 set talk off clear a=234 b=569 n=0 for k=1 to 40 a=a*10 q=int(a/b)if q=8 n=n+1 endif a=mod(a,b) &&余数是下次运算时的被除数 endfor ? n set talk on return h7: 求出将十进制整数98765432等值转换为二进制形式表示后其中数字0的个数。(提示:模拟人工计算的“2除取余”法)14 h8: 求出将十进制整数99887766554等值转换为十六进制形式表示后其中字母C的个数。(提示:模拟人工计算的“16除取余”法)2 h9: 对自然数A、B、C,若A if a*a+b*b=c*c and a &&排除A、B交换的情况。 n=n+1 endif endfor ? n set talk on return h10: 对自然数A、B、C,若A0 and min>z &&取最小值并保证都是正数解 ?min min=z endif endfor ? min set talk on return h14: 求方程9x+4y=2000的所有正整数解的|x-y|的最大值。487 h15: 找满足以下条件: X^2+Y^2=41^2 且X+Y之值最大的二个正整数X,Y, 求X+Y之值.49 h16: 对自然数A、B、C,若A Eg: 编写程序,求一正整数等差数列的前三项的和,该数列前四项之和是 26、之积是880。15 clea set talk off for a1=1 to 7 for d=1 to 7 if a1+(a1+d)+(a1+2*d)+(a1+3*d)=26 and a1*(a1+d)*(a1+2*d)*(a1+3*d)=880 ?a1,d ?a1+(a1+d)+(a1+2*d)endif endf endf i1: 编写程序,求一正整数等差数列的前五项的立方和,该数列前四项之和是 26、之积是880。4720 i2: 已知数列:1、2、4、7、10、15、„,其特点是:相邻两项之差恰好构成自然数列:1、2、3、4、5、„。求此数列的前100项中能被4整除的项的个数。25(改正并调试下列程序)set talk off clear a=1 k=0 for n=1 to 100 a=a+n if mod(n,4)=0 k=k+1 endif endfor ? k set talk on return J类:完数 Eg: 一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。496 set talk off clea s=0 for i=200 to 500 k=0 && k是因子的和变量 for a=1 to i-1 && a是I的真因子 if mod(i,a)=0 k=k+a endif endf if k=I && I的因子求完后,看因子和是否等于原来的数i ?I &&显示有几个完数 s=s+i endif endf ?s j1: 一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出1000以内的完数的个数。3 j2: 一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,求出1000以内的所有完数的平方和。246836 K类:递推 Eg: 已知一个数列的前3个数为0,0,1,以后每个数为前3个数的和,编程序求此数列的第36个数。334745777 set talk off clea f1=0 f2=0 f3=1 for i=4 to 36 f4=f1+f2+f3 f1=f2 f2=f3 f3=f4 endf ?f4 k1: 已知一个数列的前3个数为1,2,3,以后每个数为前3个数的和,编程序求此数列的第20项 101902 k2: 已知一个数列的前3个数为3,4,5,以后每个数为前3个数的和,编程序求此数列的第33项.537346739 k3: 设一数列{f(n)}:f(1)=1,当n>1时f(n)=1/(f(n-1)+1)。试求出此数列的前20项中大于0.618的项的数目。15 (改正并调试下列程序)set talk off clear f=1.00000000 n=0 for k=2 to 20 f=1/f+1 if f>0.618 n=n+1 endif * ? k,f,n endfor ? n set talk on return k4: 设有用26个字母表示的26个表达式:a=1,b=1/(a+1),c=1/(b+2),„,z=1/(y+25)。试求出这26个字母中其值小于0.1的字母个数。16(改正并调试下列程序)set talk off clear lett=1 n=0 for k=1 to 26 lett=1/(lett+k)if lett<0.1 n=n+1 endif endfor ? n set talk on return k5: 已知数列{f(n)}:f(1)=1,f(2)=4,当n=3,4,5,„时,f(n)=3*f(n-1)-f(n-2)。试求出100以内最大的自然数n使得此数列的前n项之和首次大于75364321。19(改正并调试下列程序)set talk off clear dimension f(100)&& 递推可能用数组的方法解决。f(1)=1 f(2)=4 s=0 for n=3 to 100 f(n)=3*f(n-1)-f(n-2)s=s+f(n)if s<75364321 loop endif endfor ? n set talk on return L类:因子 eg: 已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数的个数。19 set talk off clea c=0 && c是累计个数的。for n=100 to 300 s=0 for i=1 to n && I是n的所有因子。if mod(n,i)=0 s=s+1 && s是某个n的因子总个数 endif endfor if mod(n,s)=0 ?n c=c+1 endif endfor ? c set talk on return l1: 已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[200,300]之间能被其因子数目整除的数中且能被3整除的数之和 1713 l2: 求出45678的所有非平凡因子(即除1和它本身以外的约数)中奇数的个数。7(改正并调试下列程序)set talk off clear a=45678 n=0 for b=3 to a step 2 if mod(b,a)=0 n=n+1 endif endfor ? b set talk on return M类:最大公约数 Eg: 求出179869和196037的最大公约数。2021 set talk off clear a=179869 b=196037 c=0 for d=2 to a if mod(a,d)=0 and mod(b,d)=0 c=max(c,d)?c endif endfor set talk on return m1: 求出20677和42067的最大公约数 713 N类:最小公倍数 Eg: 求出9269和8671的最小公倍数。[ 算法提示:a与b的最小公倍数是a的倍数中第1个被b整除的数 ] 268801 set talk off clear a=9269 b=8671 for k=a to a*b step a &&为什么? if mod(k,b)=0 exit &&为什么保证了最小公倍数。endif endfor ? k set talk on return O类:素数 素数函数: function p para x flag=1 for k=2 to int(sqrt(x)) if mod(x,k)=0 flag=0 exit endi endf retu flag Eg : 编写程序,求出3到200之间的所有非偶数非素数的数之和。5774 clea set talk off s=0 for i=3 to 200 if p(i)=0 and mod(i,2)=1 s=s+i endif endf ?s function p para x flag=1 for k=2 to int(sqrt(x)) if mod(x,k)=0 flag=0 exit endi endf retu flag o1: 编写程序,求出3到100之间的所有非偶数非素数的数的个数。25 o2: 所谓素数是指这样的自然数,除1和它本身外不再有其它因子。编写程序,计算从1981年开始到3000年为止,我们将遇到多少个素数年号。131 o3: 梅森尼数是指能使2^n-1为素数的数n,求[1,21]范围内的梅森尼数的个数?14(改正并调试下列程序)set talk off clea n=0 s=2 for x=2 to 21 s=s*2 flag=1 for i=1 to int(sqrt(x))if mod(s-1,i)=0 flag=0 exit endif endfor if flag=0 n=n+1 endif endfor ? n return 完第二篇:VFP程序题
第三篇:vfp程序题总结
第四篇:二级VFP模拟选择题(小编推荐)
第五篇:一级程序(教学用)VFP