内容正文:
算 法 概 念
1.什么是算法?P44
算法就是解决问题的方法和步骤
2.算法的基本特征 P48
(1)有穷性
(2)确定性
(3)输入、输出
(4)可行性
乘坐飞机时,托运行李的免费额度为20千克,仿照青椒炒土豆丝的例子,说说检测行李是否超重所用的算法?
1.对行李称重,输入行李重量
2.判断行李是否超过20kg
3.如果超过20kg,显示“行李超重”;否则显示“行李合格”
3.如何描述算法?P48-49
自然语言、伪代码、流程图等
流程图提供了一种图形化描述算法的方式
称重行李
输入重量
是否超过20kg
输出“超重”
输出“合格”
是
否
有穷性;确定性;有输入有输出 ;可行性
1.算法是( )
A 计算机的计算方法
B 解决问题的步骤和方法
C 计算机想出来的方法
D 加减乘除等计算方法
2.以下关于算法的,说法正确的是( )
A 计算机算法可以没有输入
B 计算机算法步骤可以是无限的
C 计算机算法可以没有输出
D 计算机算法步骤可以是模糊的
B
A
3.如果一个软件运行后没有结果输出,那么它就没有存在的必要了,这体现了算法特征中的( )
A 有穷性
B 确定性
C 可行性
D 有零个或多个输入
E 有一个或多个输出
E
枚 举 算 法
P51
www.islide.cc
9
收作业问题
课代表在收作业时,不小心把数学作业和英语作业放到了一起。如果你是课代表,将如何把两种作业分开呢?
打开一本作业;
如果是数学就放到左边;
否则放到右边;
打开下一本……
www.islide.cc
10
for i in range(1,55):
打开一本作业
if 是数学作业:
放到左边
else:
放到右边
收作业问题
枚举法:
①、将问题的所有答案一 一列举
②、根据条件判断各个答案是否合适
③、保留合适的,丢弃不合适的。
每个答案都会被列举,所以这种方法能做到既不遗漏也不重复。
www.islide.cc
11
自然数中含“7”的数称作“明7” ;
不含“7”且是“7”的倍数的称作“暗7”
从1开始轮流报数,轮到报“明7”或“暗7”的人不能出声,只能拍一下手
“拍7”游戏
①将枚举的对象一一列举出来
for i in range(1,101):
任务一:找到100以内所有“明7”
②根据条件判断各个元素是否合适
明7: “7” in str(i)
www.islide.cc
12
自然数中含“7”的数称作“明7” ;
不含“7”且是“7”的倍数的称作“暗7”
从1开始轮流报数,轮到报“明7”或“暗7”的人不能出声,只能拍一下手
“拍7”游戏
①将枚举的对象一一列举出来
for i in range(1,101):
任务二:找到100以内所有拍手数
②根据条件判断各个元素是否合适
明7: “7” in str(i)
暗7: i%7==0
能被7整除,或包含“7”
www.islide.cc
14
14
某人将自己的行李箱密码忘了,经过回忆,他想起自己的密码有以下几个特征:
①是一个三位数
②密码个位数是8
③密码中含有数字1
请你帮他缩小范围,满足上述条件的密码范围有哪些?
寻找遗忘的密码 p55
www.islide.cc
15
15
寻找遗忘的密码 p55
① 确定枚举范围。
for x in range(__________)
② 利用if-else判断每一个可能值是不是真正的解
线索1:密码个位数是8
线索2:密码中含有数字1
③ 将符合条件的值输出
100,1000
www.islide.cc
16
16
①是一个三位数
②密码个位数是8
③密码中含有数字1
请你帮他缩小范围,满足上述条件的密码范围有哪些?
for i in range(__________): #密码为三位数
if __________ and _________: #个位数为8且含有数字1
print(i) #输出当前的值
寻找遗忘的密码 p55
100,1000
i%10==8
”1” in str(i)
你们认识我么?
练习1:输出所有“水仙花数”
提示:所谓“水仙花数”是指一个三位数,其各个数字立方的和等于该数本身。
例如:153是一个“水仙花数”,因为153=13+53+33。
算法分析:
2.判断
(1)把三位数的 百位、十位、各位分别计算出来
(2)判断数字的立方和是否等于该数本身
a=百位数
b=十位数
c=个位数
i