内容正文:
知 识 回 顾
计算机解决问题的过程:
1. 什么是算法?
2. 描述算法的方法有哪些?
自然
语言
流程图
算法就是解决问题的方法和步骤。
1
4
3
2
6
1
5
起止框
表示一个算法的开始与结束
输入/输出框
表示从外部输入数据到计算机内部或者从计算机内部输出数据到计算机.
处理框
表示操作的内容.
判断框
表示判断的条件。满足条件,执行标识为是的路径,反之,执行标识为否的路径.
流程线
连接符
表示流程图的接续。在相互关系的流程图内,流程线将在具有相同字数或字母的另一连接符处继续下去.
知 识 回 顾
流程图三种基本结构
3
4.1算法及其特征(第一课时)
《软件社团纳新-探讨面试解决方案》
1、病毒执行破坏时,每一步有没有目的?
2.病毒会不会无限无休止地一直运行下去?
学校“软件开发社团”要招募新成员了,报名的同学要经过面试才能加入。
第一关:寻找“开关对应关系”
第二关:定量分析,寻找“被污染的药丸”
第三关:巧用运算,寻找“误删的ID号”
第四关:尝试枚举,求解“谁是冠军”
思考:我们可以用什么样的方法和步骤来帮他解决问题?
通关任务
第一关:
一个房间有3盏灯,房间外有3个开关分别控制这3盏灯。在只允许进房间一次的情况下,如何判断哪个开关控制哪盏灯?
寻找“开关对应关系”
图4.1.1 开关对应关系
寻找“开关对应关系”
视觉上:亮/灭
触觉上:热/冷
一盏可以正常使用的灯,视觉上来看,灯的状态是( 亮/灭 )的;触觉上来看,灯的状态是( 热/冷 )的。所以,一盏灯有( 4 )种状态。而在房间里共有3盏灯,完全可以保障每盏灯的状态都是唯一的。
寻找“开关对应关系”
关闭1号开关
灯亮
2号开关控制
发热
1号开关控制
3号开关控制
图4.1.2 “开关对应关系”流程图
如何使3盏灯处于不同的状态?
请用自然语言描述你的算法:
第一步:
第二步:
第三步:
第四步:
......
为开关和灯分别编号
开1号、2号两个开关,2分钟后关闭1号开关
进入房间,亮着的灯由2号开关控制
触摸不亮的灯,发热的由1号开关控制,不发热的灯由3号开关控制
该算法用到哪种结构?
观察现象,自主思考
分析 寻找“开关对应关系”
哪些信息属于输入? 输入项: □0个输入 □1个输入 □多个输入
哪些信息属于输出? 输出项: □0个输出 □1个输出 □多个输出
执行的结果是什么? 执行的结果:□确定的 □不确定的 □都可以
需要几步得到结果? 执行的步骤:□有限 □无限 □都可以
是否在有限时间内完成? 执行的时间:□有限 □无限 □都可以
√
√
√
√
√
第二关 寻找“被污染的药丸”
第二关:
有4个装了药丸的瓶子,每颗药丸都有单颗标准质量,其中一个药瓶中所有药丸被污染了。每颗被污染药丸比污染前增重1克。只允许称量一次,判断出哪个瓶子的药丸被污染了。
定量分析
如果我们从不同的药瓶中取出不同颗数的药丸:
①
②
③
④
取1颗 取2颗 取3颗 取4颗 ,共10颗药丸。
第二关 寻找“被污染的药丸”
合作探究,寻找“被污染的药丸”
现在各小组按照这个思路,讨论设计算法,并用程序语言描述算法,五分钟后我们进行展示。
d=int(input(“请输入每颗药丸的标准重量:”))
w=int(input(“请输入药丸称得的重量:”))
x=
print(“被污染的药瓶序号是:”,x)
input(“运行完毕,请按回车键退出.......”)
w-10*d
类比总结
分析 寻找“开关对应关系” 寻找“被污染的药丸” 算法的特征
哪些信息属于输入? 输入项: □0个输入 □1个输入 □多个输入 输入项: □0个输入 □1个输入 □多个输入 0个或多个输入
哪些信息属于输出? 输出项: □0个输出 □1个输出 □多个输出 输出项: □0个输出 □1个输出 □多个输出 一定要有输出
执行的结果是什么? 执行的结果:□确定的 □不确定的 □都可以 执行的结果:□确定的 □不确定的 □都可以 确切性
需要几步得到结果? 执行的步骤:□有限 □无限 □都可以 执行的步骤:□有限 □无限 □都可以 有穷性
是否在有限时间内完成? 执行的时间:□有限 □无限 □都可以 执行的时间:□有限 □无限 □都可以 可行性
√
√
√
√
√
√
√
√
√
√
想一想:如果一个算法没有这些特征,那么它可能是什么?
帮小新完成了两项闯关任务,你对算法的基本要素和重要特征有了什么样的认识?
归纳总结
活学活用,快问快答
1、用计算机编程解决问题时,首先应该确定程序“做什么”,这个环节对应的过程是( )
A. 分析问题 B. 设计算法 C.编写程序 D.调试运行
2、下列关于算法的表述中,错误的是( )
A. 算法是解决问题的方法步骤 B. 算法至少应该有一个输出
C. 有零个或多个输入 D.算法依赖于程序设计语言
3、某同学设计了一个算法,步骤如下所述,该算法违背了( )
A. 确定性特征 B. 有穷性特征
C. 可行性特征 D. 无二义性特征
A
D
B
课堂小结
自然语言、流程图
算法的描述方法
分析问题、设计算法、编写程序、运行并调试
程序设计基本流程
解决问题的方法与步骤
算法的概念
有穷性、确切性、输入项、输出项、可行性
算法的特征
课后作业
同学们,距离小新通关还有两个任务,课后请同学们思考解决办法,并尝试根据自己的解决方案,编写程序代码,我们下节课再见!
第一关:寻找“开关对应关系”
第二关:定量分析,寻找“被污染的药丸”
第三关:巧用运算,寻找“误删的ID号”
第四关:尝试枚举,求解“谁是冠军”
通关任务
下节课再见!
15072.0
21600.0
$