








所属成套资源:信息技术沪教版选修1数据与数据结构全册备课PPT课件+教案+单元练习
2021学年单元挑战 按解密规则提取情报优质课件ppt
展开
这是一份2021学年单元挑战 按解密规则提取情报优质课件ppt,
按解密规则提取情报信息技术沪教版 选择性必修1第三单元挑战一、新课导入二、项目任务三、项目指引四、交流评价与反思 情报常常采用加密的方式传递,以防泄露,接收方在接收加密的情报(密文)后,按照事先订立的规则来提取情报。假设情报原文为中文,解密规则为: (1)B→aA; (2)A→ebh; (3)加括号的字母序列变为逆序排列(去括号); (4)小写字母和汉字对应关系如表3-1所示: 请采用上述解密规则实现密文为“B(jdfcgi)”的情报提取。 本项目要用到栈、队列和线性表。 1.利用队列处理B:aebh(由B→aA,A→ebh规则得)。 2.利用栈处理:( jdfcgi)→ igcfdj。 3.利用线性表(字母一汉字对应表)进行情报提取算法:#!/usr/bin/python##-*-coding:UTF-8-*-queue=[ ] #用列表模拟队列stack=[ ] #用列表模拟栈If _name_=='_main_': var1= ”” list1=['a','b','c','d','e','f','g','h','i','j'] list2=['不','相','他','间','要','是','陈','信','小','谍'] str=input() #输入密文字符串 index=0 #设置密文字符串下标初始值为0 while index ! = len(str): if str[index]!= 'B' and str[index]!='A' and str[index]!='(': quene.append(str[index]) #当密文字符不为特殊字符时,将字符加入队列 continue if str[index]=='B': queue.append('a') queue.append('e') queue.append('b') queue.append('h') #当密文字符为B时,将字符a,e,b,h入队列,此处queue实为列表,因此无法用en表示进队 if str[index]=='A': queue.append('e') queue.append('b') queue.append('h') #当密文字符为A时,将字符e,b,h入队列 if str[index]=='(': index=index+1 while str[index]!=')': stack.append(str[index]) #此处stack实为列表,因此无法用push表示入栈 index=index+1 #将()内的字符压入栈中 while stack!=[]: #只要栈不空 queue.append(stack.pop()) #将栈内字符依次出栈并逐个加入队列中 index=index+1for letter in queue: for i in range(len(list1)): if list1[i]==letter: var1=var1l+list2[i] break #比对list1,将对应位置list2中的汉字加入var1中print(var1) #输出var1 以自己熟悉的信息表达工具(如演示文稿等)制作电子作品,通过网络或课堂展示交流自己的算法和程序,并对他人的作品进行评价。
相关课件
这是一份高中信息技术沪教版(2019)选修2 网络基础第三单元 网络安全基础单元挑战 对小型局域网进行安全加固优秀课件ppt,文件包含第三单元挑战pptx、第三单元挑战doc等2份课件配套教学资源,其中PPT共33页, 欢迎下载使用。
这是一份沪教版(2019)3.程序实现评优课ppt课件,文件包含项目五第三课时pptx、项目五第三课时doc等2份课件配套教学资源,其中PPT共14页, 欢迎下载使用。
这是一份2020-2021学年2.设计算法优质ppt课件,文件包含项目五第二课时pptx、项目五第二课时doc等2份课件配套教学资源,其中PPT共21页, 欢迎下载使用。