- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
广东北江中学 钟良锋 信息技术(选修1)算法与程序设计 第一章第二节 算法和算法的描述 计算机解决问题的过程 分析问题 设计算法 编写程序 调试程序 学习、生活中的算法 猜数字游戏 规则如下:电脑随机生成一个1——1000之间的一个数字,游戏者猜一个1——1000之间的一个数字,如果猜中了,显示“猜中了,您用了X次才猜出来”,如果没猜中,计算机告诉您是大了还是小了,并且继续猜。 结合猜数字游戏,思考并回答如下问题: 1、计算机扮演了什么角色? 3、游戏者猜数字的次数是否固定?次数是否有限? 4、计算机能否给出“大了或小了”的提示? 2、游戏者输入数据后,计算机根据数据大小判断后给出哪些提示? 理解算法 算法的概念 通俗地说:算法就是用计算机解决某一问题的步骤和方法,是能被机械地执行的动作或指令的有穷集合。 现实生活中的算法 用银行自动取款机取款算法1插入银行卡2输入密码后按确定 3若密码不正确,返回23选择取款项 4输入金额后按确定 5将钱取出 6取回银行卡 超市,收银员操作的算法1拿起顾客的挑选食品2用扫描器把条形码扫描进计算机3若一个顾客的商品位扫描完继续第2步 4计算机处理数据:单价、数量、总价5计算机打印给顾客总花费6顾客付钱营业员收钱找钱 算法的特征 输入 有穷性 确定性 能行性 输出 我们已经了解了算法的概念,接下来我们一起研究一下算法具备什么样的特征,以猜数字游戏为例,我们思考并归纳出算法特征: 游戏者输入数据 计算机给出相关提示 有限个步骤之后完成猜数字游戏 确定地给出“大了”或者“小了”或者“猜对了”的信息,不会出现“大了或小了”的提示 计算机作裁判,让每个步骤都能完成 算法的描述:请用自然语言描述猜数字游戏的算法 2、计算机随机生成一个1——1000以内的整数 3、用户猜数字:输入一个数字 1、单击开始 4、如果输入的数字比随机数字小,则显示“小了,再来一次”; 同时,统计你猜数字的次数并显示“这是您第*次猜了” ,单击“重填”,返回第3步 5、如果输入的数字比随机数字大,则显示“大了,再来一次”; 同时 统计你猜数字的次数并显示“这是您第*次猜了” , 单击“重填”,返回第3步 6、如果输入的数字等于随机数字,则显示“对了,您真行”; 同时 统计你猜数字的次数并显示“您共猜了*次”,结束;出现“再玩一次”按钮,若单击此按钮可返回第1步 这种描述方法通俗易懂,但有其局限性:语句一般很长、容易造成歧义、复杂算法比较难清晰表示出来,也不方便翻译成计算机可以直接执行的程序设计语言。 请问还有其他描述算法的方法吗?有没有更加清晰简洁的描述方式吗? 自然语言描述算法的优缺点 开始 X ≥ 5 称苹果重量x 价钱y=x*10*0.8 yes no 打印总价等信息 价钱y=x*10 结束 用流程图描述超市称重打单系统 用流程图描述的算法清晰简洁,容易表达复杂的算法,有利于转化成不同的程序设计语言 用流程图描述算法的优点 流程图基本图形及其功能 例题 例题:某商场为了对苹果进行促销,规定购买达到或者超过5千克可以在原价每千克10元的基础上打8折。请同学们设计算法,由计算机完成:输入所买苹果的千克数,输出应付款。 分别用自然语言和流程图描述算法 1、输入斤数x 2、如果x≥5,则y=x*10*0.8 否则y=x*10 3、输出y 分析:用x代表购买苹果的千克数,y代表应付款,如果x≥5,则y=x*10*0.8 否则y=x*10 用流程图描述这个算法 两个同学一组,讨论合作完成学习任务单 用伪代码描述算法 用自然语言描述算法,通俗易懂,但有其局限性:容易造成歧义、 语句一般很长、复杂算法比较难清晰表示出来,也不方便翻译成 程序设计语言 用流程图描述的算法清晰简洁,容易表达复杂的算法,有利于转化成不同的程序设计语言 我们设计算法,目的是让计算机去处理数据,最终将计算的结果呈现给我们,为了更为方便地向程序设计语言过渡,人们也经常用伪代码描述算法: Print y 3、输出y If x=5 then y= x*10*0.8 else y=x*10 2、如果x≥5,则y=x*10*0.8 否则y=x*10 Input x 1、输入斤数x 伪代码描述的算法 自然语言描述的算法 描述算法的一些方法 自然语言 流程图 伪代码 N-S框图 PAD图 以上形式描述的算法,都不能直接被计算机执行,最终都要转化成计算机程序让计算机去执行。 由猜数字游戏、过河问题我们可以得知,一个问题,可能有多种算法 ,应该通过分析、比较、挑选一种最优的算法。一个好算法必须用到科学的方法 ,应该好好学习各学科处理问题
最近下载
- DB37T4871-2025 城市轨道交通试运行技术规范.pdf VIP
- 医疗美容病历书写基本规范.docx
- 最新2023版知识产权贯标GBT29490表单 知识产权组织环境、相关方需要和期望分析一览表[知识产权合规管理体系文件].docx
- 冰雪雕设计及制作工程招标示范文本.doc VIP
- 广州恩宁路历史文化街区永庆坊微改造正式.pptx VIP
- 19028 安全生产治本攻坚三年行动方案(工程施工项目) (1).docx VIP
- 嘉世咨询-嘉世咨询2025中国集换式卡牌市场现状报告.pdf
- 招生话术培训课件.ppt VIP
- 教学课件-看得见的声音-.pptx VIP
- 安徽省血液透析管理规范.pdf VIP
原创力文档


文档评论(0)