第3章课后题已标注难度.docx

上传人:b****4 文档编号:24155900 上传时间:2023-05-24 格式:DOCX 页数:20 大小:23.40KB
下载 相关 举报
第3章课后题已标注难度.docx_第1页
第1页 / 共20页
第3章课后题已标注难度.docx_第2页
第2页 / 共20页
第3章课后题已标注难度.docx_第3页
第3页 / 共20页
第3章课后题已标注难度.docx_第4页
第4页 / 共20页
第3章课后题已标注难度.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

第3章课后题已标注难度.docx

《第3章课后题已标注难度.docx》由会员分享,可在线阅读,更多相关《第3章课后题已标注难度.docx(20页珍藏版)》请在冰豆网上搜索。

第3章课后题已标注难度.docx

第3章课后题已标注难度

第三章结构化程序设计基础习题

说明:

题号前标注的*为题目的难度等级,*越多难度等级越高。

一、选择填空题

1、以下程序的运行结果为

x=1.5

docase

casex>2

y=2

casex>1

y=1

endcase

?

y

return

A、1B、2C、0D、语法错误

2、循环结构中EXIT语句的功能是

A、放弃本次循环,重新执行该循环结构

B、放弃本次循环,进入下一次循环

C、退出循环,执行循环结构的下一条语句

D、退出循环,结束程序的运行

3、简单分支结构语句是

A、CASE…ENDCASEB、DO…ENDDO

C、IF…ENDIFD、SCAN…ENDSCAN

4、关于PARAMETERS语句,下列叙述中错误的是

A、该语句应是子程序中的第一个语句

B、形式参数只能是内存变量

C、形式参数之间用逗号分格

D、形式参数的个数应与调用实参个数一致

5、以下关于子程序的叙述中不正确的是

A、一个主程序可以调用任意多个子程序

B、一个子程序可以调用其他子程序

C、主程序可调用子程序,但子程序不可调用其他的子程序

D、子程序用DO命令调用

6、下列循环共执行了次

fori=1to10

?

i

i=i+1

Endfor

A、10B、5C、0D、语法错

*7、[程序说明]:

求1!

+3!

+5!

+……+N!

的值。

N由键盘输入,且为奇数。

[程序]

SETTALKOFF

CLEAR

(1)

STORE0TOS,T

FORI=1TONSTEP2

DOSUB

(2)

ENDFOR

?

S

SETTALKON

PROCSUB

T=1

FORJ=1TO(3)

(4)

ENDFOR

(1)A、ACCEPT"N="TONB、INPUT"N="TON

C、WAIT"N="TOND、DOWHILE.T.

(2)A、S=S+TB、S=S+NC、S=TD、S=S+T*I

(3)A、NB、TC、2*I+1D、I

(4)A、T=T*IB、T=T*JC、T=T*ND、S=S+J*T

**8、[程序说明]:

模糊查询用户指定表文件中指定字段(字符型)的指定内容,如果用户指定的表文件不存在,给予提示信息。

[程序]

SETTALKOFF

CLEAR

ACCEPT"请输入表文件名(带扩展名):

"TOFILENAME

ACCEPT"请输入要查询的字段名(字符型):

"TOFIELDNAME

ACCEPT"请输入要查询的内容(字符串):

"TOCHAR

IF

(1)

(2)

BROWSEFOR(3)

USE

(4)

?

"指定的表文件不存在!

"

ENDIF

SETTALKON

(1)A、FILE(FILENAME)B、TYPE("&FILENAME")

C、FILE("FILENAME")D、FILE(&FILENAME)

(2)A、USEFILENAMEB、USE(FILENAME)

C、USE&FILENAME..DBFD、USE&FILENAME.DBF

(3)A、CHAR$FIELDNAMEB、AT(CHAR,FIELDNAME)>0

C、CHAR$&FIELDNAMED、AT(&CHAR,&FIELDNAME)>0

(4)A、LOOPB、EXITC、ELSED、IF

9、[程序说明]:

本程序比较从键盘输入的若干个数的大小,并输出其中的最大数和最小数。

[程序]

SETTALKOFF

CLEAR

INPUT“M=”TOM

(1)

DOWHILE.T.

INPUT“N=”TON

(2)

D=N

ENDIF

IFX>N

X=N

ENDIF

YN=’A’

(3)

WAIT“是否继续输入(Y-继续/N-结束)”TOYN

ENDDO

(4)

EXIT

ENDIF

ENDDO

“最大数是:

”,D

“最小数是:

”,X

SETTALKON

(1)A、STOREMTOD,XB、STORE0TOD,X

C、STOREM,0TOD,XD、STORE100,0TOD,X

(2)A、IFD=NB、IFD>N

C、IFD>=ND、IFD

(3)A、DOWHILEUPPER(YN)

B、DOWHILEUPPER(YN)<>‘Y’

C、DOWHILEUPPER(YN)<>‘Y’ANDUPPER(YN)<>‘N’

D、DOWHILEUPPER(YN)<>‘Y’ORUPPER(YN)<>‘N’

(4)A、UPPER(YN)=’Y’

B、UPPER(YN)=’N’

C、UPPER(YN)<>’Y’

D、UPPER(YN)<>’N’

**10、[程序说明]:

本程序用于统计2~M中有多少个素数(素数即只能被1或本身整除的自然数)。

[程序]

SETTALKOFF

CLEAR

INPUT“M=”TOM

S=0

(1)

IFSS(I)

S=S+1

STR(I,5)

ENDIF

ENDFOR

STR(S,5)

SETTLAKON

FUNCSS

(2)

FORJ=2TOX-1

(3)

EXIT

ENDIF

ENDFOR

IFJ=X

RETURN.T.

ELSE

(4)

ENDIF

ENDFUNC

(1)A、FORI=1TOM-1B、DOWHILEI<=M

C、FORI=MTO1STEP–1D、FORI=2TOINT(M/2)

(2)A、X=IB、PUBLICX

C、PRIVXD、PARAX

(3)A、IFINT(X/J)=X/JB、IFINT(X/J)

C、IFX%J=X/JD、IFJ%X=0

(4)A、RETUB、RETU.F.

C、QUITD、RETUX

二、程序阅读:

阅读下列程序,写出运行结果

1、程序①:

设变量N的输入值为12,变量M的输入值为8。

SETTALKOFF

CLEAR

INPUT"N="TON

INPUT"M="TOM

X=MIN(N,M)

FORI=XTO1STEP-1

IFM/I=INT(M/I)ANDN/I=INT(N/I)

P=I

EXIT

ENDIF

ENDFOR

?

"P="+ALLTRIM(STR(P,19))+",R="+ALLTRIM(STR(M*N/P,19))

SETTALKON

2、程序②:

设变量X的输入值分别为210,366,0

SETTALKOFF

CD=“天一二三四五六”

DOWHILE.T.

INPUT“X=”TOX

X=IIF(X>0ANDX<366,MOD(X+2,7)+1,IIF(X=0,0,8))

DOCASE

CASEX=0

“结束”

EXIT

CASEX=8

“输入有错”

LOOP

OTHERWISE

“星期”+SUBSTR(CD,2*X-1,2)

ENDCASE

ENDDO

SETTALKON

3、程序③:

设变量X的输入值为36。

SETTALKOFF

CLEAR

INPUT"X="TOX

S=STR(X,5)+"="

FORI=2TOX

IFMOD(X,I)=0

S=S+STR(I,3)+"*"

X=INT(X/I)

I=I-1

ENDIF

ENDFOR

?

LEFT(S,LEN(S)-1)

SETTALKON

4、程序④

SETTALKOFF

CLEAR

INPUT“M=”TOM

I=2

DOWHILEI

IFM%I=0

?

?

STR(I,6)

M=INT(M/I)

LOOP

ENDIF

I=I+1

ENDDO

SETTALKON

*设M的值为24。

*5、程序⑤

SETTALKOFF

CLEAR

INPUT"N="TON

INPUT"P="TOP

FORI=1TON

?

SPACE(N-I+1)

IFI<=P

FORJ=1TO2*I-1

?

?

CHR(ASC("A")+J-1)

ENDFOR

ELSE

FORJ=1TO(2*I-1)-(I-P)

?

?

CHR(ASC("A")+J-1)

ENDFOR

ENDIF

ENDFOR

SETTALKON

*设N,P的输入值分别为7,4。

注:

字符"A"的ASCII码值为65。

6、程序⑥

CLEAR

FORI=1TO3

A=’*'

FORJ=1TOI

A=A+STR(I,1)

NEXT

@I,5SAYA

NEXT

CANCEL

*7、程序⑦:

设输入的字符串P为RzNopytQdnpvgAjKmy

SETTALKOFF

CLEAR

ACCEPT“请任意输入一串字符:

”TO P

L=LEN(P)

C=“”

FORI=1TO L;

A=SUBSTR(P,I,1)

DOCASE

CASEASC(A)﹥=ASC(“a”)ANDASC(A)﹤=ASC(“u”)ORASC(A)﹥=ASC(“A”)ANDASC(A)﹤=ASC(“U”)

A=CHR(ASC(A)+5)

CASEASC(A)﹥=ASC(“v”)ANDASC(A)﹤=ASC(“z”)ORASC(A)﹥=ASC(“V”)ANDASC(A)﹤=ASC(“Z”)

A=CHR(ASC(A)-21)

ENDCASE

C=C+A

ENDFOR

?

P+”----﹥”+C

SETTALKON

8、程序⑧:

设输入的数值N为5

SETTALKOFF

CLEAR

INPUT”N”=TON

P=N

I=1

DOWHILEN﹥0

?

SPAC(I)

P=N+I

DOWHILEP﹥0

?

?

”*”

P=P-1

ENDDO

I=I+1

N=N-1

ENDDO

SETTALKON

**9、说明下面程序实现的是什么功能,写出程序执行的输出结果。

SETTALKOFF

CLEAR

INPUT”X=”TOX

S=0

STORE1TOT1,T2,I

T3=-1

DOWHILEABS(T1/T2)>1E-5

STORE1TOT1,T2

FORJ=1TO2*I-1

T1=T1*X

T2=T2*J

T3=-T3

ENDFOR

S=S+T3*T1/T2

I=I+1

ENDDO

?

”SIN(“+STR(X,6,4)+”)=”+STR(S,10,7)

SETTALKON

*10、程序⑩

SETTALKOFF

X=12

Y=23

B=”101011”

N=LEN(B)

FORI=1TON

C=SUBSTR(B,I,1)

SF=IIF(VAL(c)=1,”*”,”+”)

SS=”X”+”&”+”SF.”+”Y”

?

”ANSWER”+”:

”+STR(&SS,4)

X=X+2*I

Y=Y+I

ENDFOR

RETURN

SETTALKON

三、程序改错

1、求当1!

+3!

+5!

+…+n!

的值不超过10的20次幂时的临界值及n的值。

(*号下面的语句有错)

SETTALKOFF

CLEAR

*****1*****

S=0

STORE1TOT,N

DOWHILES<=1E+20

T=T*(N+1)*(N+2)

S=S+T

*****2*****

N=N+1

ENDDO

?

"S=",S-T

?

"N=",N-2

SETTALKON

2、从键盘输入一个数值(0~9),要求输入其对应的中文大写数字(零~玖)。

(*号下面的语句有错)

SETTALKOFF

CLEAR

C="零壹贰叁肆伍陆柒捌玖"

*****1*****

ACCEPT"N="TON

*****2*****

?

N,"-->"+STR(C,2*N-1,2)

SETTALKON

3、要求:

给定一个年份(从键盘输入数值型数据),判断它是闰年;闰年的条件是:

能被4整除但不能被100整除,或能被100整除且能被400整除。

(*号下面的语句有错)

SETTALKOFF

CLEAR

*****1*****

ACCEPT"Y="TOY

*****2*****

IF(Y%4ANDY!

%100)AND(Y%100ANDY!

%400)

?

Y,"是闰年!

"

ELSE

?

Y,"不是闰年!

"

ENDIF

SETTALKON

4、x^1+x^2+^3+x^4+。

+x^n的值。

n,x从键盘输入。

(*号下面的语句有错)

SETTALKOFF

CLEAR

INPUT"N="TON

INPUT"X="TOX

S=0

*****1*****

T=0

FORI=1TON

T=T*X

S=S+T

ENDFOR

*****2*****

?

"S="+S

SETTALKON

5、显示输出正整数M(从键盘输入)内的偶数及偶数和。

(*号下面的语句有错)

SETTALKOFF

CLEAR

INPUT'M='TOM

S=0

FORP=1TOM

*****1*****

IFINT(P/2)

?

P

*****2*****

S=S+1

ENDIF

ENDFOR

?

S

SETTALKON

6、已知有学生表(学生.Dbf)(学号,姓名,性别,出生年月,简历,奖学金,照片)要求显示输出“学生”表中的1971年或以前出生的学生姓名和出生年月(*号下面的语句有错)

SETTALKOFF

CLEAR

USE学生

*****1*****

LOCATEFOR出生年月<=1971

DOWHILE!

EOF()

?

姓名,出生年月

*****2*****

SKIP

ENDDO

USE

SETTALKON

7、下面是计算自然数1~100之和的程序,(程序中有三处错误,请找出错误并改正)。

SETTALKOFF

CLEAR

S=1

FORI=1TOSTEP2

S=S+I

ENDDO

?

'S='+STR(S,4)

SETTALKON

RETURN

**8、下面是求表达式(xy+ex+y)÷(x÷y)3log|x-y|)值的程序,(程序中有二处错误,请找出错误并改正)。

(x、y的值从键盘输入)

SETTALKOFF

CLEAR

INPUT“X=”TOX

INPUT“Y=”TOY

Z=X-Y

IFZ>0

Z=-Z

ENDIF

S=(X*Y+EXP(X+Y))/((X/Y)*(X/Y)*X/Y)*LOG(Z)

?

'S='+S

SETTALKON

9、已知有学生表(学生.dbf)(学号,姓名,性别,出生年月,简历,奖学金,照片),要求:

显示“学生”表中的全部字段名。

(程序中有二处错误,请找出错误并改正)

SETTALKOFF

CLEAR

USE学生

FORN=1TORECCOUNT()

FOUND(N)

ENDFOR

USE

SETTALKON

10、从键盘输入A,B,C三个数值,将它们从小到大排列后输出。

(程序中有九处错误,请找出错误并改正)

SETTALKOFF

CLEAR

INPUT"A="TOA

INPUT"B="TOB

INPUT"C="TOC

IFA>B

A=B

B=A

ENDIF

IFA>C

A=C

C=A

ENDIF

IFB>C

B=C

C=B

ENDIF

?

A

?

B

?

C

SETTALKOFF

四、编程:

根据题目要求,编写相应的程序。

*1、从键盘输入一串字符(口令),自动判断输入的口令是否与系统的口令(自设)一致,是则显示相应的欢迎信息;否则有3次机会。

输入次数在3次以内,给予重输的提示;输入次数超过3次,则显示无权使用系统的提示。

**2、编写一个自定义函数,将数字金额轮换为中文大写。

设最高位亿,最低位分。

3、显示输入“学生”表中每个班级的男女同学的奖学金总额(假设表中的字段为:

班组,学号,学生姓名,性别,奖学金)。

*4、键盘任意输入两个整数,求出最大公约数和最小公倍数。

*5、编写程序,在屏幕上显示如下图案:

A

ABC

ABCDE

ABCDEFG

ABCDE

ABC

A

*6、编写程序,在屏幕上显示如下图案:

1

11

121

1331

14641

*7、求解百鸡问题,“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱百鸡,问鸡翁、母、雏各几何?

8、输入三角形的三个边长A、B、C,若A、B、C能构成三角形,则计算出三角形面积;否则提示“不能构成三角形!

”。

若构成的三角形为直角三角形,也给出“构成直角三角形”的提示。

面积S=式中W=(A+B+C)/2

 

*9、某班学生五次英语测验成绩及姓名已登录在E:

\VFP\ENGLISH.DBF数据表中,该数据表含有字段NO1,……,NO5(N型)及姓名(C型),该库仅有此6个字段。

编写程序,对全班每个学生五次成绩按最好的成绩排序,再按去掉最高和最低成绩后的平均成绩排序,并显示出来。

10、某班学生计算机考试成绩已登记到E:

\COMPUTER.DBF自由表的成绩(N型)字段中,另有评估(C型)字段。

编程序将每个学生的计算机成绩进行评估,评估分为:

“优秀”(90-100)、“良好”(80-89)、“中等”(70-79)、“及格”(60-69)、“不及格”(0-59)五个等级,并将评估结果写到评估字段中。

 

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

当前位置:首页 > 求职职场 > 笔试

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

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