内容正文:
非数值计算
Non-numeric
Calculations
朔州市实验中学校
李娜
1
目标
运用合适的算法形成解决问题的方案。
GOALS
体验递归算法,并结合具体问题开展编程实践。
了解算法设计中的分治思想,并运用二分查找解决实际问题。
2
计算的一定是数吗?
导入
①
3
计算一定是数吗?
除了数还有什么?
这些属于数值计算吗?
计算一定是数吗?
01
除了数还有什么?
02
03
这些属于数值计算吗?
导入
在数值计算中,我们更多考虑的是“数” ,但计算应该是一个更广泛的领域。计算的对象可以是自然界和人类社会的一切事物。
更确切地说,计算的对象可以是某些信息,如数据、文字、语言、图形、知识、事物的运动过程及思维过程。
如果说数值计算主要探讨数学问题的话,那么非数值计算更多探讨" 算法” 问题。
在解决非数值类计算问题时,一些基础的思维方式可以借鉴,如分治、递归、解析等。
点击添加标题
4
分治算法:重要的二分法
分治策略
②
5
小问题
小问题
小问题
难以解决的较大问题
小问题
小问题
分治策略
分治的设计思想,是将个难以直接解决的大问题,分割成些较小的同类问题,各个击破,最终达到解决问题的目的。 二分查找实际上一就是分治策略的种典型运用。
点击添加标题
6
二分查找
二分
直接
点击添加标题
7
二分查找
import random
x = random.randint(1,1000)
while 0<x<1000:
y = int(input("请输入这个数:"))
if x<y:
print("大了")
elif x>y:
print("小了")
else:
print("就是",x)
break
random包可以称为随机包,它有如下函数:
random.randint(1,10) # 产生 1 到 10 的一个整数型随机数
random.random() # 产生 0 到 1 之间的随机浮点数
random.uniform(1.1,5.4) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
random.choice('tomorrow') #