VFP 设计题
1----*打开考生文件夹下的prog1.prg,用自定义函数求任意给定数的阶乘。设计自定义函数部分,输入11 看运行结果。 *PROG1.PRG CLEAR
STORE 0 TO K,JC
@5,10 SAY \"输入要计算阶乘的数:\" GET K READ
HS=JSJC(K)
@7,10 SAY STR(K)+\"的阶乘是\"+ALLTRIM(STR(HS)) SET DEVICE TO FILE Pout1.dat @0,0 SAY STR(HS)
SET DEVICE TO SCREEN &&以上四句不要改动,也不用考虑! RETURN
FUNCTION JSJC PARAMETERS N P=1
FOR I=1 TO N P=P*I ENDFOR RETURN P
2---*打开考生文件夹下的prog2.prg,用过程求任意给定三个合理的边,求三角形面积。设计过程部分,输入5、7、9 看运行结果。 *PROG2.PRG CLEAR
STORE 0 TO A,B,C,D
@5,10 SAY \"输入三角形第一边长:\" GET A @7,10 SAY \"输入三角形第二边长:\" GET B @9,10 SAY \"输入三角形第三边长:\" GET C READ
DO TRAEAR WITH A,B,C,D
@13,10 SAY \"三角形的面积是\"+STR(D,7,4) SET DEVICE TO FILE Pout2.dat @0,0 SAY STR(D,7,4)
SET DEVICE TO SCREEN &&以上三句不要改动,也不用考虑! RETURN
PROCEDURE TRAEAR PARAMETERS X,Y,Z,M L=(X+Y+Z)/2
M=SQRT(L*(L-X)*(L-Y)*(L-Z)) RETURN
3----*打开考生文件夹下的prog3.prg,用自定义函数求任意给定合理的三边,求三角形面积。设计字定义函数部分,输入5、7、9 看运行结果。 *PROG3.PRG CLEAR
STORE 0 TO A,B,C,D
@5,10 SAY \"输入三角形第一边长:\" GET A @7,10 SAY \"输入三角形第二边长:\" GET B @9,10 SAY \"输入三角形第三边长:\" GET C READ
D= TRAEAR (A,B,C)
@13,10 SAY \"三角形的面积是\"+STR(D,7,4) SET DEVICE TO FILE Pout3.dat @0,0 SAY STR(D,7,4)
SET DEVICE TO SCREEN &&以上三句不要改动,也不用考虑! RETURN
FUNCTION TRAEAR PARAMETERS X,Y,Z L=(X+Y+Z)/2
M=SQRT(L*(L-X)*(L-Y)*(L-Z)) RETURN M
4----*打开考生文件夹下的prog4.prg,用过程求任意给定数的阶乘。设计过程部分,输入11 看运行结果。 *PROG4.PRG CLEAR
STORE 0 TO K,JC
@5,10 SAY \"输入要计算阶乘的数:\" GET K READ
DO JSJC WITH K,JC
@7,10 SAY STR(K)+\"的阶乘是\"+ALLTRIM(STR(JC)) SET DEVICE TO FILE Pout4.dat @0,0 SAY STR(JC)
SET DEVICE TO SCREEN &&以上三句不要改动,也不用考虑! RETURN
PROCEDURE JSJC PARAMETERS N,P P=1
FOR I=1 TO N P=P*I ENDFOR RETURN
5---*打开PROG5.PRG,设计一个能统计输入字符串中的数字、空格和其他字符个数的程序。设计DO CASE部分,输入\"Visual FoxPro 6.0\"看运行结果。 *PROG5.PRG CLEAR
STORE 0 TO SZ,KG,QT
ACCEPT \"请输入字符串:\" TO ZFC &&字符串输入命令 FOR I=1 TO LEN(ZFC) ZF=SUBSTR(ZFC,I,1) ZFZ=ASC(ZF) DO CASE
CASE ZFZ>=48 AND ZFZ<=57 SZ=SZ+1 CASE ZFZ=32 KG=KG+1 OTHERWISE
QT=QT+1 ENDCASE ENDFOR ?\"数字;\ ?\"空格:\ ?\"其他:\
SET DEVICE TO FILE pout5.dat @0,0 SAY SZ @1,0 SAY KG @2,0 SAY QT
SET DEVICE TO SCREEN &&以上五句不要改动,也不用考虑! RETURN
*提示:\"0\"的ASCII值是48,\"空格\"的ASCII值是32,
6---*打开PROG6.PRG,设计一个能统计输入字符串中的数字、大写字符和其他字符个数的程序。设计DO CASE部分,输入\"Visual FoxPro 6.0\"看运行结果。 *PROG6.PRG CLEAR
STORE 0 TO SZ,DXZF,QT
ACCEPT \"请输入字符串:\" TO ZFC &&字符串输入命令 FOR I=1 TO LEN(ZFC) ZF=SUBSTR(ZFC,I,1) ZFZ=ASC(ZF) DO CASE
CASE ZFZ>=48 AND ZFZ<=57 SZ=SZ+1
CASE ZFZ>=65 AND ZFZ<=90 DXZF=DXZF+1 OTHERWISE
QT=QT+1
ENDCASE ENDFOR
?\"数 字;\ ?\"大写字符:\ ?\"其 他:\
SET DEVICE TO FILE pout6.dat @0,0 SAY SZ @1,0 SAY DXZF @2,0 SAY QT
SET DEVICE TO SCREEN &&以上五句不要改动,也不用考虑! RETURN
*提示:\"0\"的ASCII值是48,A的ASCII值是65。
7----*任意给定一个正整数N,求S=1+2+....+N-1+N的值。打开PROG7.PRG,请用DO循环语句完成设计,并用N=101运行该程序。 *PROG7.PRG CLEAR S=0 I=1
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ
DO WHILE I<=N S=S+I I=I+1 ENDDO
@12,10 SAY\"1---\"+ALLTRIM(STR(N))+\"的和是:\"+ALLTRIM(STR(S)) SET DEVICE TO FILE pout7.dat @0,0 say alltrim(str(s))
SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN
8---*打开prog8.设计用过程计算1到给定数N之间的偶数和,用计数循环设计过程部分。用120试运行。 *PROG8.PRG CLEAR T=0
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ
DO JS WITH N,T
@12,10 SAY \"1--\"+ALLTRIM(STR(N))+\"之间的偶数和是:\"+ALLTRIM(STR(T)) SET DEVICE TO FILE pout8.dat @ 0,0 SAY ALLTRIM(STR(T))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
PROCEDURE JS PARAMETERS X,Y
FOR I=1 TO X IF INT(I/2)<>I/2 LOOP ENDIF Y=Y+I ENDFOR RETURN
9---*打开prog9.设计用自定义函数计算1到给定数N之间的奇数和,用DO循环设计自定义函数部分。用120试运行。 *PROG9.PRG CLEAR
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ JG=JS(N)
@12,10 SAY \"1--\"+ALLTRIM(STR(N))+\"之间的奇数和是:\"+ALLTRIM(STR(JG)) SET DEVICE TO FILE pout9.dat @ 0,0 SAY ALLTRIM(STR(JG))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
FUNCTION JS PARAMETERS X Y=0 I=0
DO WHILE I< X I=I+1
IF INT(I/2)=I/2 LOOP ELSE Y=Y+I ENDIF ENDDO RETURN Y
10---*打开prog10.PRG.设计用过程计算S=1!+2!+...+N!,用计数循环设计过程部分。用10试运行。
*PROG10.PRG CLEAR
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ M=0
FOR K=1 TO N W=0
DO JC WITH K,W M=M+W ENDFOR
@12,10 SAY \"1--\"+ALLTRIM(STR(N))+\"之间的阶乘和是:\"+ALLTRIM(STR(M)) SET DEVICE TO FILE pout10.dat @ 0,0 SAY ALLTRIM(STR(M))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
PROCEDURE JC PARAMETERS X,Y Y=1
FOR I=1 TO X Y=Y*I ENDFOR RETURN
11---*打开prog11.PRG.设计用自定义函数计算S=1!+2!+...+N!,用DO循环设计函数部分。用10试运行。 *PROG11.PRG CLEAR
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ M=0
FOR K=1 TO N W=JC(K) M=M+W ENDFOR
@12,10 SAY \"1--\"+ALLTRIM(STR(N))+\"之间的阶乘和是:\"+ALLTRIM(STR(M)) SET DEVICE TO FILE pout11.dat @ 0,0 SAY ALLTRIM(STR(M))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
FUNCTION JC PARAMETERS X Y=1 I=1
DO WHILE I<=X Y=Y*I I=I+1 ENDDO RETURN Y
12---*打开PROG12.PRG,设计一个能统计输入字符串中的小写字符、数字和其他字符个数的程序。设计DO CASE部分,输入\"Visual FoxPro 6.0\"看运行结果。
*PROG12.PRG CLEAR
STORE 0 TO SZ,XXZF,QT
ACCEPT \"请输入字符串:\" TO ZFC &&字符串输入命令 FOR I=1 TO LEN(ZFC) ZF=SUBSTR(ZFC,I,1) ZFZ=ASC(ZF) DO CASE
CASE ZFZ>=48 AND ZFZ<=57 SZ=SZ+1
CASE ZFZ>=97 AND ZFZ<=122 XXZF=XXZF+1 OTHERWISE
QT=QT+1 ENDCASE ENDFOR
?\"数 字;\ ?\"小写字符:\ ?\"其 他:\
SET DEVICE TO FILE pout12.dat @0,0 SAY SZ @1,0 SAY XXZF @2,0 SAY QT
SET DEVICE TO SCREEN &&以上五句不要改动,也不用考虑! RETURN
*提示:\"0\"的ASCII值是48,\"a\" 的ASCII值是97,
13---*打开prog13.PRG.设计用过程计算S=1+(1+2)+(1+2+3)+...+(1+2+...+N),用计数循环设计过程部分。用10试运行。 *PROG13.PRG CLEAR
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ M=0
FOR K=1 TO N W=0
DO HH WITH K,W M=M+W ENDFOR
@12,10 SAY \"1--\"+ALLTRIM(STR(N))+\"之间的和之和是:\"+ALLTRIM(STR(M)) SET DEVICE TO FILE pout13.dat @ 0,0 SAY ALLTRIM(STR(M))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
PROCEDURE HH PARAMETERS X,Y Y=0
FOR I=1 TO X Y=Y+I ENDFOR RETURN
14---*打开prog14.PRG.设计用自定义函数计算S=1+(1+2)+(1+2+3)+...+(1+2+...+N),用DO循环设计函数部分。用10试运行。 *PROG14.PRG CLEAR
@10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ M=0
FOR K=1 TO N W=HH(K) M=M+W ENDFOR
@12,10 SAY \"1--\"+ALLTRIM(STR(N))+\"之间的和之和是:\"+ALLTRIM(STR(M)) SET DEVICE TO FILE pout14.dat @ 0,0 SAY ALLTRIM(STR(M))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
FUNCTION HH PARAMETERS X Y=0 I=1
DO WHILE I<=X Y=Y+I I=I+1 ENDDO RETURN Y
15---*打开PROG15.PRG,任给半径用过程计算园面积,用半径10运行,请设计过程部分。 *PROG15.PRG CLEAR YMJ=0
@5,10 SAY \"请输入半径:\" GET BJ DEFAULT 0 READ
DO js WITH BJ,YMJ
@7,10 SAY \"半径为\"+ALLTRIM(STR(BJ))+\"的园面积是:\"+ALLTRIM(STR(YMJ,9,4)) SET DEVICE TO FILE pout15.dat @0,0 SAY ALLTRIM(STR(YMJ,9,4))
SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑!
RETURN
PROCEDURE js
PARAMETERS R,S S=PI()*R*R
RETURN
16---*打开PROG16.PRG,任给半径用自定于函数计算园面积,用半径10运行,请设计函数部分。
*PROG16.PRG CLEAR YMJ=0
@5,10 SAY \"请输入半径:\" GET BJ DEFAULT 0 READ
YMJ=JS(BJ)
@7,10 SAY \"半径为\"+ALLTRIM(STR(BJ))+\"的园面积是:\"+ALLTRIM(STR(YMJ,9,4)) SET DEVICE TO FILE pout16.dat @0,0 SAY ALLTRIM(STR(YMJ,9,4))
SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN
FUNCTION js
PARAMETERS R S=PI()*R*R
RETURN S
17---*打开prog17.PRG.是用过程计算给定三个数的阶乘和,设计主程序的调用部分。用3,5,7运行。 *PROG17.PRG CLEAR M=0
@10,10 SAY \"输入第一个数:\" GET X DEFAULT 0 @12,10 SAY \"输入第二个数:\" GET Y DEFAULT 0 @14,10 SAY \"输入第三个数:\" GET Z DEFAULT 0 READ JC=0
DO JSJC WITH X,JC K1=JC
DO JSJC WITH Y,JC K2=JC
DO JSJC WITH Z,JC K3=JC
M=K1+K2+K3
@18,10 SAY \"计算结果是:\"+ALLTRIM(STR(M)) SET DEVICE TO FILE pout17.dat @ 0,0 SAY ALLTRIM(STR(M))
SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN
PROCEDURE JSJC PARAMETERS N,P P=1
FOR I=2 TO N P=P*I ENDFOR RETURN
18---*打开PROG18.PRG,设计任意输入一个华氏温度,要求输出摄氏温度,计算公式为:C=5/9(F-32),用摄氏120度运行。 *PROG18.PRG CLEAR
*-------------------------------------------------------------------- @5,10 SAY\"输入华氏温度:\" GET F DEFAULT 0 READ
C=5*(F-32)/9
*-------------------------------------------------------------------- ? C
SET DEVICE TO FILE pout18.dat @0,0 SAY ALLTRIM(STR(C,8,4))
SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN
19---*打开PROG19.PRG,设计解二元一次方程:AX*X+BX+C=0(A≠0)D的根R1,R2的要求部分。
*用A=8,B=9,C=1运行。 *PROG19.PRG CLEAR
@10,10 SAY \"输入二次项系数A:\" GET A DEFAULT 1 @12,10 SAY \"输入一次项系数B:\" GET B DEFAULT 0 @14,10 SAY \"输 入 常 数 项C:\" GET C DEFAULT 0 READ
*--------------------------------------- P=SQRT(B*B-4*A*C) R1=(-B+P)/(2*A) R2=(-B-P)/(2*A) ?\"R1=\?\"R2=\
*---------------------------------------- SET DEVICE TO FILE pout19.dat @0,0 SAY ALLTRIM(STR(R1,6,2)) @1,0 SAY ALLTRIM(STR(R2,6,2)) SET DEVICE TO SCREEN
RETURN
20---*打开PROG20.PRG,给定汉字字符串,输出内么最大的汉字,设计要求部分。用“程序设计基础考试“运行。 *PROG20.PRH CLEAR
X=SPACE(2)
ACCEPT \"输入汉字字符串:\" TO S *------------------------------------------------ FOR I=1 TO LEN(S) STEP 2 Y=SUBSTR(S,I,2) IF Y>X X=Y ENDIF ENDFOR
*---------------------------------------------------
@10,10 SAY \"输入的内码最大的汉字是:\"+X SET DEVICE TO FILE pout20.dat @0,0 SAY X
SET DEVICE TO SCREEN && 以上三句不要动,也不用考虑! RETURN
21---*打开PROG21.PRG,给定汉字字符串,输出内么最小的汉字,设计要求部分。用“程序设计基础考试“运行。 *PROG21.PRH CLEAR
X=\"座\" &&较大的机内码汉字 ACCEPT \"输入汉字字符串:\" TO S &&字符串输入语句 *--------------------------------------- FOR I=1 TO LEN(S) STEP 2 Y=SUBSTR(S,I,2) IF Y @10,10 SAY \"输入的内码最小的汉字是:\"+X SET DEVICE TO FILE pout21.dat @0,0 SAY X SET DEVICE TO SCREEN && 以上三句不要动,也不用考虑! RETURN 22---*打开prog22.prg,编写从输入的A字符串中去掉B字符串的程序,用A=\"信息技术基础\技术\"运行。 *PROG22.PRG CLEAR @10,10 SAY\"输入A字符串:\" GET A DEFAULT SPACE(50) @12,10 SAY\"输入B字符串:\" GET B DEFAULT SPACE(50) READ *----------------------------------- A=ALLTRIM(A) B=ALLTRIM(B) P=AT(B,A,1) X=SUBSTR(A,1,P-1)+SUBSTR(A,P+LEN(B)) *----------------------------------------------------------- @16,10 SAY X SET DEVICE TO FILE pout22.dat @0,0 SAY X SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 23---* 打开prog23.prg,任给4个数,要求由小到大输出,设计指定部分,用6,8,1,4看结果。 *PROG23.PRG CLEAR DIMENSION X(4) && 定义四个元素的一维数组 X=0 && 数组元素全赋0 I=1 DO WHILE I<=4 @10,10 SAY \"输入第\"+ALLTRI(STR(I))+\"个数:\" GET X(I) READ I=I+1 ENDDO IF X(1)>X(2) T=X(1) X(1)=X(2) X(2)=T ENDIF IF X(1)>X(3) T=X(1) X(1)=X(3) X(3)=T ENDIF IF X(1)>X(4) T=X(1) X(1)=X(4) X(4)=T ENDIF IF X(2)>X(3) T=X(2) X(2)=X(3) X(3)=T ENDIF IF X(2)>X(4) T=X(2) X(2)=X(4) X(4)=T ENDIF IF X(3)>X(4) T=X(3) X(3)=X(4) X(4)=T ENDIF ?X(1),X(2),X(3),X(4) SET DEVICE TO FILE pout23.dat @0,0 SAY ALLTRIM(STR(X(1))) @1,0 SAY ALLTRIM(STR(X(2))) @2,0 SAY ALLTRIM(STR(X(3))) @3,0 SAY ALLTRIM(STR(X(4))) SET DEVICE TO SCREEN &&以上6句不要动,也不用考虑! RETURN 24---*打开PROG24.PRG,设计计算P=N!/(N-R)!程序的指定部分,输入N=7,R=3 看结果。 *PROG24.PRG CLEAR @10,10 SAY \"输入N的值:\" GET N DEFAULT 0 @12,10 SAY \"输入R的值:\" GET R DEFAULT 0 READ P=JC(N)/JC(N-R) @14,10 SAY \"计算的结果:\" +ALLTRIM(STR(P,9,2)) SET DEVICE TO FILE pout24.dat @0,0 SAY ALLTRIM(STR(P,9,2)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN FUNCTION JC PARAMETERS K Y=1 FOR I=1 TO K Y=Y*I ENDFOR RETURN Y 25---*打开PROG25.PRG,数组M(4,4)装入1~16,求两条对角线数据的平方和,设计指定部 分。 *PROG25.PRG CLEAR DIMENSION M(4,4) K=1 FOR I=1 TO 4 FOR J=1 TO 4 M(I,J)=K K=K+1 ENDFOR ENDFOR S=0 *-------------------------- FOR I=1 TO 4 FOR J=1 TO 4 IF I=J .OR. I+J=5 S=S+M(I,J)*M(I,j) ENDIF ENDFOR ENDFOR *--------------------------- ? S SET DEVICE TO FILE pout25.dat @0,0 SAY ALLTRIM(STR(S)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑!RETURN 26---*打开PROG26.PRG,输入10个整数,求其中正数阶乘的和,设计指定部分,用1,-2,3,-4,5,-6,7,-8,9,-10运行看结果。 *PROG26.PRG CLEAR H=0 I=1 DO WHILE I<=10 @10,10 SAY \"输入第\"+ALLTRIM(STR(I))+\"个数:\" GET X DEFAULT 0 READ *------------------------------ I=I+1 IF X>0 H=H+JC(X) ENDIF ENDDO @12,10 SAY \"该10个数中,正数的阶乘和是:\"+ALLTRIM(STR(H)) SET DEVICE TO FILE pout26.dat @0,0 SAY ALLTRIM(STR(H)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN FUNCTION JC PARAMETERS K P=1 FOR I=1 TO K P=P*I ENDFOR RETURN P 27---*打开PROG27.PRG,设计“天平问题”(4个同样的球,有一个重量不同,称两次找到此球)的程序,编辑指定部分,用2,2,2,3试运行。 *PROG26.PRG CLEAR @10,10 SAY \"输入第一个球的重量:\" GET A DEFAULT 0 @12,10 SAY \"输入第二个球的重量:\" GET B DEFAULT 0 @14,10 SAY \"输入第三个球的重量:\" GET C DEFAULT 0 @16,10 SAY \"输入第四个球的重量:\" GET D DEFAULT 0 READ IF A=B IF A=C X=\"要找的是D。\" ELSE X= \"要找的是C。\" ENDIF ELSE IF B=C X=\"要找的是A。\" ELSE X=\"要找的是B。\" ENDIF ENDIF @18,10 SAY X SET DEVICE TO FILE pout27.dat @0,0 SAY X SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 28---*打开PROG28.PRG,找出100~1000间能被给定数整除的数个数N,设计指定部分,找出能被37整除的数。 *PROG28.PRG CLEAR @10,10 SAY \"给出指定的除数:\" GET X DEFAULT 0 READ N=0 FOR I=100 TO 1000 IF MOD(I,X)=0 N=N+1 ENDIF ENDFOR @12,10 SAY \"100~1000间,能被\"+ALLTRIM(STR(X))+\"整除的数有\"+ALLTRIM(STR(N))+\"个。\" SET DEVICE TO FILE pout28.dat @0,0 SAY ALLTRIM(STR(N)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 29--* 打开prog29.prg,任给4个数,要求由大到小输出,设计指定部分,用6,8,1,4看结果。 *PROG29.PRG CLEAR DIMENSION X(4) && 定义四个元素的一维数组 X=0 && 数组元素全赋0 I=1 DO WHILE I<=4 @10,10 SAY \"输入第\"+ALLTRI(STR(I))+\"个数:\" GET X(I) READ I=I+1 ENDDO IF X(1) IF X(3) SET DEVICE TO FILE pout29.dat @0,0 SAY ALLTRIM(STR(X(1))) @1,0 SAY ALLTRIM(STR(X(2))) @2,0 SAY ALLTRIM(STR(X(3))) @3,0 SAY ALLTRIM(STR(X(4))) SET DEVICE TO SCREEN &&以上6句不要动,也不用考虑! RETURN 30---*打开PROG30.PRG,输入5个整数,输出其中最大者,设计指定部分,用8,-10,-2,16,7运行看结果。 *PROG30.PRG CLEAR I=1 H=0 DO WHILE I<=5 @10,10 SAY \"输入第\"+ALLTRIM(STR(I))+\"个数:\" GET X DEFAULT 0 READ I=I+1 IF X>H H=X ENDIF ENDDO @12,10 SAY \"该5个数中,最大者是:\"+ALLTRIM(STR(H)) SET DEVICE TO FILE pout30.dat @0,0 SAY ALLTRIM(STR(H)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 31---*打开PROG31.PRG,输入5个整数,输出其中最小者,设计指定部分,用8,-10,-2,16,7运行看结果。 *PROG31.PRG CLEAR I=1 H=1E9 DO WHILE I<=5 @10,10 SAY \"输入第\"+ALLTRIM(STR(I))+\"个数:\" GET X DEFAULT 0 READ I=I+1 IF X SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 32---*打开prog32.PRG.是用自定义函数计算给定三个数的阶乘和,设计主程序的调用部分。用3,5,7运行。 *PROG32.PRG CLEAR M=0 @10,10 SAY \"输入第一个数:\" GET X DEFAULT 0 @12,10 SAY \"输入第二个数:\" GET Y DEFAULT 0 @14,10 SAY \"输入第三个数:\" GET Z DEFAULT 0 READ K1=JSJC(X) K2=JSJC(Y) K3=JSJC(Z) M=K1+K2+K3 @18,10 SAY \"计算结果是:\"+ALLTRIM(STR(M)) SET DEVICE TO FILE pout32.dat @ 0,0 SAY ALLTRIM(STR(M)) SET DEVICE TO SCREEN &&Y以上三句不要动,也不用考虑! RETURN FUNCTION JSJC PARAMETERS N P=1 FOR I=2 TO N P=P*I ENDFOR RETURN P 33---*打开PROG33.PRG,输入10个整数,求其中负数的立方和,设计指定部分,用1,-2,3,-4,5,-6,7,-8,9,-10运行看结果。 *PROG33.PRG CLEAR H=0 I=1 DO WHILE I<=10 @10,10 SAY \"输入第\"+ALLTRIM(STR(I))+\"个数:\" GET X DEFAULT 0 READ I=I+1 IF X<0 H=H+JC(X) ENDIF ENDDO @12,10 SAY \"该10个数中,负数的立方和是:\"+ALLTRIM(STR(H)) SET DEVICE TO FILE pout33.dat @0,0 SAY ALLTRIM(STR(H)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN FUNCTION JC PARAMETERS K P=K*K*K RETURN P 34---*打开PROG34.PRG,设计计算组合数C=M!/N!(M-N)!程序的指定部分,输入M=5,N=3 看结果。 *PROG34.PRG CLEAR @10,10 SAY \"输入M的值:\" GET M DEFAULT 0 @12,10 SAY \"输入N的值:\" GET N DEFAULT 0 READ P=JC(M)/JC(N)/JC(M-N) @14,10 SAY \"计算的组合数:\" +ALLTRIM(STR(P)) SET DEVICE TO FILE pout34.dat @0,0 SAY ALLTRIM(STR(P)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN FUNCTION JC PARAMETERS K Y=1 FOR I=1 TO K Y=Y*I ENDFOR RETURN Y 35---*打开PROG35.PRG,设计成绩分级程序(三级90分及以上为“优“,60到90为“良”,其余“不及格“) *用多分支语句设计指定部分,结果放在M变量中,用76分运行。 *PROG35.PRG CLEAR @10,10 SAY \"输入分数:\" GET X DEFAULT 0 READ DO CASE CASE X>=90 M=\"优\" CASE X>=60 AND X<90 M=\"良\" OTHERWISE M=\"不及格\" ENDCASE @12,10 SAY ALLTRIM(STR(X))+\"分是:\"+M SET DEVICE TO FILE pout35.dat @0,0 SAY M SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 36---*打开PROG36.PRG,任意给定一个正整数N,求S=1+1/2+1/3+...+1/N的值。设计指定部分,并用N=101运行该程序。 *PROG36.PRG CLEAR S=0 I=1 @10,10 SAY \"输入正整数N:\" GET N DEFAULT 0 READ DO WHILE I<=N S=S+1/I I=I+1 ENDDO @12,10 SAY\"1+1/2+...+1/\"+ALLTRIM(STR(N))+\"的和是:\"+ALLTRIM(STR(S,7,4)) SET DEVICE TO FILE pout36.dat @0,0 SAY ALLTRIM(STR(S,7,4)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 37---*打开PROG37.PRG,任输入9个数到二维数组M(3,3),然后,输出其平均值,设计指定部分,用12,13,-7,-6,-5,101,102,103,222 运行。 *PROG37.PRG CLEAR DIMENSION M(3,3) K=1 FOR I=1 TO 3 FOR J=1 TO 3 @10,10 SAY \"输入第\"+ALLTRIM(STR(K))+\"个数:\" GET X DEFAULT 0 READ M(I,J)=X K=K+1 ENDFOR ENDFOR P=0 FOR I=1 TO 3 FOR J=1 TO 3 P=P+M(I,J) ENDFOR ENDFOR P=P/9 @12,10 SAY \"这九个数的平均值是:\"+ALLTRIM(STR(P,9,4)) SET DEVICE TO FILE pout37.dat @0,0 SAY ALLTRIM(STR(P)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 38---*打开PROG38.PRG, 给出年月,告诉你该月天数(注意二月润年29天),设计指定部分,用2008年2月20日运行。 *PROG38.PRG *提示:润年能被4整除,但不能被100整除;或能被400整除。函数INLIST(X,A,B,C,D,...)若X等于其后A,B,...之一的值为真。 CLEAR SET STRICTDATE TO 0 SET DATE TO ANSI SET CENTURY ON &&以上三句设置日期格式 @10,10 SAY \"请输入****年**月**日:\"GET NY DEFAULT {} READ N=YEAR(NY) YUE=MONTH(NY) DO CASE CASE INLIST(YUE,1,3,5,7,8,10,12) TS=31 CASE INLIST(YUE,4,6,9,11) TS=30 CASE ((N%4)=0 .AND.(N %100)<>0) .OR.(N%400)=0 TS=29 OTHERWISE TS=28 ENDCASE @12,10 SAY STR(N)+\"年\"+ALLTRIM(STR(YUE))+\"月是\"+ALLTRIM(STR(TS))+\"天。\" SET DEVICE TO FILE pout38.dat @0,0 SAY ALLTRIM(STR(TS)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 39---*打开PROG39.PRG,计算运费F=P*W*S*(1-d),P--吨公里运费0.45元,W---货重吨,S--公里数,d--折扣,设计指定部分,W=300,S=2000运行。 *s<250 d=0,250≤S<1000 d=5%,1000≤S<3000 d=10%,3000≤S d=20%。 *PROG39.PRG CLEAR @ 10,10 SAY \"输入货物重量:\" GET W DEFAULT 0 @ 12,10 SAY \"输入运输里数:\" GET S DEFAULT 0 READ P=0.45 DO CASE CASE S<250 F=P*W*S CASE 250<=S.AND.S<1000 F=P*W*S*(1-0.05) CASE 1000<=S.AND.S<3000 F=P*W*S*(1-0.1) CASE S=>3000 F=P*W*S*(1-0.2) ENDCASE @14,10 SAY \"运费是:\"+ALLTRIM(STR(F,12,2)) SET DEVICE TO FILE pout39.dat @0,0 SAY ALLTRIM(STR(F,12,2)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 40---*打开PROG40.PRG, 在已输入值的数组M(5)中, 求两两元素的乘积和(不能重复,有M(i)*M(j),不再要M(j)*M(i)),设计指定部分。 *PROG40.PRG CLEAR DIMENSION M(5) FOR I=1 TO 5 M(I)=I+3 ENDFOR S=0 FOR I=1 TO 5 FOR J=I+1 TO 5 S=S+M(I)*M(J) ENDFOR ENDFOR @10,10 SAY \"两两元素的乘积是:\"+ALLTRIM(STR(S)) SET DEVICE TO FILE pout40.dat @0,0 SAY ALLTRIM(STR(S)) SET DEVICE TO SCREEN &&以上三句不要动,也不用考虑! RETURN 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务