当前课程知识点:计算机基础与应用 > 第1章 计算思维概述 > 1.2 计算思维的定义、特征、基本原理和本质 > 1.2计算思维的定义、特征、基本原理和本质
现在我们来一起学习第二节
计算思维并不是一个新的概念
也不是计算机的产物
它是千百年来计算学科在发展过程中
一直遵循传承的一种科学方法
计算思维是我们每一个人必备的一种基本素质
计算思维具有以下六个特征
计算思维的基本原理包括可计算性原理
形理算一体原理和机算设计原理
计算思维的本质是抽象和自动化
为了便于理解计算思维的这一本质
我们引入了一个具体的例子来进行理解
我们来看这个问题
小猴子吃桃子的问题
内容如下
小猴子第1天摘了若干个桃子
当即吃了一半
还不解馋
又多吃了1个
到了第2天
小猴子又吃了剩下桃子的一半
还不过瘾
多吃了1个
以后的每天都吃前1天
剩下的一半还多1个
到了第10天
小猴子想再吃的时候只剩下1个桃子了
问小猴子在一开始的第1天
一共摘了多少个桃子
现在我们来一起分析这道题的解题思路
这可以倒着推
小猴子在第10天的时候
想再吃时发现只剩1个桃子了
这1个桃子是第9天吃剩下的
接着
我们继续来推理
小猴子在第9天吃完后还剩1个
在第8天吃完后还剩(1+1)×2
有4个
第7天吃完后
还剩(4+1)×2
有10个
以此类推
可以推出第1天吃完后还剩P个
这样可以推出第1天摘了
(P+1)×2个桃子
因此代码的设计可采用
P=(P+1)×2的结构形式
这道题倒着推的解题思路
就是计算机程序设计中的回溯法
它采用了数据结构中的一种抽象数据类型
栈
栈的特征是先进后出
这道题的程序设计实现有多种方法
可以用for循环实现
也可以用while循环来实现
还可以用递归算法来实现
下面我们用for循环来编写程序
我们一起来观察
程序中的第一行和第二行是注释
说明了问题所采用的方法和思路
程序中的第三行表示
第10天只剩下1个桃子了
所以设P=1
程序中的第五行用了复合循环
for循环中的9 0 -1表示
循环从第9天到第0天依次减少1天
程序中的第六行采用了
P=(P+1)×2的形式
进行反复循环累加直到第五行的i=0
程序中的第八行则是输出一个空行
这样做是为了与前面的输出有一个分割
以便于清晰的观察结果
结果如图所示
从运算结果中
我们可以清晰的看到
小猴子每一天在吃之前还剩多少个桃子
从小猴子吃桃子这一具体问题
分析及解题思路到
可以采用多种方法来进行编程计算
最终得出这道题的数据类型
和分析思路是采用了栈这一概念
这就是计算思维的抽象
接着
我们继续来进一步的分析这个例子
如果把第10天改为第5天
我相信小猴子第1天摘了多少个桃子
这很容易就计算出来
我们可以通过心算和手工计算来得出结果
但是
如果把第10天改为第15天
第20天
第25天和第30天
您还能通过心算和手工计算来得到结果吗
如果我们学会了计算机编程
就可以很快的解决这个问题
我们来看相应的程序
和之前的程序相比
这里少了4行更为简洁
每行代码的含义之前已经做过解释
这里就不再重复了
我们来看一下运行的结果
从结果中
我们可以看出每隔5天结果大不相同
我们来看最后的第30天
若是30天
则小猴子第1天共摘了
至少
16.1亿个桃子
这可不是普通的计算
因此
利用计算机编写恰当的程序
仅需要修改某个数字就可以快速得到结果
这就是计算思维的自动化
现在关于计算思维的本质是抽象和自动化
就讲解完毕
谢谢大家下次再见
-1.1 计算思维概述
-1.2 计算思维的定义、特征、基本原理和本质
-1.3 计算思维的基本方法及应用简介
-2.1 计算机发展历程
-2.2 计算机系统组成
-2.3 计算机基本工作原理
-2.4 微型计算机硬件组成
-2.5 计算机网络简介
--2.5 计算机网络课后作业
-第2章 课后作业
-3.1 信息表示与计算机中的数制
-3.2 计算机不同数制间的转换
-3.3 计算机中数据的表示
-3.4信息编码
--3.4信息编码
--3.4信息编码
-第3章 课后作业
-4.1 操作系统概述
-4.2 Windows10的基本操作
-4.3 Windows10的文件管理
-第4章 课后作业
-5-1.1Word 2010的操作界面与文档编辑
-5-1.2 Word 2010的文档排版与图文混排
-5-1.3Word 2010的表格操作
-5-1.4Word 2010 其他功能和页面设置
--5.1.4Word 2010 其他功能和页面设置--沙莉
-5-2.1Power Point 2010 基础操作
-5-3.1Excel 2010概述
-5-3.2Excel 2010 公式和函数
-5-3.3Excel 2010 工作表的格式化
-5-3.4 Excel 2010数据的图表化
-5-3.5Excel 2010 数据管理和打印设置
-第5章 Word课后作业
-第5章 Excel课后作业
-第5章 PowerPoint课后作业
-6.1 程序设计基本方法
-6.2 Python语言的发展和特点
-6.3 Python语言开发环境配置
-6.4 程序的基本编写方法
-第6章 课后作业
-7.1Python程序基础
-7.2Python程序基本语法元素
-7.3turtle库的基本命令
--第7章 课后作业
-8.1程序的控制结构
-8.2程序的分支结构
-8.3程序的循环结构
-8.4程序的异常处理
-第8章 课后作业
-9.1基本数据类型
-9.2数据类型的运算
-9.3字符串数据类型
-第9章 课后作业
-10.1 集合类型-集合
-10.2 序列类型
-10.3 列表
--10.3 列表
--10.3 列表
-10.4 元组
--10.4 元组
--10.4 元组
-10.5 映射类型 -字典
-第10章作业
-11.1 函数的概念和分类
-11.2 函数的定义和调用
-11.3 函数的参数
-11.4 函数的返回值
-11.5 变量的作用域
-第11章作业
-12.1.1 文件概述
-12.1.2 打开或创建文件
-12.1.3 数据写入文件
-12.1.4 读取数据和关闭文件
-12.2 CSV文件
-12.3.1 编辑Excel工作簿
-12.3.2 编辑Excel工作表
-12.3.3 编辑Excel单元格
-12.4.1-5 图像文件
-12.4.6-7 Image的常用属性、函数和方法
-第12章作业
-13.1 科学计算的含义
-13.2 方程问题的求解
-13.3 微积分问题的求解
-13.4 数学函数的可视化
-第13章作业