首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
admin
2008-11-20
48
问题
阅读以下应用说明、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://kaotiyun.com/show/tsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
对8位代码10101101进行奇偶校验,正确的结果是(33)。
某单位需要使用浓度为15%的盐水750克,但只有浓度20%和5%的两种盐水。经过计算,将浓度20%和5%的盐水分别取()克混合后就能达到要求。
在Word的编辑状态下,文档窗口显示水平标尺,则当前的视图方式______。
一个完整的计算机系统由______组成。
在Excel中,与函数“=AVERAGE(A1:A3)”等价的是______。
撰写数据分析报告时,如何用图正确地展现数据,需要考虑的问题中,不包括______。
________________不会是信息系统的功能。
在实施项目过程中,信息处理员小王在“时间T-项目剩余工作量R”平面坐标系上动态地记录了项目实施进度,并与计划进度做了对比。在项目实施中途,从图上可以看出该项目()。
下列快捷功能按钮中,可以在画好的图形内填充颜色的是(49)。
随机试题
wealthreferencewhichorthroughbecauseintoandinatpaperfundInancien
自动化立体仓库中使用最广、最通用的一种形式是
患者,男,32岁。因急性阑尾炎在蛛网膜下腔阻滞麻醉下行阑尾切除术。行腰椎穿刺时患者感觉会阴部和左侧下肢有放电感。此时有可能发生的情况是
以按压颈动脉窦法治疗室上性心动过速,下列哪项不正确
患儿8个月。呕吐,腹泻3d,大便15次/d。皮肤弹性极差,无尿。血清钠140mmol/L,患儿脱水的程度和性质是
[2006年第094题]以下哪项不是我国于1982年第一批公布的历史文化名城?
因特网上的服务都是基于某一种协议,Web服务是基于()。
通常情况下,划分货币层次的依据是货币资产的()。
Ileftfortheofficeearlierthanusualthismorning__________trafficjam.
Lookatthetenstatementsforthispart.YouwillhearashortinterviewwithGeorgeJones,executivedirectorforBreadfo
最新回复
(
0
)