1、课程基本信息课题算法的概念与描述教科书书名: 信息技术必修1 出版社:人民教育出版社;中国地图出版社 出版日期:2019 年 6 月教学目标教学目标:1. 了解算法的含义,理解算法在解决问题中的作用。2. 能结合实例,理解并描述算法的特征。3. 理解算法的三种基本控制结构。4. 选用恰当的描述方法和控制结构表示简单算法,增强用算法解决问题的意识。教学重点:理解算法的三种基本控制结构,能够选用恰当的描述方法和控制结构表示简单算法。教学难点:根据实际问题,分析设计算法。教学过程时间教学环节主要师生活动4分钟算法的概念n 通过生活中的问题引入,引出主题小明到北京旅游时,火车到达北京站,小明计划乘坐地
2、铁从北京站去天安门参观,地铁线路图如下图所示,你能帮小明规划好路线吗?是否还有其他的路线?规划好的路线就是我们设计好的算法。解决同一个问题可以有不同的算法。n 结合实例,讲解算法概念广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。例如:想要从北京去上海迪士尼旅游,就可以采用如下的步骤解决这个问题。 网上购买迪士尼门票; 根据日期,购买火车票或者飞机票; 根据行程及日期安排,预定酒店住宿; 带好各种票据,收拾好行李,按时乘车; 到达上海,乘坐出租车或公共交通去往酒店入住,放行李; 带好门票,按时到迪士尼游玩。上述步骤就是解决这个问题的算法。其实在解决生活中的很多问题时,都有算法的身影
3、,算法就是在解决特定问题时,采取的确定的、有限的步骤。7分钟算法的特征n 自主探究,分析算法特征布置实践任务,分析解决以下三个问题的算法,根据分析填写学案上的表格。 判断抛物线 y=5x2+4x+6与x轴是否有交点。 已知函数f(x)=&x2+1(x0)&x2-1(x0),设计一个算法,输入x,输出函数值。 设计一个算法,输入x,输出x的绝对值。n 总结讲解算法特征根据实践结果,总结说明算法的特征,对算法的五大特征进行讲解。有输入。一个算法通常要求有0个或多个输入,以描述运算对象的初识情况。有输出。一个算法可以有一个或多个输出。有穷性。算法必须能在执行有限个步骤之后终止。可行性。算法中的每一步
4、操作都是可以执行的,或者都可以分解成计算机可执行的基本操作。确定性。算法的每个步骤都具有确定的含义,没有歧义。除了上述的数值问题可以用算法来描述,算法也可以描述很多的非数值问题,比如:图书资料的检索,人名的排序等。请同学们思考解决这些问题的算法步骤是什么?是否符合算法的五个特征呢?8分钟算法的描述n 问题驱动,分析三种描述方法小明在去往地铁站时,在路口遇到了一个红绿灯。小明发现该红绿灯上配有一个倒计时器,倒计时15s之后红灯变成了绿灯,如何将“倒计时15秒”的算法描述出来?提问:你能通过我们的语言描述出解决该问题的算法步骤吗? 分析讲解该问题,说明如何用自然语言描述该算法。将计数器t设为15;
5、如果t大于等于1,执行步骤,否则执行步骤;显示t,并保持显示1分钟,然后清除显示;将t的值减1,跳转至步骤2。倒计时结束。说明自然语言描述算法的优缺点,引出用流程图来描述算法。流程图是用图形表示算法的一种常用工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确。讲解流程图常用符号的作用。说明绘制流程图的方法。引导学生用流程图描述倒计时15分钟的算法。通过对上述流程图的分析,说明该流程是一种循环结构。引出算法有三种基本控制结构,分别是顺序、选择、循环结构。顺序结构。每一步骤按先后次序被执行,即先处理S1,再处理后面的S2到Sn,如下图顺序结构所示。选择结构,又称分支结构。根
6、据条件是否成立,选择执行不同的分支,如下图选择结构所示,当条件C成立时(用True表示),执行处理S1;当条件不成立时(用False表示),执行处理S2。循环结构。当条件成立时,反复执行S1,一旦条件不成立就立即结束循环,如下图循环结构所示。说明除自然语言、流程图外,还可以用伪代码方式描述算法。用伪代码描述算法就是采用一种类似于程序设计语言的代码来表示算法。伪代码没有固定的、严格的语法规则,只要定义合理,没有矛盾即可。展示倒计时15分钟的伪代码描述,分析伪代码描述的优缺点。最后总结说明算法的三种描述方法的特点及优缺点。n 实践练习,巩固所学某地有两种不同类型的出租车,其计费标准分别为:甲车3千
7、米起步,价格10元,3千米以上(含3千米)每千米为2元;乙车3千米起步,价格8元,3千米以上(含3千米)每千米2.2元。设计算法,在不同里程时给出最优资费的用车选择。选用一种描述方法对该算法进行描述,并解释其中使用到的算法控制结构的类型。练习讲解,分析算法的设计和算法的结构,以及如何用不同的方式描述算法。4分钟算法的效率n 对比分析,感受算法效率已知有10个一模一样的零件,其中9个零件的质量相同,只有一个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出该零件。对比分析“一一比较法”和“二分法”的比较次数。进一步提问:在问题规模扩大(零件个数增加)的时候,两种方法比较次数的区别。由此,提出算法的效率。说明不同算法解决问题的效率不同,设计算法时要考虑算法的效率。2分钟总结梳理n 小结算法的定义:广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。算法的特征:包括有输入(0个或多个)、有输出(1个或多个)、有穷性、可行性、确定性。算法的描述:可以用自然语言、流程图、伪代码来描述算法,每种方法各有优缺点,需要我们对具体问题结合具体条件选择合适的描述方法。算法的效率:解决同一问题可能有多种算法,需要考察不同算法的效率,结合具体情况选择合适的算法。