2021-2022-1学期 20212422《计算机科学概论》第三周学习总结

本周内,我自学了《计算机科学概论》的第六、七章内容。第六与第七章的内容是关于计算机程序设计层的相关知识,第六章讲的是实现计算机操作的机器语言与算法的初步了解的知识,第七章讲的是关于计算机解决问题的方式及求解过程的相关知识。

第六章

低级程序设计语言与伪代码

一、计算机操作

计算机的定义:计算机是能够存储(store)、检索(retrieve)和处理(process)数据的可编程(programmable)电子设备

二、机器语言

定义:由计算机直接使用的二进制编码指令构成的语言

每条机器语言指令只能执行一个非常低级的任务,大多数程序使用高级语言编写,然后翻译成机器语言的。

(一)Pep/9:一台虚拟机

虚拟机:为了模拟真实机器的重要特征而设计的假想机器

Pep/9一共有40条机器语言指令

基本特性如下图

指令格式
一条指令由两部分构成,即8位数的指令说明符和(可选的)16位的操作数说明符
由此决定了Pep/9的指令在长度上是1字节或3字节

寻址位置说明符:表示了怎样解析指令中的操作数部分

一些示例指令

Pep/9模拟器
用于模拟程序,按照虚拟机的设计方式进行运算
可免费下载

三、汇编语言
定义:一种低级语言,用助记码表示特定计算机的机器语言指令。
汇编器:把汇编语言程序翻译成机器代码的程序

Pep/9汇编语言

同时,汇编语言编程还支持汇编器指令

在Pep/9汇编语言中,操作数用0x和十六进制表示,接下来是逗号,最后是寻址模式(由字母i(立即寻址)或d(直接寻址)说明
注释:为程序读者提供的解释性文字

数字数据、标签、分支
分支:指出执行下一条指令的指令
标签:对内存位置起的名字,可以将这个名字当作操作数

四、表达方法
算法(algorithm):解决方案的计划或纲要,或解决问题的逻辑步骤顺序
伪代码(pseudocode):一种表达算法的语言

(一)伪代码的功能
1.变量
2.赋值
3.输入/输出
4.选择
5.重复
伪代码语句:

伪代码类型
Write:输出
Read:输入
IF...ELSE:选择
WHILE:重复

以下为Pep/9指令格式的导图

第七章
问题求解与算法设计

(一)问题求解
一、如何解决问题
下列是关于Polya的“如何解决它”列表

对于此个列表,如果将文字未知量换成问题,把数据换成信息,把定理换成解决方案,那么这个列表就适用于各种类型的问题。

二、提出问题
对于自己接受的任务,当任务完全明确之前,你会问何时、为什么、在哪里等一系列问题;而对于自己设置的任务,那么提出问题的方式就不是口头的,而是下意识的。
以下是你应该问的一些典型的问题:
·对这个问题我了解多少?
·解决方案是怎么样的?
·存在什么特例?
·我如何知道已经找到解决方案了?

三、寻找熟悉的情况
识别相似情况在计算机领域非常有用。在计算领域中,我们会看到某种问题不断地以不同的形式出现,而一个好的程序员看到以前解决的任务或者任务的一部分(子任务)时,会直接选用已有的解决方案。

四、算法
Polya列表的第二步的最后一句说,最终应该得到解决方案,在计算领域,这种解决方案被称之为算法。
算法(algorithm):在有限的时间内用有限的数据解决问题或子问题的明确指令集合

五、计算机问题求解过程
如下图

注意:算法一般是在用编程语言进行编码之前要写的

六、方法总结
1.分析问题
2.列出主要任务
3.编写其余模块
4.根据需要进行重组和改写

七、测试算法
类似于数学问题中的检查结果,也即等价测试推出答案的过程

(二)有简单变量的算法
1.带有选择的算法
2.带有循环的算法
(1)计数控制循环
(2)时间控制循环
(3)平方根
抽象步骤:细节仍未明确的算法步骤
具体步骤:细节完全明确的算法步骤

(三)复杂变量
1.数组
数组是同构项目的有名集合,可以通过单个项目在集合中的位置访问它们

2.记录
记录是异构项目的有名集合,可通过名字单独访问其中的项目

四、搜索算法
1.顺序搜索

2.有序数组中的顺序搜索

3.二分检索
二分检索算法假设药检所的数组是有序的,其中每次比较操作都可以找到要找的项目或把数组减少一半

五、排序
1.选择排序
2.冒泡排序(也属于选择排序的一种,但是在查找最小值的时候用了不同的方法)
3.插入排序

六、递归算法
1.子程序语句
2.递归阶乘
3.递归二分检索
4.快速排序

第六章知识思维导图

第七章知识思维导图

总结
这两章的学习难度较大,知识深度和广度都有所提升,抽象而又复杂,作为初学者,我感到理解这部分内容比较困难,希望能在今后的学习中再更进一步,提升自己的知识水平。

posted @ 2021-10-14 18:31  20212422陈睿  阅读(447)  评论(0)    收藏  举报