DO WHILE flag y=x+y*10 x=int(x/10) IF x=0 flag=.F. ENDIF ENDDO RETURN
运行上面的程序,显示的结果为: 。 4.在Visual FoxPro的表单上添加一个标签,其Name属性为:Lba,Caption属性为:请输入字符串,添加一个文本框,其Name属性为:txt,添加一个标签,其Name属性为:Lbb,Caption属性为:空,添加一个命令按钮,其Name属性为:Command1,Caption属性为:确定。 Command1的Click事件代码如下: mystr=ThisForm.txt.Value mystr=Trim(mystr) n=LEN(mystr) DIME arr(n) FOR i=1 TO n
arr(i)=SUBSTR(mystr,i,1) ENDFOR m=3 j=0
FOR i=n TO 1 STEP -1 IF arr(i)=[*] j=j+1 ELSE EXIT ENDIF ENDFOR b=[ ] c=[ ] s=0
计算机专业理论试题 第13页 共 24页
IF j>m s=m ELSE s=j ENDIF
FOR i=1 TO n-s
IF (arr(i)>=[0] and arr(i)<=[9]) b=b+arr(i) ELSE
c=c+arr(i) ENDIF ENDFOR mystr=c+b
ThisForm.lbb.Caption=mystr Return
运行上面的表单,在文本框中输入:d12&%##ef34*****,单击“确定“按钮,在标签中显示的是: 。 5.设有数据库文件SHANGPIN.DBC,包含3个表,分别是goods、order、orderitem。其中goods的结构为:商品号(C,6)、商品名(C,20)、单价(N,6,2),order的结构为:订单号(C,4)、客户名(C,8)、签订日期(D),orderitem的结构为:订单号(C,4)、商品号(C,6)、数量(N,2),其表中数据如下:
Goods.dbf
记录号 商品号 商品名 单价 1 a00001 数据库原理 23.80 2 a00002 计算机操作系统 31.00 3 a00003 汇编语言 33.50 4 a00004 C++程序设计 23.90 Order.dbf
记录号 订单号 客户名 签订日期 1 0001 zhangby 02/29/00 2 0002 haom 03/14/00 3 0003 liuyj 03/18/00
计算机专业理论试题 第14页 共 24页
4 0004 liubing 03/21/00 5 0005 lixing 03/25/00 6 0006 hailan 04/01/00 Orderitem.dbf
记录号 订单号 商品号 数量 1 0001 a00001 2 2 0002 a00002 2 3 0003 a00003 3 4 0004 a00003 4 5 0005 a00004 3 6 0006 a00003 2 有如下程序: DIME arr(1) SUM1=0
ALTER TABLE ORDER ADD 总金额 N(7,2)
SELECT Orderitem.订单号, sum(goods.单价*orderitem.数量) as 总金额 FROM goods,orderitem WHERE Goods.商品号 = Orderitem.商品号 GROUP BY Orderitem.订单号 ORDER BY Orderitem.订单号 INTO TABLE temp.dbf CLOSE ALL SELECT 1 USE TEMP
INDEX ON 订单号 TO ddh1 SELE 2 USE ORDER
INDEX ON 订单号 TO ddh2 SET RELATION TO 订单号 INTO A DO WHILE .NOT.EOF()
REPLACE 总金额 WITH temp.总金额 SKIP ENDDO DO WHIL .T.
ACCE \请输入商品名(输入0退出)\
计算机专业理论试题 第15页 共 24页
IF SHANG ='0' EXIT ELSE
SELECT 商品号 FROM goods WHERE 商品名=SHANG INTO ARRAY arr SNO=arr(1)
SELECT 订单号 FROM orderitem WHERE 商品号=SNO INTO TABLE WJ USE WJ
DO WHILE NOT EOF() MM=订单号
SELECT 总金额 FROM order WHERE 订单号=MM INTO ARRAY arr SUM1=SUM1+arr(1) SKIP ENDDO ?SUM1 ENDIF ENDDO
运行上面的程序,输入“汇编语言”,显示的结果是: 。 七、程序改错(本大题共2小题,每题5分,共10分。每个程序有两处错误,请在答题纸上写出错误行和对应的正确行,改错不扣分)
1.下面的程序是将一输入的字符串进行分类赋值,方法:从字符串的最左端开始截取一字符,然后进行判断,数字字符放入数组a中,将其它字符放入数组b中,最后分类打印,程序中有两处错误,请将正确的全行写在答题纸相应的横线上。( Visual Basic题)
Dim a(100) As Integer Dim b(100) As Integer Dim c As String Dim i As Integer Dim j As Integer Dim k As Integer Dim m As Integer Dim w As String
c = InputBox(\k = Len(c)
计算机专业理论试题 第16页 共 24页