身份证号有效性检验
中国的身份证号码由18位数字组成,其中前6位是地区代码,接下来的8位是出生日期(YYYYMMDD格式),然后是3位顺序码(其中第17位奇数分配给男性,偶数分配给女性),最后一位是校验码。
编写一个程序,要求用户输入一个身份证号码,然后检验这个号码是否有效。
有效性检验需要满足以下条件:
1. 身份证号码的位数必须是18位;
2. 前17位是数字,最后一位是数字或者是字母"X";
3. 校验码计算正确。
校验码计算方法:
1. 将身份证号码前17位数字分别乘以不同的系数。从第一位到第十七位的系数分别为:7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2。
2. 将这17位数字和系数相乘的结果相加。
3. 将相加后的结果除以11,得到余数。
4. 根据余数通过查表得到对应的校验码,对应关系为:0-1, 1-0, 2-X, 3-9, 4-8, 5-7, 6-6, 7-5, 8-4, 9-3, 10-2。
1.准备工作
(1)默认小猫角色,添加角色Button2,添加文字“开始验证”;
(2)创建一个变量“身份证号”,在舞台上大字显示;
(3)默认白色背景。
2.功能实现
(1)点击绿旗,询问“请输入一个身份证号”,变量“身份证号”大字显示输入的身份证号;
(2)点击“开始验证”;
(3)检验位数是否为18位,如果不是,小猫说“位数不对”2秒,程序结束;
(4)检验前17位是否是数字,第18位是否是数字或者字母"X",如果不是,小猫说“输入错误”2秒,程序结束;
(5)检验校验码是否正确,如果不正确,小猫说“校验码错误”2秒,程序结束。
(6)上面检查都通过,小猫说“身份证号码验证正确”2秒。
相似题推荐
默认小猫角色,运行下列程序后,变量“字符串2”的值是?( )

| A. A、 “O Worl” |
B. B、 “ello W” |
| C. C、 “ Worl” |
D. D、 “World” |
投票统计系统
班级选举班长,有4名候选人:李明、王红、张伟、赵丽。请设计投票程序,统计票数并宣布当选者。
一、准备工作
(1)保留默认小猫角色;
(2)创建列表“候选人”和“票数”,列表“候选人”的内容如下图所示。

二、功能实现
(1)点击绿旗,初始化列表“票数”四项为0;
(2)小猫询问“请投票给谁?”,等待输入姓名;

(3)如果输入姓名在候选人列表中,对应票数加1,说“投票成功”2秒;否则说“无效姓名”2秒;
(4)重复询问,当用户输入“结束”时广播“计票”并停止当前脚本;
(5)接收到“计票”广播后,小猫找出得票最多的人并说出结果:“XXX当选班长,共获得XXX票”;

(6)如果多人票数相同且为最高,则说出最后被投票的那位候选人。




