友情提示:380元/半年,儿童学编程,就上码丁实验室。
这是小孩自己做的逆序加密的幻灯片。
定义两个列表,一个用于原字符清单,即26个字符,顺序排列。一个用于目标字符清单,即26个字符逆序排列。通过这种方式,只需要获得一个字符的所谓位置,然后从目标字符列表中取出对应的字符即可。
如果是C语言等其他语言,可以直接定义一个两列的表,会更为简单一些。如果不使用列表,那么就会有很多如果那么的判断。
除了两个列表以后,还定义了原文、密文,用于存储用户录入的原文和加密以后的密文。计数器用于循环处理。
实现方法:程序代码
初始化一些变量。通过询问指令获取用户录入,然后存入到原文中。
1)使用计数器,从第一个字符开始处理,处理完毕以后,处理下一个字符,直到所有字符都处理完毕。所以这里使用了一个计数器,从1开始。使用字符串长度的指令,就可以从1做到最后一个字符了。
2)获取当前字符,然后到原编码清单中获取这个字符所在的位置,存在“位置”变量中。
3)如果位置为0,就是不在26个字符中,例如数字、标点符合等。这时候,我们就直接输出原字符,附加到加密变量中,不进行转换。
4)如果返回位置大于0,就是说在原编码清单中找到了这个字符,获取位置。然后在目标编码清单中找到这个位置的字符。并且附加到加密变量中。
这里使用了字符串连接的指令。这是非常重要的指令,密文是逐渐加长的,就是往密文的变量后面增加字符串。
读取某个列表的某个位置的数值。因为我们在定义列表时,已经排好正序和倒序的字符对应关系了。所以根据原字符位置就能直接找到目标字符位置。
微信订阅号:ABO_CRM
执行,录入一句话。
输出加密后的字符串。我们可以看到,用户录入的字符已经经过逆序处理了。
知识拓展:Scratch中的列表相关的指令
这是程序的关键,就是一个数组。
转自公众号:
艾博特