第6章程序设计基础.docx
《第6章程序设计基础.docx》由会员分享,可在线阅读,更多相关《第6章程序设计基础.docx(28页珍藏版)》请在冰豆网上搜索。
第6章程序设计基础
二、填空题
1.S=S+X*X
X=X+1
2.1+2+……+9+10
3.25
4."",1,right(X,(LEN(X)-2))
5.X(I,J)=W
I=J
I+J=5
6.24
SUBSTR(XY,5,4)
7.TRPN
8.FEDCBA
9.X%3==0
10.21
11.1321
注意:
12至16如果不把题中的ThisForm.Text1.Value=.T.改为ThisForm.Text1.Value=T,则答案均为T,一下为修改后的答案。
12.20
13.3
14.9
15.10
16.123
17.REPLACE等级WITH“优秀”
18."通过"
19.编号%8==1
20.1534
21.97+i
22.a%i==0ANDb%i==0
23.a*bSTEP1
24.i/100i%10
25.
==========================
二.选择题
1.有如下程序:
A=10
IFA=10
S=0
ENDIF
S=1
?
S
上面程序的执行结果是(B)。
A.0B.1
C.程序出错D.结果无法确定
2.有如下程序:
SETTALKOFF
STORE2TOS,K
DOWHILES<14
S=S+K
K=K+2
ENDDO
?
S,K
SETTALKON
RETURN
程序运行后的输出结果是(C)。
A.2210B.228
C.148D.1410
3.有如下程序:
SETTALKOFF
DIMEA(6)
K=2
DOWHILEK<=6
A(K)=20–2*K
K=K+1
ENDDO
K=5
DOWHILEK>=2
A(K)=A(K)/(A(4)–10)
K=K–1
ENDDO
?
A
(1),A(6)
?
A
(2)
SETTALKON
RETURN
程序运行第一个?
的输出结果是(D)。
A.104B.108C..T.D..F.8
4.阅读下面这段程序:
SETTALKOFF
S=0
I=1
DOWHILEI<=10
S=S+I
I=I+1
ENDDO
?
I,S
SETTALKON
其运行结果是(A)。
A.1155B.1145C.1055D.1045
5.有如下程序:
SETTALKOFF
M=0
N=100
DOWHILEN>M
M=M+N
N=N–10
ENDDO
?
M,N
RETURN
程序运行的结果是(D)。
A.010B.1090
C.90100D.10090
6.阅读下列程序:
SETTALKOFF
CLEAR
STORE1TOX
STORE20TOY
DOWHILEX<=Y
IFINT(X/2)<>X/2
X=1+X^2
Y=Y+1
LOOP
ELSE
X=X+1
ENDIF
ENDDO
?
X
?
Y
SETTALKON
RETURN
运行结束X和Y的值分别是(B)。
A.X=10Y=22B.X=122.00Y=23
C.X=3Y=22D.X=2Y=21
7.运行以下程序:
SETTALKOFF
INPUT“N=”TON
T=1
K=1
S=0
DOWHILEK<=2*N+1
T=T*K
S=S+T
K=K+2
ENDDO
?
S
RETURN
当输入N=3时,输出S的值为(A)。
A.124B.19C.9D.33
8.运行以下程序:
SETTALKOFF
N=1
T=1
S=0
DOWHILEN<=9
T=T*N
S=S+2*T
N=N+3
ENDDO
?
S
RETURN
最后输出结果为(D)。
A.38B.10C.625D.66
9.阅读一下程序
SETTALKOFF
S=0
K=1
DOWHILEK<=9
K=K+1
DOCASE
CASEMOD(K,3)=1
LOOP
CASEMOD(K,3)=2
S=S+2*K
CASEMOD(K,4)=2
S=S+3*K
OTHER
S=S+K
ENDCASE
ENDDO
?
S
RETURN
最后输出结果为(C)。
A.35B.45C.60D.82
10.有如下程序:
SETTALKOFF
M=0
N=100
DOWHILEN>M
M=M+N
N=N–10
ENDDO
?
M
RETURN
运行此程序显示M的值是(C)。
A.0B.10C.100D.99
11.阅读下列程序,其运行结果是(B)。
SETTALKOFF
X=153
A=STR(X,3)
I=1
T=0
DOWHILEI<=3
T=T+VAL(SUBS(A,I,1))**3
I=I+1
ENDDO
?
IIF(X=T,‘YES’,‘NO’)
SETTALKON
RETURN
A..T.B.YESC.NOD.出错
12.阅读下列程序,其运行结果是(C)。
SETTALKOFF
DIMEA(2,2)
A(1,1)=1
A(1,2)=2
A(2,1)=3
A(2,2)=4
I=1
J=1
DOWHILEJ<=2
T=A(I,J)
A(I,J)=A(J,I)
A(J,I)=T
J=J+1
ENDDO
I=I+1
?
A(1,2),A(2,1)
SETTALKON
RETURN
A.12B.23C.32D.42
13.阅读下列程序,其运行结果是(D)。
SETTALKOFF
S=0
I=-5
DOWHILEI<=5
IFABS(I)<=3
I=ABS(I)
ENDIF
J=1
DOWHILEJ<=ABS(I)
S=S+1
J=J+1
ENDDO
I=I+1
ENDDO
?
S
SETTALKON
RETURN
A.5B.4C.9D.21
14.运行下列程序后S的值是(C)。
SETTALKOFF
S=0
P=10
DOWHILEP<=15
P=P+1
S=S+P*2
ENDDO
?
S
A.172B.130C.162D.150
15.运行下列程序段:
SETTALKOFF
STORE0TOX,Y
DOWHILE.T.
X=X+1
Y=Y+X
IFX>=5
EXIT
ENDIF
ENDDO
?
X+Y
RETURN
输出的结果为(B)。
A.5B.20C.9D.14
16.B
17.A
18.D
19.D
20.D
21.B
22.A
23.D
24.C
25.C
三、编程(16题以后是表单的题)
1.铁路托运行李,从甲地到乙地,按规定,每张客票托运行李不超过50千克,按每千克0.35元计算运费,如果超过50千克,超过的部分按每千克0.65计算运费。
请编写一个程序计算托运费。
假设行李的重量为W千克,运费为F元。
那么计算的公式为:
SETTALKOFF
CLEAR
INPUT"请输入重量:
"TOW
IFW<=50
F=0.35*W
ELSE
F=50*0.35+(W-50)*0.65
ENDIF
?
"运费F为:
"+STR(F,10,2)
SETTALKON
RETURN
2.假设在运输货物时,每吨货物每公里运费P与运输的距离S有关,路途越远,每吨货物运价越低,其公式如下:
如果所付的总运费超过250元的,再给予九五折的优惠。
从键盘输入货物的吨数和运输公里数,求应付的运费。
SETTALKOFF
CLEAR
INPUT"请输入货物的重量:
"TOW
INPUT"请输入货物的运输距离:
"TOS
IFW<0.OR.S<0
EXIT
ENDIF
DOCASE
CASES<100
P=8
CASES>=100.AND.S<150
P=6
CASES>=150.AND.S<200
P=4
CASES>=200.AND.S<250
P=2
OTHERWISE
P=1
ENDCASE
COST=P*W*S
IFCOST>250
COST=COST*0.95
ENDIF
?
"总运费F为:
"+STR(COST,10,2)
SETTALKON
RETURN
3.设计一个程序计算被3、4、5、6、7除都余2的最小4位数
SETTALKOFF
CLEAR
NUM=1000
DOWHILEMOD(NUM,420)<>2
NUM=NUM+1
ENDDO
?
"NUM=",NUM
SETTALKON
RETURN
4.有一堆核桃,每次往外边拿两个,最后还剩下一个单的,如果每次往外边拿3个、4个、5个、6个,都是剩下一个单的,问这堆核桃最少有多少个?
提示:
要解决这一问题,首先估计一下初值,题目中说拿6个,还能剩1个,所以最低限度应该有7个,然后看看这个值是否同样适合前几种情况,如果都符合,此数正是寻找的数,如果不符合,则令此数加1,再重新进行判定,直到正确为止。
SETTALKOFF
CLEAR
N=7
DOWHILE.T.
IFMOD(N,2)<>1
N=N+1
LOOP
ENDIF
IFMOD(N,3)<>1
N=N+1
LOOP
ENDIF
IFMOD(N,4)<>1
N=N+1
LOOP
ENDIF
IFMOD(N,5)<>1
N=N+1
LOOP
ENDIF
IFMOD(N,6)<>1
N=N+1
LOOP
ENDIF
EXIT
ENDDO
?
"这堆核桃最少有"+STR(N,4)+"个。
"
SETTALKON
RETURN
在若干数中,找出其中的最大值和最小值。
SETTALKOFF
CLEAR
INPUT"请输入数据的个数:
"TON
MAX_NUM=-9999999999
MIN_NUM=9999999999
FORI=1TON
INPUT"请输入第"+STR(I)+"个数:
"TONUM
IFNUM>MAX_NUM
MAX_NUM=NUM
ENDIF
IFNUMMIN_NUM=NUM
ENDIF
ENDFOR
?
"最大值为:
",MAX_NUM
?
"最小值为:
",MIN_NUM
SETTALKON
RETURN
5.设计程序求S=1!
+3!
+5!
+…+19!
。
SETTALKOFF
CLEAR
S=0
I=1
TEMP=1
DOWHILEI<=19
S=S+TEMP
TEMP=TEMP*(I+1)*(I+2)
I=I+2
ENDFOR
?
"S=",S
SETTALKON
RETURN
6.设计程序求S=1!
-1/3!
+5!
-…+1/19!
。
SETTALKOFF
CLEAR
S=0
I=1
TEMP=1
DOWHILEI<=19
S=S+TEMP
TEMP=(-1)*TEMP/(I+1)/(I+2)
I=I+2
ENDDO
?
"S=",S
SETTALKON
RETURN
7.提示:
每次对折厚度为之前2倍:
SETTALKOFF
CLEAR
S=0.5
K=0
DOWHILES<8844000
S=S*2
K=K+1
ENDDO
?
"K=",K
SETTALKON
RETURN
8.分个、十、百3种情况讨论:
SETTALKOFF
CLEAR
FORS=1TO1000
TEMP=S*S
IFS<10ANDMOD(TEMP,10)==S
?
"S=",S
ENDIF
IFS>=10ANDS<100ANDMOD(TEMP,100)==S
?
"S=",S
ENDIF
IFS>100ANDMOD(TEMP,1000)==S
?
"S=",S
ENDIF
ENDFOR
SETTALKON
RETURN
9.搬砖问题:
36块砖,36个人搬,男搬4,女搬3,2个小孩抬一块,要求一次全搬完,问男、女、小孩各需搬若干?
*设男孩为I个,女孩为J个,小孩为K个
SETTALKOFF
CLEAR
FORI=1TO9
FORJ=1TO12
FORK=2TO72STEP2
IF(I+J+K=36).AND.(I*4+J*3+K*0.5=36)
?
"男孩为"+STR(I,2)+"个;"
?
"女孩为"+STR(J,2)+"个:
"
?
"小孩为"+STR(K,2)+"个."
RETURN
ENDIF
ENDFOR
ENDFOR
ENDFOR
SETTALKON
RETURN
10.1000000=106=26*56,显然要让2个数中不含0,则这2个数不能同时被2跟5整除,所以这两个数为26和56
11.
SETTALKOFF
CLEAR
GDP=1
K=0
DOWHILEGDP<2
GDP=GDP*(1+0..8)
K=K+1
ENDDO
?
"K=",K
SETTALKON
RETURN
12.提示:
如果A2+B2=C2,则A2=C2-B2即A2=(C+B)-(C-B)
SETTALKOFF
CLEAR
K=0
FORN=100TO200
FLAG=0
FORI=1TON-1
TMP=(N+I)*(N-I)
T2=SQRT(TMP)
IFFLAG==0ANDFLOOR(T2)==T2
FLAG=1
&&?
I,"^2+",FLOOR(T2),"^2=",N,"^2"
EXIT
ENDIF
ENDFOR
IFFLAG>0
K=K+1
ENDIF
ENDFOR
?
K
SETTALKON
RETURN
13.每次反弹之后路程加高度的2倍
SETTALKOFF
CLEAR
H=100
S=100
N=1
DOWHILES<=590
H=H*3/4
S=S+2*H
N=N+1
ENDDO
?
"N=",N
SETTALKON
RETURN
14
SETTALKOFF
CLEAR
K=0
FORX=-150TO150
FORY=-200TO200
IF8*X-5*Y==3
K=K+1
ENDIF
ENDFOR
ENDFOR
?
"K=",K
SETTALKON
RETURN
15.提示:
方法一、用一个标志数组标示对应的人是否已出局(F表示出局)
方法二、逆向思考,将最后出局的人标识为1,则反向倒推每一轮往圈里加一人,则最后一次添加的人即是顺推的起点,此人的标号也就跟顺推中最后出局一人的编号之和为N(这里是50)。
方法1:
SETTALKOFF
CLEAR
DIMENSIONFLAG(50)
N=50
M=5
K=1
FORI=1TON
FLAG(I)=.T.
ENDFOR
FORI=1TON-1
K=K+M
IFK>N
K=K-N
ENDIF
DOWHILENOTFLAG(K)
K=K+1
IFK>N
K=K-N
ENDIF
ENDDO
FLAG(K)=.F.
ENDFOR
FORK=1TO50
IFFLAG(K)
?
K
EXIT
ENDIF
ENDFOR
SETTALKON
RETURN
方法2:
SETTALKOFF
CLEAR
N=1
M=5
K=1
DOWHILEN<50
N=N+1
K=K+1+M
K=MOD(K,N)
IFK==0
K=N
ENDIF
ENDDO
?
N-K
SETTALKON
RETURN
======================================================