2019-2020-1学期 20212420《网络空间安全专业导论》
第6章----低级程序设计语言与伪代码
6.1计算机操作(计算机时能够存储、检索和处理数据的可编程电子设备)
存储、检索和处理数据是计算机能够对数据执行的动作。
6.2 一: 机器语言:由计算机直接使用的二进制编码指令构成的语言(弊端:太费时间)现在我们都用程序设计语言
每种处理器都有自己专用的机器指令集合。------处理器唯一真正能够执行
每个指令都用一个对应的二进制数表示出来
介绍了ISIS
二:Pep/9(虚拟机)
1为了模拟真实机器的重要特征而设计的假象机器
Pep/9有40条机器语言指令。
Pep/9的内置单元由65536字节(64KB)的存储空间构成。
寄存器:是中央处理器中算术/逻辑单元的一小块存储区域,它用来存储特殊的数据和中间值。Pep9共有7个https://www.edrawmax.cn/online/share.html?code=dd62c5be2f3c11ec9a35ddd697ada3ea
2指令格式
一条指令由两部分组成:一个字节的指令说明符和两个字节的操作说明符
操作说明符存放的是操作数本身立即寻址000或者操作数的地址直接寻址001
一些实例指令:0000停止执行 1100将字载入存储器A中 1101将字节载入寄存器A中 1110存储寄存器A中的字只能为直接寻址 1111将操作数加到寄存器A中
Pep/9 的输入输出 输入设备的地址 FC15 输出设备的地址FC16
可以下载Pep/9模拟器来理解工作原理。
6.4汇编语言:一种低级语言,用助记码表示特定计算机的机器语言指令。(代替二进制和十六进制数字,提高了效率。)
汇编器:把汇编语言程序翻译成机器代码的程序。https://www.edrawmax.cn/online/share.html?code=cabb06f42f3911ec88d107b9136b86ae
6.4.2数字数据、分支、标签
分支:指出执行下一条指令的指令
标签:堆内存位置起的名字,可以将这个名字当作操作数。
介绍了 Genevieve Bell----英特尔的人类学家
6.5 表达算法
算法:解决方案的计划或概要,或解决问题的逻辑步骤顺序。
伪代码:一种表达算法的语言。
音乐基因组计划:于2002年,由Will Glaser、Jon Craft和 Tim Westergren 创建。该项目分析了成千上万不同的分数和艺术家的属性,如旋律、和声和节奏、仪器仪表、编排、安排和歌词。
6.5.1伪代码的功能
1变量 sum
2赋值 set sum to0
或者反向箭头
用赋值语句把值赋给变量后,如何访问它们,
set sum to sum +num 或反向箭头
3输入/输出
write 输出 read 输入
伪代码算法是写给人们看的, write “ERR” 是把双引号之间的字符输到屏幕上, write sum 是把sun的内容输到屏幕上。sum 值不变
4选择
IF-THEN-ELSE 版本
5重复
WHILE和IF 括号里的表达式就是布尔表达式,其结果可为真或假。
二 执行伪代码算法
潘多拉是一个音乐流公司
桌面检查:在纸上走查整个设计。
翻译为代码算法
konrad zuse 捡走了251台计算机。设计了第一个高级编程语言。
6.6测试:
代码覆盖测试法(明箱测试法)、数据覆盖测试法(暗箱测试法)
第7章问题求解与算法设计
7.1如何解决问题: step1 理解问题, step2 设计方案 ,step3设计方案,last 回顾
7.1.1 提出问题 ------George Polya 的著作《如何解决它》
寻找熟悉的情况,永远不要彻底重新做一件事,要学会找相同点。
分治法:把一个问题分成几个能解决的小单元。
算法:在有限的时间内用有限的数据解决问题或者子问题的明确的指令集合
计算机问题求解过程
步骤:1分析问题 2列出主要任务 3编写其余模板 4根据需要进行重组和改写
测试算法
Rosetta Stone 翻译系统:以希腊与为指导,破译古埃及语言
7.2 有简单变量的算法
带有选择的算法
带有循环的算法
事件控制循环
嵌套结构:控制结构嵌入另一个控制结构的结构,又称为嵌套逻辑
抽象步骤:细节仍未明确的算法步骤
具体步骤:细节完全明确的算法步骤
7.3
复杂变量
介绍了向数组中加入值的算法
7.4搜索算法:顺序搜索,有序组中的顺序搜索
7.4.3 二分检索:在有序列表中查找项目的操作,通过比较操作排除大部分检索范围
7.5排序
选择排序 冒泡排序 插入排序
递归算法 递归:算法调用它本身的能力。
子程序语句 调用单元:命名代码出现的地方
递归阶乘 递归二分检索
哲学的概念被集成到了软件设计中。面向对象编程中类和类的实例体现了Plato的整体和部分观点
7.7 几个重要的思想:
1信息隐蔽:隐蔽模块的细节以控制对这些细节的访问的做法
抽象:复杂系统的一种模型,只包括对观察者来说必须的细节。
数据抽象:把数据的逻辑视图和它的实现分离开
过程抽象:把动作的逻辑视图和它的实现分离开
控制抽象:吧控制结构的逻辑视图和它的实现分离开
控制结构:用于改变真唱的顺序控制流的语句
事物命名
测试
到底问题:开源软件:
源代码是制造商拥有并申请了专利的,修改、复制或转卖源代码都是违法的
伪代码通过自学弄懂,Pep/9 询问老师后弄懂
posted on 2021-10-17 20:18 20212420谭伟志 阅读(46) 评论(0) 编辑 收藏 举报