计算机第9章-计算机思维与程序算法(VB方向)课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机第9章-计算机思维与程序算法(VB方向)课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 思维 程序 算法 VB 方向 课件
- 资源描述:
-
1、计算思维与程序算法计算思维与程序算法第第 9 9 章章主主 要要 内内 容容9.2 9.2 算法设计算法设计9.3 9.3 程序设计基础程序设计基础9.1 9.1 计算思维计算思维9.1.1 9.1.1 计算思维的提出计算思维的提出 9.1.2 9.1.2 科学方法与科学思维科学方法与科学思维 9.1.3 9.1.3 计算思维的内容计算思维的内容 9.1 9.1 计算思维计算思维9.1.4 9.1.4 计算思维能力的培养计算思维能力的培养 计算计算思维不是今天才有的,从我国古代的算筹、算盘,到近代的加法思维不是今天才有的,从我国古代的算筹、算盘,到近代的加法器、计算器以及现代的电子计算机,直至
2、目前风靡全球的互联网和云计算,器、计算器以及现代的电子计算机,直至目前风靡全球的互联网和云计算,无不体现着计算思维的思想。无不体现着计算思维的思想。然而然而,在相当长的时期,计算思维并没有得,在相当长的时期,计算思维并没有得到系统的整理和总结,也没有得到应有的重视。直到到系统的整理和总结,也没有得到应有的重视。直到2006年,周以真教授年,周以真教授对计算思维进行了清晰系统的阐述,这一概念才得到人们极大的关注。对计算思维进行了清晰系统的阐述,这一概念才得到人们极大的关注。到到目前为止,都没有一个统一的、获得广泛认可的关于计算思维的定目前为止,都没有一个统一的、获得广泛认可的关于计算思维的定义。
3、所有的讨论和研究大致可分为两个方向:其一,将义。所有的讨论和研究大致可分为两个方向:其一,将“计算思维计算思维”作为作为计算机及其相关领域中的一个专业概念,对其原理内涵等方面进行探究,计算机及其相关领域中的一个专业概念,对其原理内涵等方面进行探究,称为理论研究;其二,将称为理论研究;其二,将“计算思维计算思维”作为教育培训中的一个概念,研究作为教育培训中的一个概念,研究其在大众教育中的意义、地位、培养方式等,称为应用研究。理论研究对其在大众教育中的意义、地位、培养方式等,称为应用研究。理论研究对应用研究起到指导和支撑的作用,应用研究是理论研究的成果转化,并丰应用研究起到指导和支撑的作用,应用研
4、究是理论研究的成果转化,并丰富其体系,两者相辅相成,形成对计算思维的完整阐述。富其体系,两者相辅相成,形成对计算思维的完整阐述。9.1.1 9.1.1 计算思维的提出计算思维的提出 科学科学是反映人们对自然、社是反映人们对自然、社会、思维等现实世界各种现象的会、思维等现实世界各种现象的客观规律的知识体系,而科学发客观规律的知识体系,而科学发现则是在科学活动中对未知事物现则是在科学活动中对未知事物或规律的揭示,主要包括事实的或规律的揭示,主要包括事实的发现和理论的提出。达尔文说过,发现和理论的提出。达尔文说过,科学就是整理事实,从中发现规科学就是整理事实,从中发现规律,做出结论律,做出结论。9.
5、1.2 9.1.2 科学方法与科学思维科学方法与科学思维 科技科技创新创新(科学发现与技术创新)(科学发现与技术创新)科科 学学 知知 识识计算思维计算思维理论思维理论思维实验思维实验思维 科学界科学界一般认为,科学方法分为理论、实验和计算三大类。与三一般认为,科学方法分为理论、实验和计算三大类。与三大科学方法相对的是三大科学思维,理论思维以数学为基础,实验思大科学方法相对的是三大科学思维,理论思维以数学为基础,实验思维以物理等学科为基础,计算思维以计算机科学为基础。三大科学思维以物理等学科为基础,计算思维以计算机科学为基础。三大科学思维构成了科技创新的三大维构成了科技创新的三大支拄。支拄。作
6、为三大科学思维支柱之一,并具有作为三大科学思维支柱之一,并具有鲜明时代特征的计算思维,正在引起我们国家的高度重视。鲜明时代特征的计算思维,正在引起我们国家的高度重视。1 1计算思维计算思维的的概念性定义概念性定义 计算计算思维的概念性定义主要包含以下两个方面:思维的概念性定义主要包含以下两个方面:(1)计算思维的)计算思维的内涵内涵 按照按照周以真教授的观点,计算思维是指运用计算机科学的基础概念进周以真教授的观点,计算思维是指运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算
7、思维建立在计算过程的能力和限制之上,由人或机器执列思维活动。计算思维建立在计算过程的能力和限制之上,由人或机器执行。计算思维的本质是抽象(行。计算思维的本质是抽象(Abstraction)和自动化()和自动化(Automation)。)。(2)计算思维的要素)计算思维的要素 计算计算思维补充并结合了数学思维和工程思维,在其研究中提出体现计思维补充并结合了数学思维和工程思维,在其研究中提出体现计算思维的重点是抽象的过程,而计算抽象包括(并不限于):算法、数法算思维的重点是抽象的过程,而计算抽象包括(并不限于):算法、数法结构、状态机、语言、逻辑和语义、启发式、控制结构、通信、结构结构、状态机、语
8、言、逻辑和语义、启发式、控制结构、通信、结构。9.1.3 9.1.3 计算思维的内容计算思维的内容2 2计算思维计算思维的的操作性定义操作性定义 计算计算思维的操作性定义来源于应用研究,主要讨论计算思维在跨学科思维的操作性定义来源于应用研究,主要讨论计算思维在跨学科领域中的具体表现、如何应用以及如何培养等问题领域中的具体表现、如何应用以及如何培养等问题。计算。计算思维的操作性定思维的操作性定义主要包括以下几个方面义主要包括以下几个方面:(1)计算思维是问题解决的)计算思维是问题解决的过程过程(2)计算思维要素的具体体现)计算思维要素的具体体现(3)计算思维体现出的素质)计算思维体现出的素质 以
9、上以上三个方面共同构成了计算思维的操作性定义。操作性定义明确了三个方面共同构成了计算思维的操作性定义。操作性定义明确了计算思维这个抽象概念在实际活动中现实而具体的体现(包括能力和品计算思维这个抽象概念在实际活动中现实而具体的体现(包括能力和品质),使这一概念可观测、可评价,从而直接为教育质),使这一概念可观测、可评价,从而直接为教育培养过程提供有效的培养过程提供有效的参考。参考。9.1.3 9.1.3 计算思维的内容计算思维的内容3 3计算思维计算思维的的完整定义完整定义 计算计算思维的理论研究与应用研究密切相关、相辅相成,共同构成了对思维的理论研究与应用研究密切相关、相辅相成,共同构成了对计
10、算思维的完整研究计算思维的完整研究。计算。计算思维的概念性定义植根于计算科学学科领域,思维的概念性定义植根于计算科学学科领域,同时与思维科学、哲学交叉,从计算科学出发形成对计算思维的理解和认同时与思维科学、哲学交叉,从计算科学出发形成对计算思维的理解和认识,适用于指导对计算思维本身进行的理论研究。计算思维的操作性定义识,适用于指导对计算思维本身进行的理论研究。计算思维的操作性定义适用于对计算思维能力的培养以及计算思维的应用适用于对计算思维能力的培养以及计算思维的应用研究。研究。因此计算思维的因此计算思维的概念性定义和操作性定义彼此支撑和互补,共同构成计算思维的完整定义。概念性定义和操作性定义彼
11、此支撑和互补,共同构成计算思维的完整定义。计算思维的完整定义指导了计算思维在计算科学学科领域及跨学科领域中计算思维的完整定义指导了计算思维在计算科学学科领域及跨学科领域中的研究、发展和实践的研究、发展和实践。9.1.3 9.1.3 计算思维的内容计算思维的内容4 4计算思维的方法与特征计算思维的方法与特征 周以真周以真教授教授将将计算计算思维归纳思维归纳为如下七类方法为如下七类方法。计算计算思维是通过约简、嵌入、转化和仿真等方法,把一个看来困难思维是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的思维方法;的问题重新阐释成一个我们知道问题怎样解决的思维
12、方法;计算计算思维是一种递归思维,是一种并行处理,是一种把代码译成数思维是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法;据又能把数据译成代码,是一种多维分析推广的类型检查方法;计算计算思维是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂思维是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是基于关注点分离的方法(系统设计的方法,是基于关注点分离的方法(SoC方法);方法);计算计算思维是一种选择合适的方式去陈述一个问题,或对一个问题的思维是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方
13、法;相关方面建模使其易于处理的思维方法;计算计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;最坏情况进行系统恢复的一种思维方法;计算计算思维是利用启发式推理寻求解答,也即在不确定情况下的规划、思维是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;学习和调度的思维方法;计算计算思维是利用海量数据来加快计算,在时间和空间之间,在处理思维是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折衷的思维方法能力和存储容量之间进行折衷的思维方法。6.3.3 6.3
14、.3 计算思维的内容计算思维的内容4 4计算思维的方法与特征计算思维的方法与特征 周以真周以真教授以计算思维是什么和不是什么的描述形式对计算思教授以计算思维是什么和不是什么的描述形式对计算思维的特征进行了维的特征进行了总结总结。9.1.3 9.1.3 计算思维的内容计算思维的内容 计算思维是什么计算思维是什么计算思维不是什么计算思维不是什么(1)是概念化 不是程序化(2)是根本的 不是刻板的技能(3)是人的思维 不是计算机的思维(4)是思想 不是人造物(5)是数学与工程思维的互补与融合 不是空穴来风(6)面向所有的人,所有的地方 不局限于计算学科 1 1社会的发展要求培养计算思维社会的发展要求
15、培养计算思维能力能力 在在当今社会,计算思维成为人们认识和解决问题的重当今社会,计算思维成为人们认识和解决问题的重要基本能力之一,一个人若不具备计算思维的能力,将在要基本能力之一,一个人若不具备计算思维的能力,将在就业竞争中处于劣势;一个国家若不使广大受教育者得到就业竞争中处于劣势;一个国家若不使广大受教育者得到计算思维能力的培养,在激烈竞争的国际环境中将处于落计算思维能力的培养,在激烈竞争的国际环境中将处于落后地位。计算思维,不仅是计算机专业人员应该具备的能后地位。计算思维,不仅是计算机专业人员应该具备的能力,而且也是所有受教育者应该具备的能力,它蕴含着一力,而且也是所有受教育者应该具备的能
16、力,它蕴含着一整套解决一般问题的方法与技术。为此需要大力推动计算整套解决一般问题的方法与技术。为此需要大力推动计算思维观念的普及,在教育中应该提倡并注重计算思维的培思维观念的普及,在教育中应该提倡并注重计算思维的培养,促进在教育过程中对学生计算思维能力的培养,使学养,促进在教育过程中对学生计算思维能力的培养,使学习者具备较好的计算思维能力,以此来提高在未来国际环习者具备较好的计算思维能力,以此来提高在未来国际环境中的竞争力境中的竞争力。9.1.4 9.1.4 计算思维能力的培养计算思维能力的培养 2 2大学要重视运用计算思维解决问题的大学要重视运用计算思维解决问题的能力能力 大学大学计算机基础
17、教育的本质仍然是计算机应用的教育。为此,需要计算机基础教育的本质仍然是计算机应用的教育。为此,需要在目前的基础上强调计算思维的培养,通过计算机基础教育与计算思维在目前的基础上强调计算思维的培养,通过计算机基础教育与计算思维相融合,在进行计算机应用教育的同时,可以培养学生的计算思维意识,相融合,在进行计算机应用教育的同时,可以培养学生的计算思维意识,帮助学习者获得更有效的应用计算机的思维方式。其目的是通过提升计帮助学习者获得更有效的应用计算机的思维方式。其目的是通过提升计算思维能力更好地解决日常问题,更好地解决本专业问题。计算思维培算思维能力更好地解决日常问题,更好地解决本专业问题。计算思维培养
18、的目的应该满足这一要求。养的目的应该满足这一要求。从从计算思维的概念性定义和操作性定义的属性可知,计算思维在大计算思维的概念性定义和操作性定义的属性可知,计算思维在大学阶段应该正确处理计算机基础教育面向应用与计算思维的关系。对于学阶段应该正确处理计算机基础教育面向应用与计算思维的关系。对于所有接受计算机基础教育的学习者,应以计算机应用为目标,通过计算所有接受计算机基础教育的学习者,应以计算机应用为目标,通过计算思维能力的培养更好地服务于其专业领域的研究;对于以研究计算思维思维能力的培养更好地服务于其专业领域的研究;对于以研究计算思维为目标的学习者(如计算机专业、哲学类专业研究人员),需要更深入
19、为目标的学习者(如计算机专业、哲学类专业研究人员),需要更深入地进行计算思维相关理论和实践的研究地进行计算思维相关理论和实践的研究。9.1.4 9.1.4 计算思维能力的培养计算思维能力的培养 9.2.1 9.2.1 算法的基本概念算法的基本概念9.2.2 9.2.2 算法的表示方法算法的表示方法9.2.3 9.2.3 算法设计的基本方法算法设计的基本方法9.2 9.2 算法设计算法设计1算法的基本算法的基本特征特征(1)确定性确定性。在在算法的设计中,算法的每个步骤必须要有确切的含义,不允算法的设计中,算法的每个步骤必须要有确切的含义,不允许有模糊的解释,也不能有多义性许有模糊的解释,也不能
20、有多义性。即每个操作都应当是清晰的、无二义性即每个操作都应当是清晰的、无二义性的的。(2)有有穷穷性性。算法算法的有穷性是指在一定的时间内能够完成,即一个算法应包的有穷性是指在一定的时间内能够完成,即一个算法应包含有限的操作步骤且在有限的时间内能够执行完毕含有限的操作步骤且在有限的时间内能够执行完毕。(3)有效性有效性。算法算法中的每个步骤都应当能有效地执行,并得到确定的结果中的每个步骤都应当能有效地执行,并得到确定的结果。(4)有零有零个或多个个或多个输入输入。在在算法执行的过程中需要从外界取得必要的信息,算法执行的过程中需要从外界取得必要的信息,即输入必要的数据,并以此为基础解决某个特定问
21、题即输入必要的数据,并以此为基础解决某个特定问题。所谓。所谓零个输入是指算零个输入是指算法也可以没有输入,此时就需要算法本身给出必要的初始条件(初值)法也可以没有输入,此时就需要算法本身给出必要的初始条件(初值)。(5)有有一个或多个一个或多个输出输出。设计设计算法的目的就是要解决问题,算法的计算结果算法的目的就是要解决问题,算法的计算结果就是输出。没有输出的算法是毫无意义的。一个就是输出。没有输出的算法是毫无意义的。一个算法算法可以有可以有一一个或多个个或多个输出输出。输出结果的输出结果的形式形式也也可以可以有有多种多种形式。形式。9.2.1 9.2.1 算法的基本概念算法的基本概念 2 2
22、算法的基本要素算法的基本要素 算法算法由由操作操作和和控制结构控制结构两个要素组成。两个要素组成。(1)对对数据对象的运算和操作数据对象的运算和操作 计算机计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合称为该计算机系统的指令系统。计算机程序就是按解执行的所有指令的集合称为该计算机系统的指令系统。计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列题要求从计算机指令系统中选择合适的指令所组成的指令序列。在在一般的计算机系统中,对数据对象基本的运算和操作有以下四类。一般的计算机系统中,对
23、数据对象基本的运算和操作有以下四类。算术运算:算术运算:主要包括主要包括“加加”、“减减”、“乘乘”、“除除”、“求余求余”等等算术运算。算术运算。关系运算:关系运算:主要包括主要包括“大于大于”、“大于等于大于等于”、“小于小于”、“小于等小于等于于”、“等于等于”、“不等于不等于”等关系运算。等关系运算。逻辑运算:逻辑运算:主要包括主要包括“与与”、“或或”、“非非”等逻辑运算。等逻辑运算。数据传输:数据传输:主要包括输入、输出、赋值等数据传送操作主要包括输入、输出、赋值等数据传送操作。9.2.1 9.2.1 算法的基本概念算法的基本概念 (2)控制结构控制结构 算法算法的功能不仅取决于所
24、选用的操作,还与各操作之间的顺的功能不仅取决于所选用的操作,还与各操作之间的顺序有关。在算法中,各操作之间的执行顺序又称算法的控制结构。序有关。在算法中,各操作之间的执行顺序又称算法的控制结构。算法的控制结构给出了算法的基本框架,它不仅决定了算法中各算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一般一般的算法控制结构有三种:的算法控制结构有三种:顺序结构顺序结构、选择结构选择结构和和循环结循环结构构。描述算法的工具通常有传统。描述算法的工具通常有传统流程图流程图、N-S
25、结构图结构图和和算法描述算法描述语言语言等等。9.2.1 9.2.1 算法的基本概念算法的基本概念3 3算法的分类算法的分类 根据根据待解决问题的形式模型和求解要求,算法分为数值运算算法待解决问题的形式模型和求解要求,算法分为数值运算算法和非数值运算算法两大类。和非数值运算算法两大类。(1)数值数值运算算法运算算法 数值数值运算算法是以数学方式表示的问题求数值解的方法。例如,运算算法是以数学方式表示的问题求数值解的方法。例如,代数方程计算、线性方程组求解、矩阵计算、数值积分、微分方程求代数方程计算、线性方程组求解、矩阵计算、数值积分、微分方程求解等。通常,数值运算有现成的模型,这方面的现有算法
展开阅读全文