实习10程序设计3.docx
《实习10程序设计3.docx》由会员分享,可在线阅读,更多相关《实习10程序设计3.docx(13页珍藏版)》请在冰点文库上搜索。
实习10程序设计3
实习十
一、实习目的:
1.学会阅读分析程序,并能正确理解程序的特点和功能。
2.掌握结构化程序设计的方法和技巧。
3.熟悉和掌握过程及过程文件的使用。
二、实习内容:
(一).分析程序
1.阅读下列程序,并回答问题:
Endif
Ifx>5
Exit
Endif
Enddo
?
x
Clear
X=0
Dowhile.t.
X=x+2
Ifx=int(x/3)*3
?
x
else
loop
(1)程序执行中第一个输出的结果是()
A)3B)0C)6D)2
(2)程序执行中循环体的执行次数为()
A)2B)3C)4D)大于4
(3)循环结束后变量X的值是()
A)2B)3C)4D)6
2.阅读下列程序,回答问题:
(1)语句X=1的作用是()
A)给内存变量X赋值B)给数组X中的每个元素赋值
C)等价于X
(1)=1D)给字段变量赋值
(2)子程序运行完毕后,输出结果为()
A)1,6,4B)2,6,4C).F.,4,6D).F.,6,4
(3)主程序运行完毕后,输出结果为()
A)1,6,4B)2,6,4C).F.,4,6D).F.,6,4
*子程序SUB1
parax,y,z
x=x+1
y=y*z
z=y-x
?
x,y,z
return
*主程序MAIN
clear
dimex(3)
x=1
y=2
z=3
dosub1withx
(1),y,z
?
x
(1),y,z
return
3.阅读下面程序:
clear
opendatabaseemplorer
usecompen
scanforrecno()<=10
if姓名=”杜勇”
loop
endif
?
姓名,实发工资
endscan
use
closedatabase
(1)compen是()
A自由表B数据库表
C数据库D可能是自由表,也可能是数据库表
(2)若数据库有50条记录,则程序的功能是()
A前10条记录中搜索“杜勇”的记录
B列出前10条记录,但是不显示“杜勇”的记录
C每10条记录一屏显示记录,但不显示“杜勇”的记录
D列出前10条记录
(3)循环结束后,指针指向()
A第1条B最后一条C第10条D最后1条记录
4.阅读下面程序
*main.prg
clear
setproctoabc
publica1,a2
a1=1
a2=a1+1
a3=right(‘internet’,3)
dos1
?
a1,a2,a3&&①
dos2witha1,a2,a3
return
*****
*过程文件abc.prg
procs1
a1=a1+1
return
procs2
paraa,b,c
a=a+1
b=b+1
c=c+left(‘exper’,3)
?
a,b,c&&②
dos3witha,b,c
return
procs3
parax,y,z
x=x+1
z=z-z
?
x,y,z&&③
y=y+1
return
(1)程序运行时第一个“?
”(语句
处)的屏幕显示结果为()
A、22netB、22int
C、12netD、13exp
(2)程序运行第二个“?
”(语句
处)的屏幕显示为()
A、33netB、33netexp
C、23netrerD、43exp
(3)程序运行第三个“?
”(语句
处)的显示结果为()
A、22netB、43entexp
C、43expnetD、43netexpnetexp
5.现有如下数据表文件,执行SQL查询命令后请选择正确的结果。
(1)执行“select*fromstockintodbfstockorderby单价”,()
A、会产生一个按“单价”升序的排列文件,将原stock覆盖
B、会产生一个按“单价”降序的排列文件,将原stock覆盖
C、不产生排列文件,只在屏幕上显示“单价”升序排序结果
D、系统会提示出错信息
(2)执行“select*fromstockwhere单价between15.00and25.00”与该语句等价的是()
A、select*fromstockwhere单价<=15.00and单价>=25.00
B、select*fromstockwhere单价<15.00and单价>25.00
C、select*fromstockwhere单价>15.00and单价<25.00
D、select*fromstockwhere单价>=15.00and单价<=25.00
(3)执行“selectmax(单价)intoarraykfromstock”后,则()
A、k
(1)的内容是31.00B、k
(1)的内容是7.80
C、k(0)的内容是31.00D、k
(1)的内容是7.80
6.有数据表ABC.DBF,其内容如下
记录号学号姓名外语
11101张三90
22101李四56
31201王五85
42201刘六70
53101漆七95
程序如下:
useabc
locafor外语>=80
s=0
dowhilenoteof()
?
?
姓名
ifsubs(学号,2,1)=”1”
s=s+外语
endif
cont
enddo
?
s,recon()
(1)显示的姓名有(
A、张三李四王五刘六漆七B、张三王五漆七
C、李四王五刘六D、张三李四王五
(2)程序结束时S的值为()
A、396B、185C、241D、211
(3)程序结束时RECNO()的值为()
A、.T.B、.F.C、5D、6
7.阅读下面的程序
X=1
Dowhilex<7
Y=1
C=”**”
Dowhiley<=x
C=c+str(y,1)
Y=y+1
Enddo
Ifx=5
?
c
endif
x=x+1
enddo
?
x
return
(1)执行以上程序后,“?
x”命令显示变量x的结果为()
A、$6B、7C、6D、$7
(2)执行以上程序后“?
C”的结果为()
A、**54321B、54321C、**12345D、12345
(3)在上面的程序中,控制内循环和外循环的变量分别为()
A、X,YB、Y,XC、X,CD、Y,C
(二).程序填空:
1.下面程序是对“职工”表中的重复职工号进行物理删除,请补充程序
Use职工
Indexon职工号tozgh
Dowhile①
Zgh=职工号
Skip
If②
Delete
Endif
③
④
Closeall
2.有图书表TS.DBF和订单表DD.DBF,要求计算订单金额。
图书表TS.DBF结构如下:
书号书名作者出版社单价
Y001C语言王晓大众出版社21.50
J002计算机基础程力科技出版社26.00
J003计算机导论舒彦电子出版社30.50
W004网页制作严谨科技出版社28.3
订单表DD.DBF结构如下
订单号书号数量金额
001Y001150
002J001200
003J00350
004W004100
阅读下面程序,请补充完整
Clearall
SelectA
UseTS
Index①TOSS
Selectb
UseDD
Setrelationto书号②
Replaceall金额with③
List定单号,书号,TS.单价,TS.书名,数量,金额
return
3.有“教师”表和“学院”表如下:
用SQL查询语言实现:
(1)使用SQL语句完成一条新记录的插入操作:
insert
学院(院系代码,院系名称)values(“04”,艺术学院)
(2)求所有“机械制造学院”的职工的工资总和的操作:
select
(工资)from教师where院系代码in
(selece院系代码from学院where院系名称=“机械制造学院”
(3)将所有“讲师”人员的工资提高10%的操作:
update教师set工资=工资*1.1
职称=“讲师”
(三)编程题
第二十六次等级考试二级(数据库)上机考试试卷(第一套)
考试盘中已建立项目26test1,在该项目中已有自由表“学生档案.DBF”、“学生成绩.DBF”。
下面的程序设计与表单设计都应在项目中完成。
1、编写程序(文件名:
abc1.prg)(50分)
项目文件26test1中已有数据表“学生档案.DBF”、“学生成绩.DBF”
编程实现:
计算每个学生的总成绩,其中“听力”和“口语”各占总分30%,笔试占总分的40%,填入相关记录。
将平均分80分(含80分)以上的学生记录,备份到STBF.DBF库,其中有字段:
学号、姓名、平均分,并显示STBF.DBF表文件的内容:
记录号学号姓名总成绩
1061100101王音坤81
2061100102何畅91
3061130101吴鑫87
4050210201陈晓敬81
5040103020马云飞85
查找“06”级的四川籍学生(其中:
学号的前2位为年级号)。
按下列要求显示查询结果:
学号姓名总成绩
﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦﹦
062010101邹艳70
061130101吴鑫87
060421020李荣芳66