(
课件网) 第2课 算法的描述 学习目标 1.了解算法的常见描述方法。 2.能用自然语言、流程图来描述日常生活中的算法,能使用计算机语言描述一些简单算法。 3.通过对算法的描述,体验描述算法对解决问题的重要性,养成清晰描述问题的习惯。 快速粗读课本,找出算法的三种描述方法。 脑筋急转弯 活动一:用自然语言描述算法 小试牛刀:狼羊菜过河 农夫想带着狼、羊、白菜一起过河,每次只能带一种东西或者动物过河。但是只要农夫不在场,狼就会吃羊,羊会吃菜。 农夫怎样把狼、羊、白菜平安带到对岸? 分析:使“羊”与“狼”、“菜”始终处于隔离状态 第1步: 农夫带羊过河。 第2步: 。 第3步:农夫带狼过河。 第4步: 。 第5步:农夫放下羊,带菜过河。 第6步:农夫返回。 第7步: 。 根据你的方案完善下列步骤:(方法不唯一) 农夫独自返回 农夫放下狼,带羊返回 农夫带羊过河 团结协作 共同闯关 下面是一种用自然语言描述的“农夫过河”算法。请尝试填写空余的步骤: 活动一:用自然语言描述算法 医务室现有一瓶碘伏、一瓶酒精。怎样在不混合的情况下,把两个瓶子内的液体互换 请用自然语言描述一下两种液体互换的算法。 第一步:将碘伏倒入空瓶; 第二步:将酒精倒入碘伏瓶; 第三步:将碘伏倒入酒精瓶。 在以上使用自然语言描述算法的体验里, 你能感受到自然语言描述的哪些优点和不足? 优点:1.通俗易懂,易于被大众所理解。 缺点:1.一般比较冗长 2.容易产生歧义,有时会导致算法执行的不确定性。 3.当问题比较长时,则显得不够条理性,甚至有些混乱。 活动二:用流程图描述算法 流程图是用一系列特定符号来表示工作顺序步骤的图示 活动二 用流程图描述算法 自主阅读课本P9: 1.这种以特定的_____和____表示算法的图,称为“算法流程图”。 2.图形化表示的信息具有_____的特点。 3.流程图各个符号的名称和功能是什么呢? 4.流程图描述算法的过程如何? 活动二 用流程图描述算法 物价部门对居民用水实行阶梯式水价:若用水量小于或等于20吨,价格为2.85元/吨;若用水量大于12吨,大于20吨的部分,价格为:5.5元/吨。 观察流程图,你能用自然语言描述水费的计算方法么? 牛刀小试1:水费计算 医生给病人注射青霉素或头孢类抗生素之前,必须要做皮试。15分钟后看皮试结果,皮试合格才能注射,否则不能注射。 请你根据流程符号相关功能,尝试完善下列算法流程图。 15分钟后 过敏 不能注射 牛刀小试2:皮试 【练一练】 某超市开业,为了提升活动效果,实行了购物打折活动。 规则如下: ①购物金额大于等于1000元,打八五折。 ②购物金额小于1000元,不打折。 请尝试用流程图来描述上述打折销售的算法。 活动三:用计算机语言描述算法 【思考】你怎样认识用计算机语言描述算法的?你知道哪些计算机语言? logo、scratch、java、c++、Python等。 当遇到大量运算的问题时,我们可以利用计算机强大的运算功能和逻辑控制能力快速的解决问题,由于计算机不能直接理解自然语言和流程图描述的算法,我们需要把算法用计算机语言表示出来,告诉它。 试一试:求1加到100的和,笔算和用Python软件算,哪个快? 公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,如何用100文钱买100只鸡 (公鸡、母鸡、小鸡都要有。) 活动三:用计算机语言描述算法 【想一想】数学方法列出求解本题的方程式。观察一下能否快速算出符合要求的解。这道题难点在哪里? X+Y+Z=100 5X+3Y+(1/3)Z=100 20) 33) 100-X-Y for x in range(1,20) for y in range(1,33) z=100-x-y if (z%3==0) and (5*x + 3*y +z/3 == 100): print(‘公鸡: %s 母鸡:%s 小鸡:%’%(x,y,z) Python 思考:结合以上几种描述方式判断,解 ... ...