计算机控制求输出递推计算题,2020计算思维复习

只是供自己复习使用,无参考价值。本人无法对以下内容的准确性做保证,大家看看就好。

如发现错误,希望大家多多指正。

第一章:

1.什么是计算思维(书P17)

PPT上的:

“计算思维就是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了反映计算机科学领域之广度的一系列思维活动”。

也就是说,计算思维是一种解决问题的思考方式,而不是具体的学科知识,这种思考方式要运用计算机科学的基本理念,而且用途挺广的。

书上的:

①计算思维是概念化思维,不是程序化思维。

②计算思维是基础的技能,而不是机械的技术。

③计算思维是人的思维,不是计算机的思维。

④计算思维是思想,不是人造品。

⑤计算思维是数学和工程互补融合的思维,不是数学性的思维。

⑥计算思维面向所有的人,所有领域。

第二章:!!!

1.加法器(4、8位),怎么进位。(书P56)

2.串行加法器的缺点(没找到,从百度上复制的)

串行加法器运算速度很慢,要等一级的加法运算完成、得到进位的值后再才能进行下一位的运算。加的级数越多、所耗费的时间越长,因为总时间是每一级时间的总和。

3.补码

已知[x]补求[-x]补的方法:[x]补连同符号位,每一位都取反,之后再加1。

4e0a65732f9f79fe46dbb62bc2e436e9.png

负数补->原:①数值位取反+1;②负数补码中,最右边的1及其右边同原码。最右边的1的左边同反码。

4.溢出

方法1:

e125652a8e201fb03b199b8dbd238c07.png

方法2:

6958038be60eaeb0f82425d1c0239842.png

方法3:(首推!!!)

eb21703ce7883b09c2e9c401f5e18ad2.png

5.图灵机(基本结构:书P61以及PPT第二章P90)

书上的原话:

图灵机由以下几部分组成:一条两端可无限延长的纸带,一个读写头,以及一个可控制读写头工作的控制器。图灵机的纸带被划分为一系列均匀的方格,每个方格中可填写一个符号;读写头可以沿带子方向左右移动(一次只能移动一格)或停留在原地,并可以在当前方格上进行读写:控制器是一个有限状态自动机,拥有预定的有限个互不相同的状态并能根据输入改变自身的状态(即从一种状态转换成另一种状态)。任何时候,它只能处于这些状态中的一种。

PPT上的:

d69438c62a5e605f33b287c48af54589.png

6.图灵机:设计状态执行图(加法减法、字符串操作))(书P62)(必考)

有一个注意点:如果在x上面有多个操作要进行,读写头回到原位是必要的(如inc(),dec())。(P66)

图灵机可能考求补码、反码!!!

以下是字符串操作:

31be70e0fd43814578f1938d68902b0a.png

0622cc1cdf97520d49eab95fc28beba0.png

7.冯诺依曼体系、冯诺依曼计算机有哪些部分(书P70~71详细介绍了5大部件)

组成:存储器、运算器、控制器、输入设备、输出设备

特征:采用二进制;计算机按照程序顺序执行

8.要会画冯诺依曼图,重点关注一下指令流、数据流(书P69右下角)

9.插一个上课讲的考点但是提纲没有的——可计算性与计算复杂性(书P82)

一个问题理论上是否能行,取决于其可计算性,而现实是否能行,取决于其计算复杂度。

第三章:

1.什么是面向对象

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

2.面向对象与面向过程的区别(要会说,会举例)

面向对象是什么,怎么做的,如果换成面向过程怎么做的,所以我们要面向对象

栗子:

面向过程的设计思路就是:

首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

面向对象的设计则是从另外的思路来解决问题:

整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

总结:

面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。

把这个五子棋游戏改为围棋游戏,如果你是面向过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?而下棋的大致步骤从面向对象的角度来看没有任何变化。

面向过程就像两条生产不同类型汽车的流水线,面向对象则是生产出玻璃,底盘等等后再分给不同的汽车。

3.什么是抽象(PPT的P62相关内容带着看,不能局限于只知道什么是抽象)

所谓抽象是从众多的事物中抽出与问题相关的最本质的属性,而忽略或隐藏与认识问题,求解问题无关的非本质的属性。

举栗:

苹果,香蕉和梨子

苹果,足球和太阳

第四章:

1.什么是算法

算法是解决问题的方法和步骤,通常把解题过程准确而完整的描述称之为解该题的算法。

2.算法和程序的区别

程序是为解决特定问题的计算机语言有穷操作规则(即低级语言的指令,高级语言的语句)的有序集合。

程序=数据结构+算法

程序是在数据的某些特定的表示方式和结构基础之上,对抽象算法的计算机的语言具体表述

算法和程序的差异与联系。

一个程序不一定满足有穷性,但一个算法必须是有穷的。

程序中的指令必须是机器可执行的,而算法中的指令则无此限制。

算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。

算法侧重问题的解决方法和步骤,程序侧重于机器上的实现。

树干(算法),树(程序)。

程序=数据结构+算法。

3.算法怎么表示的,它的时间空间复杂度是什么

描述算法的方式(书P148有具体的)

自然语言

计算机语言

图形化工具

伪代码

算法的时间复杂度

简单地说,执行一个算法所需要的时间

算法的空间复杂度

简单的说,执行一个算法所需要的空间

4.分清算法和程序,分清算法和伪代码、伪代码、流程图(书P153)

5.算法是否要求有输入和输出

允许算法没有输入量。但是每种算法必须有确定的结果,产生一个或多个输出。

6.一个实战性的算法:递推、递归、回溯、分治 4挑1(大概率在后三个中)

分治法:归并排序、快速排序

回溯法:DFS

插入排序(可不看)

a21f929a7ad0ac564861a764e8872a32.png

快速排序(以下为代码片段,考试时请写伪代码)

46ec9a82f1bb8a7904ee74769d6794f9.png

acb0ab4e6da37d8c275573400b424810.png

归并排序(以下为代码片段,考试时请写伪代码)

97d3752e0c01e87b8b2bbdc1343fc4e7.png

第五章:(注意一下 网页排序)

1.网页排序(书P208,PPT第五章P10)

超链接技术

权重技术

随机访问模型

2.编码(奇偶校验码怎么执行的,怎么校验的,是否一定可以校验出偶数个错误(上课讲过了的,什么情况下能校验出偶数个错误,什么情况下不行),PPT上的举例子)

①什么是奇偶校验码

奇偶校验码也是一种校验码,它用来检测数据传输过程中是否发生错误,是众多校验码中最为简单的一种。

顾名思义,它有两种校验方法:奇校验和偶校验

奇校验:原始码流+校验位 总共有奇数个1

偶校验:原始码流+校验位 总共有偶数个1

相关博客

栗子:

奇偶校验码一个最为常见的应用场合就是ASCII码。ASCII码占用一个字节,低7位是有效位,最高位用作奇偶校验。

3.哈夫曼编码(大概率考)多练练(书P253)

把信息中排除了冗余后的平均信息量称为“信息熵”。信息熵表示无序的信息。

哈夫曼编码所得的编码长度只是对信息熵计算结果的一种近似,无法真正逼近信息熵的极限。

第六章:大概率不考

第七章:(考两题)

1.方程的求根(牛顿法、迭代法)

P294 7.1.2迭代法

P296 7.1.3牛顿法

2.蒙特卡洛法

P324 7.6蒙特卡洛法

基于概率的算法。要从本质理解,为什么可以,基于什么定理,为什么可以执行,结果是概率性的为什么我们还要用呢?(

完结,撒花

未完待续

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值