知识与技能:
1.理解算法的含义,能从生活中准确举例说明使用算法的例子
2.了解算法的表示形式:自然语言、流程图
3.掌握流程图描述算法的方法
过程与方法:
1.培养学生分析、解决问题的能力
2.会用流程图描述算法、解决问题
情感态度与价值观:
1培养学生的逻辑思维能力
重点/难点:
1.如何分析问题
2.流程图的画法
3.将算法思想转换成算法步骤
教学流程:
(一)流程图引入:
1.流程图符号:
【教师】问你们一个很简单的问题,怎么把一只大象放进冰箱?
【学生】开门,放进,关门
【教师】万一一开始冰箱门没关呢?步骤是不是不一样了?所以在放进大象之前,我们是不是需要先判断冰箱的门是否关着?
【教师】接下来,如果门是关着的,要怎么做?(继续画流程图)
【教师】如果没有关上呢?
【教师】用特定的图形和符号表示解决问题的思路的图,称为流程图(flow chart)。用图形表示算法,直观形象。看一下流程图中常用的几种符号。
2.三种基本结构:
【教师】
顺序结构:如图,两个处理框是顺序进行的;
选择结果:根据判断给定的条件是否成立,选择执行步骤a或b;
循环结构:反复执行某部分操作。有两种循环结构:当型(当给定条件p成立时,执行操作a,否则结束循环)、直到型(执行操作a,直到条件不成立,结束循环)至少执行一次。
(二)算法:
1.简单介绍算法的定义:
【教师】广义地说,为解决一个问题而采取的方法和步骤,就称为算法(algorithm)。比如我们刚刚我们为了解决将大象放进冰箱的问题……
2.选择更优算法:
【教师】一般来说,算法的设计分为两部分,第一是寻找解决这个问题的方法,第二是描述实现这个方法的步骤。一个好的解决方法就是算法优劣的标志。我们来看华罗庚的“烧水沏茶”问题。
情况:1.没有开水;2.需要清洗茶具
提问同学如何做?并画出流程图。
自然语言:
算法一:烧水→烧水过程中清洗茶具→沏茶
算法二:清洗茶具→烧水→沏茶
算法三:……
【教师】这两个算法的区别在于,什么时间清洗茶具,算法一利用烧水的时间清洗茶具,节约了时间,因而更高效,相比之下是一个比较好的解决方法。所以我们在设计算法的时候,首先要确保它的正确性,其次可以思考它是否高效,是否具有代表性,能解决一类问题,适用到其他方面等等。
(三)案例
【教师】你们知道韩信点兵的故事吗?
【学生】……
【教师】汉高祖刘邦曾经问大将韩信,“你看我能带多少兵?”韩信斜眼看了刘邦:“你顶多带十万兵吧。”汉高祖心中不悦:“那你呢?”韩信很骄傲地说:“我当然是多多益善了。”刘邦更加不开心了,就想用一道题目难倒他。于是他传令让一小队士兵隔墙站队,刘邦传令每三人站成一排,小队长报告最后一排只有二人;又传令每五人站成一排,最后一排只有三人;再传令每七人站成一排,最后一排有二人。问韩信总共有多少人。韩信很快报出了正确答案。
如果问你们,你们要怎么解决这个问题?接下来的时间留给大家思考,画出流程图。