4.1算法及其特征课件教科版高中信息技术必修1-1_第1页
4.1算法及其特征课件教科版高中信息技术必修1-1_第2页
4.1算法及其特征课件教科版高中信息技术必修1-1_第3页
4.1算法及其特征课件教科版高中信息技术必修1-1_第4页
4.1算法及其特征课件教科版高中信息技术必修1-1_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1算法及其特征第2单元编程计算第1单元初识数据与计算第3单元认识数据第4单元计算与问题解决第5单元数据分析与人工智能信息技术(必修1)算法及其特征学习目标★了解算法的基本要素和重要特征。★运用恰当的方式描述算法。★运用Python语言实现简单算法,解决问题。温故知新1.什么是算法?2.描述算法的方法有哪些?算法是解决问题的方法和步骤。自然语言流程图伪代码程序代码PAD图01知识回顾流程图大作战游戏规则九宫格底下藏有流程图图例或基本结构的照片,小组抢答选择卡片数字,老师点击该卡片,卡片就会消失在荧幕上,猜出照片上的知识即可获胜。回答错误,继续抢答回答问题。123456789101112131415161718123456789101112131415161718123456789101112131415161718123456789101112131415161718123456789101112131415161718123456789101112131415161718软件设计师是业务领域和技术领域的专家。面对客户需求,软件设计师要对问题进行整体分析以找到解决方案,通过洽当的方式与客户沟通;面对技术问题,软件设计师需要借助计算机编程解决实际问题。我们将通过“软件开发社招新”项目讨论计算机编程解决问题的过程。情境:猜一猜猜价格赢大礼游戏规则:1.商品的价格在100元以内(整数),参与的顾客要猜出这件商品的价格,即可获得奖品。2.主持人会根据顾客给出的价格,提示“猜高了”或“猜低了”,直到你猜对价格。3.时间限制:30s猜价格赢大礼情境:猜一猜情境:猜一猜设计:“猜价格”小游戏由于顾客众多,我们能不能设计一款线上的猜价格小游戏,让更多的顾客参与到活动中。算法算法:解决问题的方法和步骤。算法设计:“猜价格”小游戏——初级版任务一:请你帮忙设计一个“猜价格”算法。算法的表现形式自然语言流程图计算机语言price=66guess=int(input("输入你猜的价格:"))ifguess<price:print("猜小了")elifguess>price:print("猜大了")else:print("恭喜你,猜中了!")请你们帮忙测试一下程序,提出你的建议和需要改进的地方!设计:“猜价格”小游戏——初级版任务二:请大家结合“自然语言”的描述,

完善流程图和程序代码。设计:“猜价格”小游戏——改良版第一步:设置商品价格第二步:顾客输入猜的价格第三步:判断顾客输入的价格和商品价格

是否相同第四步:如果相同,则输出“猜对了!”,

游戏结束第五步:如果不相同,判断输入的价格

是否猜低了第六步:如果成立,则输出“猜低了!”,并返回第二步第七步:如果不成立,则输出“猜高了!”,并返回第二步自然语言开始结束①输出“猜对了”输出“猜低了”是否是否②⑤④③流程图设计:“猜价格”小游戏——改良版自然语言流程图开始结束设置商品价格猜对了猜低了输出“猜对了”输出“猜低了”输出“猜高了”是否是否输入猜的价格第一步:设置商品价格第二步:顾客输入猜的价格第三步:判断顾客输入的价格和商品价格

是否相同第四步:如果相同,则输出“猜对了!”,

游戏结束第五步:如果不相同,判断输入的价格

是否猜低了第六步:如果成立,则输出“猜低了!”,并返回第二步第七步:如果不成立,则输出“猜高了!”,并返回第二步设计:“猜价格”小游戏——改良版price=66whileTrue:guess=int(input("输入你猜的价格:"))ifguess<price:print("猜小了!")elifguess>price:print("猜大了!")else:print("恭喜你,猜中了!")breakprice=66guess=int(input("输入你猜的价格:"))ifguess<price:print("猜小了!")elifguess>price:print("猜大了!")else:print("恭喜你,猜中了!")VS改良版初级版设计:“猜价格”小游戏——改良版任务三:根据商家需求,设计一个可以限制竞猜次数的“猜价格”小游戏。设计:“猜价格”小游戏——进阶版price=66foriinrange(1,6):guess=int(input("输入你猜的价格:"))ifguess<price:print("猜小了!你还有",5-i,"次机会")elifguess>price:print("猜大了!你还有",5-i,"次机会")else:print("恭喜你,猜中了!")break设计:“猜价格”小游戏——进阶版商品价格简单猜100以内100次1000以内1000次10000以内10000次………7次10次14次对半猜设计:“猜价格”小游戏——进阶版算法——二分法二分查找:也叫折半查找,该方法主要将数列有序排列,采用跳跃式的方式查找数据。二分法查找的前提条件是被查找的数据必须是有序的。算法——二分法算法——二分法思考:对半猜的次数是如何计算的?算法的评价算法的评价:从时间复杂度和空间复杂度来考虑。算法的特征根据我们对已学算法的了解,结合程序的设计你能归纳一下算法有哪些特征吗?算法的特征price=66whileTrue:guess=int(input("输入你猜的价格:"))ifguess<price:print("猜小了!")elifguess>price:print("猜大了!")else:print("恭喜你,猜中了!")break输入项输出项开始结束设置商品价格猜对了猜低了输出“猜对了”输出“猜低了”输出“猜高了”是否是否输入猜的价格确切性、可行性、有穷性算法的特征输入项:有0个或多个输入。0个输入是指算法本身给出了初始条件。输出项:算法一定要有输出。有1个或多个输出。可行性:算法中执行的任何计算都可以在有限时间内完成。有穷性:算法必须能在执行有限个步骤之后终止。确切性:算法中的每一次运算都有明确的定义,具有无二义性,并且

可以通过计算得到唯一的结果。12345算法的特征输出所有的正整数。100/正整数100/0XXX有穷性:一个算法必须保证他的执行步骤是有限的。确定性:算法中的每个步骤必须有确切的含义。可行性:算法中的每个步骤都是可行的,能在有限的时间内完成。谁是竞猜冠军任务四:根据“猜价格”小游戏后台数据的统计,请你帮商家评出这次活动的竞猜冠军。谁是竞猜冠军这次竞猜的冠军在A、B、C、D四位顾客中。A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”已知四人中有一人说了假话。你能判断出到底谁是冠军吗?小提示:逐一假设A、B、C、D是冠军,判断是否正确谁是竞猜冠军冠军A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”ABCDx谁是竞猜冠军√√√xxx√xxx√√√√x冠军A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”ABCDx√xxxxxxx√√√√√√√竞猜冠军谁是竞猜冠军champion=['A','B','C','D']foriinchampion:

cond=(i!='A')+(i=='C')+(i=='D')+(i!='D')

ifcond==3:

print("冠军是:",i)逻辑运算谁是竞猜冠军champion=['A','B','C','D']#设置选手列表foriinchampion:#循环读取选手编号

cond=(i!='A')+(i=='C')+(i=='D')+(i!='D')#查找符合条件的选手

ifcond==3:#说真话是否是3人

print("冠军是:",i)#输出冠军逻辑运算谁是竞猜冠军算法——枚举法把所有可能的答案一一例举,合适就保留,不合适就丢弃。

——枚举法枚举法也称作穷举法。算法——枚举法枚举法解决问题的一般结构:循环+判断枚举法解题的基本思路如下:1.确定枚举对象、枚举范围和判定条件;2.一一列举可能的解,验证是否为问题的解。算法——枚举法优点:直观、易于理解。

正确性容易证明。缺点:运算量较大,解题效率不高。课堂巩固1.下列有关算法的描述正确的是()A.算法描述只有流程图才能确保无二义性B.算法必须在有限步骤执行后终止C.算法描述中必须要有输入项,否则无法进行运算D.一种算法设计只对应一种计算机程序设计语言2.使用枚举法解决问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论