计算机专业模拟试卷(程序填空和程序改错)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、程序填空

1、有学生表ST,其中“编号”(N,2,0)

字段值从1开始连续排列。以下程序欲

按编号1,9,17,25……的规律抽取学

生参加比赛,并在屏幕上显示参赛学生

的编号,请填空。

USE ST

DO WHILE NOT EOF()

IF MOD__________

??编号

ENDIF

SKIP

ENDDO

2、通过键盘输入读者的借书证号,在“读

者”表和“借阅”表中查找该读者及借

书的有关信息。

OPEN DATABASE BOOKS

DO WHILE ___________

ACCEPT”请输入借书证号:” TO ZH

SELECT * FROM 读者,借阅WHERE

读者.借书证号=借阅.借书证号AND ;

读者.借书证号=ZH

WAIT“继续查询(Y/N)?”TO YN

IF UPPER(Y/N)<>“Y”

_______________________

ENDIF

ENDDO

_______________________

3、将“借阅”表中借书日期超过一年且还

没有归还的记录的“标记”字段填充“*”。USE 借阅

DO WHILE _________

IF 还书日期={/} AND DA TE()—借书日期>365

REPLACE ___________

ENDIF

SKIP

ENDDO

USE

RETURN

4、一个自定义函数FX,计算F(X)

=EX+3X+10的值,并编写一个主程序调

用FX函数,分别计算变量X由5到10

(步长为1)的函数值

*FX.PRG

FOR I=5 TO 10

?“X=”,I,“F(X)=”,_________

NEXT

RETURN

FUNCTION FX(X)

________________

RETURN F

5、下列程序根据输入的学生成绩,来判断

学生成绩等级,其中成绩大于或等于90分

的为优秀,75-90的为良好,60-74为及格,

小于60分的为不及格,请正确补充程序运

行。

Clear

Set talk off

____________(“请输入成绩:”) to cj

Do case

Case cj<60

Dj=”不及格”

Case cj<75

Dj=”及格”

Case cj<90

Dj=”良好”

____________

Dj=”优秀”

Endcase

? Dj

Set talk on

6、设表STU.DBF中有“学号、姓名、性别、

出生日期、班级”等字段,程序完成根据姓

名进行的查询:

Set talk off

Use stu

Store space(6) to xm

Index on 学号to xh

accept “输入姓名:” to xm

locate for 姓名=xm

display

else

?“查无此人”

Endif

Wait “继续吗?”to yn

If upper(yn)=”N”

Exit

Else

Loop

Endif

Enddo

Use

Set talk off

7、请阅读下列判断一个自然数是否为质数

的程序,并将程序填空完整.

Set talk off

Input”请输入一个大于1的自然数:” to n

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

质数, 为1表示不是质数

j=2

Do while j

If mod

(n,j)_____________________________

Loop

Else

K=1

Exit

Endif

If k=0

?__________________+”是质数”

Endif

?”再见!!”

Set talk on

Return

8、定义一个二维数组X(8,9),给数组元

素为该元素下标组成的数值。

SET TALK OFF

DIMENSION X(8,9)

FOR N=1 TO 8

FOR M=1 TO 9

________________

END FOR

END FOR

RETURN

9、在ZGDA.DBF表中查找用户指定的编号。

如果查找成功,则显示找到的记录,否则显

示一条说明信息。试完成下面的程序。

SET TALK OFF

USE D:\ZG\ZGDA

DO WHILE .T.

CLEAR

ACCEPT”请输入编号:” TO BH

LOCATE FOR ________________

IF FOUND()

DISPLAY

ELSE

WAIT“不存在该编号”WINDOW TIMEOUT 1

ENDIF

WAIT”是否继续查找?(Y/N)”TO ANSWER WINDOW

IF UPPER(ANSWER)<>”Y”

___________________________

ENDIF

ENDDO

USE

SET TALK ON

RETURN

10、按每次显示一条记录的方式显示JSDA.DBF的所有记录。

SET TALK OFF

USE D:\ JSGL\JSDA

CLEAR

FOR N=1 TO _______

DISPLAY

SKIP

W AIT”按任意键继续” WINDOW

ENDFOR

USE

SET TALK ON

RETURN

11、输入一个正数,使用过程计算以该数为半径的圆的面积。试完成下面的程序。

CLEAR

AM=0

INPUT“请输入一个正数:” TO X

DO AREA WITH AM,(X)

?”半径为”+ALLTRIM(STR(X,20,2))+”的

圆面积为:”+ALLTRIM(STR(AM,20,2))

RETURN

_________________ &&定义过程

PARAMETERS AR,R

AR=3.14*R*R

ENDPROC

12、计算分段函数的值:{012012

)

(≥

+

<

-

=x

x

x

x

x

f

SET TALK OFF

CLEAR

INPUT“请输入X的值:“TO X

IF_______________________

Y=2*X+1

ELSE

Y=2*X-1

ENDIF

?”f(“+ALLTRIM(STR(X))+”ALLTRIM(STR(

Y))

_________________

RETURN

二、程序改错

1、下面程序的功能是完成图书查询,用户

输入书名后,从图书表(图书.dbf)中查询

给定书目的信息。若用户没输入书名,则要

求用户重新输入,若用户输入字符串“000

“,则结束查询。程序中有两行错误,请将

错误语句改正后写在右边相应的横线上。

Use 图书

Do while .T. _________________

Accept”请输入书名:” to sm ________

If LEN(ALLTRIM(SM))=0 _________

EXIT ______________

ENDIF _______________

IF ALLTRIM(SM)=”000”_____________

LOOP ____________

ENDIF ____________

LOCATE ALL FOR 书名=ALLTRIM(SM)

______________________________

IF FOUND() _____________

DO WHILE .NOT. EOF( ) _____________

DISPLAY _____________

CONTINUE _____________

ENDDO _____________

ELSE _____________

?”查无此书”______________

ENDIF ______________

ENDDO _____________

RETURN

2、下面程序的功能是:输入8个字符,如

果第三到第六个字符为“OKOK”,则执行命

令文件Pass,否则重新输入,若输入超过三

次则退出程序运行。程序中有两行错误,请

将错误语句改正后写在右边相应的横线上。

Clear

Password =SPACE(8)

I=3

Do while .T.

@10,10 SAY “输入口令:” GET PASSWORD

Read

If str(password,3,4)=”OKOK”_______

Quit &&退出循环

Else

I=I-1

If I=0

Return

Endif

Endif

Enddo

Do pass

相关文档
最新文档