4. 根据条件写表达式
(1) 随机产生大写字母 Chr(Int(Rnd * (Asc(\
(2) [100,200]内的随机数 Int(Rnd * 101) + 100
(3) 点(x,y)位于第一或第三象限 x > 0 And y > 0 Or x < 0 And y < 0 或 x * y > 0
(4) x是5或7的整数倍 x Mod 5 = 0 Or Int(x / 7) = x / 7
(5) 将两位整数x的个位与十位对换 x \\ 10 + (x Mod 10) * 10
(6) 四舍五入取两位小数 Round(x, 2)
(7) 字符变量C是字母字符(不区分大小写)——准确地说是:字符变量C的第一个字符是字母
C >= \
或 UCase(C) >= \
或 LCase(C) >= \
(8) 字符变量S第5个字符起取6个字符 Mid(S, 5, 6)
(9) 10≤x<20 10 <= x And x < 20
(10) x,y至少有一个小于z x < z Or y < z
(11)x,y都大于z x > z And y > z
5. 写表达式的值
(1) 188 ——注意运算的优先级顺序,以及整除运算“\\”的计算
(2) 200100 —— 计算100 + \时,由于两个操作数类型不同,在可能的情况下自动采用精度较高的类型,即把字符型转换为数值型,100 +100 得到200;然后进行字符串连接运算200 & 100 ,再自动将两个数值转换为字符串,得200100。
(3) 68.56 ——在四舍五入函数产生之前,这就是四舍五入的计算方法
(4) 876554 ——先进行字符串的“+”运算,再转换成数值。在变量名和函数名后可加上类型符,以强调其类型,但不是必须的。
(5) 2000-2-29
(6) 6
6.Shell函数调用
i = Shell(\ '启动画图
i = Shell(\ '启动Word
说明:“画图”是Windows本身提供的程序,可以省略路径。
8. 答:单精度浮点型
第7,9题答案在教材中找。
习题四
第1,3,5,8题答案在教材中找。
2. 赋值语句的错误
(1)10x 不能做变量名。
上机验证结果:VB将10识别为行号,x = Sin(x) + y是为变量x赋值。故无语法错误。
(2)Sqr函数的参数为负数。
上机验证结果:“无效的过程调用或参数”
(3)赋值号左边不是变量名。
上机验证结果:“缺少子程序、函数或属性”
(4)除数为0
上机验证结果:“溢出”。
4. [答案略]
说明:小数位可以使用四舍五入函数Round或输出格式函数Format。例如Round(x, 2)和Format(x, “0.00”)均可使结果只保留两位小数。但如果四舍五入后要进行数值运算,则使用Round函数,例如z=Round(x,2)+Round(y,2)。而Format函数通常只用于输出格式设置。
6.指出错误
(1)“≥”应改为“>=”,前者是中文字符,不具有运算功能。
(2)“10 7.写条件语句 (1) Dim c As String c = InputBox(\ If Mid(c, 3, 1) = \ MsgBox \Else MsgBox \End If (2) # 使用If语句 Dim x As Single, y As Single x = Val(InputBox(\If x > 20 Then y = x ^ 2 + 3 * x + 2 ElseIf x >= 10 Then y = Sqr(3 * x) - 2 ElseIf x > 0 Then y = 1 / x + Abs(x) End If Print \ # 使用Select Case语句 Dim x As Single, y As Single x = Val(InputBox(\Select Case x Case Is > 20 y = x ^ 2 + 3 * x + 2 Case Is >= 10 y = Sqr(3 * x) - 2 Case Is > 0 y = 1 / x + Abs(x) End Select Print \ (3) # 使用If语句 Dim x As Single, y As Single, z As Single, Max As Single x = Val(InputBox(\y = Val(InputBox(\z = Val(InputBox(\Max = x If y > Max Then Max = y If z > Max Then Max = z Print \ # 使用IIF函数 x = Val(InputBox(\y = Val(InputBox(\z = Val(InputBox(\Max = IIf(x > y, x, y) Max = IIf(z > Max, z, Max) Print \ 9. 计算循环次数 (1) 6 (2)19 (3)0 (4)死循环直至溢出 10. 40号语句执行 4次;第50 号语句执行12次; 执行第90号语句输出的结果是: 13,0,2 说明:该程序为嵌套循环,其中外循环由j值变化(1,4,7,10)控制执行4次,当j值为13时结束循环;内循环由k值变化(6,4,2)控制执行3次,当k值为0时结束循环。第40 行是外循环的循环体,故执行4次;第50 行是内循环的循环体,故执行4*3=12次。 11. 可以定一个较大的循环次数,在循环体中根据条件用Exit For退出。 但这种情况通常用Do While循环控制。 12. 编程(并非唯一正确答案) (1) Dim i As Integer, s As Integer For i = 1 To 10 s = s + (i + 1) * (2 * i + 1) Next i Print \ (2) Dim i As Integer, n3 As Integer, n7 As Integer For i = 1 To 100 If i Mod 3 = 0 Then n3 = n3 + 1