首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明】 某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与4
admin
2008-11-20
49
问题
阅读以下应用说明、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
程序员下午应用技术考试
软考初级
相关试题推荐
()是一种不可靠的、无连接的协议,但可以保证应用程序间的通信。
在Word中,下列关于分栏操作的叙述中,正确的是(49)。
在Excel中,将A1单元格的格式设置为数值,小数位数为2,然后在此单元格输入数值65.2568,按回车后,单元格显示的内容是(59)。
某学生要进行数据结构、操作系统和计算机组成原理三门课的考试。已知数据结构成绩是85分、操作系统成绩是87分,希望总分达到240分,需要求出计算机组成原理成绩应考的分数。此类问题可以使用Excel中的(53)功能来解决。
Access数据库属于()。
下列选项中,不属于信息处理基本要求的是(22)。
某一个PPT文档共有8张幻灯片,现选中第4张幻灯片,改变幻灯片背景设置后,单击“应用”按钮,则______。
目前最常见的用户界面是________________。
在Excel2010中,设A1单元格中的值为20,A2单元格中的值为60,若在C1单元格中输入函数“=AVERAGE(A1,A2)”,按回车键后,,则C1单元格中的值为(
在Excel2010中,设单元格A1、B1、C1、A2、B2、C2中的值分别为1、2、3、4、5、6,若在单元格D1中输入函数“=MAX(A1:A2,B1:C2)”,按回车键后,则D1单元格中的值为(
随机试题
Wegottothestationonly______thatthetrainhadjustleft.
患者,女,20岁。发热2周,腹胀、腹泻,脾脏左肋下1cm,实验室检查:WBC3.0×109/L,N0.44,L0.56,尿微量蛋白,入院诊断考虑“伤寒”。下一步确诊最重要的检查是()
促胃肠动力药在应用中可致的典型不良反应有()
0.100mol.L-1H3BO3溶液的pH=5.12,则其为()。
投资政策说明书的制定,主要依据投资者的()。Ⅰ.投资需求Ⅱ.财务状况Ⅲ.投资限制Ⅳ.投资偏好
奠定了班级组织的理论基础的著作是()。
News1YuanLongping,thefatherofhybridrice,wontheWorldFoodPrizeonMonday.Yuandevelopedtheworld’sfirstpopula
A、 B、 C、 D、 D前一组图形中,第一个图形包含3条直线和3条曲线;第二个图形包含2条直线和2条曲线;第三个图形只有1条直线和1条曲线。直线数量与曲线数量保持一致,且依次递减。后一组图形依此规律,正确答
单独完成某项工作,甲需要16小时,乙需要12小时,如果按照甲、乙、甲、乙……的顺序轮流工作,每次1小时,那么完成这项工作需要多长时间?
血浆中肾素增加时,将引起升高的是
最新回复
(
0
)