版权声明:转载请注明出处。作者:两仪织,博客地址:http://blog.csdn.net/u013894427 https://blog.csdn.net/u013894427/article/details/80516935
计算思维与程序设计
三种人类思维特征
- 逻辑思维:推理和演绎,数学为代表,A->B B->C A->C
- 实证思维:实验和验证,物理为代表,引力波<- 实验
- 计算思维:设计和构造,计算机为代表,例如汉诺塔递归
计算思维:
抽象的问题的计算过程,利用计算机自动求解
计算思维是基于计算机的思维方式
实例:计算0-100的和
1. 逻辑思维,高斯算法
2. 计算思维
s=0
for i in rang(101):
s=s+i
实例:汉诺塔问题
# 计算hanoi塔的次数,n是
count=0
'''
n是圆盘总数
src是圆盘原本的位置
mid是圆盘中转的圆柱
dst是圆盘最后的位置
'''
def hanoi(n,src,mid,dst):
global count
if n==1:
print("{}:{}->{}".format(n,src,dst))
count+=1
else:
hanoi(n-1,src,mid,dst)
print("{}:{}->{}".format(n, src, dst))
count += 1
hanoi(n - 1, mid, dst,src)
hanoi(3,'A','B','C')
print(count)
总结:
- 计算思维基于计算机强大的算力和海量数据
- 抽象的过程中,关注的是设计和构造,而非因果
- 编程是计算思维变成现实的手段
计算生态与Python语言
计算生态,是以开源项目为组织形式,充分利用“共识原则”和“社会利他”组织人员,在竞争发展,相互依存和迅速更迭中完成信息技术的更新换代,形成了技术的自我演化路径。
特点
- 竞争发展
- 相互依存
- 迅速更迭
python语言
- 由13万个第三方库
- 库的建设经过野蛮生长和自然选择
- 库之间相互关联使用,依存发展
- 社区庞大,库计数更迭迅速
API是通过顶层设计的接口,没有竞争,并不能形成生态
计算生态的运用
- 编程的起点不是算法,而是系统
- 编程如同搭积木,利用计算生态为主要模式
- 编程的目的是快速解决问题
优质的计算生态
# Recommended
https://python123.io
用户体验与软件产品
提升用户体验是软件到产品的必备步骤
方法一: 进度展示
- 如果程序需要计算时间,可能产生等待,清增加进度展示
- 如果程序由若干步骤,需要提示用户,请增加进度展示
- 如果程序可能存在大量次数的循环,请增加进度展示
方法二: 异常处理
- 当获得用户输入,对合规性需要检查,需要异常处理
- 当读写文件时,对结果进行判断,需要异常处理
- 当进行输入输出时,对运算结果进行判断,需要异常处理
方法三: 打印输出
方法四: 日志文件
方法五: 打印帮助信息
基本的程序设计模式
程序的步骤
- 确定IPO:明确计算部分和功能边界
- 编写程序:将计算求解的设计变成现实
- 调试程序:确保程序按照正确的逻辑能够正确运行
配置化设计
配置化设计就是把程序的实现变成引擎加上配置文件的方式实现
- 引擎+配置:程序执行和配置分离,将可选参数配置化
- 将程序开发变成配置文件编写,扩展功能而不修改程序
- 关键在于借口设计,清晰明了、灵活可扩展
应用开发的四个步骤
- 产品定义:对应用需求充分理解,和明确定义
- 系统架构: 以系统方式思考产品的技术实现
- 设计和实现:结合架构完成关键设计和系统实现、结合可扩展性,灵活性等进行设计优化
- 用户体验:从用户角度思考应用效果