|
发表于 2017-10-1 17:53:24
|
显示全部楼层
江西省九江市
.版本 2 .子程序 进制_2到62正整数互换2, 文本型, , 返回文本为空,可调用错误信息参数,查看错误原因。进制字符顺序:数字、大写字、,小写字母。 .参数 待转换文本, 文本型 .参数 转换前进制, 整数型, 可空, 范围:2-26,小于2按2计,大于62,按62计 .参数 转换后进制, 整数型, 可空, 范围:2-26,小于2按2计,大于62,按62计 .参数 错误信息, 文本型, 可空 .局部变量 基数, 文本型 .局部变量 文本长度, 整数型 .局部变量 计次, 整数型 .局部变量 十进制数, 整数型 .局部变量 转换结果, 文本型 .局部变量 位置, 整数型 .如果真 (转换前进制 < 2) 转换前进制 = 2 .如果真结束 .如果真 (转换后进制 < 2) 转换后进制 = 2 .如果真结束 .如果真 (转换前进制 > 62) 转换前进制 = 62 .如果真结束 .如果真 (转换后进制 > 62) 转换后进制 = 62 .如果真结束 基数 = “0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz” 文本长度 = 取文本长度 (待转换文本) .如果真 (文本长度 = 0) 错误信息 = 错误信息 + “2到62正整数转换2时,错误码1,待转换文本是空文本” + #换行符 返回 (“”) .如果真结束 .如果 (是否为空 (转换前进制) 或 转换前进制 = 10) .计次循环首 (文本长度, 计次) 位置 = 寻找文本 (基数, 取文本中间 (待转换文本, 计次, 1), , 真) .如果 (位置 = -1) 错误信息 = 错误信息 + “2到62正整数转换2时,错误码2,存在非法字符,即待转换文本含有非数字、非大写字母、非小写字母的字符存在” + #换行符 返回 (“”) .否则 .如果 (位置 > 转换前进制) 错误信息 = 错误信息 + “2到62正整数转换2时,错误码3,存在大于转换前进制字符存在,即待转换文本含有大于转换前进制的字符存在” + #换行符 返回 (“”) .否则 十进制数 = 十进制数 + 求次方 (转换前进制, 文本长度 - 计次) × (位置 - 1) ' 各位值*位权 得出10进制数 .如果结束 .如果结束 .计次循环尾 () 十进制数 = 到整数 (待转换文本) .否则 .计次循环首 (文本长度, 计次) 位置 = 寻找文本 (基数, 取文本中间 (待转换文本, 计次, 1), , 真) .如果 (位置 = -1) 错误信息 = 错误信息 + “2到62正整数转换2时,错误码4,存在非法字符,即待转换文本含有非数字、非大写字母、非小写字母的字符存在” + #换行符 返回 (“”) .否则 .如果 (位置 > 转换前进制) 错误信息 = 错误信息 + “2到62正整数转换2时,错误码5,存在大于转换前进制字符存在,即待转换文本含有大于转换前进制的字符存在” + #换行符 返回 (“”) .否则 十进制数 = 十进制数 + 求次方 (转换前进制, 文本长度 - 计次) × (位置 - 1) ' 各位值*位权 得出10进制数 .如果结束 .如果结束 .计次循环尾 () .如果结束 .如果 (是否为空 (转换后进制) 或 转换后进制 = 10) 转换结果 = 到文本 (十进制数) .否则 .循环判断首 () 转换结果 = 取文本中间 (基数, 十进制数 % 转换后进制 + 1, 1) + 转换结果 ' 除X取余法 十进制数 = 十进制数 \ 转换后进制 .循环判断尾 (十进制数 ≠ 0) .如果结束 返回 (转换结果) |
|