内容正文:
4.1 算法及其特征
【学习目标】
1.熟悉将解决问题的方法归纳为一系列清晰、准确的步骤的过程。
2.了解算法的基本要素和重要特征。
3.运用恰当的方式描述算法。
4.运用Python语言实现简单的算法。
【教学重点】
能够分析问题,设计解决问题的算法,并用恰当的方法描述算法;
了解枚举法的含义,并能使用枚举法解决相关问题。
【教学难点】
能够设计出解决问题的算法;能够用枚举法解决相关问题。
【教学过程】
一、引入
面试中有一道IQ题:有四个装了药丸的罐子,每个药丸都有一定的重量,其中有一个药罐被污染了。每片被污染的药丸比污染前增重1克。只允许称量一次,判断出哪个罐子的药被污染了。(同座位讨论该问题的解决步骤)[来源:学科网]
学生思考:用自然语言描述问题解决的步骤?(可小组讨论)
方法:考虑药丸的质量变化,如果药丸被污染,则增重_____克,否则增重_____克。
从任一药瓶中提取n颗药丸,如果增重n克,则_________;如果没有增重,则______
从第一盒中取出1颗,第二盒中取出2 颗,第三盒中取出3颗,从第四盒中取出4颗(共10颗)。如果增重________克,则________号药瓶被污染。
在生活中很多类似的问题,在解决问题过程中都需要有一定方法。这种问题解决的方法实际就是算法。
二、算法及其表示方法
1、算法描述的方法:
自然语言、流程图、伪代码
2、用自然语言来描述算法:
缺点:繁琐冗长、容易出现“歧义性”、
优点:用自然语言描述顺序执行的步骤较好懂、比较通俗易懂。
例如:韩信点兵的实例
算法描述为:step1:将N初始值赋为1
step2:如果N被3、5、7整除后的余数分别为2、3、2则输出N的值,转step4
step3:将N的值加1,转step2。
step4:结束程序。
3、用流程图来描述算法:
①流程图:用图形来表示算法,用它的优点:形象、直观、更容易理解。
②流程图图例:
③例子:“韩信点兵”流程图
开始
1 N