第6章程序设计基础.docx

上传人:b****6 文档编号:4332627 上传时间:2022-11-29 格式:DOCX 页数:28 大小:241.56KB
下载 相关 举报
第6章程序设计基础.docx_第1页
第1页 / 共28页
第6章程序设计基础.docx_第2页
第2页 / 共28页
第6章程序设计基础.docx_第3页
第3页 / 共28页
第6章程序设计基础.docx_第4页
第4页 / 共28页
第6章程序设计基础.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

第6章程序设计基础.docx

《第6章程序设计基础.docx》由会员分享,可在线阅读,更多相关《第6章程序设计基础.docx(28页珍藏版)》请在冰豆网上搜索。

第6章程序设计基础.docx

第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

IFNUM

MIN_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

======================================================

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1