内容正文:
信息的编程加工
*
人人都是情报专家
请同学们破解以下一段用凯撒密码加密的密文
凯撒密码加密规则如下:
明文中的每一个字母都用从其往后数第三位的字母来代替,如 a=d x=a z=c
明文
密文 ml wldq idqj mld
*
破解密码的程序
我们可以利用计算机的优势:
高速度和大容量来帮我们快速解决问题。
演示程序:
*
分析问题
设计一个能为单个字符进行凯撒密文解密的程序
演示程序
*
算法设计
问题:计算机能快速地求出问题的解,是不是代表它有思维、知道如何解决问题?
答案是否定的,所以必须告诉它解决问题的过程和方法。在程序设计中我们称之为算法。
*
算法设计
那么面对要为字符进行凯撒密码的解密这样一个问题,我们应该如何设计我们的算法?
算法:
对输入的密文字母用其向前位移3位的字母来代替,然后输出明文。
明文
密文
向后位移3
向前位移3
*
编程实现
注:VB语言,提供的可视化设计工具,可以直接使用窗体和控件设计程序的界面,大大地提高了程序设计的效率。
1、界面设计
标签
文本框
按钮
用户界面是一个应用程序最重要的部分,界面是应用程序呈现给用户的外观,也是实现人机交互的接口。
*
编程实现
2、代码编写
对输入的密文字母用其向前位移3位的字母来代替,然后输出明文。
(把设计的算法转换成计算机能够识别的代码)
明文 密文
Chr(Asc(m)-3) m
不认识
计算机语言(VB)
*
编程实现
2、代码编写
(把设计的算法转换成计算机能够识别的代码)
Dim zf As String ′ 定义一个字符串变量,用于存放
输入在Text2中的 单个字符
zf = Text2.text ′ 把在Text2中输入的密文字符赋予变量“zf”
If (Asc(zf) - 3 ) < 97 Then
zf = Chr(Asc(zf) - 3 + 26) ′获取“Asc(zf) - 3 + 26”数值对应的