一、计算思维的概念及应用
1.1 计算思维的提出
当前环境下,理论和实验手段在面临大规模数据的情况下,不可避免的用计算手段来辅助进行。
代表学科:计算思维-计算机,实验思维-物理,理论思维-数学
1.2计算思维的概念
是运用计算机科学的基础概念进行问题求解、系统设计、人类行为理解等涵盖计算机科学广度的一系列思维活动。
注意:计算思维一直都有,只是后来因周以真进行研究。计算思维对所有人都需要有。
1.3计算思维的本质
计算思维的本质是:抽象、自动化
抽象:完全超越物理的时空观,并完全用符号表示。其中数字抽象只是一类特例。(提取本质、忽略其他因素)
自动化:就是机械的一步一步自动执行,其基础和前提是抽象。
1.4计算思维的特点(特征)
计算思维是概念化,不是程序化。
计算思维是根本的,不是刻板的技能。
计算思维是人的,不是计算机的思维。
计算思维是数学和工程思维的互补与融合。
计算思维是思想,不是人造物。
计算思维是面向所有人、所有地方。
1.5计算思维解决简单问题的方法
计算思维是一种使用工具高效解决问题的思路。分为四个步骤:分解(大小)、模式识别(规律)、抽象化、算法。
1.6计算思维的应用领域
计算生物学
脑科学
计算化学
数学
计算经济学
工程(电子、海洋、材料、航空)
答案:1.D 2.A 3.ACD 4.ACD 5.AC 6.X 7.抽象 自动化 8.周以真
二、计算机算法的基本知识
2.1计算机算法的基本知识
2.1.1算法的定义
概念:按照一定规则解决一类问题的明确和有限的步骤。
同一问题可以有不同的算法
2.1.2算法的特性
①可以有0个或多个输入
②至少有一个或多个输出
③有穷性:算法在执行有穷个步骤后必须终止。(无循环)
④确定性:算法每个步骤有确定含义,不能出现二义性。(每个步骤都要确定好)
⑤可行性:算法每一步都能通过执行有限次数完成。
可以没有输入,也可以有输出。
2.1.3算法的评价
2.1.3.1时间复杂度
度量一个程序的执行时间有两种方法:事后统计法、事前分析估算法。
语句频度:一个算法中语句执行的次数。
渐进时间复杂度:
时间复杂度越大,效率越低。
2.1.3.2空间复杂度
空间复杂度就是占用空间的大小,时间复杂度越低,占用空间越大。
2.1.4算法设计要求
答案:1.C 2.AD 3.√ 4.x 5.有穷性
三、数据结构的基本概念
3.1数据结构概念
定义:是一门研究非数值计算的程序设计中计算机的操作对象以及他们之间的关系和操作的学科。
最广泛的领域:数据处理,最早的领域:科学计算。
数据结构包含三个部分:
逻辑结构:描述数据之间的逻辑关系
存储结构:数据结构在计算机中的表示
数据操作:检索、删除、插入
3.1.1逻辑结构
逻辑结构有四种:集合、线性、树状、图(网)状,主要针对人或者具体的一个问题。
树形:有明显的层次关系
图形结构:有相邻性
3.1.2存储结构
存储结构分为:顺序存储、链式存储、索引存储、散列存储。
3.1.3总结
队列:先到先出(排队)
栈:先到后出(弹匣)
答案:1.B 2.C 3.√ 4.x 5.1
四、计算机程序设计流程步骤和思想
4.1程序概念
程序定义:程序由有序指令组成的序列,完成特定功能。
软件定义:由程序、数据和有关文档的综合。
软件包括程序,程序不一定是软件。
4.2三种基本结构
分为顺序结构、选择结构(分支结构)、循环结构。
①顺序结构:按照语句的先后次序依次执行。
②选择结构:也叫分支结构,根据条件是否满足,选择对应执行路径。
③循环结构:反复执行
循环结构三要素:循坏变量、循环体、循环条件,根据判断条件,分为当型和直到型。
4.2.1算法的表示方法
常用的表示方法有:自然语言、流程图、伪代码、N-S流程图。
①自然语言:
②流程图:
流程图的优点:
直观形象、易于理解、次序清晰
π在计算机中属于非法数字。
答案:1.ABC 2.ABC 3.BCD 4.B 5.A 6.D 7.A 8.A 9.D 10.D
五、面向对象
目前最常用的程序设计方法包括:结构化程序设计方法(三大结构)、面向对象程序设计方法
①面向对象程序设计方法:
概念:尽可能模拟人类是思维方法,使开发软件的方法和过程尽可能接近人类解决问题的方法。
面向对象的优点:
与人类习惯的思维方式一致
稳定性好
可重用性好
较易开发大型软件产品
可维护性好
5.1对象的概念
概念:是描述对象属性的数据和对这些数据(属性)的所有操作(行为)封装在一起的统一体。
对象也叫实例(一个具体的例子)。
对象的特点:
以数据为中心
对象是主动的
实现数据封装
本质上有并行性
模块独立性好
5.2类的概念
具有相同数据和相同操作的一组相似对象的定义。
类是对象的一种抽象。
对象是具体的实例。
5.3封装的概念
概念:把数据和实现操作的代码集中存放在对象内部(信息隐蔽)。
5.4继承的概念
概念:子类自动共享父类中定义的数据和方法。
5.5面向对象的要点
对象彼此之间通过消息互相联系
答案:1.D 2.A 3.消息 4.封装