首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
admin
2008-11-20
46
问题
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。
【应用说明】
某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与40秒。持续时间结束时,立即变更红绿灯,并重新显示剩余秒数。
【Visual Basic开发说明】
在开发过程中,先在窗体内制作形状“红绿灯框架”(长方形,透明),在该框架中,上部制作形状“红灯”(ShpRed,圆形),默认属性为透明;下部制作形状“绿灯” (ShpGreen,圆形),初始设置其填充方式属性FillStyle为实心,填充颜色属性FillColor为绿色。
再设置两个图像框(Image1在左,Image2在右),使其能分别装入数字图像文件,以显示当前红绿灯状态剩余的秒数。10个数字图像文件N0.bmp~N9.bmp分别用于显示数字0、1、…、9,这些文件存放在该应用程序所在目录中,以便在程序运行时按需要选择装入这两个图像框。为使图像文件装入图像框时能自动改变大小以适应图像框,这些图像框的Stretch属性都应设置成(1)。为使这些数字能每秒变化一次,开发窗体中设置了计时器Timcr1,其Enable属性设置成True,其Interval属性设置成1000。
程序中,全局变量Light用以标志当前红灯(0)或绿灯状态(1),RedT和GreenT分别表示红灯或绿灯状态剩余的秒数。
计时器Timer1的定时过程是在该程序启动1秒后首次执行的,以后每隔1秒执行1次。开发者应考虑对以下四种情况的处理:绿灯持续、绿灯转红灯、红灯持续、红灯转绿灯。
过程LoadNumber的功能是:将红绿灯剩余秒数N(2位整数)分离出两个一位数i与i,再将其变换成字符,删除前面可能产生的空格,再将数字图像文件Ni.bmp与Nj.bmp装入两个图像框(其中i与j应以相应的数字字符代替)。
【Visual Basic程序代码】
Public Light AS Integer, RedT As Integer, GreenT As Integer
Private Sub Form_Load()
Light = 1 : GreenT = 40 : RedT - 0 ’初始化设置
End Sub
Private Sub Timer1_Timer() ’计时器定时过程
If Light = 1 Then ’绿灯状态时
(2)
If GreenT > 0 Then ’绿灯持续时
Call LoadNumber (GreenT) ’调用过程,显示数字GreenT
Else ’绿灯转红灯时
ShpRed.FillStyle = 0 ’置红灯形状实心
ShpRed.FillColor = vbRed ’为红灯形状填充红色
ShpGreen.FillStyle = 1 ’置绿灯形状透明
Call LoadNumber(30)
Light = 0 : RedT = 30
End If
Else ’红灯状态时
RedT = RedT - 1
If RedT > 0 Then ’红灯持续时
Call LoadNumber(RedT)
Else ’红灯转绿灯时
ShpRed.FillStyle = 1
ShpGreen.FillStyle = 0
ShpGreen.FillColor = vbGreen
(3)
Light = 1 : GreenT = 40
End If
End If
End Sub
Sub LoadXumber (N As Integer) ’根据剩余秒数N将数字图象装入图像框
Dim i As Integer, j As Integer
i = Int( (4) )
j = (5)
Image1.Picture = LoadPicture("N"&Trim(Str(i))&".bmp") ’显示十位上的数字
Image2.Picture = LoadPicture("N"&Trim(Str(j))&".bmp") ’显示个位上的数字
End Sub
选项
答案
(1)True (2)GreenT=GreenT-1 (3)Call LoadNumber(40),或LoadNumber(40) (4)N/10 (5)N-i*10
解析
试题中对开发过程以及所用的技术都已做了详细描述。
将图像文件装入图像框时,一般都需要注意图像人小的匹配问题。如果图像框的 Stretch(伸展)属性的值设置为True,则待装的图像文件就会自动改变大小以适应图像框。因此,(1)处应填True。
题中的程序代码有三个过程块。
第一个过程是公共模块,用于定义全局变量。由于红绿灯标志Light、红灯剩余时间 RedT和绿灯剩余时间GreenT,在计时器的每次定时过程中都要使用,而且退出该过程后依然需要保持其值,下次再进入该过程时将继续在此基础上使用,所以,这三个整型变量都需要在该公共模块中定义成全局变量,并进行初始化:灯的标志为绿色(1),绿灯持续时间为40秒,红灯持续时间为0秒。
第二个过程是计时器的定时过程,每秒执行一次。因此,需要根据当前红绿灯的状态,对图像框中的数字图像文件进行更新,有时,还需要转变红绿灯的显示。
该过程的执行逻辑可以先用结构化的文字描述如下(注意用缩格体现层次)。
如果当前为绿灯,则
绿灯剩余时间减1
如果绿灯时间非0(绿灯持续)
则按绿灯剩余时间更新图像框
如果绿灯剩余时间为0(绿灯转红灯)
则关闭绿灯而显示红灯,并设置红灯标志以及红灯剩余时间
如果当前为红灯,则
红灯剩余时间减1
如果红灯时间非0(红灯持续)
则按红灯剩余时间更新图像框
如果红灯剩余时间为0(红灯转绿灯)
则关闭红灯而显示绿灯,并设置绿灯标志以及绿灯剩余时间
从以上分析可以知道,(2)处应填GreenT=GreenT-1(绿灯剩余时间减1)。
在程序中,红灯与绿灯用两个圆的形状宋实现。如果红灯形状的风格属性设置成实心,且填充属性设置成红色,则红灯形状就会在运行时亮起红色。如果红灯形状的风格属性设置成空心,且填充属性设置成透明,则运行时红灯就不亮了。绿灯的情况也是这样。
程序中,按照红绿灯的剩余时间更新图像框采用了子过程LoadNumber来实现。该子过程的参数就是当前灯的剩余时间。
绿灯持续时,就应该用调用语句Call LoadNumber (GreenT)来更新图像框;
红灯持续时,就应该用调用语句Call LoadNumber (RedT)来更新图像框;
红灯刚亮时,就应该用调用语句Call LoadNumber (30)来更新图像框;
绿灯刚亮时,就应该用调用语句Call LoadNumber (40)来更新图像框。
因此,(3)处应填写Call LoadNumber (40)。调用语句中的Call也可以省略。
程序中的第三个过程就是子过程LoadNumber。形式参数N就是灯的剩余时间,N的数值就是在图像框中显示的两位数字所表示的值。
因此,在该过程中,应先根据数值N求出其十位数字(可能为0)和个位数字。
N/10的整数部分Int(N/10)就是N的十位数。因此,(4)处应填N/10。
已知N的十位数为i,则N的个位数j便是N-i*10。因此,(5)处应填写N-i*10。
在图像框Image1中装入指定图像文件的语句是:
Image1.Picture=LoadPicture("图像文件名")
对指定的i,需要装入图像文件Ni.bmp。其中的i应该用数值i所对应的字符来代替。
数值变量i所对应的字符为str(i),但其中可能含有空格,而文件名中,有没有空格将会改变所指的文件。所以,还需要删除其中的空格。函数Trim能删除字符串前后的所有空格(当然本题中只要删除前导空格就可以了,因为尾部并不存在空格)。
"N"&Trim(Str(i))&".bmp"表示字符N后面接续由数值i所对应的字符(已删除前导和尾部的空格),后面再接续字符串“.bmp”。其中,字符串运算符号“&”表示接续。
上述技术很实用,考生通过考试可以学到这些实用的技巧。这个技术中,需要考生深刻理解数值与其相应字符的含义与相互转换的方法。这是程序员必须掌握的基本功。
本应用在开发测试过程中,经常会遇到红绿灯转换时数字显示不合常理的情况。有时,在显示数字01时,就立即发生红绿灯转换,没有再等1秒;有时显示数字00后,又等了1秒,才转换红绿灯。这些都与实际要求不符。需要多次调试程序才能解决这个问题。本题中的程序已经解决了这个问题。但考生不亲自动手开发,就难以体会到解决这些困难的方法。
转载请注明原文地址:https://jikaoti.com/ti/zZW7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在常规格式下,Excel单元格中的数值最多只能有11位,如果输入了12位以上的数字,则将以(47)显示。
某企业对多项已完成的数据处理任务进行了评估,按其满意度和重要性度量值为坐标,标在下图中,用小圆表示)。这些坐标点分别落入I、Ⅱ、Ⅲ、Ⅳ四个区中。领导认为,位于________区中的任务是需要优先改进的。
建设计算机机房时一般不考虑的因素是______。
Word可以打开很多类型的文件,在Word的“打开”对话框中对这些类型都以列表的形式列了出来,但是扩展名是(47)的文件不能够被Word正常打开。
在Access中,表和数据库的关系是(67)。
计算机维护的注意事项中不包括________。
社会问卷调查是一种常见的调查方法。设计问卷的注意事项中不包括(31)。
在Excel2010中,设单元格A1、B1、C1、A2、B2、C2中的值分别为1、2、3、4、5、6,若在单元格D1中输入函数“=MAX(A1:A2,B1:C2)”,按回车键后,则D1单元格中的值为(
企业数字化转型是指企业在数字经济环境下,利用数字化技术和能力实现业务的转型、创新和增长。企业数字化转型的措施不包括()。
某企业甲乙两个部门招聘职工中,男女应聘人数和录用人数情况如下表:从上表看出,各部门女性录用率都大于男性录用率。从该企业合计来看,()。
随机试题
设a=8,则表达式a>>>2的值是()。
2006年3月20日,上海的甲公司与北京的乙公司签订了一份买卖合同,约定:甲公司向乙公司购买1000吨化工原料,总价款为200万元;乙公司在合同签订后1个月内交货,甲公司在验货后7日内付款。双方没有明确约定履行地点。合同签订后,甲公司以其办公用房作抵押向丙
泌尿系感染是脊髓损伤的一个严重并发症,有关脊髓损伤后并发泌尿系感染,以下叙述正确的是
下列哪些是正确的有机磷农药中毒的解救()。
周女士,22岁,未婚,面部有典型蝶形红斑,诊断为系统性红斑狼疮。下列护理措施错误的是
注册咨询工程师(投资)注册有效期为()年。
关于商业秘密和客户资料,下列选项中说法错误的是()。
农村信用社发放农户小额信用贷款过程中,如果农户贷款需求额度超过小额信用贷款限额,这时可以采取的办法有()。
有人说管理是一种引导,有人说管理是一种服务,人民警察也属于管理者,对此你有什么看法?
A、NationalSimilaritiesandGlobalDifferences.B、WorldCultureandtheFutureofSchooling.C、NationalDifferences,GlobalSimi
最新回复
(
0
)