工学第5章 程序设计基础.docx

上传人:b****5 文档编号:28907602 上传时间:2023-07-20 格式:DOCX 页数:68 大小:742.75KB
下载 相关 举报
工学第5章 程序设计基础.docx_第1页
第1页 / 共68页
工学第5章 程序设计基础.docx_第2页
第2页 / 共68页
工学第5章 程序设计基础.docx_第3页
第3页 / 共68页
工学第5章 程序设计基础.docx_第4页
第4页 / 共68页
工学第5章 程序设计基础.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

工学第5章 程序设计基础.docx

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

工学第5章 程序设计基础.docx

工学第5章程序设计基础

二、填空题

1.如下程序是求1~100所有整数的平方和并输出结果,请填空。

SETTALKOFF

CLEAR

S=0

X=1

DOWHILEX<=100

S=S+X*X

X=X+1

ENDDO

?

S

RETURN

2.有如下程序:

STORE0TON,S

DOWHILE.T.

N=N+1

S=S+N

IFN>=10

EXIT

ENDIF

ENDDO

?

”S=”+STR(S,2)

本程序实现的操作是1+2+……+9+10。

3.阅读下列程序,并给出运算结果:

SETTALKOFF

CLEAR

STORE0TOX,Y

DOWHILE.T.

X=X+1

DOCASE

CASEINT(X/2)=X/2

LOOP

CASEX>=10

EXIT

OTHERWISE

Y=Y+X

ENDCASE

ENDDO

?

Y

SETTALKON

RETURN

运行结束Y的值是25。

4.下面的程序是输入整数M和N,用辗转相除法求它们的最大公约数,请在程序中填空。

SETTALKOFF

INPUT“输入M”TOM

INPUT“输入N”TON

?

M,N

K=1

DOWHILEK<>0

K=MOD(M,N)

M=N

N=K

ENDDO

?

?

M

SETTALKON

RETURN

5.程序说明:

将16个正整数按如下方阵存入数组X(4,4)中,

15913

261014

371115

481216

求出主对角线上元素(即X(1,1)、X(2,2)、X(3,3)、X(4,4))之和存入内存变量Z1,再求出另一条对角线上元素(即X(1,4)、X(2,3)、X(3,2)、X(4,1))之和存入内存变量Z2。

请将程序补充完整:

SETTALKOFF

DIMENSIONX(4,4)

W=0

J=1

DOWHILEJ<=4

I=1

DOWHILEI<=4

W=W+1

X(I,J)=W

I=I+1

ENDDO

J=J+1

ENDDO

STORE0TOZ1,Z2

I=1

DOWHILEI<=4

J=1

DOWHILEJ<=4

IFI=J

Z1=Z1+X(I,J)

ENDIF

IFI+J=5

Z2=Z2+X(I,J)

ENDIF

J=J+1

ENDDO

I=I+1

ENDDO

?

”Z1=”,Z1

?

”Z2=”,Z2

SETTALKON

6.下列程序的功能是通过字符串变量操作竖向显示“伟大祖国”,横向显示“祖国伟大”,请填空。

SETTALKOFF

STORE“伟大祖国”TOXY

CLEAR

N=1

DOWHILEN<8

?

SUBSTR(XY,N,2)

N=N+2

ENDDO

?

SUBSTR(XY,5,4)

?

?

SUBSTR(XY,1,4)

RETURN

7.阅读下列程序,并给出运行结果。

SETTALKOFF

CLEAR

STORE0TOX,Y,S1,S2,S3

DOWHILEX<5

X=X+1

DOCASE

CASEINT(X/2)=X/2

S1=S1+X/2

CASEMOD(X,3)=0

S2=S2+X/3

CASEINT(X/2)<>X/2

S3=S3+1

ENDCASE

ENDDO

?

S1+S2+S3

SETTALKON

RETURN

运行以上程序后,屏幕显示6.0000。

8.请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。

SETTALKOFF

INPUT“请输入一个大于1的自然数:

”TON

K=0&&K的值为0表示所输入的自然数是质数,为1表示不是质数

J=2

DOWHILEJ

IFMOD(N,J)<>0

J=J+1

LOOP

ELSE

K=1

EXIT

ENDIF

ENDDO

IFK=0

?

STR(N)+”是质数”

ENDIF

SETTALKON

RETURN

9.阅读一下程序:

S=0

N=1

DOWHILE.T.

N=N+2

S=S+N

IFS>20

EXIT

ENDIF

ENDDO

?

”S=”+STR(S,2)

本程序的运行结果是S=24。

10.下列程序的运行结果是TRPN。

SETTALKOFF

CLEAR

A=“MNOPQRST”

K=1

DOWHILEK<9

?

?

SUBSTR(A,9–K,1)

K=K+2

ENDDO

*

***

*****

*******

11.下列程序的运行结果是。

SETTALKOFF

CLEAR

C=10

R=1

DOWHILER<=4

S=1

?

SPACE(8–R)

DOWHILES<=2*R–1

?

?

”*”

C=C+1

S=S+1

ENDDO

C=10–R

R=R+1

ENDDO

SETTALKON

F

E

D

C

B

A

RETURN

12.下列程序的运行结果为。

SETTALKOFF

C=“ABCDEFG”

N=1

DOWHILEN<7

?

SUBSTR(C,7–N,1)

N=N+1

ENDDO

RETURN

13.填上适当命令,使程序具有接收从键盘输入的Y或N才退出循环的功能。

SETTALKOFF

DOWHILE.T.

WAIT”输入Y/N”TOYN

IF(UPPER(YN)#“Y”).AND.(UPPER(YN)<>“N”)

LOOP

ELSE

EXIT

ENDIF

ENDDO

14.已知一数列的前3个数为0,0,1,以后每个数为其前相邻3个数的和,求此数列的前20个数。

SETTALKOFF

S1=0

S2=0

S3=1

I=4

DOWHILEI<=20

S4=S1+S2+S3

?

S4

S1=S2

S2=S3

S3=S4

I=I+1

ENDDO

SETTALKON

RETURN

15.求1~99的平方根。

SETTALKOFF

S=0

X=1

DOWHILEX<=99

S=SQRT(X)

?

S

X=X+1

ENDDO

SETTALKON

RETURN

1*1=1

2*2=4

3*3=9

16.下面程序的运行结果为。

SETTALKOFF

STORE1TOA,B

DOWHILEA<4

X=A*B

?

STR(A,1)+“*”+STR(B,1)+“=”

?

?

X

A=A+1

B=B+1

ENDDO

SETTALKON

RETURN

17.下面程序的运行结果为无结果。

SETTALKOFF

A=2

DOWHILEA<10

B=2

DOWHILEB

IFINT(A/B)=A/B

EXIT

ENDIF

IFB=A–1

?

A

ENDIF

B=B+1

ENDDO

A=A+1

ENDDO

1*2=2

2*3=6

3*4=12

4*5=20

18.下面程序段运行后,将显示。

A=1

B=2

DOWHILEA<5

X=A*B

?

STR(A,1)+‘*’+STR(B,1)+‘=’

?

?

X

A=A+1

B=B+1

ENDDO

RETURN

19.有如下菜单控制程序:

SETTALKOFF

STORE“”TOANS

DOWHILE.T.

CLEAR

?

”1.输入2.修改3.查询4.退出”

ACCEPT“请进行选择(1~4):

”TOANS

IFVAL(ANS)<3

PLOG=“PROG”+ANS+“.prg”

DO&PLOG

ENDIF

RETURN

ENDDO

如果输入的选择是2,则转去执行的子程序文件名是PROG2.prg。

20.下面程序的运行结果是:

12,24,36,48,请进行程序填空。

SETTALKOFF

KK=.T.

MM=0

DOWHILEKK

MM=MM+1

IFMOD(MM,12)=0

?

?

MM

ELSE

LOOP

ENDIF

IFMM=48

KK=.F.

ENDIF

ENDDO

21.通过键盘输入某门课程的分数,统计90分及不及格人数。

SETTALKOFF

STORE0TON90,NL60

DOWHILE.T.

INPUT“输入分数:

”TON

IFN<0

EXIT

ENDIF

IFN<60

NL60=NL60+1

ENDIF

DOCASE

CASEN>=90

N90=N90+1

LOOP

ENDCASE

ENDDO

?

N90,NL60

SETTALKON

RETURN

22.从键盘上连续输入10组数,分别输入每组数之和。

输入时规定,每组数的结束标志为“0”。

请填空。

CLEAR

SETTALKOFF

K=1

DOWHILEK<11

?

”请输入第”+STR(K)+“组数:

S=0

X=1

DOWHILEX<>0

INPUT“请输入下一个数:

”TOX

S=S+X

ENDDO

?

”第”+STR(K)+“组数这和=”,S

K=K+1

ENDDO

SETTALKON

RETURN

23.统计1~100能被3整除的个数,请填空。

X=0

Y=0

DOWHILEX<101

X=X+1

IFMOD(X,3)<>0

LOOP

ENDIF

Y=Y+1

ENDDO

?

”Y=”

?

?

STR(Y,2)

RETURN

*

*

*

*

24.下列程序的执行结果是。

I=1

DOWHILEI<5

?

SPACE(I)+“*”

I=I+1

ENDDO

RETURN

25.阅读下列程序,运行结果是21。

SETTALKOFF

CLEAR

I=1

DOWHILEI<50

IFMOD(I,3)=0.AND.MOD(I,7)=0

?

?

I

ENDIF

I=I+2

ENDDO

SETTALKON

RETURN

26.阅读下列程序,运行结果是1321。

SETTALKOFF

F1=1

F2=1

I=1

DOWHILEI<4

F1=F1+F2

F2=F2+F1

I=I+1

ENDDO

?

F1,F2

SETTALKON

RETURN

27.阅读下列程序,运行结果是20。

SETTALKOFF

DIMEA(6)

STORE1TOA

(1),A

(2)

I=3

T=2

DOWHILEI<=6

A(I)=A(I–1)+A(I–2)

T=T+A(I)

I=I+1

ENDDO

?

T

SETTALKON

RETURN

28.阅读下列程序,运行结果是3。

SETTALKOFF

STORE1TOI,J

T=0

DOWHILEI<=5

T=T+J*I

J=-J

I=I+1

ENDDO

?

T

SETTALKON

RETURN

29.阅读下列程序,运行结果是9。

SETTALKOFF

STORE1TOI,S

T=0

DOWHILEI<4

T=T+S

I=I+1

S=S*I

ENDDO

?

T

SETTALKON

RETURN

30.阅读下列程序,运行结果是35。

SETTALKOFF

I=1

T=0

DOWHILEI<=5

T=T+I*I

I=I+2

ENDDO

?

T

SETTALKON

RETURN

31.阅读下列程序,运行结果是123。

SETTALKOFF

STORE1TOA,I,S

T=0

DOWHILEI<4

T=T+S

S=S*10+A

I=I+1

ENDDO

?

T

SETTALKON

RETURN

32.计算机等级考试考生数据表为STUDENT.dbf,笔试和上机成绩已分别录入其中的“笔试”和“上机”字段(皆为N型),此外另有“等级”字段(C型)。

凡两次考试均达到80分以上者,应在等级字段中填入“优秀”。

为此编程如下,请填空。

SETTALKOFF

USESTUDENT

DOWHILE.NOT.EOF()

IF笔试>=80.AND.上机>=80

REPLACE等级WITH“优秀”

ENDIF

SKIP

ENDDO

USE

SETTALKON

33.有成绩表GRADE.dbf,有“学号”、“姓名”、“成绩”等字段,查分程序如下,请填空。

SETTALKOFF

USEGRADE

ACCEPT“请输入学号:

”TONUM

LOCATEFOR学号=NUM

IF.NOT.EOF()

?

姓名,“成绩:

”+STR(成绩,3,0)

ELSE

?

“没有此学生!

ENDIF

USE

SETTALKON

34.有学生表STUDENT.dbf,其中有“编号”字段(N,2),其值从1开始。

欲按编号的1,9,17,25,…规律抽取学生参加计算机汉字录入比赛,并指屏幕上显示参加比赛学生的编号,编程如下,请填空。

SETTALKOFF

USESTUDENT

DOWHILE.NOT.EOF()

IFMOD(编号,8)=1

?

?

编号

ENDIF

SKIP

ENDDO

USE

SETTALKON

35.一下程序的功能是根据数据表DJKS.dbf的“笔试成绩”和“上机成绩”,填写“是否通过”字段值。

请阅读程序,并将程序填写完整。

SETTALKOFF

USEDJKS

DOWHILE.NOT.EOF()

TG=IIF(笔试成绩>=60.AND.上机成绩>=60,.T.,.F.)

REPLACE是否通过WITHTG

SKIP

ENDDO

USE

SETTALKON

36.下面程序的功能是根据用户的输入,到P1.dbf中查找与“CODE”字段匹配的记录,并将内容显示出来。

如果无匹配记录,给出错误信息,允许输入3次,3次仍输入不对,退出程序。

请填空:

SETTALKOFF

SETEXACTON

CLEAR

K=0

USEP1

DOWHILEK<3

?

”请输入CODE的值:

ACCEPTTOKEYWORD

LOCATEFORCODE=KEYWORD

IFEOF()=.F.

CLEAR

DISPLAY

K=0

ELSE

?

”您输入的字段值不对”

WAIT”按任意键继续”

K=K+1

ENDIF

ENDDO

USE

SETTALKON

RETURN

37.数据表文件KS.dbf中有“成绩”字段(数值型),其值为全国计算机等级考试考生成绩。

有如下程序段:

USEKS

MX=0

DOWHILE.NOT.EOF()

MX=MAX(成绩,MX)

SKIP

ENDDO

?

MX

RETURN

执行以上程序后,?

命令显示的数据是“成绩”的最高分。

38.设有职工数据表文件ZG,“姓名”为该表中的一字段名。

USEZG

DOWHILE.NOT.EOF()

IF“张”$姓名

DISP

ENDIF

SKIP

ENDDO

USE

RETURN

本程序的作用是列出“姓名”字段中,包含“张”字符的所有记录。

39.设数据表GRADE.dbf包括学号、姓名、成绩等字段,下列程序完成打印最高成绩记录的学号、姓名、成绩。

请填空完成程序。

USEGRADE.dbf

记录号=1

最高成绩=成绩

DOWHILE.NOT.EOF()

IF成绩>最高成绩

最高成绩=成绩

记录号=RECNO()

ENDIF

SKIP

ENDDO

GOTO记录号

?

”最高成绩:

学号=”+学号+“姓名=”+姓名+“成绩=”

?

?

成绩

RETURN

40.教师数据表文件TEACHER中有“婚否”字段,为逻辑型。

下列程序用于逐个显示已婚(婚否字段为真值)教师的数据记录,请填空。

USETEACHER

DOWHILE.NOT.EOF()

CLEAR

IF婚否=.F.

SKIP

LOOP

ENDIF

DISPLAY

WAIT”按任意键继续!

SKIP

ENDDO

USE

41.下面是一个根据学生姓名查询学生信息的程序,并在进行了一次查询后,可选择是否继续查询。

请填空完成程序,注:

XS.dbf中含有学号(N型)、姓名(C型)、出生年月(D型)字段。

SETTALKOFF

WAIT”查询学生信息键入Y,否则键入N”TOYN

IFYN<>‘Y’

SETTALKON

RETURN

ENDIF

USEXS

DOWHILE.T.

ACCEPT”键入学生姓名:

”TOXM

LOCATEFOR姓名=XM

IFEOF()=.F.

DISP

ELSE

?

”查无”+XM

ENDIF

WAIT“继续查询键入Y,否则键入N”TOYN

IFYN<>‘Y’

USE

SETTALKON

RETURN

ENDIF

ENDDO

42.有下列程序:

*主程序MAIN.prg

SETTALKOFF

CLEAR

A=1

B=2

C=3

DOSUB

?

A,B,C

*子程序SUB.prg

A=10

B=20

C=30

?

A,B,C

RETURN

102030

102030

执行主程序MAIN.prg后的显示结果为。

43.有如下程序

*主程序:

ZCX.prg

SETTALKOFF

K1=“AB”

DOZCX1

?

K1

RETURN

*子程序:

ZCX1.prg

K1=K1+“200”

AB200

AB200

?

K1

RETURN

执行命令DOZCX后,屏幕显示的结果为。

44.下面有4个独立的程序文件MAIN.prg、SUB1.prg、SUB2.prg、SUB3.prg,试分析执行DOMAIN命令后程序运行结果。

aaa

ddd

eee

ggg

fff

bbb

eee

ggg

fff

ccc

*MAIN.prg

?

”aaa”

DOSUB1

?

”bbb”

DOSUB2

?

”ccc”

RETURN

*SUB1.prg

?

”ddd”

DOSUB2

RETURN

*SUB2.prg

?

”eee”

DOSUB3

?

”fff”

RETURN

*SUB3.prg

?

”ggg”

RETURN

45.有下列程序:

*主程序PROG

SETTALKOFF

X=“同学们”

Y=“你们好!

DOSUBPRO

?

”返回主程序后X=”,X

?

”返回主程序后Y=”,Y

?

”返回主程序后Z=”,Z

SETTALKON

RETURN

*子程序SUBPRO

PRIVAT

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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