身份证号有效性检验 中国的身份证号码由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秒。







正确答案:【小猫 参考程序】 当绿旗被点击:将身份证号设为空,询问“请输入一个身份证号”并等待,将身份证号设为回答; 当接收到“开始验证”,依次调用自定义积木验证位数、验证各位数字、验证校验码: · 验证位数:回答不是18位则说“位数不对”并停止; · 验证各位数字:前17位须为数字,第18位为数字或X,否则说“输入错误”并停止; · 验证校验码:前17位乘系数求和除以11取余,查表核对第18位,正确说“验证正确”否则说“校验码错误”。 【Button2】当角色被点击,广播“开始验证”。
试卷来源:202409 青少年软件编程等级考试Scratch四级真题