计算机专业模拟试卷(程序填空和程序改错)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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