算法设计与程序实现
判断车牌的单双号
【背景知识】
为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。(提示:(1)所有车牌号中都含有数字,并且车牌号的长度都是6;(2)以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。)
⑴输入:AD2367
⑵输入:A8888A
⑶输入:A8963C
输出:单号
输出:双号
输出:单号
【算法描述】
⑴自然语言
第1步:输入车牌号
第2步:取车牌号的最后一位x;
第3步:判断x是否为数字,如果是,转第4步;如果不是,则依次取得倒数第二、三……位判断,直到找到数字为止;
第4步:判断x 是奇数还是偶数,然后输出相应的结果。
⑵流程图
请根据上述算法描述补全代码 Dim n As Integer Dim s As String ‘定义s 为字符串类型 Dim x As String s=InputBox(“s=”,s) ‘将输入的车牌号赋值给s n=6 ‘车牌号的长度为6 x=Mid(s,n,1) ‘取车牌号s的第n位 Do While x<“0” Or x>“9” ‘x不是数字字符,则取x的前一位 ① x=Mid(s,n,1) ‘取车牌号s的第n位 Loop If ② then Print “双号” Else Print “单号” End If (提示:Mid(s,m,n)的功能:从字符串s的第m位开始,截取长度为n的子串。例如:Mid(“A8963C”,5,1)的返回值是“3”。)
(1)
根据题意,程序中横线①处应填写:。
(2)
根据题意,程序中空白②处应填写:______(填写字母:A/B/C/D)。
A . Val(x)\ 2= 0
B . Val(x)Mod 2 = 1
C . Val(x) Mod 2=0
D . Val(x) Mod 2 <> 0
答案: 【1】n=n-1
C