第二章:计算思维——知识点整理
第二章计算思维——知识点整理第二章计算思维——知识点整理第二章计算思维知识梳理高频考点2.1 计算思维的概念与应用2.1.1 计算思维的概念2.1.2 计算思维的特征2.1.3 计算思维的内涵2.1.4 计算思维的应用2.2 问题求解2.2.1 计算机求解问题的基本方法2.2.2 计算思维解决计算问题的方法2.3 算法2.3.1 算法基础知识 ⭐️⭐️2.3.2 算法的表示方法 ⭐️⭐️2.3.3 典型问题求解策略2.3.4 算法的复杂度分析2.4 程序设计基础2.4.1 程序设计语言 ⭐️⭐️2.4.2 结构化程序设计方法2.4.3 面向对象程序设计方法 ⭐️⭐️⭐️同步特训知识点第二章计算思维知识梳理高频考点高频考点重要程度计算思维⭐️⭐️算法的特性⭐️⭐️⭐️程序的基本结构⭐️⭐️⭐️⭐️程序设计方法⭐️⭐️时间复杂度空间、空间复杂度⭐️⭐️⭐️机器语言、汇编语言、高级语言⭐️⭐️⭐️⭐️面向对象程序设计语言⭐️⭐️2.1 计算思维的概念与应用2.1.1 计算思维的概念1、 科学研究的三大方法是理论、实验和计算。 对应的三大科学思维分别是理论思维、实验思维和计算思维。2、 理论思维又称推理思维以数学学科为代表。 实验思维以物理学科为代表。 计算思维以计算机学科为代表。2.1.2 计算思维的特征① 计算思维是人类求解问题的一条途径是属于人的思维方式不是计算机的思维方式。② 计算思维的过程可以由人执行也可以由计算机执行。③ 计算思维是思想不是人造物。④ 计算思维是概念化不是程序化。2.1.3 计算思维的内涵1、 计算思维的基本问题①计算思维的基本问题包括可计算性和计算复杂性。②“一个问题是可以计算的” 是指可以使用计算机在有限步骤内解决。 可计算性的另一个定义就是丘奇——图灵论题一切直觉上可计算的函数都可用图灵机计算反之亦然。也就是说图灵机可计算的就是可计算的。③ 不是所有的问题都是可以计算的比如图灵机的停机问题、哥德巴赫猜想、“为我烹饪一个汉堡”等都是不可计算的。④ 图灵机是一种抽象计算模型并没有真正的生产出来。⑤ 计算复杂性就是用计算机求解问题的难易程度其度量标准有两个时间复杂性和空间复杂性。2、 计算思维的基本方法① 计算思维方法是计算思维的核心。2.1.4 计算思维的应用1、计算思维主要用在的学科是计算物理学、计算化学、计算生物学、计算经济学。2.2 问题求解2.2.1 计算机求解问题的基本方法①分析问题②确定数学模型③算法设计④程序编写、编辑、编译和连接⑤运行和测试确定数学模型就是把实际问题直接或间接转化为数学问题。建模是计算机解题中的难点也是计算机解题成败的关键。算法是求解问题的方法和步骤学习程序设计最重要的是学习算法思想。计算机是不能直接执行源程序的在编译方式下必须通过编译程序将源程序翻译成目标程序。生成的目标程序还不能被执行需要生成可执行文件才能被执行。测试的目的是找出程序中的错误。 测试是以程序通过编译没有语法和连接上的错误为前提的。2.2.2 计算思维解决计算问题的方法1、计算思维的本质是抽象和自动化(编写程序)。2、 自动化就是机械的一步一步自动执行其基础和前提是抽象。3、 在计算机科学中抽象是简化复杂的现实问题的最佳途径抽象的具体形式是多种多样的但是离不开两个要素即形式化和数学建模。4、 数学建模有龙卷风模型、潮汐模型等。5、 抽象以后就是自动化抽象是自动化的前提和基础。 计算机通过程序实现自动化而程序的核心是算法。 因此自动化分为两步设计算法和编写程序。 设计算法又包括自然语言描述算法和伪代码描述算法等。6、 计算思维的标志是有限性、确定性和机械性。7、 当面对复杂的问题时求解的形式极其复杂但是抽象和自动化是不会变的。2.3 算法2.3.1 算法基础知识 ⭐️⭐️1、 算法就是解决问题的方法和步骤。2、算法的特性①输入 算法中可以有0个或多个输入。②输出 在算法中至少有一个或多个输出。③有穷性 任意一个算法在执行有穷个计算步骤后必须终止。④确定性 算法的每一个步骤都具有确定的含义不会出现二义性。⑤可行性 算法的每一步都必须是可行的也就是说每一步都能够通过执行有限的次数完成。3、 根据处理的数据是数值数据还是非数值数据可以分为数值计算算法和非数值计算算法。 数值计算算法特点是少量的输入、输出复杂的运算。非数值计算算法特点是大量的输入、输出简单的算术运算和大量的逻辑运算。2.3.2 算法的表示方法 ⭐️⭐️1、 常用的算法的表示方法有自然语言、传统的流程图、N-S图、伪代码和计算机语言等。2、 一般不用自然语言来描述算法除非是很简单的问题。3、 美国国家标准化协会(ANSI)规定了一些常用的流程图符号:例用流程图表示计算 5 的算法4、 N-S图是一种简化的流程图去掉了流程图中的流程线全部算法写在一个矩形框中N-S图三种基本结构——顺序结构、选择结构、循环结构。5、所谓“伪代码”就是用介于自然语言和计算机语言之间的文字和符号的描述算法。伪代码写的算法是一种假代码——不能被计算机所理解但便于转换成某种语言编写的计算机程序。例如一种伪代码有如下简单约定6、 只有用计算机语言编写的程序才能被计算机执行(当然还要被编译成目标程序)因此最终还是要将它转换成计算机语言程序。2.3.3 典型问题求解策略1、递归法、穷举法、回溯法、贪婪法、分治法。2、 穷举法也称为“枚举法”即将可能出现的每一种情况一一测试判断是否满足条件一般采用循环来实现。3、 回溯法是系统地搜索问题的所有解的算法。4、 贪婪法是一种不追求最优解只希望得到较为满意解的方法。5、 分治法的设计思想是将一个难以直接解决的大问题分割成一些规模较小的相同问题以便各个击破分而治之。2.3.4 算法的复杂度分析1、算法的时间复杂度①时间频度一个算法中的语句执行次数称为语句频度或时间频度。②时间复杂度若算法中语句执行次数为一个常数则时间复杂度为O(1)。 另外在时间频度不相同时时间复杂度有可能相同。随着问题规模n的不断增大时间复杂度不断增大算法的执行效率越低。2、算法的空间复杂度空间复杂度是指算法在计算机内执行时所需存储空间的度量。2.4 程序设计基础著名计算机科学家沃思提出一个经典公式程序 算法 数据结构。2.4.1 程序设计语言 ⭐️⭐️1、计算机语言已经发展到了第三代第一代是机器语言第二代是汇编语言第三代是高级语言。2、第一代计算机语言是机器语言它是由0、1二进制代码组成的是机器唯一能够直接执行的语言。3、 第二代计算机语言是汇编语言它采用一定的助记符来代替机器语言中的指令和数据又称为符号语言。4、 汇编语言也依赖于机器不同的计算机一般有着不同的汇编语言。5、 汇编语言编制的程序(称为源程序)必须经过汇编程序(一种语言处理程序)翻译成计算机所能识别的机器语言程序(也称为目标程序)后才能被计算机执行。将汇编语言源程序转换为等价的目标程序的过程称为汇编。6、 我们把机器语言和汇编语言统称为低级语言。7、 第三代计算机语言是高级语言(C、Java、C等)用高级语言编写的高级语言源程序也不能直接执行需要通过高级语言翻译程序将源程序翻译成目标程序翻译程序有两种工作方式解释方式和编译方式相应的翻译工具分别称为解释程序和编译程序。解释 解释程序对源程序是一边翻译一边执行不产生目标程序。编译 将高级语言所编写的源程序翻译成等价的用机器语言表示的目标程序。 大多数高级语言都采用编译方式。8、三种计算机语言的特点对比语言种类可读性可移植性执行速度能否被计算机直接执行机器语言差差快能汇编语言较好差较快不能高级语言好好慢不能9、常见的程序设计语言FORTRAN语言(公式翻译机)、COBOL(通用事务处理语言)、BASIC语言(初学者的通用符号指令代码)、PASCAL语言、C语言与C语言、Java语言、C#语言、Python语言。2.4.2 结构化程序设计方法1、 任何程序都基于顺序、选择、循环3种基本的控制结构。2、 结构化编程主要包括以下两个方面①在软件设计和实现过程中提倡采用自顶向下逐步细化的模块化程序设计原则。②在代码编写时强调采用单入口、单出口的三种基本控制结构(顺序、选择、循环)。3、 结构化程序设计方法的基本结构包括顺序结构、分支结构和循环结构。循环结构又称重复结构循环结构又分为当(while)型循环结构和直到(util)型循环结构。4、 顺序结构是算法的基本结构任何一个算法都包含顺序结构。5、 结构化程序的结构简单清晰可读性好模块化强。6、 结构化程序设计方法虽已得到广泛使用但仍难以适应大型软件的设计而且程序可从重用性差。2.4.3 面向对象程序设计方法 ⭐️⭐️⭐️1、面向对象程序设计可以看做一种在程序中包含各种独立而又相互协调的对象的思想。2、面向对象程序设计中的每一个对象都应该能够接收数据、处理数据并将数据传达给其它对象。3、面向对象程序设计中的概念主要包括对象、类、数据抽象、封装、继承、多态性、信息、事件等。4、对象是构成系统的基本单位可以用对象名、属性和方法来描述。5、类是对象的抽象而对象是该类的一个实例。6、抽象能表示同一类事物的抽象。7、封装8、继承出来的派生类可以对基类的行为进行扩展、覆盖、重定义。9、多态性是指基类中定义的属性或方法被派生类继承后可具有不同的数据类型或表现出不同的行为其对象对同一信息会做出不同的响应。10、消息对象之间的联系是通过消息来传递的。11、事件不同的事件往往引发对象不同的动作。用户按键、单击鼠标、打开文件、关闭文件都是计算机中的事件。12、事件驱动用户单击一个按钮时可能引发一段程序的执行。当用户关闭文件时又可能引发另外一段处理程序执行。同步特训知识点1、计算机算法必须具备输入、输出、可行性、确定性、有穷性等5个特征。2、理论上说任何程序逻辑都可以使用顺序、分支、循环三种结构表示出来。3、在面向对象程序设计方法中抽象是处理事物复杂性的方法能表示同一类事物的本质。《网络安全从零到精通全套学习大礼包》96节从入门到精通的全套视频教程免费领取如果你也想通过学网络安全技术去帮助就业和转行我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。网络安全学习路线图想要学习 网络安全作为新手一定要先按照路线图学习方向不对努力白费。对于从来没有接触过网络安全的同学我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线大家跟着这个路线图学习准没错。配套实战项目/源码所有视频教程所涉及的实战项目和项目源码学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取面试真题/经验以上资料如何领取