资源简介 (共27张PPT)算法的控制结构信息技术 高中解决问题的关键:找到合理的方法与步骤情境描述小明到北京旅游,他乘坐火车到达了北京站,然后准备乘坐地铁去天安门参观,地铁线路图如下图所示,你能帮小明规划好路线吗?是否只有一条路线?请大家思考这个问题。地铁1号线地铁5号线地铁3号线地铁4号线路线1:乘坐地铁2号线,从北京站到建国门站,在建国门站换乘1号线,在天安门东站下车。地铁1号线路线1:共乘坐4站,换乘1次。情境描述地铁5号线路线2:乘坐地铁2号线,从北京站到崇文门站,在崇文门站换乘5号线,到东单站,在东单站换乘1号线,在天安门东站下车。地铁1号线路线2:共乘坐4站,换乘2次。情境描述地铁5号线地铁1号线地铁1号线情境描述寻找路线的方法,可以称之为算法当你想要从新余去上海迪士尼旅游,你会如何规划行程呢?算法的概念广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。① 网上购买迪士尼门票;② 根据日期,购买火车票或者飞机票;③ 根据行程及日期安排,预订住宿酒店;④ 带好各种票据,准备好行李,按时乘车;⑤ 到达上海,乘坐出租车或公共交通车辆去往酒店入住,放行李;⑥ 带好门票,按时到迪士尼游玩。解决同一个问题的算法可能有多种。算法就是在解决特定问题时,采取的确定的、有限的步骤。算法的概念其他方案一个房间里有三盏灯,房间外有三个开关分别控制这三盏灯,在只允许进房间一次的情况下,如何判断哪个开关控制哪盏灯?小活动——寻找“开关”第一步:打开1、2两个开关第二步:过2分钟后关闭1号开关第三步:进房间,亮着的灯是由2号开关控制第四步:摸一下另外两盏不亮的灯,发热的灯泡是由1号开关控制第五步:不亮又不热的灯是由3号开关控制自然语言流程图关1号开关灯亮?灯热?该灯由2号开关控制该灯由1号开关控制该灯由3号开关控制小活动——寻找“开关”流程图是用图形表示算法的一种常用工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确。开始/结束框输入/输出框处理框判断框流程线流程图流程图符号 名称 功能开始/结束框 表示算法的开始或结束输入/输出框 表示输入或输出数据处理框 框中指出要处理的内容,此框有一个入口和一个出口判断框 用于表示条件判断及产生分支的情况,判断框有四个顶点,通常上面的顶点表示入口流程线 用于控制流程方向流程图操作时,我们可以在纸上手工绘制流程图,也可以使用工具软件或者到特定的网站进行绘制。文稿处理软件流程图绘制软件在线绘制流程图网站流程图用流程图表示“输入一个整数,判断该数是奇数还是偶数”的算法。该整数除以2余数等于0为偶数,不等于0则为奇数。Y=X/2的余数False 否True 是开始结束Y=0?输入X输出“X是偶数”输出“X是奇数”算法的描述方法算法的描述方法自然语言流程图自然语言就是使用日常所用的语言描述算法的步骤。优点:使用简单,易于理解。缺点:容易产生二义性。流程图是用图形表示算法的一种常用工具。优点:步骤清晰简洁,算法结构表达明确,适合初学者使用。缺点:绘制过程繁琐,对于复杂问题,结构过于复杂,不易理解。某地有两种不同类型的出租车,其计费标准分别为:甲车3千米起步,价格10元,3千米以上(不含3千米)每千米为2元;乙车3千米起步,价格8元,3千米以上(不含3千米)每千米2.2元。设计算法,在不同里程时给出最优资费的用车选择。实践练习结构?实践练习x ←甲车的资费y ←乙车的资费a1←甲车的起步价a2←乙车的起步价b1←甲车起步里程后,每千米的费用b2←乙车起步里程后,每千米的费用n←计划乘坐的里程数x,y,a1,a2,b1,b2,nn > 3甲车省钱x开始x←a1+b1×(n-3)y←a2+b2×(n-3)True 是True 是x>yFalse 否True 是乙车省钱两车相同False 否结束False 否x←a1y←a2S1Sn…顺序结构FalseTrueS1S2C选择结构三种基本结构S1CFalseTrue循环结构算法的结构顺序结构选择结构x,y,a1,a2,b1,b2,nn > 3甲车省钱x开始x←a1+b1×(n-3)y←a2+b2×(n-3)TrueTrueFalsex>yFalseTrue乙车省钱两车相同False结束在实际问题解决中,经常会将几种控制结构综合使用。False 否x←a1y←a2a.洗刷水壶1分钟 b.洗刷茶杯1分钟 c.找茶叶2分钟d.烧水5分钟 e.泡茶1分钟假设要泡一杯茶有以下几个步骤:请问泡好一杯茶需要用多少时间?洗刷水壶烧水找茶叶泡茶洗刷茶杯7分钟算法效率已知有10个一模一样的零件,其中9个零件的质量相同,只有一个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出该零件。算法效率一一比较?次数?其他方法?二分法2~3次1~5次如果有n个零件(n>10),要找出其中质量较轻的一个零件,以上方法是否仍然可用?试分析 n = 10000时,这些算法在问题解决效率上的不同。算法效率一一比较二分法1~5000次5~13次效率更高在解决问题时,可根据问题规模,选择合适算法地铁1号线乘坐地铁问题泡茶问题零件问题在实际解决问题的过程中,应综合考虑问题类型、问题规模、适用范围等因素,选择合适算法。算法效率计算机解决问题的一般过程1、分析问题2、确定算法3、编写程序4、调试程序算法在计算机中的应用小结算法概念和描述算法的概念算法的效率算法的描述方法自然语言流程图用日常所用语言来描述算法的步骤。流程图是用图形表示算法的一种常用工具。算法就是解决一个特定问题而采取的确定的,有限的步骤。对于同一个问题,不同算法解决问题的效率不同。作业布置思考:用没有刻度的500毫升杯和800毫升杯如何量出200毫升的水?请分别写出自然语言算法和流程图。谢 谢! 展开更多...... 收起↑ 资源预览