首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
admin
2008-11-20
83
问题
阅读以下应用说明、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://www.kaotiyun.com/show/tsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
下列关于Word2007查找和替换的叙述中,不正确的是(34)。
1,2,…,5五个数中,任取两个数都可以算出平均值,其中有些平均值是相等的。那么,不同的平均值共有(26)个。
Word2007默认的文件扩展名是(37)。
以下维护操作系统的做法中,()是不恰当的。
企业中的信息处理过程包括多个阶段,对每个阶段都应有目标要求,有规范的制度,有需要特别注意的事项。以下叙述中正确的是(25)。
在Word2007默认状态下,调整表格中的宽度可以利用(40)________________进行调整。
计算机网络中,防火墙的功能不包括________________。
企业数字化转型是指企业在数字经济环境下,利用数字化技术和能力实现业务的转型、创新和增长。企业数字化转型的措施不包括()。
(1)是固化在主板ROM内的程序,为计算机提供最底层、最直接的硬件访问和控制。
问卷调查中,问卷的设计是关键,其设计原则不包括()。
随机试题
Trainingastronauts________notaneasything.
Hisnewappointmenttakes______fromthebeginningofnextmonth.
老年肺心病患者,近2d咳嗽、气促加重,神志恍偬,动脉血气分析;pH7.30,PaO251mmHg,PaCO282mmHg,HCO3-35mol/L。下列哪项诊断是正确的
下列关于法与道德、宗教、科学技术和政治关系的选项中正确的有:
当初步设计深度不够,不能准确地计算出工程量,但工程设计是采用技术比较成熟而又有类似工程概算指标可以利用时,可采用()编制概算。
在一条笔直的公路的一侧有A、B两个村庄,其中A村距离公路9公里,B村距离公路3公里,A、B两个村庄的直线距离为10公里,现要在公路上某点向两个村庄铺设线路,需要铺设的线路到两个村庄的距离之和最小为多少公里?()
为丰富职工业余文化生活,某单位组织了合唱、象棋、羽毛球三项活动。在该单位的所有职工中,参加合唱活动的有189人,参加象棋活动的有152人,参加羽毛球活动的有135人,参加两种活动的有130人,参加三种活动的有69人,不参加任何一种活动的有44人。该单位的职
玛雅人是中美洲的土著居民,曾经拥有高度发达的文明。大约从公元300年起,玛雅文明进入了被称为古典期的鼎盛时期。公元800年,古典期玛雅文明达到了它的顶峰,随后却发生了不可思议的崩溃。在此后的100多年里,玛雅人先后放弃了他们的繁华城市,神庙和广场成了野
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
A、Humanbeingsaremoreintelligentthaninsects.B、Thelifestylesbetweenhumanbeingsandinsectshavesomesimilarities.C、In
最新回复
(
0
)