编写VB程序,实现如下功能:在文本框Textl和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如第14题-1图所示。结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。  (1)要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(第14题-2图) 中将 属性的属性值修改为“转换”。
(2)为实现上述功能,请在划线处填入合适代码或选项。
Private Sub Command1_Click()
Dim t1 As Integer, t2 As Integer
Dim i As Integer, t As Integer
Dim f As Single 'f存储华氏温度值
List1.Clear
t1 = Val(Text1.Text)
t2 = Val(Text2.Text)
If ① Then '(选填字母,从下列A、B、C、D四个选项中选取一项)
t = t1: t1 = t2: t2 = t
End If
i = t1
Do While ② '(选填字母,从下列A、B、C、D四个选项中选取一项)
f = i * 9 / 5 + 32 '摄氏温度转换为华氏温度
List1.AddItem Str(i) + " " + Str(f)
i = ③ '(填程序代码)
Loop
End Sub划线①、②处的选项: A.i
(本题为阅读程序 / 完善程序,完整题目与测试数据见平台)
这题考VB界面属性与循环控制。先看Caption属性改按钮文字;再想两数大小关系,若t1大于t2就要先交换,所以①选C;循环从t1到t2,条件自然是i<=t2,②选A;每次加1,③填i+1。
最容易错在①处:看到交换就以为要判断i和t2的关系,其实交换的是两个输入值的大小,必须用t1和t2比较,选C才对。②处容易把i和f搞混,以为循环条件是f<=t2,但f是计算出来的华氏温度,跟t2毫无关系,那是命题人挖的坑。③处有人会填i+1,但选项里只有A(i+1)和B(i+2)等,必须选A。还有同学会忘记Val函数,直接写Text1.Text,那样类型不匹配,程序会报错。
这是一道典型的VB程序填空题,核心考查三个点: 1. 命令按钮的Caption属性(界面文字); 2. 两数大小比较与交换逻辑(条件判断); 3. For/Do While循环的边界控制与步进(循环条件与变量更新)。
1. 第①空:很多同学看到“交换”就本能地想“i和t2比大小”,于是选A或B。其实交换的是两个输入值t1和t2,跟循环变量i无关。命题人故意把i、f、t1、t2混在一起,让你掉进“看条件”的陷阱。 2. 第②空:循环从t1走到t2,条件自然是i<=t2。但选项里有f<=t2(B)和i<f(D),f是华氏温度,跟t2完全没关系;i<f更是逻辑错乱。这就是典型的“数字干扰项”。 3. 第③空:步进必须是i+1,但选项里只有A(i+1)和B(i+2),很多同学会误选B,以为要“跳一格”,其实摄氏温度是1度1度递增的。
1. 先看界面:按钮文字要改成“转换”,属性窗口里改的是Caption,所以第①空填Caption。 2. 再看逻辑:题目要求“第1列为两数之间的摄氏温度值(间隔1度、升序)”。如果t1>t2,那从t1到t2就是降序了,必须先把大的换到t2,小的换到t1。怎么判断?用If t1 > t2 Then交换。所以第①空的条件是C(t1 > t2)。 3. 循环条件:交换后t1≤t2,循环从i=t1开始,只要i≤t2就继续,所以第②空选A(i <= t2)。 4. 步进:每次i增加1,所以第③空填i+1,对应选项A。
最终List1里就是5到10的摄氏温度与对应华氏温度,完全符合题目要求。
根据历年浙江高考信息技术真题统计,VB程序填空(尤其是界面属性+循环控制)属于高频考点,近5年出现约12次,其中“Caption属性改按钮文字”和“两数大小交换”组合出现4次,循环条件与步进各出现3次。这类题通常放在第14-16题位置,难度中等偏下,主要考察学生对基本控件属性和简单循环的理解。
基于现有数据,未来考题仍会延续“界面属性+循环控制”的组合,但可能会增加一层嵌套循环(比如同时输出摄氏和华氏),或者把步进改成2(每隔一度输出一次),以区分层次。不过,只要抓住“Caption改按钮文字”和“两数交换用t1>t2判断”这两个核心,就能稳拿分。暂无足够依据预测更复杂的图论或算法题会突然出现在这种填空题里。
这道题看似简单,实则命题人把i、f、t1、t2四个变量混在一起,专门考你是否能分清“交换条件”和“循环条件”。记住:交换看t1和t2,循环看i和t2,步进永远是i+1。按这个思路,三个空依次填Caption、C、A,程序就能完美输出升序的摄氏-华氏对照表。