人人范文网 教学设计

算法 教学设计(精选多篇)

发布时间:2020-06-23 08:37:47 来源:教学设计 收藏本文 下载本文 手机版

推荐第1篇:算法教学设计

3.4算法及其表示 智能吸尘器算法简单分析

【教材分析】 本节教材的地位、作用等分析。

本节教材位于高中信息技术必修模块第三章中:“算法及其实现”部分内容,本节课的学习目的是使学生体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;体验信息技术中算法的魅力,为学生选修算法模块奠定基础。

【学情分析】

算法是我们信息技术基础模块的最难的一块内容,课时又少,只有两课时,如果初中信息技术正常开展,那么这个内容也容易开展。

【教学目标】

1.知识与技能

理解算法的含义,体会算法在程序设计中的地位; 培养用计算机编程解决现实问题的能力。 2.过程与方法

能通过观察吸尘器的工作来分析其算法,培养学生用程序设计的思想来思考产品。 3.情感态度与价值观

引导学生了解程序设计的更多知识,体验信息技术的强大魅力; 激发学生对计算机编程解决现实问题的学习欲望,提高学习兴趣。 渗透人文教育,懂得感恩。

【重点难点】

教学重点:算法的特征;算法的表示 教学难点:对算法的理解, 流程图

【设计思想】

新课标强调要“培养解决问题的能力,倡导运用信息技术进行创新实践”,以前教学中我一直从面到点,先讲算法的定义和特点,再举例,效果不是很好,学生印象不深,往往到学期结束的时候,对算法印象全无。

因此,这次在设计本节内容的时候,在选择实例的时候,我从两点考虑:一是生活化,选择的例子尽可能贴近生活,既要达到吸引学生的目的,又能体现技术的真实内涵(现在的学生,生活自理能力太差了);二是通过把抽象的问题分析成为具体步骤或方法,从而形成算法,让学生理解计算机解决问题的基本过程。

我在选择实例的时候,尽量让这个例子能贯穿整堂课,把一个问题分析透,印象会深刻。

【教学流程】

导入

师:喜欢干家务吗? 生:不喜欢

师:可是有一个人就是无怨无悔的做着家务(渗透人文教育,懂得感恩) 生:谁?

师:“马大嫂”,你们认识“马大嫂”吗?每个家庭都有。 生:领悟

师: “马大嫂”在我们同学们的年纪时,也是不喜欢干家务的,是什么让他们无怨无悔的干着家务?作为他们的孩子,我们有没有想过替他们分担一点?或者当我们长到“马大嫂”的年龄,我们能不能让家庭生活轻松一些?

生:讨论

师:家庭的智能化脚步离我们越来越近,我们的生活里随处可见,比如有定时功能的家电,洗衣机、洗碗机,今天我给大家推荐一款“买汰扫”的扫:智能吸尘器。(引导学生用计算机编程来解决现实问题)

首先声明,我不是搞推销的,而是带领大家去设计生产产品的。今天我们一起来分析、设计一款智能吸尘器。

首先,我们分析一下原始的手工操作吸尘器的工作需要几步? 新课(先把复杂的问题简单化,得出大的方向,然后逐步细化) 生:三步,打开电源、开始工作、关闭电源

师:看来你们都是宋丹丹的徒弟,其实这也是我们用计算机解决实际问题的思维:先设计算法、再编制程序来实现算法。

师:什么是算法呢?算法是解决问题的方法和步骤,同学们用的是自然语言描述的算法,我是用流程图来描述算法。

算法描述的方法和步骤应该是有限的,有开必有关;有Begin必有End;

同学们是不是有被忽悠的感觉?有,就说明了我们的同学想的更远了,是啊,我这个算什么算法,跟本没解决什么问题,对了,算法还有一个定义,解题方法的精确描述,

我这个算法的步骤有了,但不够精确描述,所以我们要自顶向下 ,逐步求精。 师:你们说哪个步骤需要细化? 生:第二步

师:那你们觉得吸尘器要体现智能,应该从哪些方面考虑? 生:讨论

归结你们的观点,主要有三个:设定清洁路线模块,躲避障碍物模块,自动充电程序 设定清洁路线模块

师:你们拖过地吗?如果让你来拖地,你会选择怎样的路线既能减少重复路线,又能全部覆盖? 好,我们模拟一下,(用flash 规定几个相同的区域,然后计时擦除)把橡皮擦当成我们的吸尘器,擦除前景颜色并计时,……通过大家的实践,我们可以看出几种方案比较科学,通过这个试验,我们知道解决问题的方法有很多,生活中也一样,关键是要选择合适的一种,达到既快又好.这是我们在最优环境下的情况,没有考虑实际情况。 我们看看具体的设计

前面同学们提到躲避障碍物是设计的关键。 躲避障碍物模块

师:躲避障碍物模块是体现吸尘器智能的关键一点,我们先分析碰到墙壁怎么处理,只要碰到墙壁能处理,其他的是不是也是一个道理?

现在我请同学们描述一下碰到墙壁这个算法。

真了不起,你们用自然语言描述了这个算法,我习惯用流程图来描述。 请看我的算法

这个算法同样比较粗糙,我们一起把它修正一下,首先要确定哪些地方需要细化,对了,是怎样判断“有没有碰到墙壁?”,这是核心,你们认为怎样判断好?请大家在纸上设计设计

还有没有其它需要修正的?对了,怎样“转变方向”也要细化,你们认为怎样改变方向好?

就这个流程图本身,还有什么地方需要修正的吗?Y和N线路里有相同的语句,我们可以把

它提出来,放在合并后的线路中.好,我们把经过大家修改后的算法称为智能清扫模块

自动充电程序

我们还少了一个关键模块,地没扫完,电没了怎么办?

现在请同学们参考智能清扫模块的流程图,画一画碰到电不足了那一刻怎么处理的算法。

学生上台画流程图,根据学生的流程图修正,得到循环结构。 回顾小结

现在我们回顾一下我们设计智能吸尘器的过程:首先我们把复杂的问题简单化,设计了一个三步走的算法,然后,选择了一个最优路线,再设计了一个具有智能的障碍物躲避模块和自动充电模块,在第一个流程图里我们提出了算法要有开始和结束,即算法的有限性;最优路线里我们得出了最优算法;障碍物躲避模块我们提出了可行性和没有二义性。

针对以上算法,从开始到结束都离不开这三种情况,就像我们的生活,有可能一路直行、也有可能碰到分叉口、还有就是回到原路,还有没有其他的可能?这就如同我们的算法,所以这三种我们就称为基本结构,由这些基本结构组合成大的程序。

拓展

有了算法,程序实现就容易了,经过我们一起设计的第一代机器人初具模型,请看我们的作品(展示物体碰撞的动画),再看看我写的代码,一些简单的语句你们也看得懂,比如我们的核心模块„„

我们用一节课的时间就已经设计出这样的产品,如果学了一本书,读了四年的大学,你们的产品不知要好到哪里,到时候别忘了给全班同学发一个哦。

课外作业

研究了智能吸尘器,你们有什么启发?那么我们就一起设计一下自己未来的家庭生活吧?

只有想不到的,没有做不到的。想法高于一切,这个想法就是我们今天讲的算法,它不单单存在于我们的计算机行业,生活中处处可见,希望大家做个有心人,好好设计自己未来的生活,设计不好,继续马大嫂的生活。

推荐第2篇:算法教学设计

《基本算法语句》

教学设计

太原市第五十三中学

符权有

基本算法语句

课标要求与教材分析

当今世界,越来越多的事情交付计算机完成,而计算机完成任何一项任务都需要算法,因此算法是计算机科学的基础,但是用自然语言或程序框图描述的算法计算机是无法“明白”的,因此我们还需要将算法用计算机能够理解的语言表达出来,这就是通常驻机构所说的程序和程序设计,教科书中介结了输入语句、输出语句、赋值语句、条件语句、循环语句,尽管不同的程序设计语言有不同的语句形式和语法规则,但基本结构是相同的。因些书中的算法语言稍加改动就可以在某些程序环境下执行。

此外,与其它教学内容相比较,算法学习的一个最大的特点就是操作实践性强,因些对学生动手能力及思维的拓展有一定的帮助。需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。

程序是由若干算法语句组成的有序集合,是由表示算法基本逻辑结构的算法语句组成的。任何高级程序设计语言都包含我们这一节所学的输入语句、输出语句、赋值语句、条件语句、循环语句,这五种算法与三种基本结构基本上是相对应的。因此教学中应注意以下几点:1.通过对具体问题的理解、分析,把具体问题的程序框图转换成程序语言,在这个过程中掌握基本算法语句中的输入、输出、赋值、条件、循环语句,从而进一步理解算法语句。2.在学习的过程中通过阅读中国古代数学中的算法案例,体会古代中国数学对世界数学发展的作用,提升民族自豪感。

学情分析

算法是数学与计算机的关联,在数学中有一的地位,学生前一阶段已经学习了算法的自然语言和程序框图设计,在此基础上,进一步把算法的自然语言转换成计算机能够识别的程序语言,使学生有一定的教学基础。

教学目标

1.经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想。

2.会利用输入语句、输出语句、赋值语句、条件语句、循环语句解决具体的问题,编写算法语言。

教学中需要注意的事项

1.重视对学生数学学习过程的评价

关注学生在数学语言的学习过程中,是否对用集合语言描述数学和现实生活中的问题充满兴趣;在学习过程中,能否体会集合语言准确、简洁的特征;是否能积极、主动地发展自己运用数学语言进行交流的能力。

2.正确评价学生的数学基础知识和基本技能

关注学生在本节及今后学习中,让学生集中学习算法的初步知识,主要包括算法的基本结构、基本语句、基本思想等。算法思想将贯穿高中数学课程的相关部分,在其他相关部分还将进一步学习算法。

输入、输出、赋值语句

教学目标

知识与技能目标:

1.正确理解输入语句、输出语句、赋值语句的结构及特点。2.会利用输入语句、输出语句、赋值语句编写简单的程序。

过程与方法目标:

通过对具体问题的探究,尝试用各种不同的方法解决问题,让学生充分感知、体验计算机程序在实际应用中的便利,明白数学与计算机学科的联系,为今后更深入地学习算法打下坚实的基础。 情感态度和价值观:

通过本节的学习使学生认识到数学与计算机学科之间的关联,进一步体会到计算机的好处,提高学生对数学学科的兴趣。

教学重点与难点

重点:对输入语句、输出语句、赋值语句三种语句的理解。

难点:对输入语句、输出语句、赋值语句三种语句的熟练应用;能够准确理解赋值语句中的“=”的作用及意义。

教学方法与手段

学生自学为主,教师对学生易错的地方进行讲解,利用计算机等手段增强学生对算法语句中输入、输出、赋值语句的理解和应用。

教学流程

一、新课导入

在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语言,使计算机能够识别并运行。为了实现算法中的三种基本的逻辑结构:顺序结构件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:

输入语句、输出语句、赋值语句、条件语句、循环语句

那么今天我们首先来学习前三种:输入语句、输出语句、赋值语句。

二、展示本节学习目标

1.在对实际问题的探究中正确理解输入语句、输出语句、赋值语句的结构及特点。2.在理解三种语句结构的基础上会利用输入语句、输出语句、赋值语句编写简单的程序。

三、探究新知

输入语句、输出语句、赋值语句属于算法结构中的顺序语句,是计算机自上而下执行的语句。它是程序中必不可少的环节。

输入、输出语句分别用来实现算法的输入信息,输出结果的功能,下面我们首先来看这两种语句的特点。通过阅读课本P21-P22页的内容,回答下列问题: 1.在课本中的例子中你们觉得哪些是输入语句、输出语句?

2.请你通过具体的例子总结输入、输出语句的特点。3.尝试着用输入、输出语句写几个具体的算法语言。

[学生]:先看书阅读,然后互相交流、议论、猜想得出结论,并进行尝试性的编写。在此过程中,教师应适当作引导,把学生的重点引到“INPUT”和“PRINT”这两个词语上来。 [教师]:1.输入语句:

INPUT “提示内容”;变量

对于多个变量来说

INPUT 变量1,变量2···

和你自己总结出来的语句结构一样吗?如果一样请用它写几个例子;如果不一样请先纠正你的错误,再对它进行应用,编几个具体的例子。

[学生]:对这个格式进行应用,举例,由同桌之间互相进行检查、纠错。 [教师]:2.输出语句:

PRINT “提示内容”;表达式

重复上述步骤。

[学生]:再对这个句型进行举例,同桌之间互相讨论、纠错。

[教师]:好了,在掌握了这两种语句的基础上,接下来我们研究赋值语句,请同学们阅读课本P23页最后两段到P24页第一段,总结一下什么是赋值语句,赋值语句的格式是什么? [学生]:先看书阅读,然后互相交流、议论、猜想得出结论,并进行尝试性的编写。 [教师]:进行总结: 变量=表达式

这里需要注意是“=”与我们数学中的等号是不完全等同的,在数学中“=”前后的式子表示相等,但是在赋值语句中表示将表达式的值赋给了前面的变量,也就是说先有“=”号之后再有“=”之前,把后给了前。

讨论一个新的问题:对于赋值语句我们在应用的时候应该注意什么? [学生]:先进行分组讨论、分析、总结,然后进行回答:

1.A=B与B=A的意思不相同,前者表示把B的值给了A,后者表示把A的值给了B 2.赋值号左面只能是变量名称,而不能是表达式;也不能用赋值语句进行代数式的演算。

四、应用新知,例题精析

例1.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。

[分析]:要编写一个程序,首先要把这个问题写成算法的基本步骤,然后再转换成程序框图,再用基本算法语句表达出来;尤其在初学的时候更不能一蹴而就。 [过程]:先由学生在练习本上探究、修正,然后由我公布答案。 解:程序:

INPUT “数学=”;a INPUT “语文=”;b INPUT “英语=”;c y=(a+b+c)/3 PRINT “The average=”;y END [小结]:由学生先进行程序框图的设计,再进行编程。(这里要先让学生进行尝试性的动手,以调动学生学习的积极性,提高学习效率。) 例2.阅读下面这个程序,它表示什么? A=10 A=A+10 PRINT A END [学生]:思考并进行解答。 [小结]:这个例题要学生明白赋值语句的特点和易错的地方,如果学生将这个程序读懂了表示他基本已经理解了赋值语句。

例3.交换两个变量A和B的值,并输出交换前后的值。 [分析]:考察赋值语句的应用,是例2的强化版本。 [解答]:INPUT A INPUT B PRINT A,B X=A A=B B=X PRINT A,B END

五、课堂训练:

1.已知华氏温度与摄氏温度的转换公式是:

(华氏温度-32)*5/9=摄氏温度

编写一个程序,输入一个华氏温度,输出其相应的摄氏温度。 解: INPUT “请输入华氏温度:”;x y=(x-32)*5/9 PRINT “华氏温度:”;x PRINT “摄氏温度:”;y END [分析]:考察学生对输入、输出、赋值语句的应用

2.编写一个程序,计算两个非0实数的加、减、乘、除运算的结果。解: INPUT “请输入a(a0)=”;a INPUT “请输入b(b0)=”;b X=a+b Y=a-b Z=a*b Q=a/b PRINT a,b PRINT X,Y,Z,Q END [分析]:考察学生对赋值语句的理解

六、小结

1.这节课我们主要学习了输入、输出、赋值语句的理解,掌握输入、输出、赋值语句的应用,明白数学与计算机科目的联系。

2.基中赋值语句是本节课的难点,有部分同学可能不易理解,需要课后的努力。

七、课后作业 学用通第48页: 1题,3题,4题

八、板书设计

输入、输出、赋值语句

一、新课导入

四、应用新知,例题精析

以具体的问题引入新课。 对新学知识的典型例题进行讲解。

二、展示学习目标

五、课堂训练

三、探究新知 进行强化练习

以学生自学为主,

六、小结 对新知进行探索

七、作业

九、目标落实检测

1.在赋值语句中,n=n+1是

A.没有意义 B.n与n+1相等 C.将的原n值加1再赋值给n,即n的值增加1 2.编写程序,计算甲、乙、丙三人的平均年龄。 3.程序: a=1 b=2 c=a+b b=a+c-b PRINT a,b,c END 最后输出的值是谁?等于多少?

十、教学反思

本节课的教学中,主导思想让学生自学为主,教师引导为辅,充分调动学生的学习主动性,在自己探索中学习、成长,掌握本节课的主要知识。由于学生的基础较差,导致在实际的实施中讲的东西较多,练的较少,这应该在以后的教学活动中加以改进,争取在下一阶段的教学中,让学生养成先预习后学习的良好学习习惯,夯实学生的基础,为进一步学数学,学好数学做好充分的准备。

在具体的教学中,发现部分学生不会阅读课文,不能从文中找出相关的、主要的信息,看书以片面的,跳跃的方式来处理信息,由于是新学课,采用这几种方式,很容易将课本中的一些对知识进行总结的话露掉,而这些话又恰恰是非常重要的经验总结,必须要让学生进行理解和应用,因此会看书、读懂题,这是我的学生现在面临的很重要的两个弱点,这需要我在以后的教学中慢慢加以引导,教会学生怎么样从课本中提炼出我们需要的信息及答案,这是一个长期的过程而且对学生今后在数学方面的发展有着重要的作用,应该加以注意。 此外,由于这节课我在两个班都进行过教学,第一个班采用的传统的析书形式,第二个班采用的多媒体,很明显,在第一个班最后的教学内容的含量不如在第二个班的教学内容多,而且在第二个班用多媒体学生更容易理解这些生硬的算法语句,可见在一些课时的设计过程式中我们应该应用多媒体进行辅助的教学,有利于学生更好的对知识的理解和把握,提高我们的课堂效率。

个人简介

符权有 2008年毕业于忻州师范学院数学系,同年进入忻州师范学院附属外国语中学担任数学的教学工作以及班主任的教育工作,所带班级成绩优异,学风良好。本人和班级连年受到忻州师范学院的表彰。2010年参加太原市教育局教师招聘考试,被太原市第五十三中录用,到校后担任高中数学的教学工作和班主任的教育工作至今。

推荐第3篇:算法的教学设计

算法的教学设计

如何让学生更容易地理解算法的概念,如何让学生尽快掌握算法的设计、算法的选择及应用,为程序设计打好基础,都将成为程序设计教学中的重要内容。然而,因为算法的理论太过抽象,所以教学过程往往难以把握。下面,简单介绍一下怎样针对学生的心理特点、结合学生的生活实际设计这堂课。

一、教学方法

以课堂讨论的方式,引导学生针对趣味性问题和生活实际中会遇到的问题进行思考、讨论,探索解决问题的方法和步骤,从中得出关于算法的诸多概念。所有内容都以学生独立思考和分组讨论的方式进行,充分调动学生的主观能动性,以达到主动式学习、探究学习和创新性学习。

二、教学内容

1.算法的概念

2.算法的描述

3.算法的择优

三、教学过程

1.算法的概念

(1)放幻灯片,出示一个趣味数学题:两个大人和两个小孩一起渡河,渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四人都会划船,但都不会游泳。

(2)(教师问)同学们现在想一想,他们怎样渡过河去?请写一写你的渡河方案。

(3)(三分钟后,教师问)有谁设计好了方案?

(4)学生回答。

(5)放幻灯片,出示方案如下:

1 渡河的方法与步骤:

第一步:两个小孩同船渡过河去;

第二步:一个小孩划船回来;

第三步:一个大人独自划船渡过河去;

第四步:对岸的小孩划船回来;

第五步:两个小孩再同船渡过河去;

第六步:一个小孩划船回来;

第七步:余下的一个大人独自划船渡过河去;

第八步:对岸的小孩划船回来;

第九步:两个小孩再同船渡过河去。

(6)总结出算法的概念:算法是解决问题的方法和步骤。

2.算法的设计与描述

(1)(教师)如何去设计算法呢?设计的算法又怎么表示呢?大家看到了,算法的设计分两个内容:一是寻找一种方法;二是描述一下实现这个方法的步骤。刚才我们已经用语言的形式描述过渡河的算法了。

(2)放幻灯片,出示算法的框图描述元素。

(3)放幻灯片,并简单分析求一元二次方程(其中a≠0)实数解的算法框图。

3.算法的择优

(1)(教师)处理同一个问题可能有不同的算法,采用什么样的算法更简单、方便呢?

(2)放幻灯片,出示例子:著名数学家华罗庚“烧水泡茶”的两个算法。

算法一

第一步:烧水;

第二步:水烧开后,洗刷茶具;

第三步:沏茶。

算法二

第一步:烧水;

第二步:烧水过程中,洗刷茶具;

第三步:水烧开后沏茶。

(3)(教师)大家讲讨论一下这两个算法的区别在哪里?

(4)(学生)区别是在什么时间洗刷茶具。

(5)(教师)大家讲一下,哪个算法更高效?为什么?

(6)(学生)第二个算法更高效。因为节约时间。

(7)(教师)很好。第二个算法的科学性在于应用了“统筹方法”。因此,我们可以明白一个好算法必须用到科学的方法。我们应该好好学习各学科处理问题的科学方法。

四、检测与练习

1.对个体的检测

题目:如果你要外出购物,需要到菜市场买肉、菜,到超级市场采购副食品,到服装店买衣服。

提问学生一:请你讲一个购物的算法(先买什么,后买什么)。

提问学生二:请你讲一个不同的算法。

提问学生三:请你再讲一个与这两位同学不同的算法。

提问学生四:你讲一讲他们三人所讲的算法,谁的更好?为什么?

2.对群体的检测

题目:一个人带三只老虎和三头牛过河。只有一条船,同船可以容一个人和两只动物。没有人在的时候,如果老虎的数量不少于牛的数量就会吃掉牛。设计安全渡河的算法。

(1)四人一组,集体讨论,分工设计。

(2)写出文字描述。

3.练习

画出一元二次方程(其中可能为0)求解的算法框图。(要求给出所有的解,包括虚数解)

五、授课总结

1.调动了学生主动探索学习的积极性

2.达到了素质教育的基本要求

3.学生认知情况

(1)掌握算法概念的有80%以上。

(2)掌握算法设计思路的达100%。

(3)掌握框图画法的达70%以上。

(4)理解算法的合理、科学性的重要性的达100%。

推荐第4篇:算法案例教学设计

算法案例——辗转相除法与更相减损术

唐劲松

一、教材解读

本节内容是在学习了算法的基础知识上,探究古代典型的算法案例——辗转相除法和更相减损术,巩固算法三种描述性语言(算法步骤,程序框图和程序语言),使学生对算法中的迭代思想有一个初步的认识。一方面以辗转相除法及更相减损术为载体,使学生通过模仿,操作,探索经历算法设计的全过程,帮助学生进一步体会算法的基本思想,感受算法在解决实际问题中的重要作用,另一方面让学生体会中国古代数学家对现代数学发展的贡献。

二、教学重难点

重点:辗转相除法与更相减损术的方法和步骤;

难点:辗转相除法的原理及其程序。

三、教学过程

Ⅰ引入新课

简单回顾短除法求两个数的最大公约数,并提出问题:当两个数较大时(如:8251与6105),如何求它们的最大公约数?引出课题——辗转相除法。

Ⅱ知识探究

1、以求8251与6105的最大公约数的过程为例,讲解如何利用辗转相除法求两个数的最大公约数。对于辗转相除法的原理,书本介绍的不是很详细,学生容易产生疑惑,需要教师讲解清楚。

2、通过这个实例,让学生能够模仿求任意两个数的最大公约数,体会这种迭代的思想,并能与前面学习的循环结构联系起来。

3、训练(学生演排),了解学生的掌握情况,及时指出问题。

4、简单介绍欧几里得其人,增强学生人文素养。

5、引导学生根据前面的过程画出辗转相除法的程序框图,并编写出程序。灵活运用直到型循环结构及当型循环结构,并能转化成语句。完成课本P45练习1:用辗转相除法求下列两个数的最大公约数:(1)225,135;(2)98,196;(3)72,168;(4)153,119.并用程序进行演示判断是否正确。

6、巩固提高:

(1)求三个数:324,243,135的最大公约数; (2)求228与1995的最小公倍数。

7、介绍另一种求最大公约数的方法——更相减损术,简单介绍相关数学史的知识,对学生进行数学文化熏陶,增强民族自豪感。

8、通过实例:求98与63的最大公约数 来理解更相减损术的原理和过程。

9、分别用辗转相除法和更相减损术求168与93的最大公约数,来体会和总结辗转相除法和更相减损术的区别。

Ⅲ课堂小结

学生回顾总结两种方法的步骤,教师加以补充和点评。

推荐第5篇:算法的概念的教学设计

算法的概念的教学设计

一.内容和内容解析

算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤内解决问题而建立的可重复应用的计算过程.

在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.

算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础.

算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础.

算法是连接人和计算机的纽带,是计算机科学的基础,利用计算机解决问题需要算法.首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节.二.目标和目标解析

本节课通过对具体问题的解决过程与步骤的分析,让学生体会算法的思想,了解算法的含义.具体目标为:

1. 要求学生了解算法的含义,体会算法的思想.2. 在分析实例的基础上了解算法的基本特征.3. 能够用自然语言描述一些具体问题的算法.本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.

三.教学问题诊断

本节算法对学生来说并不陌生.生活中很多问题是按照指定的要求一步步解决的.初中学习的列方程解应用题的步骤、求二元一次方程组的解的过程等,都是算法的典型体现.质数的判定,高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划问题的解决过程等更成了算法的经典问题.算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤.不过这种经验并没有得到应有的升华.只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识.算法是对解题方案的准确而完整的构造性的描述.算法并不是容易理解和掌握的内容.教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达.当然,由于学生初次接触,要想学生在这节课就完全掌握用递归语句描述算法是很困难的,在后面的程序框图和基本的算法语句中这种表达还将得到进一步强化.

教师可以首先通过实际生活中的例子和复习回顾二元一次方程组的求解过程,自然展示求解的“步骤”,从而帮助学生建立算法的概念.

在建立了算法的概念以后,教师可以通过从算法的角度介绍学生熟悉的例子,帮助学生进一步领会算法的思想.

接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法.这里要注意:重点是通过设计帮助学生领会算法概念,而不在于算法所涉及问题的本身.教学时可以先让学生回顾问题的解题过程,再让他们整理出步骤,并有条理的用自然语言表达出来.通过这样的教学使学生体会算法设计的基本思路.本节课教学,要围绕算法概念,立足于用自然语言描述解决问题过程中的明确顺序.根据这节课的教学内容、教学目标,结合以上分析,本节课建议采用以教师引导分析帮助学生建立算法概念,着重一个“导”字,并通过适量的练习加以巩固.四.教学支持条件分析

为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法研究的价值.五.教学过程设计

(一)课题引入设计

1.看章头图,介绍图中算筹、算盘、计算机.2.提出问题:是什么把这三者联系在一起?引出算法.3.介绍后景朱世杰的《四元玉鉴》,引出介绍我国古代部分数学成就,对学生渗透爱国主义教育.4.从为了了解计算机的工作原理,让学生体会算法的研究价值.引出课题——算法的概念.

(二)问题情境,引出算法概念

问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.设计意图:通过这个学生感兴趣的问题,让学生有一个对算法的初步认识.

师生活动:教师可以引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法.第一步,农夫带羊过河. 第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河.当然,也有可能学生提出第二套过河方案.第一步,农夫带羊过河. 第二步, 农夫独自回来.第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.

在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础上整理出一个解决问题的步骤即可.

(三)解决问题,建立算法概念

“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题:

问题1:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?

设计意图:通过对学生所熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法.为建立算法的概念,以及下面学习复杂问题中用自然语言描述算法打好基础.师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案.从解决问题的过程看,解决以上问题可以分若干步完成: 第一步,设有x只鸡,y只兔,

第二步,列方程:xy352x4y94x23

y12(1)(2)

第三步,解方程求得:第四步,答:笼子里有鸡23只,兔12只.教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法.同时指出:“第一步,设.第二步,列. 第三步,解.第四步,答.”这四个步骤构成了一般的列方程解应用题的算法.

问题2:你能写出求解二元一次方程组: xy352x4y94(1)(2)

的步骤吗?

设计意图:在上述“鸡兔同笼”问题中涉及解二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤,为建立算法概念做好准备.师生活动:教师先提出问题,让学生对求解过程一步步表达出来.解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲.教师只要和学生共同整理出一个解方程的步骤即可.

教师在学生回答的基础上指出:

1.以上求解的步骤就是解二元一次方程组的算法.2.本题的算法也适合一般的二元一次方程组的解法.问题2:写出求方程组a1xb1yc1a2xb2yc23

(1)(2)a1b2a2b10的解的步骤.

设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,从而提高学生对算法的普遍适用性的认识,使学生认识到算法往往适合解决的是一类问题,为建立算法的概念做好铺垫.通过教师事先编好的程序的演示,让学生感受算法研究的价值.师生活动:教师在提出问题后,可以让学生来说出其解题步骤.第一步,(1)b2(2)b1,得(a1b2a2b1)xb2c1b1c2第二步,解(3),得x(3).b2c1b1c2.a1b2a2b1(4).第三步,(2)a1(1)a2得(a1b2a2b1)ya1c2a2c1第四步,解(4),得ya1c2a2c1.a1b2a2b1b2c1b1c2xa1b2a2b1第五步,得到方程组的解为:.

ya1c2a2c1a1b2a2b1在完成求解一般的二元一次方程组步骤的基础上教师指出:

1.本题的步骤就是求一般的二元一次方程组的解的算法.2.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.

(四)分析归纳,得到算法概念

问题3:到底什么是算法?如何表达算法的含义?

设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念.教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.

教师可以通过从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想.例1.写出交换两个大小相同的杯子中的液体 (A水、B酒) 的一个算法.

例2.写出求一元二次方程axbxc0(a0)根的一个算法.(五)算法的应用

问题1设计一个算法,判断7是否为质数.

设计意图:帮助学生学习算法的自然语言描述.然后通过一连串问题的追问,由浅入深,由特殊到一般.学习用递归语言表达有循环的算法问题.通过计算机演示,让学生感受算法研究的价值.师生活动:教师引导学生回忆质数的概念,提出如下一系列问题帮助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计.1.什么是质数?

2.如何判断一个数是不是质数?

3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、加工过程?

在学生回答这个问题的基础上,教师接着提出问题:

4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法.5.能否设计一个算法,判断35是不是质数?

6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同?

7.任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断? 这时候学生知道要判断一个大于2的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.有了前面的基础,这里学生多数可能回答用2~(n-1)去除n,于是将判断的过程表达出来就形成了解决问题的这样一个算法: 第一步,给定大于2的整数n.第二步,用2去除n,得到余数t.若t=0,则2能够整除n, n 不是质数,算法结束;否则,进入第三步.第三步,用3去除n,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,进入第四步.„„

第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,算法结束;否则, n是质数.教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里

从2~(n-1)都在重复同一件事,像这种情况在设计算法时经常遇到,然后教会学生用递归语言进行表达.在完成上述算法表达的基础上教师指出:

1.用自然语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述,每一步做一件事情.这样描述的算法体现按部就班程序性的特点.对于在解决问题过程中反复进行的步骤,同学们要学习用递归语言进行描述.用递归语言进行描述时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.2.教师用事先按照上述步骤编写的程序演示,判断学生说出的整数是否为质数.

问题2.写出用 “二分法”求方程x20(x0)的近似解的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.安排这样一个例题既可以让学生进一步领会算法的思想,同时也可以达到巩固用自然语言描述的算

法,提高用自然语言描述算法的表达水平.师生活动:教师先引导学生回顾二分法求方程近似解的方法,然后引导学生说出解决该问题的每一个步骤,形成本例算法.教师可以通过以下一连串问题的设问,引导学生完成二分法求方程近似解的算法设计.1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做?

2.二分法分的是什么? 3.如何确定新区间的端点?

4.如何表达出反复二分区间的过程?(引导学生学习用递归语言表达)

第一步,令fxx2.给定精确度d.2第二步, 给定区间a,b,满足f(a)f(b)0.第三步,取中间点mab.2第四步,若f(a)f(m)0则含零点的区间为a,m;否则含零点的区间为m,b.将新得到的含零点的仍然记为a,b.第五步, 判断a,b的长度是否小于d或者f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.

在得到算法后,教师可以带领学生看书,阅读课本第4页上有关内容.并说明按以上步骤,我们将依次得到课本第4页的表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都是满足假设条件的原方程是近似解.

(六)归纳小结

将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的.

问题1:你能举出更多算法的例子吗?

设计意图:以举例的形式使学生体会算法的思想,以此评价他们对算法的概念以及特征的领会情况.师生活动:学生举例,师生共同评价.问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?

设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、确定、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力.师生活动:在学生回答的基础上,引导他们归纳:与一般解决问题的步骤相比,算法具有程序性、有限性、构造性、精确性等特点.六.目标检测设计

1.课堂检测

课本第6页练习1 2.课后检测

第1题.一位商人有9枚银元,其中有1枚略轻的是假银元.你能设计用天平(不用砝码)将假银元找出来的算法吗?

设计意图:通过本题评价学生能否结合实际问题,运用本节课所学的算法的思想,会用自然语言表达算法.

解:第一步,将9枚金币平均分成三组,将其中两组放在天平的两边.如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组.第二步,将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边.第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力. 第一步,给定一个大于1的整数n. 第二步,令i1. 第三步,用i去除n,得到余数为t,若t0,则i是n的一个因数输出i;否则,不输出i. 第四步,给i增加1仍然用i表示. 第五步,判断是否成立,若是,则算法结束;否则,返回第三步.第3题.写出解方程x2x30的两个不同的算法.设计意图:巩固用自然语言正确表达算法,了解算法的不唯一性.

分析:本题是求一元二次方程的解的问题,方法很多,下面分别用配方法、判别式法写出这个问题的两个算法.算法1: 第一步,移项,得:x2x3 ①

第二步,①式两边同加1并配方,得:x-14 ② 第三步,②式两边开方得: x12 ③ 第四步,解③得: x3或x1.算法2: 第一步,计算方程的判别式并判断其符号,243160.

2222bb24ac第二步,将a1,b2,c3代入求根公式x.得:

2ax3或x1. 7

推荐第6篇:算法的概念 教学设计

算法的概念教学设计 杭州二中分校陈海玲执笔 一.内容和内容解析

本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法。

算法是一种解决问题的方法,是数学及其应用的重要组成部分,也是计算机科学的重要基础。算法的思想有着广泛的应用性。

在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题.

在算法概念的表述中,有范围限定词“在数学中”,因此学习的内容均为数学中的问题。有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则”指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性。“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别。“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的。

算法有多种表示方法,其中自然语言描述与人的表达方式最接近,是学习其它描述方法的基础。

中国古代数学是以算法为主要特征,并蕴涵着丰富的算法思想。现代信息技术的发展使算法唤发出新的生机和活力,并使之成为当代社会必备的基本知识。算法进入高中必修内容正是反应了时代的需要。

算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料。算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材。因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系。又由于算法的具体实现上可以和信息技术相结合。因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让他们知道如何利用现代技术解决问题。

二.目标和目标解析

本节课的教学目标是:

1.在解特殊的二次一次方程组到得出一般二元一次方程组的解法的过程中,让学生对算法的概念有一个初步认识,并了解算法是如何表示的。

2.在判定7,

35、1949和整数n (n>1)是否为质数的过程中,进一步理解算法的概念,学习算法的自然语言表示,认识算法的特征、作用和优势。

3.在得出用二分法求方程一个近似解的算法的过程中,初步运用算法概念,体会算法自然语言描述形成的过程,会初步用自然语言描述算法。

在实现上述目标的过程中,需要适时、恰当地借题发挥,使学生体会算法的思想,了解算法的基本逻辑结构,培养观察、表达能力和逻辑思维能力。

因此,本节课教学重点是,通过一些具体问题,引导学生变过去关注解决问题为关注解决问题过程的逻辑结构,通过解法与算法的比较,体会算法思想,形成算法概念,并会用自然语言描述一些具体问题的算法。

三.教学问题诊断

算法对学生来说并不遥远。比如列方程解应用题,证明函数的单调性,求曲线的方程,等,都是学生碰到过的算法的问题,但是,在此之前并没有明确提出“算法”的概念,学生原有的经历为算法学习提供了良好的条件。由于算法至今没有公认的定义,算法概念的建立需要与认识它的特征相联系,这拉大了算法概念与学生原有体验之间的距离,从而可能会造成学生概念理解上的偏差。因此,算法概念的形成需要搭建台阶,使学生运用已知建立新知,与此同时还要特别注意防止算法概念的泛化。

算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这决定了算法概念的形成与学生的观察能力,表达能力和逻辑思维能力有着直接联系。在以班级为单位的教学中,面临能力发展不平衡,产生部分学生算法学习有困难,因此,需要在教学中把握好适应面较广、符合学生认知基础的切入点。

通常,特殊问题的解的过程只是解法而不是算法,算法是解决一般(一类)问题(要与数学有关)的,即不进入到一般问题的层面就得不到算法,而一般问题往往远离学生原有的基础,需要通过搭建解决特殊问题这一台阶,帮助学生进入一般问题。在这样的情境中,学生的关注点需要由特殊转到一般,这对许多学生来讲是有困难的,需要教师设计问题或情境帮助学生加以克服,因此,这是本节课的教学难点之一。解决这一难点需要在教学中设计好问题,并给学生提供思维的时间,并在问题引导下,实现关注点的转移。

算法是一种解决问题的方法,特别擅长处理具有条件、循环结构的问题,有其特有的作用和价值,这是学生原来没有体会过的,若教学中对此忽视,学生算法学习时的关注会缺少思维量,只停留在低层次上。因此,需要教师结合问题创设学生活动情境,促成学生关注算法中存在的逻辑结构,并予以揭示。

算法的自然语言描述与高中学生具备的表达方式虽有不同但也有联系,相比算法的其它描述方法,自然语言描述最接近学生现有的表达方式。因此,对只有顺序结构的算法描述时,学生是容易写出这类问题算法的。教师在小结时,只需指出:写算法要按顺序,每步要明确(可执行),总体是有限步即可。对涉及条件、循环结构的算法时,由于需要表示算法中存在的结构,而学生原来没有接触过这种表达,因此,这也是本节课的一个教学难点。解决这一难点,需要在教学中给学生提供尝试的机会,在他们发生困惑,产生问题后给予指导,帮助他们学会用递归语言描述算法。

四.教学支持条件分析

为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法学习的作用和价值.

五.教学过程设计

(一)课题引入

教师介绍:图中的前景有算筹、算盘、计算机,介绍计算机领域的重大贡献,引出计算机的工作原理——算法。后景取自宋朝数学家朱世杰的数学作品《四元玉鉴》,借此介绍我国古代数学在算法方面的伟大成就。纵观章头图,从古到今,算法始终扮演着重要的时代角色。

提问:什么是算法?引出课题。

设计意图:要充分挖掘章头图教学价值,它至少可以体现:1)算法概念的由来;2)我们将要学习的算法与计算机有关;3)展示中国古代数学的成就;4)激发学生学习算法兴趣。5)借问题自然引出课题。

(二)问题情境,引出算法概念

问题1:你能写出求解二元一次方程组:的步骤吗?

设计意图:从学生具备的认识水平出发,归纳解二元一次方程组的求解步骤。从而让学生经历算法分析的基本过程,并在此过程中引导学生关注更具一般性解法,形成解法向算法过渡的准备,为建立算法概念打下基础。

师生活动:让学生解方程组。收集学生的不同解答,再与教科书上的解答作比较。

问题2 你们所写的解答和教科书有什么不同?教科书提供的解答有什么特点?

设计意图:旨在引导学生关注书上表达方式的明显地步骤性特征,关注解的过程的逻辑结构,让学生明白解法和算法的差异

师生活动:教师引导学生从表达方式上、解的方法上进行对比,让学生对比后回答1。同学们写的是解法,关注的是解,书上写的是解题步骤具有明显的步骤性特征2。同学们用的是加减代入消元法解方程组,书上两次用的读是加减消元法等。

教师:投影用加减消元法求解的步骤,问:参照本题解法,你能完成下面问题吗?请一试。

问题3:写出求方程组的解的步骤.

设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,为建立算法的概念做好铺垫.

师生活动:让学生写出求解步骤后,

教师:投影显示解题步骤:

第一步,,得.

第二步,解,得.

第三步,得.

第四步,解,得.

第五步,得到方程组的解为:.

教师:

1.引导学生分析上述解题过程的结构。

2.提出以上步骤就是求一般的二元一次方程组的解的算法.

3.说明:把它编成程序就可以用计算机来解二元一组方程组了。用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.

(三)分析归纳,得到算法概念

问题4。到底什么是算法?如何表达算法的含义?

设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.

师生活动:教师在提出问题后,一定要给学生思考时间,让学生先用自己的语言表达对算法概念的理解,在学生思考、交流、回答的基础上,教师引导学生看书,让同学们看看自己所归纳的算法的概念和课本中概念的差异,帮助学生初步认识算法的概念. 算法的概念:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.

教师:结合问题3你能说说这里面关键词的含义吗?

(四)解决问题,促进理解算法概念,学习算法自然语言描述

过渡语:联系时事、地域与质数有关的问题,激发学生的好奇心和求知欲。

问题5 ,写出判断7是否为质数的步骤.

设计意图:由学生已有的认识水平出发,创设学生可以完成的体验情境,认学生认识求解结构中存在“重复”。为导出一般问题的算法创造条件,也为学习算法的自然语言表示提供时机。.

师生活动:

教师提问:

1.什么是质数?(引导学生回忆质数概念)

2.如何判断一个数是不是质数?如何把判断过程的基本步骤有条理的写出来?

让学生写算法的步骤,交流并点评学生写的算法步骤.体会如何从算法的角度思考质数的判定,体会算法的特征,知道下列表述的步骤是不明确的,所以都不是算法:

(1)因为2至6的整数都不能整除7,所以7是质数.

(2)第一步,用2除7,得到余数不为0,所以2不能整除7.

第二步,同理,3至6的整数都不能整除7,所以7是质数.

纠正学生所写基本步骤后,教师接着提出问题:

问题6 你能写出判定35是否为质数的算法吗?

设计意图:35是偶数的代表,为判断任意给定一个大于2的整数是否为质数奠定基础。

师生活动:让学生试着写一写,可能会出现不同情况.教师有针对性地进行相应讲解.

第一步,用2除35,得到余数为1.因为余数不为0,所以2不能整除35.

第二步,用3除35,得到余数为2.因为余数不为0,所以3不能整除35. 第三步,用4除35,得到余数为3.因为余数不为0,所以4不能整除35.

第四步,用5除35,得到余数为0.因为余数为0,所以5能整除35.所以35不是质数

学生完成后;教师提问:

两个解法有何相同之处?有何不同之处?

教师在学生回答后小结:对7是在试完1到6后才知道是质数,对35在试到5时,也就是在试的过程中,就得出不是质数,故没试完;不管哪个数,判断过程都是按一定规则有序进行的,都存在着“重复”这样的结构。

问题7 你能写出判断1949是否是质数的算法吗?

设计意图:1949是一个具体的数字,而且是一个比较大,无法用几个顺序结构的步骤就能表达清楚的算法问题,设计1949过渡,让学生从具体数的质数判断过程中认识循环结构,为一般的质数判断问题做准备。

师生活动:数字太大,像判定7是否为质数那样去判定1949是否为质数是一件很困难的事情.因此,学生可能会写出下列步骤:

第一步,用2除1949,得到余数为1.因为余数不为0,所以2不能整除1949.

第二步,用3除1949,得到余数为2.因为余数不为0,所以3不能整除1949.

第三步,用4除1949,得到余数为1.因为余数不为0,所以4不能整除1949

„„

第一千九百四十七步,用1948除1949,得到余数为1.因为余数不为0,所以1948不能整除1949因此,1949是质数.

但是,上述表述的过程不是算法.事实上,“„„”你知我知,对计算机来说就是不明确的。

从问题7知道,一个算法步骤中不能出现类似“„„”的步骤,但对于像1949这样大的数,要像判定7是质数那样的写出判定其是质数的所有步骤是不现实的.那么,在不改变“规则”的前提下怎样表达这个算法呢?

引导学生分析并认识到,在问题5中,判定7是否为质数的每一个步骤,除了除数不同外其余的内容是一致的.如果用i表示除数,那么所有步骤都包含以下内容:

“用i除7,得到余数为r.因为r不为0,所以i不能整除7.”

在问题6中,只要把被判定的数7改为1949,则每一步均包含以下内容:

“用i除1949,得到余数为r.因为r不为0,所以i不能整除1949.”

因此,我们可以把判定1949是否为质数的算法写为:

第一步,令i=2.

第二步,用i除1949,得到余数为r.

第三步,判断r是否为0.若是,则1949不是质数;否则把i的值增加1仍记为i.

第四步,判断“i>1948”是否成立.若是,则1949是质数;若否,返回第二步..

问题8 任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断?

设计意图:在问题7学生活动的基础上,通过学生活动,得出该问题的算法,从而促进学生对算法概念的进一步理解,感受算法的作用和优势,学习算法的自然语言描述,同时,引入学生关注算法中存在的结构。

师生活动:让学生将1949改为任意大于2的整数,改写算法,得出“判定整数n(n>2)是否为质数”的算法.

得出问题8算法(见教材例1算法)后,教师提问

此时,你是如何理解算法的?

教师小结:扣住下面问题。

1.用四步就可以解决问题6的算法,虽然没有使我们直接看到结果,但可以由计算机去解决了。(理解定义中:算法通常可以编成计算机程序,让计算机执行并解决问题)

即学习了算法,我们又增加了一种解决问题的方法(当然要借助计算机,说明算法的作用与优势)

2.算法可以用自然语言描述,描述算法的步骤一定是有限的,这是算法有限性特征;描述的算法具有“按部就班”的特点,这是算法“有序性”的特征;算法的第一步的表达要求“明确”,以便于编程让计算机执行,这是算法明确性的特征;

3.在解决问题过程中,对于反复进行的步骤,可以用递归语言进行描述.此时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.这类问题的背后含有算法的基本逻辑结构。 问题9.写出用“二分法”求方程x2-2=0(x>0)的近似解的算法.

设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.通过此例可以让学生进一步了解算法的逻辑结构,领会算法的思想,体会算法的的特征。同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平.

师生活动:教师引导学生分析在二分法求方程近似解过程中所包含的基本逻辑结构,尤其关注其中的循环结构和条件结构。然后展示其算法。(主要考虑时间比较紧)

在设计算法的时候可以先不考虑精确度,在学生活动后,教师提出,在现有条件下,可以得到方程根存在的区间会越来越小,但我们的操作则永远不能停止。

因此,需要引入能够控制,使算法具备有“有限”的量,这就是精确度。

教师与学生共同得出本题算法:

第一步,令.给定精确度.

第二步, 给定区间,满足.

第三步,取中间点.

第四步,若则含零点的区间为;否则含零点的区间为.将新得到的含零点的仍然记为.

第五步, 判断的长度是否小于或者是否等于0.若是,则是方程的近似解;否则,返回第三步.

在完成上述算法表达的基础上,教师指出:

1.如果没有精确度要求,该算法将无法终止。(通过精确度强调算法的“有限性”)。

2.引导学生分析该算法的逻辑结构。(了解算法中存在的顺序、条件和循环结构)

3.给出精确度,指导领学生看教材,结合必修3第4页上有关内容.说明按以上步骤,我们将依次得到表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都是满足假设条件的原方程的近似解.

4.改变输入的函数表达式,给定精确度后,上面算法可以求所有方程的近似解,因此,它是算法。通过“二分法”求方程的近似解的算法与解法的比较,发现算法一般都是没有具体结果的,而解法结果都是确定的,从而强调算法通常是针对解决一类问题而言的。

(五)归纳小结 将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的.

问题1:你能举出更多算法的例子吗?

设计意图:以举例的形式使学生体会算法的思想,以此评价他们对算法的概念以及特征的领会情况.

师生活动:学生举例,师生共同评价.

问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?

设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、明确、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力.

师生活动:在学生回答的基础上,引导他们归纳:与一般解决问题的步骤相比,算法具有有序性、明确性、有限性等特点.

六.目标检测设计

1.课堂检测

第1题.课本第6页练习1。

第2题.有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:

第一步:检验6=3+3

第二步:检验8=3+5

第三步:检验10=5+5

„„

利用计算机无穷地进行下去!请问,利用这种程序能够证明猜想的正确性吗?这是一个算法吗?

设计意图:促进学生进一步了解算法的概念及特征的,体会算法的思想。

活动方式:学生独立思考,在学生回答的基础上,教师予以评点。

答:这不是算法问题,不符合算法概念中提到的“有限性”。

2.课后检测

第1题.写出求一元二次方程根的一个算法.

设计意图:巩固学生已领会的算法的思想,促进学生用自然语言正确表达算法。

第一步,计算。

第二步,如果,则原方程无实数解;

第三步:输出或无实数解的信息.

第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.

设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力.

第一步,给定一个大于1的整数n.

第二步,令i=1.

第三步,用i除n,得到余数为t,若t=0,则i是n的一个因数输出i;否则,不输出i.

第四步,给i增加1仍然用i表示.

第五步,判断是否成立,若是,则算法结束;否则,返回第三步.

本文是“‘中学数学核心概念、思想方法结构体系及其教学设计研究’课题成果”

推荐第7篇:算法及其实现教学设计

《算法及其实现》教学设计

XXXXX中学 XXX

一、教材分析

在前面的章节已经提到,用计算机解决实际问题的过程中,有两个重要的环节——设计算法、编制和运行程序实现算法,所以算法是学习程序设计的前提和依据。算法是理论知识,具有一定的抽象性,学生理解起来比较困难,为了不让学生害怕后面程序的学习,在选择例子的时候降低了难度,都是贴近学生生活易于理解的例子。上好本章的第一节,对学生学习算法和编程兴趣的影响十分重要。

二、学情分析

该课程的学习者是高中一年级的学生,这个阶段的学生已具有接受抽象事物的能力、同时逻辑思维、好奇心强,对新鲜事物和新理念、新知识兴趣浓厚,但是怕吃苦,遇到难题,易退缩。虽然通过初中信息技术课程的学习,掌握了一定的利用计算机解决问题的知识,然而大多数的同学对算法还是比较陌生的。基于这样的情况,在教学中,要尽量的把抽象的问题具体话,和生活中的事例紧密联系,化难为易,学以致用,激发学生的学习兴趣和动机,使同学们在快乐中学习算法及程序设计。

三、教学媒体 a) b) 多媒体网络教室

教材、教学幻灯片、图片。

四、教学方法

主要以任务驱动法、小组讨论为主,讲授为辅。充分调动学生的主观能动性,已达到主动式学习、探究性学习和创新性学习。

五、教学目标

1、知识目标

(1)理解算法的含义,能从生活中准确举例说明使用算法的例子;

(2)了解算法的表示形式,有自然语言、伪代码、流程图; (3)掌握用流程图描述算法的方法。

2、技能目标

(1)培养学生分析、解决问题的能力; (2)会用流程图描述算法,解决问题。

3、情感目标

(1)让学生明白解决任何问题有应具有清晰地思路和步骤;

(2)通过对算法的设计,提高学生对算法的兴趣,培养学生的逻辑思维能力。

重点:1.如何分析问题、设计算法。 2.流程图的画法。

难点:1.如何分析问题、设计算法。 2.流程图的画法。

六、教学流程

(一) 情景导入,引入新课(5分钟)

【教师活动】

(1)教师提出一个有趣的问题:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜。

(2)要求学生分组讨论设计一个方案,使农夫能安全地将这三样东西带过河.。

【学生活动】

(1)学生积极思考讨论问题。 (2)派小组代表发表解决方案。

【教师活动】

(1)口述总结学生提出的方案

第一步,农夫带羊过河. 第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河

当然,也有可能学生会提出第二种方案: 第一步,农夫带羊过河.第二步, 农夫独自回来.

第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.设计意图:通过这个有趣的问题,在学生的讨论中已无形的接触到算法,让同学对算法有一个初步的了解。

(二) 循序渐进,引出算法(8分钟)

【 教师活动】

教师简单介绍算法的定义,即“算法”就是是解决方法的精确描述。从广义的角度来看,生活中到处存在着算法,乐谱是乐队演奏的算法,菜谱是厨师做菜的算法,广播操图解是广播体操的算法。

(2)让同学谈谈生活中,你还遇到什么样的算法。 【学生活动】

(1)认真听讲,做好笔记 (2)积极发言。

设计意图:为了使抽象的知识更加具体化,联系生活中的实例,让学生从生活中发现知识,易于理解后面的知识。

(三) 逐步深入,突破重、难点(15分钟) 【 教师活动】

(1) 教师讲述算法的表现形式——自然语言、伪代码、流程图。 (2) 结合PPT,讲述流程中常用的几种符号。

 处理框(矩形框),表示一般的处理功能。

 判断框(菱形框),表示对一个给定的条件进行判断,根据给定的条件是否成立决定如何执行其后的操作。它有一个入口,二个出口。

 输入输出框(平行四边形框)。

 起止框(圆弧形框),表示流程开始或结束。

 连接点(圆圈),用于将画在不同地方的流程线连接起来。如图中有两个以1标志的连接点(在连接点圈中写上“l”)则表示这两个点是连接在一起的,相当于一个点一样。用连接点,可以避免流程线的交叉或过长,使流程图清晰。

 流程线(指向线),表示流程的路径和方向。

 注释框, 是为了对流程图中某些框的操作做必要的补充说明,以帮助阅读流程图的人更好地理解流程图的作用。它不是流程图中必要的部分,不反映流程和操作。

(3)引导学生看课件中学校上体育课的流程图。 【 学生活动】

(1)认真听课,了解算法的表现形式。 (2)了解流程图的画法。

设计意图:这部分的知识是本堂课的重点和难点,让学生自主学习课本,掌握知识,提高学生的总结、归纳、表达对于他们的学习很重要。

(四) 层层展开、巩固新知识(8分钟)

【教师活动】

(1) 引导学生思考课件中提出的问题 (2) 教师分析课件中的流程图得出最终结果

【学生活动】

(1)积极讨论思考,回答教师的提问。

设计意图:通过练习,巩固学生对新知识的掌握,同时通过学生

的回答,老师对学生知识的掌握情况有所了解。

(五) 课堂总结(3分钟) 【教师活动】

(1)老师以提问的方式,什么是算法,算法的表现形式,自然语言和流程图的对比。

【学生活动】

(1)积极回答教师的提问,回顾本节的知识点。 设计意图:进一步巩固加深学生对本堂课知识的理解。

(六) 布置课后作业(1分钟) 【 教师活动】

给出三个数a、b、c,请问如何判断出最大数?并画出流程图 【学生活动】 (1)课后认真完成。

设计意图:进一步巩固学生对知识的理解。

推荐第8篇:算法的概念的教学设计

算法的概念的教学设计

杭二中分校 陈海玲

一.内容和内容解析

算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤内解决问题而建立的可重复应用的计算过程。(概念的内涵 广义)

在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。(概念的内涵 狭义)

算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础。(内容及在本章的地位)

算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习本章程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础.由于程序框图体现的是算法的思想,故其思想方法可运用到数学的各个领域之中.(在学科中地位)

算法也是数学及其应用的重要组成部分,算法是连接人和计算机的纽带。是计算机科学的基础,利用计算机解决问题需要算法。首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节。(体现其应用性)

二.目标和目标解析

本节课通过对解决具体问题的过程与步骤的分析,让学生体会算法的思想,了解算法的含义。具体目标为:

1. 要求学生了解算法的含义,体会算法的思想。 2. 在分析实例的基础上了解算法的基本特征。 3. 能够用自然语言描述一些具体问题的算法。

本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.三.教学问题诊断

本节算法对学生来说并不陌生。生活中很多问题是按照指定的要求一步步解决的;小学的四则混合运算所遵循的先乘除、后加减的规则,括号的处理规则等,都是学生最初接触到的算法实例。初中学习的方程组的解法等,也是算法的典型体现。高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划的解题规律等更成了算法的经典问题。还有数列的求和、质数的判定、最大公约数和最小公倍数的求法等,都涉及到算法。同时,在其他学科、甚至生活中也离不开算法。

算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序。这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤。不过这种经验并没有得到应有的升华。只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识。算法是对解题方案的准确而完整的构造性的描述。算法并不是容易理解和掌握的内容。教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达,由于学生初次接触,更加难以掌握。

教师可以首先通过实际生活中的生动有趣的例子帮助学生了解算法的含义,明白算法是规则系统一种循序渐进解决问题的过程。在此基础上通过引导学生在具体情境之下回顾特殊的二元一次方程组的求解,自然展示求解的“步骤”,从而帮助学生进一步明白算法是在有限步骤内解决问题而建立的可重复应用的计算过程,并能够编成计算机可以执行的程序让计算机执行并解决问题的。

在建立了算法的概念以后,教师可以通过进一步介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想。

接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法,质数的判断是学生小学就接触过的,用二分法求近似解在必修1中学生也已经学习过,因此这两个问题学生都是熟悉的。这里重点是通过设计理解算法概念,而不在于算法所涉及问题本身。教学时可以先让学生回顾问题的解题过程,再让他们整理出步骤,并有条理的用自然语言表达出来。通过这样的教学使学生体会算法设计的基本思路。

在例题之后,借助课本中的思考,得出算法的特征,并通过练习促进对算法概念的理解与掌握。通过案例的运用,引导学生体会算法的核心是一般意义上的解决问题策略的具体化。

本节课教学,要围绕算法概念,立足于用自然语言描述解决问题过程中的明确顺序。根据这节课的教学内容、教学目标,结合以上分析,本节课建议采用以教师引导分析讲授为主,着重一个“导”字,并通过适量的练习加以巩固。 四.教学支持条件分析

为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法。通过计算机演示帮助学生体会算法研究的价值。 五.教学过程设计

(一)结合章头图对学生进行数学史教育,同时让学生认识算法研究的价值。1.看章头图,介绍图中在春秋时期盛行的算筹;明朝时期已广泛使用直至今日仍在发挥作用的算盘;当今时代已进入各个领域的计算机。

2.提出问题:是什么把这三这联系在一起?引出算法。

3.从古到今算法始终扮演着重要的时代角色。我国古代数学在世界数学史中曾一度占领先地位。通过介绍我国古代部分数学成就,加强对学生进行爱国主义教育,同时体会算法的研究价值。 4.从为了了解计算机的工作原理,引出课题——算法的概念。

(二)问题情境,引出算法概念:

问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.设计意图:通过这个学生容易感兴趣的问题,让学生有一个对算法的初步认识。

师生活动:教师可以在学生看后引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法。

第一步,农夫带羊过河. 第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河.当然,也有可能学生提出第二套过河方案.第一步,农夫带羊过河. 第二步, 农夫独自回来.第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础是整理出一个解决问题的步骤即可.(三)解决问题,建立算法概念 “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题:

问题1:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?

设计意图:通过学生熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法。为下面学习复杂问题中用自然语言描述算法打好基础。

师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案。

1.小学里解决方法:兔的只数,(94235)212

351223可以得到鸡的只数。在此基础上归纳出一般结论。

2.中学解决方法:设立未知数,建立方程,解方程。 解:设有x只鸡,y只兔,则xy35(1)

2x4y94(2)(1)2(2)得:2y24(3),

解(3)得y12

将y12代人(1)求得x23。

答:笼子里有鸡23只,兔12只。

3.从上述解决问题的过程看,解决以上问题可以分若干步完成: 第一步,设有x只鸡,y只兔,

xy35(1)第二步,列方程:

2x4y94(2)第三步,解方程求得:x23,y12

第四步,答:笼子里有鸡23只,兔12只。

教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法。同时指出:第一步,设.第二步,列.第三步,解.第四步,答.这四个步骤构成了一般的列方程解应用题的算法。

问题2:你能写出求解二元一次方程组: xy352x4y94(1)(2)的步骤吗?

设计意图:在上述“鸡兔同笼”问题中涉及解具体二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤.自然过渡得到解一般的二元一次方程组的步骤,为建立算法概念打下基础。

师生活动:教师先提出问题,让学生对求解过程一步步表达出来。

解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,教师引导学生用加减消元法写出它的求解过程,然后让学生尝试用代入消元法表达出解决问题的步骤。

解:第一步:(1)2(2)得:2y24(3) 第二步:解(3)得y12 第三步:将y12代人(1)求得x23。

无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲.教师只要和学生共同整理出一个解方程的步骤即可.

教师在学生回答的基础上指出:

1.以上求解的步骤就是解二元一次方程组的算法.2.本题的算法也适合一般的二元一次方程组的解法.3.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.

a1xb1yc1问题2:写出求方程组a2xb2yc2(1)(2)a1b2a2b10的解的步骤

设计意图:在复习解具体二元一次方程组基本步骤的基础上.进一步分析解一般的二元一次方程组的步骤,并指出上述步骤构成了解二元一次方程组的一个算法,从而加深学生对算法的了解。通过教师事先编好的程序的演示,让学生感受算法研究的价值。

师生活动:教师在提出问题后,可以让学生来说出其解题步骤,教师用投影给出求解过程步骤。 解:第一步:(2)×a1- (1)×a2,得:a1b2a2b1ya1c2a2c1 (3)

第二步:解(3)得 ya1c2a2c1;

a1b2a2b1第三步:将ya1c2a2c1bcb1c2代入(1),得x21.a1b2a2b1a1b2a2b1在完成求解一般的二元一次方程组步骤的基础上教师指出:

1.本题的步骤就是求一般的二元一次方程组的解法的算法.2.在写出此步骤基础上,我们将上述步骤进一步用计算机能够识别的语言表达出来并输入计算机就可以解决用计算机求二元一次方程组的解了。这里老师事先按照上述步骤编写了程序,同学们可以跟老师一起来看看。

3.让学生输入数据,计算机直接给出方程组的解。

(四)分析归纳,得到算法概念

问题3:到底什么是算法?如何表达算法的含义?

设计意图:在提出算法这一概念后,学生自然想进一步了解到底什么是算法。教师在此处设问,目的不是要求学生直接作答,而是为了自然过渡到对算法的更进一步研究上。

用上面几个学生熟悉的问题来帮助学生建立算法的概念,降低难度,有利于学生正确理解算法的概念。

培养学生体会发现、抽象、总结的能力。

师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念。

教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。

教师可以通过进一步从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想。

例1.写出交换两个大小相同的杯子中的液体 (A水、B酒) 的一个算法. 例2.写出求一元二次方程ax2bxc0(a0)根的算法.(五)算法的应用:

问题1设计一个算法,判断7是否为质数。

设计意图:在给出算法的概念后,教师在此处安排这样一个问题,目的强化化学生对算法思想的领会,使学生体会到算法并不抽象,实际上是我们从前解题步骤的总结。然后通过一连串问题的追问,由浅入深,由特殊到一般,培养学生体会发现、抽象、总结的能力。通过计算机演示,让学生感受算法研究的价值。

师生活动:教师引导学生回忆质数的概念,提出如下一系列问题帮助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计。

1.什么是质数?

2.如何判断一个数是不是质数?

3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、操作过程?

在学生回答这个问题的基础上,教师接着提出问题:

4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法.5.能否设计一个算法,判断35是不是质数?

6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同?

6.任意给定一个大于1的整数n,能否设计一个算法对n是否为质数做出判断?

这时候学生知道要判断一个大于2的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数。

有了前面的基础,这里学生多数可能回答用2~(n-1)去除n,于是将判断的过程表达出来就形成了解决问题的这样一个算法: 第一步,给定大于2的整数n.第二步,用2去除n,得到余数t.若t=0,则2能够整除n, n 不是质数,算法结束;否则,进入第三步.第三步,用3去除n,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,进入第四步.„„

第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,算法结束;否则, n是质数.教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里

从2~(n-1)都在重复同一件事,象这种情况在设计算法时经常遇到,然后教会学生用递归语言进行表达.在完成上述算法表达的基础上教师指出:

1.用自然语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述,每一步做一件事情.这样描述的算法体现按部就班程序性的特点.对于在解决问题过程中反复进行的步骤,同学们要学习用递归语言进行描述.用递归语言进行描述时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.2.教师用事先按照上述步骤编写的程序演示,判断学生说出的数是否为质数。

问题2.用二分法设计一个求方程x20的近似根的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点。因此在这里安排这样一个例题既可以巩固前面已形成的用自然语言描述的算法,也可以提高用自然语言描述的算法的表达水平。

2师生活动:教师引导学生回顾二分法求方程近似根的方法,回忆二分法的基本思想。教师提出精确度要求,然后引导学生说出解决该问题的每一个步骤,形成本例算法。

教师可以通过以下一连串问题的设问,引导学生完成二分法求方程近似解的算法设计。

1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做?

2.二分法分的是什么? 3.如何确定新区间的端点?

4.如何表达出反复二分区间的过程?(引导学生学习用递归语言表达) 解:设所求近似根与精确解的差的绝对值不超过0.005,算法: 第一步,令fxx22.给定精确度d.第二步, 给定区间a,b,满足f(a)f(b)0.

第三步,取中间点mab.2第四步,若f(a)f(m)0则含零点的区间为a,m;否则含零点的区间为m,b.将新得到的含零点的仍然记为a,b.第五步, 判断a,b的长度是否小于d或者f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.

在得到算法后教师可以带领学生看书,阅读课本第4页上有关内容,并

说明按以上步骤,我们将依次得到课本第4页的表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都满足假设条件的原方程是近似根.

(五)小结:

将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的. 问题1:你能举出更多算法的例子吗?

设计意图:为了学生掌握算法的思想,所以这里让学生充分结合具体问题,以举例的形式来表达算法,以此评价他们对算法特征的理解情况,并让他们联系已经学习过的内容学会用算法的思想方法去解决问题.

师生活动:教师应尽可能让更多的学生举出不同的实例,并引导他们认识到算法的几个特征. 问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?

设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、确定、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力。

师生活动:如果学生不能回答提出的问题,可让他们在本节课已有问题的基础上进行思考.并进行归纳总结.

算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.与一般解决问题的步骤相比,算法具有程序性、有限性、构造性、精确性等特点。 六.目标检测设计 1.课堂检测

课本第6页练习1 2.课后检测

第1题.一位商人有9枚银元,其中有1枚略轻的是假银元。你能设计用天平(不用砝码)将假银元找出来的算法吗?

设计意图:检查学生是否真正了解算法的思想。通过本题评价学生能否结合实际问题,用本节课所学的算法的思想用自然语言表达算法.

第一步,将9枚金币平均分成三组,将其中两组放在天平的两边.如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组.第二步,将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边.第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.设计意图:检查学生是否会用自然语言正确表达算法。通过本题评价学生是否真正掌握判断给定一个正整数是否是质数的方法,同时也训练学生的应变能力。 解:算法步骤:

第一步,依次以2~(n-1)为除数去除n,检查余数是否为0.若是,则是n的因数;若不是,则不是n的因数.第二步,在n的因数中加入1和n.第三步,输出n的所有因数.第3题.写出解方程x2x30的两个不同的算法.设计意图:检查学生能否用自然语言正确表达算法。本题写两个不同的解决方案,让学生体会算法的不唯一性,而且通过比较知道今后在解决问题过程中合理地进行选择.体现研究算法的价值.分析:本题是求一元二次方程的解的问题,方法很多,下面分别用配方法、判别式法写出这个问题的两个算法.解:算法1:

第一步,移项,得:x2x3 ① 第二步,①式两边同加1并配方,得:x-14 ② 第三步,②式两边开方得: x12 ③ 第四步,解③得: x3或x1.算法2:

第一步,计算方程的判别式并判断其符号,243160.

2222bb24ac第二步,将a1,b2,c3代入求根公式x.得:x3或x1.

2a

推荐第9篇:sb307算法的概念的教学设计

为您服务教育网 http://www.daodoc.com/

程 序 框 图

苏州三中 赵颖

教学内容:程 序 框 图(第1课时) 教学目的:

1.明白程序框图的组成,程序框的种类.2.掌握算法的基本逻辑结构.3.如何画程序框图,并掌握其中的规则.教学过程:

一、复习已有概念,巩固原先基础 上课尹始,教师出示灯片:

1、算法是指

2、算法有哪些特征?

3、用自然语言表示算法。

学生回答,教师总结:

1、算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,而且能够在有限步之内完成。

2、①有限性 ②明确性 ③程序性

二、直观导入,初步感知概念

教师点出算法的难点:比较抽象,难以直观掌握,能否有直观的表示方法呢? 例如上一节“判断整数n(n>2)是否为质数”的算法可以用其它形式来表达.图示幻灯:

为您服务教育网 http://www.daodoc.com/

用幻灯介绍程序框图, (1)程序框图的概念

程序框图又称流程图,是一种用规定的程序框、流程线及文字说明来准确、直观地表示算法的图形。

一个程序框图包括以下几部分:

①表示相应操作的程序框;②带箭头的流程线;③程序框外必要的文字说明。 (2)用图示显示:

终止框、输入(输出)框、处理框和判断框

重要性:算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表达它.辨析练习,掌握四种程序框图

1.流程图的判断框,有一个入口和n个出口,则n的值为( ) (A) 1 (B) 2 (C) 3 (D) 4 2.下列图形符号表示输入输出框的是( )

(A) 矩形框 (B)平行四边形框 (C) 圆角矩形框 (D) 菱形框 3.表示“根据给定条件判断”的图形符号框的是( )

(A) 矩形框 (B)平行四边形框 (C) 圆角矩形框 (D) 菱形框

为您服务教育网 http://www.daodoc.com/

三、引导探究,理解新知

1.尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是顺序结构、条件结构、循环结构.下面分别介绍这三种结构. (1)小组研讨,建立表象。上例中有这三种逻辑结构就是顺序结构、条件结构、循环结构吗?再请小组代表汇报发言。 (2)验证认识,形成概念。

①当学生通过小组讨论,能找到三种结构后,教师提问顺序结构的特点,并总结图示.

②提问条件结构的特点,并总结图示.

③提问循环结构的特点,并总结图示.

为您服务教育网 http://www.daodoc.com/

2.正确认识,解答例题。

1、写出过两点P1(2,0),P2(0,3)的直线方程的一个算法,并画出程序框图。

2、写出求A(x1,y1),B(x2,y2)的两点距离的一个算法,并画出程序框图。

3、已知f(x)=x2-2x-3,求f(3)、f(-5)、f(5),

并计算f(3)+f(-5)+f(5)的值,设计出解决该问题的一个算法,并画出程序框图。

四、引导辨析,掌握本质

1.组织学生开展小组讨论:怎样画程序框图的规则再请小组代表汇报小组合作学习结果。

幻灯显示:画程序框图的规则 (1)使用标准的框图符号;

(2)框图一般从上到下、从左到右的方向画;

(3)除判断框外,大多数框图符号只有一个进入点和一个退出点; (4)在框图符号内描述的语言要简练清楚

五、巧设练习,拓展新知

练习1:用程序框图表示任意输入三个数a,b,c,比较大小,并输出最大值.练习2:利用梯形的面积公式计算上底为2,下底为4,高为5的梯形的面积。设计出该问题的算法及程序框图。

推荐第10篇:8专题一《算法》教学设计

《算法》的教学设计

【设计思路】

本节课学生第一次接触算法,如果只讲解算法的概念就要求学生对实际问题进行分析、建模、设计合理算法,感觉难度较大。因此,我从“把大象放冰箱里分几步”、“狼羊过河”智力游戏开始,通过实例介绍算法的概念,再例举学生熟悉的数学问题,以学生为主体,利用情境、协作、交流等学习环境要素发挥学生的积极性,主动性。让学生在分析问题中学会设计算法,并让他们采用算法描述工具描述相应的算法。 理论依据:1.社会互赖理论2.建构主义学习理论 设计特色:融入建构主义教学观的要素;

设计中渗透合作学习理论;

有合适的实践探究活动; 【教材分析】

本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法。《标准》课程目标要求:通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,了解算法及其实现在解决问题过程中的地位和作用;初步帮助学生建立合理的算法与程序设计的认知结构,进而提升学生的信息素养,促进学生信息技术能力的立体发展。

算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料。算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材。因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系。又由于算法的具体实现上可以和信息技术相结合。因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让学生知道如何利用现代技术解决 问题。 【学情分析】

通过对学生的调查分析了解到,基本上所有的学生在此之前都没有接触过算法和程序,这两个概念对于学生来说是陌生的。在学生的意识里设计算法和编写程序是很难的,是工程师们才能做的事情,对他们而言是遥不可及的,所以他们会害怕学习这块内容。这节课是学生学习算法和编程的第一课,不能让学生感到有太大的难度,要让他们觉得算法是一个很好理解的概念,设计算法也并不是难事。因此在选择例子时我选择了每个学生都会的“设计求解一元二次方程的实数根的算法”的例子,这样可以培养学生的自信心,提高他们的学习兴趣。我在课堂中设计了很多的学生活动,这样可以提高学生学习的主动性,提高学生学习算法和编程的兴趣,培养学生利用计算机解决问题的能力。 【教学目标】 1.知识与技能

理解算法的概念、会用自然语言和流程图对简单算法进行描述、理解程序的三种基本结构。 2.过程与方法

通过狼羊过河的flash动画体验算法并归纳出算法的概念。通过求解二元一次方程组的实例,采用教师讲解、提问及小组讨论等方式培养学生分析、总结和归纳的能力和协作、交流的能力。体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个问题也可能有多个算法,

3.情感态度与价值观

通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。并通过开展小组合作讨论,激发学生的学习热情和创新意识;增强合作意识,提高信息素养。

【教学重点与难点】

重点:让学生经历分析问题、设计算法,用自然语言、流程图等方法描述算法的过程。

难点:对算法概念的理解,设计出合理的算法。

【教学策略与手段】

1.教学过程中融入建构主义教学观,引导学生通过对具体实例的分析,体会算法的思想,算法的特点,,提高教学效率;

2.开放式的授课,根据教科书又不局限于教科书,进行部分的扩展,提高学生学习的兴趣。3.以课堂讨论的方式,引导学生针对趣味性问题和生活实际中会遇到的问题进行思考、讨论,探索解决问题的方法和步骤,从中得出关于算法的诸多概念。所有内容都以学生独立思考和分组讨论的方式进行,充分调动学生的主观能动性,以达到主动式学习、探究学习和创新性学习。 【教学流程】 一.课前准备

(1)学生应对所学内容,进行预习,对该模块内容有一整体模糊印象。 (2)多媒体课件。 二.导入新课 提供具体实例:

(1)赵本山的小品中有这样一个问题: 要把大象装冰箱,分几步?

答:分三步:第一步:打开冰箱门;第二步:把大象装冰箱;第三步:关上冰箱门。 (2)有一个智力游戏:有一名船夫,要带着一匹狼、一只羊和一棵白菜过河。当船夫不在的时候,狼会吃掉羊,羊会吃掉白菜。而每次过河该船只能容下船夫和一样东西,请问,船夫应该怎样过河?请写一写你的过河方案。 三.教与学的过程

上述问题的解决过程中就包含着算法的实现。那么到底什么是算法呢?

1.从以上实例中由学生归纳出算法的概念,特点:

对于算法的概念,需要使学生明确的是:

① 算法一定是以问题为载体的,算法实际上就是解决问题的一种程序性方法,它通常指向某一个或某一类问题.② 用算法解决问题的过程期程序性和构造性.对于算法的特点,需要使学生明确的是:

① 能行性.算法应有明确的步骤一步一步的引导计算的进行,即每一步都是可读的、可执行的,并且能够得到最终结果.② 明确性.算法下一步应执行的步骤必须明确或者有规则确定,或者由规则和上一步的结果确定,而不需要计算者临时动脑筋.③ 有限性.算法应由有限步组成.④ 通用性.算法应追求能适用于某一类问题的所有个体,只用来解决一个具体问题的算法没有多大价值.2.从实例中理解算法:

引例(2)的过河步骤(即算法): 第一步:先将羊运过河;

第二步:农夫撑船回来将菜运过河;

第三步:农夫撑船将羊带回;

第四步:将狼带过河;

第五步:农夫撑船回来将羊带过河。 3.数学问题研究:

你能写出求解二元一次方程组: 的步骤吗?

设计意图:从学生具备的认识水平出发,归纳解二元一次方程组的求解步骤。从而让学生经历算法分析的基本过程,并在此过程中引导学生关注更具一般性解法,形成解法向算法过渡的准备,为进一步理解算法概念打下基础。

师生活动:让学生解方程组。收集学生的不同解答,再与教科书上的解答作比较。 问题:你们所写的解答和教科书有什么不同?教科书提供的解答有什么特点?

设计意图:旨在引导学生关注书上表达方式的明显地步骤性特征,关注解的过程的逻辑结构,让学生明白解法和算法的差异

师生活动:教师引导学生从表达方式上、解的方法上进行对比,让学生对比后回答1.同学们写的是解法,关注的是解,书上写的是解题步骤具有明显的步骤性特征2.同学们用的是加减代入消元法解方程组,书上两次用的都是加减消元法等。

教师:投影用加减消元法求解的步骤,问:参照本题解法,你能完成下面问题吗?请试一试。

问题:写出求方程组的解的步骤.设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,充分理解算法的通用性特点.师生活动:让学生写出求解步:骤;教师投影显示解题步骤

4.算法的择优

教师: 处理同一个问题可能有不同的算法,采用什么样的算法更简单、方便呢?

放幻灯片,出示例子:著名数学家华罗庚\"烧水泡茶\"的两个算法。

算法一

第一步:烧水;

第二步:水烧开后,洗刷茶具;

第三步:沏茶。

算法二

第一步:烧水;

第二步:烧水过程中,洗刷茶具;

第三步:水烧开后沏茶。

教师:大家讲讨论一下这两个算法的区别在哪里?

学生:区别是在什么时间洗刷茶具。

教师:大家讲一下,哪个算法更高效?为什么?

学生:第二个算法更高效。因为节约时间。 教师:很好。第二个算法的科学性在于应用了\"统筹方法\"。因此,我们可以明白一个好算法必须用到科学的方法。我们应该好好学习各学科处理问题的科学方法。

【学习反馈与检测】

问题1:你能举出更多算法的例子吗?

问题2:如果你要外出购物,需要到菜市场买肉、菜,到超级市场采购副食品,到服装店买衣服。

请你讲一个购物的算法(先买什么,后买什么)。并相互间比较一下,寻找最有算法。

问题3:阅读下面“棋盘上的麦粒”的故事梗概,请同学们写出求麦粒数量的算法。

在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨班达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。那么,宰相要求得到的麦粒到底有多少呢? 【作业设计】

请同学们写出求一元二次方程【教学反思】

本节课通过一些生活中的具体问题解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念。随着新课程实施的不断深入,算法在数学教育中的重要性逐渐引起人们的重视。由于算法内容对大部分中学数学老师来说是比较陌生的,在实际教学中又没有现成的经验可以借鉴,因此给我们的教学带来了全方位的挑战。数学教师与计算机老师在算法教学中侧重点是不同的,课堂上所渗透的算法学习的观念也是不同的。作为数学老师,我们要认真承担起自己的责任,既要立足于本学科,又要全方位的了解一下相关的计算机知识,为自己的教学做好更充分的准备。

的实数根的一个算法.

第11篇:手指计算法幼儿园教学设计

篇1:幼儿学数学,手指快算法

手指快算----是由西安牛宏伟老师研发的一种速算方法。

手指快算的计算方法是采用心算办法利用大脑形象再现指算计算过程而求出结果的方法。它把左手当作一架五档的虚算盘,用右手五指点按这个小算盘来进行计算。记数时要用右手的手指点左手相对应的手指。其明确分工是:右手拇指/专点左手拇指,右手食指专点左手食指,右手中指专点左手中指,右手无名指专点左手无名指,右手小指专点左手小指。对应专业分工各不相扰。哪个手指点按数,哪个手指就伸开,手指不点按数时弯屈,表示0。

手指快算减少笔算列算式复杂的运算过程,省时省力,提高学生计算速度。西安牛宏伟老师从事教育工作多年,已将手指快算方法应运于儿童早教领域。先后教过几千名儿童学习“手指快算”。它在启发儿童智力方面,有着良好效果。

手指快算---已由牛宏伟老师获得中华人民共和国国家知识产权局颁发的专利证书。

编辑本段手指快算口诀

学习手指快算法的第一步就是认识双手。为了吸引幼儿的注意力,先让幼儿玩手指游戏,两手手心朝里,伸直五指,幼儿可以观察到大拇指单独朝上。

制。如此反复循环表示从0到99的每一位数字,并辅以双脚的动作,可以表示三百以内的百位数。在教幼儿时必须反复强调“左手为十位,右手为个位”。

(1)、手指定数口诀(双手练习) 食指伸开“1”,中指伸开“2”; 无名指为“3”,小指伸开“4”;

(2)、手指定位口诀

我有一双手,代表九十九;左手定十位,九十我会数;

(3)、两位数手指练习操训练口诀 (先出十位再出个位) 顺数: 一十一,二十二,三十三,四十四,五十五,六十六,七十七,八十八,九十九

倒数:九十九,八十八,七十七,六十六,五十五,四十四,三十三,二是二,一十一

幼儿理解了双手所表示的数后,就要求幼儿一看到手势,就能报出数来,这就是指译数;反过来,一听到数,就能出指,这就是数译指。数指互译训练首先要让幼儿学会看手势,开始由老师出手指幼儿说数,其中特别注意的地方,就是1和

5、2和

6、3和

7、4和8的区别(不能忽略大拇指的存在),并反复让幼儿比较,达到熟练为止。接下来老师说数由幼儿用手指表示,在表示两位数时,为了避免幼儿把56表示为65也就是左右手个十位混淆,要提醒幼儿先表示十位之后再表示个位。

幼儿在熟练掌握了数指互译之后,就可以开始学习10 以内的直加,属于10以内直加的算式有:

1+1 1+2 1+3 1+5 1+6 1+7 1+8 2+1 2+2 2+5 2+6 2+7 3+1 3+5 3+6 4+5 5+1 5+2 5+3 5+4 6+1 6+2 6+3 7+1 7+2 8+1

四、学习十以内的直减训练 在学习了直加练习之后,开始训练10以内的直减,10 以内直减的算式有: 1-1 2-1 2-2 3-1 3-2 3-3 4-1 4-2 4-3 4-4 6-1 6-5 6-6 7-1 7-2 7-5 7-7 8-1 8-2 8-3 8-5 8-8 9-1 9-2 9-3 9-4 9-5 9-6 9-7 9-8 9-9

五、学习十以内的凑五加训练

手指快算其实也是对古人算盘的一种演变,大拇指代表上珠5,其他4个手指代表下珠各表示一个,有的算式可以直加直减,但有的算式需要用凑5的口诀:例如1+4,先出1,再出4又不够,只能请5来帮忙,但请5的条件是收1再出5,最后结果等于5。 4收1出5 3收2出5 2收3出5 1收4出5 凑五加的算式有

1+4 2+4 3+4 4+4 2+3 3+3 4+3 3+2 4+2 4+1

六、学习十以内的破五减训练

1出4收5 2出3收5 3出2收5 4出1收5 10 以内破五减的算式有:

5-1 5-2 5-3 5-4 6-2 6-3 6-4 7-3 7-4 8-4 例如:7-3,先出7,直接用3的口诀出2收5,等于4。

七、学习十以内的连加连减训练

这是对直加直减和凑五加破五减的综合练习,有助于幼儿熟练掌握10以内的加减运算。

八、学习进位加训练 进位加的口诀:

9收1进1 8收2进1 7收3进1 6收4进1 5收5进1 4收6进1 3收7进1 2收8进1 1收9进1 10以内进位的算式有 1+9 2+8 3+7 4+6 5+5 6+4 7+3 8+2 9+1 例如:2+8 (先出个位上的2,再用8的口诀收2,向十位进1)=10

九、学习退位减训练 10以内退位减的口诀

1退1还9 2退1还8 3退1还7 4退1还6 5退1还5 6退1还4 7退1还3 8退1还2 9退1还1 10以内退位减的算式有:

10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 例如:10-7(先出十位上的1,再用7的退位减口诀退1还个位上的3)=3 以上练习是大班幼儿阶段10以内加减运算的练习方法,幼儿对此方法非常喜爱,在手指游戏中边玩边操作边算算数,有助于幼儿智力的开发。

注:右手食指1,6。右拇指5 。左手食指10,60。 篇2:手指算公开课教案

手指算公开课教案

授课时间:30分钟

授课形式:家长与幼儿共同参与

2、学习一位数满五加

教学过程:

一、引导语

小朋友们好!(老师好!)今天,我们这来了好多客人,他们呀,来看看小朋友谁表现得最棒。你们是不是特别开心呀?(是) 你们知道我是谁吗?(不知道)我姓何,小朋友可以叫我何老师。那我再说“小朋友好”时你们就说“何老师好”。

小朋友们真聪明快快鼓励自己:(嘿嘿我真棒!),现在我们可以计算两位数了,我们来试一试,双手准备24加55减23加41减95加42,报数(44),我们再来一道,你们有没有信心?(有)准备:31减21,加51,减12,加42,减51报数,(41),这么难的题小朋友都能算出来,你们太棒了!

三、学习一位数满五加

我们的拇指本领特别大,我们可以用拇指来表示5,和老师一起做,伸出拇指,这是几?(5)那我们在计算题的时候也要请拇指来帮忙呢?看,出示题卡4+1=(),伸4想加1,能不能直接伸1(不能)直加不够怎么办呢?可以请5帮忙,加5伸5,应该加1却加了5,多加了几(4)应该减4屈4。(板书)+1=+5-4。1的凑数正好是4,以后我们再遇到直加不够时,就伸5屈这个数的凑数,就是直加不够伸5屈凑。还伸4加1,直加不够伸5屈1的凑数4,连起来就是1伸5屈4,报数(5)。

四、教学反馈

现在我们来做一个游戏叫“你说我算难不倒”,就是老师出题,小朋友来计算。老师出什么题都难不倒你们,有没有信心?(有)。

五、布置作业:

六、结束语:

今天,小朋友们用这么短的时间就学会这么多的本领,你们开心吗?(开心)你们回家以后还可以把学会的本领交给爸爸、妈妈,做一回小老师。

篇3:幼儿园100以内加法儿童手指计算法-手脑速算经典-最快最容易学习

珠心算手指游戏锻炼

手指游戏

两根手指头呀,变呀变呀变呀,变成小兔子呀,蹦蹦蹦蹦跳。(伸出两边食指、中指,做兔耳朵,然后跳) 三根手指头呀,变呀变呀变呀,变成小花猫呀,妙妙妙??(伸出中指、无名指、小指,在嘴边做胡须) 四根手指头呀,变呀变呀变呀,变成小花狗呀,汪汪汪汪汪。

4、一个小朋友,出门走走走,碰到大石头,摔个大跟头;两个小朋友,出门走走走,碰见老奶奶,扶着慢慢走;三个小朋友,出门走走走,看见红绿灯,停下不忙走;四个小朋友,出门走走走,看见解放军,向他挥挥手;五个小朋友,出门走走走,碰见大坏蛋,一把抓住他

6、手指睡觉老大睡着了,(两手心向上,拇指弯屈),老二睡着了(食指弯屈),大个子睡着了(中指弯屈),你睡了(无名指弯屈),我睡了(小指弯屈),大家都睡了(两拳向下翻转)。

7、手指宝宝两个大拇指(两手成拳相对,拇指伸直)。比比一样高(两拳相合,拇指并在一起)。相互点点点(两手拇指向前弯曲)。接着弯弯腰(两手拇指向前弯曲)。两个小拇指(两拳打开,两手小拇伸直)。一样都灵巧(两手小指弯曲运动)。相互拉拉勾(两手小指反复互勾)。点头问问好(两拳成竖起两手小指相互弯屈运动)。食指(弹食指)。中指(弹中指)。无名指(弹无名指)。样样事情离不了(两手食指、中指和无名指弯曲运动)。摊开双手数数数(两手心向上,十指伸展)。一(左手拇指弯曲)。 曲)。四(左手无名指弯曲)。五(左手小指弯曲)。六(右手拇指弯曲)。七(右手食指弯曲)。八(右手中指弯曲)。九(右手无名指弯曲)。十(右手小指弯曲)。

11、大拇哥,二拇弟,中鼓楼,四兄弟(唱大戏),小妞妞(抓住孩子的小手,边点着她的手指头边说)爬呀爬呀爬上山 (食指从胳膊一步步点到肩膀)耳朵听听 (捏捏耳朵)眼睛看看 (点点眼睛)鼻子闻闻 (点点鼻子)嘴巴尝尝 (点点嘴巴)咯吱一下 (停顿,突然把手伸到孩子脖劲处,咯吱一下,以后每次孩子都会惊喜地等着这一时刻)

12、黄老先生有块地黄老先生有块地,咿呀咿呀哦。他在田边养小鸡(两手拇指食指相对,其他手指握拳,上下做啄状),咿呀咿呀哦,唧唧唧,唧唧唧,唧唧唧唧唧唧唧唧。黄老先生有块地,咿呀咿呀哦。他在田边养小鸭(右手手心盖上左手手背,上下扇),咿呀咿呀哦,嘎嘎嘎,嘎嘎嘎,嘎嘎嘎嘎嘎嘎嘎嘎。黄老先生有块地,咿呀咿呀哦。他在田边养小羊(两手放头顶,伸出拇指食指,其他手指捏拳),咿呀咿呀哦,咩咩咩,咩咩咩,咩咩咩咩咩咩咩咩。黄老先生有块地,咿呀咿呀哦。

13、爸爸是司机,开汽车,嘀嘀嘀 (双手大拇指单伸出来,向下按)爸爸旁边是妈妈,妈妈洗衣服,刷刷刷 (双手食指单伸出来,做搓衣服的动作)个子最高是哥哥,哥哥打篮球,砰砰砰 (双手中指单伸出来,向上做投篮动作)哥哥旁边是姐姐,姐姐在跳舞,嚓嚓嚓 (双手无名指单伸出来,做绕圈动作)个子最小就是我,我在敲小鼓,东东东 (双手小指单伸出来,做敲小鼓动作)

14、爸爸瞧瞧 (左手从背后伸出,张开手指挥动)妈妈看看 (右手从背后伸出,张开手指挥动)宝宝的小手真好看 (双手一齐摇动)爸爸瞧瞧 (闭合左手,往背后收)妈妈看看 (闭合右手,往背后收)宝宝的小手不见了 (双手都放在背后了)爸爸妈妈快来看宝宝的小手出现了 (双手从背后再拿出来)

15、我(指着自己,表情夸张)是一个大苹果(双手张开表示“大”)小朋友们都爱我 (双手食指点着前面的人)请你先去洗洗手 (双手做洗手的动作)要是手脏 (用右手食指点着左手手掌)别碰我! (挥动右手表示“不”)

16、包饺子小手摊开,咱们来包饺子吧 (伸出左手手掌)擀擀皮 (右手在左手上做擀皮状)和了和了 (右手手指立起在左手手掌上做和馅的动作,就象手指在抓挠)包个小饺子 (说一个字,用右手食指依次点着左手的手指)香喷喷的饺子给谁吃 (用右手把左手指包起来,盖住,问孩子)(然后孩子说给谁吃,就把饺子递到嘴边)

17、小熊小熊圆圆脸(用手在宝宝的手心画圆)一步一步上上坡(从宝宝的手往手臂上点上去)几里古噜滚下来(在宝宝身上从上往下做滚状滚进一个山洞里(用手点到宝宝的胳吱窝挠挠)

18、一根棍,梆梆梆。(在宝宝身上轻轻敲打)二剪刀,剪剪剪。(用食指、中指在宝宝身上轻轻夹)三叉子,叉叉叉。

(拇指弯曲,四指并拢,轻打)五小手。抓抓抓。(五指分开,然后做抓的动作)六烟斗,抽抽抽。(拇指和小指伸开做抽烟状)七镊子,夹夹夹。(拇指、食指、中指捏一起,在宝宝身上捏捏)八手枪,啪啪啪。(拇指食指做手枪状,啪啪啪射击)九钩子,钩钩钩。(食指弯曲做钩状,在宝宝胸前钩钩)十麻花。转转转。(中指搭在食指上,食指伸直。双手转动。

19、白色的小幽灵拿一张白色的餐巾纸顶在食指尖,把手指团团抱住,用线在手指上缠一圈,用笔在餐巾纸上画上眼睛和嘴巴,这样就扮成了一个小幽灵。

20、我有一双小小手,小手拍一拍,小手拍一拍;(把小手拍一拍)小手藏起来,小手藏起来。

21、我有一双小小脚,小脚踩一踩,小脚踩一踩;(让小脚踏踏地)小脚藏起来,小脚藏起来。

22、手指做饭切切菜(两手小指相勾,无名指和中指并起,向下切)。擀擀面(无名指、中指弯曲,食指向两边运动)。包包饺子(三指并起,上下运动和拇指相碰)。

23、手指捣米对春对春捣捣(右手心向上,两手拇指运动如捣米状)。扫帚扫帚扫扫(手形同上,右手食指在左手中运动,如扫地状)。

24、手指上课手指上课(两手五指相顶)。大门开了(两手拇指分开)。小开门(两手小指分开)。二门开了(两手食指分开)。后门开了(两手无名指分开)。中门也开了(两手中指分开)。小朋友都进来了(两手十指交叉抱拳)。教室门开了(两手拇指分开)老师走进来了(左手食指竖起)。全体起立,(交叉的十指全部伸展)。坐下(两手交叉抱拳)。报数1(手形同上,右手食指伸出,然后立即放下)。2(左手食指伸出,以下动作同上)。3(右手中指伸出,以下动作同上)。4(左手中指伸出,以下动作同上)。5(右用无名指伸出,以下动作同上)。6(左手无名指伸出,以下动作同上)。7(右手小指伸出,以下动作同上)。8(左手小指伸出,以下动作同上)大家早操一二一(先伸展左手手指,然后换右手。按口令左右手轮番伸展)。一二一(先伸展右手手指,按口令右手左手轮番伸展)。立定!解散(立下时停止运动,双手成交叉状,解散时两手放开)。全体集合!大拇指出列(两拳相靠,大拇指竖起)。齐步走!一二

一、一二一!立定,入列(大拇指随口令向前弯屈,入列口令时拇指收回)。食指出列!齐步走(两手食指伸出)图7-3。一二一,一二一!立定,入列(食指随口令弯曲,入列口令时食指收回)全体出列!齐步走!一二一,一二一(两手大拇指相顶,其他田四指随口令弯曲)。

25、手指眼镜一勾金(两手背对,小指相勾)。二勾银(无名指相勾)。三勾铜(中指相勾)。四勾铁(食指相勾)。一勾出来个老先生(两手由里外翻,中间抱着一个大拇指)。老先生又不见了(两手撒开)。到哪儿去啦?商店里面买眼镜(用食指指向前方)。

26、小车小(两手中指与大拇指相接)。小车巧(两手无名指交叉,双手食指各自勾住无名指)。

27、手指打鼓上敲咚咚鼓(双手运动食指)下敲鼓咚咚(双手运动小指)。上下一齐敲(食指小指同时运动)。

28、手指打鼓你敲鼓我敲锣(械手上下运动食指,右手上下运动小指)。我敲鼓你敲锣(左手动小指,右手动食指)。

29、手指玩耍天上三只鸟在飞(运动左手拇指,中指,无名指)。地下三匹马在跑(运动右手拇指,中指,无名指)。上面树洞里睡了个小狗熊(运动右手食指)。 30、手指亲亲小指勾勾(小指互勾)。拇指顶顶(拇指相顶)。转个圈儿(小指分开,手心相对,右手向前伸)转个圈儿(拇指也分开,手指向前转动)。握手亲亲(两手继续旋转,顺势上一互换位置)。

31、一栋房、手指动作:两手的食指与拇指相连。

32、手指谣一根手指按门铃(双手拇指伸出作按门铃的动作)两根手指捏豆豆(双手拇指、食指捏四次),三根手指扣钮扣(双手拇指、食指、中指在胸前作扣钮扣的动作),四根手指提兜兜(双手拇指、食指、中指、无名指作提兜兜的动作),五根手指拍拍手(伸出五指手心向前,拍拍手时双手二拍手),

第12篇:《算法的设计与描述》教学设计

《算法的设计与描述》教学设计

一、教材内容、学情分析 (1)教材分析

本节内容为教科版算法与程序设计第一章第二节,通过1.1 节的学习, 学生已经了解了计算机解决问题的基本过程,并知道算法是程序设计的灵魂,只要算法正确,就可以用任何一种语言编写程序,再加之本节的学习,更加加深的学生对算法的了解。为后续章节学习程序设计、算法的程序实现打下一定的基础。 (2)学情分析

此阶段学生为高二第一学期的学生,在高一的基础上已经对计算机的基本操作及信息的获取处理方法有了一定的掌握。数学方面也已经具备了函数、数列等方面的知识,能够解决计算机中遇到的一些问题。但我校学生很大一部分都是农村学生,基础差,知识的掌握程度差,所以要更加注重基础,课堂用例不能太难,注重循序渐进的教学,分层教学。

二、教学目标

知识与技能:进一步理解什么是算法,知道算法的多样性;能够对设计的算法做简单的评价;学会利用自然语言、流程图和伪代码来描述算法。

过程与方法:培养学生用算法描述问题的能力和正确解决问题的过程。

情感态度价值观:使学生养成遇到问题,找出算法,分析算法的意识。培养学生的高阶思维能力,如综合、评价、分析、思辨。

三、教学重难点

重点:用自然语言流程图伪代码描述算法

难点:用流程图描述算法

四、教学方法及策略

本节课主要通过大量实例及一题多解的方法,帮助学生理解学习,对比式学习,问题引导,先实例展示,后讲解,后总结的方法,适合学生的学习认知顺序,是知识点之间的衔接浑然天成。由易到难的顺序,不至于使学生产生思维跨度。知识点纲要、图文并茂、表格的形式使知识点形象直观容易理解。适当的讨论交流学习,让同学们很好的纠正自己的错误。以上各种方法让学生学会如何利用自然语言、流程图和伪代码来描述算法。引课实例为“农夫过河”的趣味游戏,它一方面可以激发学生的学习兴趣,另一方面可使学生清楚算法的概念,学会利用自然语言描述算法的方法;第一个实践活动“找出1+2+3+……100的方法”,让同学们对不同的算法进行比较,能对不同的算法做出评价,感受算法的多样性与复杂性;第二个实践活动“用自然语言描述求解ax+b=0的过程”,进一步巩固自然语言的描述方法,为后面的学习用流程图描述做铺垫;流程图学习阶段,与自然语言描述进行对比,贯之以实践三“读解一元二次方程流程图,填空”,典型的数学问题,使学生掌握用流程图描述算法的方法;伪代码学习阶段,采用循序渐进的方法,引导学生学习,冠之以实例帮助学生理解。最后对知识点进行小结,完成课后实践

五、教学过程 1.课堂引入

老师:由“农夫过河”游戏引入:算法的概念,算法是程序设计的灵魂,找到合适的算法是程序设计的前提 , 算法的设计分为两个内容:一是寻找一种方法;二是描述实现这个方法的步骤,我们这节课的重点是学习如何描述算法。 算法特征的讲解。

学生:玩趣味游戏,找出解决农夫过河问题的方法和步骤,理解算法的概念,特征,地位。

设计意图:通过游戏,激发学生的学习兴趣,顺理成章的引入对本节内容的学习。适当的扩展算法的特征,帮助学生理解。 2.学生自主讨论完成实践活动一

学生讨论:学生找出求解“1+2+3+4……+100”的不同算法,看看哪种算法的效率高,体会算法的多样性与复杂性。

老师总结结论。 3.用自然语言描述算法

老师讲授:

(1)自然语言 —— 人们日常生活中使用的语言。

(2)自然语言的特点:通俗易懂,缺乏直观性,不简洁,且易产生歧义。如很多同学的描述语句和说法相差较大。使用自然语言的注意事项:描述要尽可能精确,详尽。

学生活动: 实践活动二:用自然语言描述求解ax+b=0的过程,巩固所学,为学习流程图做一定的铺垫。 4.流程图描述

老师活动:

用自然语言描述算法比较容易接受,但叙述冗长,容易产生 “ 歧义 ” 。 下面我们再来学习另外一种最常见的算法描述方式——流程图。

(1)给学生展示求解方程ax+b=0的流程,对比自然语言描述,产生共鸣。 (2)结合具体实例讲解组成流程图的各种元素,之后列出组成流程图基本元素。 (3)总结流程图优缺点:用流程图描述算法直观易懂、逻辑关系清晰,不容易产生歧义。

(4)结合求解ax2+bx+c=0的流程图,巩固讲解流程图相关知识。

学生活动:

(1)看解ax+b=0的自然语言和流程图,感受流程图描述的优势,完成对比表格。 (2)实践活动三:读解一元二次方程流程图,填空。

设计意图:由简到难,逐步引导,图文并茂,帮助理解,对比学习,产生共鸣。

5.用伪代码描述算法

老师活动:

(1)伪代码表示举例讲解

(2)两个实例讲解

①判断某个数是否偶数

②伪代码描述求解ax+b=0的过程 (3)总结式讲解

伪代码 (Pseudocode) 是介于自然语言和计算机程序设计语言之间的一种算法描述。它也是专业软件开发人员描述算法的一种常用方法。没有严格的语法限制,书写格式也比较自由,描述的算法简单、易懂,容易修改,且容易转化为程序语言代码。

学生活动:听老师讲解,在老师的引导下,完成对两个实例的讲解,对知识点的掌握 6.课堂总结

(1)算法是指解决问题的方法和思路。 (2)算法的特征 (2)描述算法的形式有多种,常用的有自然语言、流程图和伪代码。展示同一个问题的三种描述方法,学生对比感受,起到对知识点升华的作用。 (3)好的算法需要我们分析、比较、挑选。

六、教学反思

通过本节的教学好的地方在于:以游戏的方式引课,调动学生的学习兴趣。整堂课贯穿着大量的实例帮助学生学习巩固,实例都是由易到难,老师适当引导,帮助各类学生理解,充分的考虑到学生的学情。在讲解三类方法时,始终都是对比式学习,并没有把某个知识点孤立起来。适当的给学生扩展了一些知识点。整堂课程脉路比较清晰。再者就是课堂气氛比较活跃。

不足之处就是:课堂有些地方语言不够精炼。学生活动不是很充分,学生活动的设计不是很到位,课堂上老师与学生的互动较少。学生与学生之间的互动交流也较少,由于受到学生基础的限制,如打字,有部分学生没有很好的完成实践活动。有些知识点没有讲透。由于实践贯穿在课堂,学生做完后只是做了简单的评价,没有详细的评价,课后也没有系统的评价,没能给学生纠正出常见的错误,实践活动的重难点也没有突出出来,没有把知识点做出全方位的诠释。

优点是可以看到的,但存在的缺点也很多,希望在以后的教学中自己能够多多锻炼,慢慢的改掉自己的不足的地方,多多向有经验的前辈请教,希望自己的课能够越上越好。

第13篇:教学课题算法

教学课题:生活中的算法实例

学情分析:学生在前面的学习中,理解了算法的概念,了解了使用计算机解题的一般过程,通过实例分析初步掌握了算法的自然语言和流程图表示方法。本节课我们将算法的实例延伸到我们生活中,让学生进入生活,结合生活,在生活中理解算法,体会算法其实在我们的生活中也是无所不在的。

教学要求:通过生活实例进一步了解算法思想。 教学重点:生活实例的算法分析。 教学难点:算法思想的理解。 学案:

生活实例1:

狼、羊和卷心菜过河游戏。 在一河岸有狼、羊和卷心菜,农夫要将它们渡过河去,但由于他的船太小,每次只能载一样东西。并且,当农夫不在时,狼会把羊吃掉,而羊又会把卷心菜吃掉。问农夫如何将它们安全渡过河去?

游戏规则:没有农夫看管的时候,狼会吃羊,而羊会吃卷心菜。 试着写出你的方案:

1、

2、

3、

……

参考视频:木子的博客

视频《狼羊菜过河问题》

参考答案:(设:要从河的右岸到河的左岸)

①农夫先带羊过河到左岸,然后农夫将船划回右岸;

②农夫带卷心菜过河到左岸,然后将羊带回到右岸;

③农夫带狼过河到左岸,然后农夫将船划回右岸;

④农夫带羊过河到左岸;

类似的问题还有传教士和野人过河问题(参阅阅读材料及视频资料《传教士和野人过河问题》)以及交换青蛙问题(参阅阅读材料及视频资料《交换青蛙问题》)。

生活实例2:韩信点兵问题。 西汉大将韩信,善于带兵,神机妙算,能征善战。一次阅兵时,韩信要求士兵排成3路纵队,此时末尾多出2人,改排成5路纵队,末尾多出3人,再排成7路纵队,末尾余下2人,这时,领兵的部下报告说:这对士兵共有262人,韩信立刻摇头说:不对,实际只有233人,部下迟疑地回去,又重新清点人数,果真是233人,部下们因此对韩信十分佩服。

思路探索:从2开始,逐个数去试试,如果这个数能同时被

3、

5、7整除后的余数分别为

2、

3、2,则输出这个数。

根据上面的思路探索,补充算法: 第一步:m=2.第二步:若

,则执行第三步;否则m=m+1,执行第二步。 第三步:若

,则执行第四步;否则m=m+1,执行第二步。 第四步:若

,则执行第五步;否则

,执行第二步.第五步:输出m

进一步尝试:你能根据上面的思路,画出流程图吗?(动手大胆试试,在你试着画出自己的流程图后可以到网络上寻找韩信点兵的流程图,看看你画的和它一样吗?你理解吗?可以将你的想法和看法给我留言)

根据题目我可以列一个等式:

M=3i+2=5j+3=7k+2

其中,m为总的人数,i表示3路纵队时,每列的人数,

J表示5路纵队时,每列的人数,

K表示7路纵队时,每列的人数。

我们发现:3i和7k是相等的,说明

(3i和7k的值都是21的倍数) 我们再试试:若3i=7k=21,这时m=

,这时j(有、没有)整数解,整数解为

若3i=7k=42,这时m=

,这时j(有、没有)整数解,整数解为

若3i=7k=63,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=84,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=105,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=126,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=147,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=168,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=189,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=210,这时m=

,这时(有、j没有)整数解,整数解为

若3i=7k=231,这时m=

,这时(有、j没有)整数解,整数解为

到此为止,我们知道了其中有

组解符合我们列出的式子,第一组符合条件的解的人数是当3i=7k=21,m为23人,但是在上面的资料中,韩信却说士兵的总人数为233人,这是因为

(虽然有多组解满足列出的式子,但士兵的范围总是在一定的范围中的),所以,我们在具体分析每个题目的过程中,我们首先要确定题目中给出的对象的范围,然后才能确定它的准确解到底是哪一组。这道题目中,i=

,j=

,k=

,总人数为233人。

小试牛刀:假如今天早晨我们班出操,排成了3路纵队,此时末尾多出了1人,改排成5路纵队,末尾多出了2人,再排成7路纵队,末尾余下2人,请报出共有多少学生出操?(试着和同学交流,可以通过讨论组或者通过发表评论完成)

生活实例3:停车场停车问题。

某大型停车场对于进入该场地的车辆有如下规定:

1、

进入该停车场必须为客运车辆,货运车辆谢绝入内。

2、

如果该车的乘员数量小于等于4,则收费五元。

3、

如果该车的乘员数量大于4人,则收费八元。 请根据该停车场的规定,判断进入该车场的车辆是否符合规定?应该收费多少?

思路探索:

1、先判断车型是否是

,如果是,进入下一步,如果不是,不许进入。

2、判断乘员数,如果乘员数

,收费五元,允许进入,如果不是,收费八元,允许进入。

能力提升:你能否根据刚才的分析画出其流程图呢?(大胆试试,这一次肯定能画出来。)

算法思想总结:计算机的程序设计中时刻会提到算法, 其实算法也存在于我们生活中,生活算法与程序设计中的算法是相似的,都体现出共同的一个方向——算法思维。目标都是问题解决。生活算法与程序设计算法类似,它也可以分成不同阶段:分析问题、寻找解决问题的途径和方法、解决问题的实践活动(例如用计算机进行处理)、算法的反思与优化。 生活中算法广泛地存在于我们身边。静下心来仔细分析生活,可以发现很多问题以及与之对应的算法。

附:

生活中算法的例子:

1、

华罗庚泡茶招待客人。

2、

超市收银机。

3、

学校设置的铃声。

4、

如何打电话最省钱。

5、

如何合理安排学习和生活时间才能让学习效率最高。

第14篇:4.4排序算法设计

排序算法设计

一、内容分析

【教学目标】

1、理解排序的概念

2、了解常用排序方法

3、理解冒泡排序的基本思路

4、应用冒泡排序法进行排序 【重点难点】

1、冒泡排序法的基本思路

2、应用冒泡排序法进行排序

二、教学内容

(一)常用排序 排序的概念:

排序就是把一组元素(数据或记录)按照元素的值的递增或递减的次序重新排列元素的过程。

如:49 38 76 27 13 常用排序的方法:

1、冒泡排序:冒泡排序是一种简单而饶有趣味的排序方法,它的基本思想是:每次仅进行相邻两个元素的比较,凡为逆序(a(i)>a(i+1)),则将两个元素交换。

2、插入排序:它是一种最简单的排序方法,它的基本思想是依次将每一个元素插入到一个有序的序列中去。这很象玩扑克牌时一边抓牌一边理牌的过程,抓了一张就插到其相应的位置上去。

3、选择排序:这是一种比较简单的排序方法,其基本思想是,每一趟在n-i+1(i=1,2,3,...,n-1)个元素中选择最小的元素。

冒泡排序:

冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。

整个的排序过程为:

先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。

例题:对49 38 76 27 13 进行冒泡排序的过程: 初始状态: [49 38 76 27 13 ] 第一趟排序后:[38 49 27 13] 76 第二趟排序后:[38 27 13 ] 49 76 第三趟排序后:[27 13 ] 38 49 76 第四趟排序后:13 27 38 49 76 课堂练习:

用冒泡排序对68 45 35 75 55 17 41进行排序,第二趟排序后的状态为:

A、45 35 68 55 17 41 75 B、35 17 41 45 55 68 75 C、35 45 55 17 41 68 75 D、35 45 17 41 55 68 75 作业:

1、以下两组数据按有小到大排序,请写出每一趟排序后的结果 45 82 12 75 13 89 95 90 87 76 65 54 43 32 21

2、以下两组数据按有大到小排序,请写出每一趟排序后的结果 45 52 12 18 85 46 32 12 23 34 45 56 67 78 89 91 拓展:

随机生成10个不同的整数存于数组a(1 to 10)中,按从小到大的顺序输出。

三、小结 冒泡排序:

冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。

整个的排序过程为:

先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。

例题:对49 38 76 27 13 进行冒泡排序的过程: 初始状态: [49 38 76 27 13 ] 第一趟排序后:[38 49 27 13] 76 第二趟排序后:[38 27 13 ] 49 76 第三趟排序后:[27 13 ] 38 49 76 第四趟排序后:13 27 38 49 76 排序算法编程相关知识:

1、数组的定义:

声明数组的一般格式如下:

Dim 数组名([下界 to ] 上界)As 数据类型

2、数组元素的输入输出: (1)生成随机整数(1-100之间) Randomize for i=1 to n a(i)=int(rnd*100+1) next i (2)输出数组元素 for i=1 to n print a(i); next i

3、冒泡排序的算法实现: 冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:

每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。

用两个FOR循环实现: for j=n-1 to 1 step -1 for i=1 to j if a(i)>a(i+1) then t=a(i) a(i)=a(i+1) a(i+1)=t end if next i next j 排序算法的应用:

1、随机生成10个不同的整数存于数组a(1 to 10)中,按从小到大的顺序输出。

2、随机生成20个学生的考试成绩,其中前50%的学生可以参加夏令营。输出这50%的学生的成绩。

3、数组A和数组B 分别记录6个数据,现在要把这两个数组合并成一个有序的数组。(从大到小的顺序)

第15篇:《对分查找及其算法实现》教学设计

《对分查找及其算法实现》教学设计

湖北省巴东县第一高级中学 刘少银

一、教材学情分析

本次课是浙江版高中信息技术选修教材《算法与程序设计》第二章算法实例第四节查找中的一部分内容。由于教材体系不适合校本实际,我们在教学过程中对教材体系作了如下调整。

讲授顺序:第一章 算法和算法的表示、第三章 面向对象的程序设计的基本知识、第四章 VB程序设计初步、第二章算法实例,第五章 算法实例的程序实现穿插在相关内容教学中完成。

因此在前期教学中学生已经初步掌握了算法基础及算法表示,VB程序设计初步等。本次课是让学生掌握对分查找的思想及算法的实现。

二、教学目标

知识与技能:理解对分查找的基本含义、方法,理解并能画出对分查找的流程图;

过程与方法:通过案例分析、直观观察,增强分析问题和解决问题的能力;

情感、态度与价值观:感受信息技术与现实生活的关联,激发对信息技术学科的求知欲,培养主动学习和使用信息技术的意识;养成科学的学习态度,不迷信书本、不迷信权威。

三、教学重难点

教学重点:对分查找的基本方法及注意事项;

教学难点:对分查找算法的实现。

四、教学策略

·以“猜数”游戏导入,引入对分查找的概念;

·师生讨论、生生讨论、生生互助;分析、归纳、总结,理解并掌握对分查找的基本思想;

·采用分类研究、分享成果、课后练习等学习方法,理解对分查找方法及基本主要特征;

·采用自然评价、师生评价、生生评价等形式对学习进行过程性评价。

五、教学过程

1.游戏激趣,释疑对分查找

(三个程序图片)

(初始界面) (人工猜数界面) (程序猜数界面)

准备:几张白纸,一支记号笔。启动猜数程序。

师:同学们好!大家看到前面的程序了吗?它是一个什么程序呢?

同学:猜数游戏程序。

师:对,这是我用VB针对李泳主持的“幸运52”中猜商品价格环节开发的一款程序,我先来说说针对主持人的部分:当李泳宣布商品的价格范围时,比如10000元内,猜商品价格的人就可以在猜数范围栏起始栏填上“0”,终至栏填“10000”,然后再将鼠标移到猜数栏中单击,程序即提示:“准备!倒计时30秒”,当单击提示处,猜价格倒计时开始,猜价格人即可在猜数栏上填上所猜价格的数值,然后根据主持人的提示,选择“不对”重新填写商品价格或选择“正确”让所猜价格在“猜得结果”栏内显示正确结果并停止计时,提示栏中即显示“您猜了M次,对了,恭喜您”。

师:大家觉得程序光有这样的功能神奇吗?

生:不神奇。

师:对,我也是这样认为的。这个程序神奇的地方在它能帮助猜商品价格人在规定的时间内,根据主持人的提示准确地猜出商品的价格,而且猜中率100%,所以现在“幸运52”停播了,大家知道为什么吗?

生:不知道。

师:就是因为我开发了这个程序呀!

生:(有的说信,有的抱着怀疑的态度不吭声,也有说不信的)

师:有同学愿意上来试试吗?

师:你在纸上写下你的数值范围和要猜的数,然后给大家看一下,别说出来,别让电脑听见了。

师:好,操作程序让程序帮忙把写的数找出来。

(程序找到正确的数)

师:神奇吧。

师:还有那位同学愿意试一下。

师:同样,你还是先写下要猜的数和范围100~200,这次我们不让大家看到他要猜的数,请大家帮忙记下程序每次出现的数字。

师:电脑程序也猜出了正确结果:132。

程序给出的数字是:

第一个数是:150

第二个数是:12

5第三个数是:137

第四个数是:1

31第五个数是:13

4最后是:13

2大家能看出什么规律了吗?

生:看不出

师:单纯从这几个数当中是看不出什么规律,现在我们依次把这些数放到数轴上,再看一下,大家看能找出什么规律呢?

同学发言„„

师:大家认为他说的怎样?为什么不鼓掌呀!

师:对,正如刚才的同学说的那样,程序是在给定范围内依次找中点方法来找到我们要找的最终数值,这就是我们今天要讨论的一种新的查找方法:对分查找。

师:我们刚才的游戏中的数列是序的吗?

生:是有序的,升序排列的。

师:如果是降序能用对分查找方式查找吗?

生:能。

师:大家想一想,如果我们打乱数据的排序顺序,在没有排序的数列中能否用对分查找的方法,找到我们想找到的数据?

同学:不能。

师:对,这就是对分查找方法的一个特征,或称为条件。因为我们是根据数据的大小找到它在数列中的位置。

【设计意图】通过游戏和对程序给出数值在数轴上的分布分析,让学生初步理解和掌握对分查找的方法及前提条件,为后一阶段对分查找算法的实现作好铺垫。

2.分析实例,实现对分查找算法

师:下面我们一起来看一下程序是怎样一步一步的给出以上数据并最终找到“132”这个数的。

师:首先在100至200之间找中点,然后再用中点值150与所要找的数132比较,得出的结论是所要找的数在100至150之间的数,一下数值的范围就缩小了一半,终止变量j的值就由200变成了150;第二次查找时,程序就给出100至150的中点值125;当程序进行第三次查找时,起始变量i的值就被修改为125,它们的中点值应该是:(125+150)/2=137.5。有小数了,怎么办?

生:„„(有点茫然)

师:对于小数,程序可以继续查找,但有可能要增加查找次数。为了保证在整数范围内查找,我们就要对含小数的中间值进行处理:取整。大家还记得我们学过VB的取整函数吗?

生:int。

师:对。即int(137.5),结果是多少?

生:137。

师:所以我们查找i到j范围内的中点值的表达式应该为:m=int((i+j)/2)。

师:依次类推,程序会依次给出13

1、1

34、132即找到了要找的数。

师:请同学们根据算法逐步求精的原则在下面画出流程图。

(展示如下流程图,然后请同学完成完善对分查找的算法流程图)

流程图补充完善后的结果:

【设计意图】通过对程序给出中间数的分析,帮助学生理解对分查找算法实现的方法,为学生顺利完成对分查找算法流程图给予理论与实践上的支持。

3.推出特例,完善对分查找算法

师:同学们,刚才我们完成的对分查找的流程图;下面请同学们用刚才的查找方法分析一下在199至200范围内要找200这个数,能找到吗?为什么?如何解决这个问题?

(将教室内学生按座位分成若干组,进行讨论。每个组推选一名小 组长,完成后作小组发言)

„„

(每一小组完成发言后,老师或点评,或让学生点评)

师:根据刚才同学的讨论分析,那我们先前给出的流程图就有了一些缺陷,怎么修改?

(在同学们的发言声中,修改完善流程图)

修改后的流程图如下:

【设计意图】给出特例,让学生相互讨论、互助学习,归纳总结出上述流程图中出现问题的症结所在,并给出正确的流程图;由此可让学生体验到科学探究的方法,从而培养学生的科学态度与探索精神。

六、课后作业

师:1.在前面的取整中我们用了取整函数int,大家想一想能不能用四舍五入函数处理?如果用四舍五入函数(round)处理,流程图又将怎样修改?

2.请看教材P40-43,比较我们所给出的流程图与教材上的流程图有什么差异?两个流程图最后结果是否一致,那个流程图的结果有问题,问题是怎么造成的?请写出一篇500—800字的小论文。

(提示:认真阅读教材P40至P43内容,并分析教材中所给算法的逻辑错误)

作业提交方式:电子邮件(校内、校外均可)

邮件名称:登分号+姓名+论文题目

作业提交地址:bdxyz@qq.com

【设计意图】作业(1)扩充课堂内容,丰富学生知识面,丰富学生分别学习内容;作业(2)通过两个流程图之间差异性比较,引导学生判别书本上所给出流程图的逻辑错误,从而培养学生:1.科学的学习态度和精神,不迷信教材、不迷信权威;2.运用论文等形式来表达自己观点;3.通过学生自己的分析、探索,找出教材中的错误。

七、教学反思

整节课充满了笑声和掌声,课堂气氛活跃,学生参与度高。老师的主导作用和学生的主体地位得到了充分的体现。学生在师生互动、生生讨论、生生互助中比较好地掌握了对分查找的思想和算法实现,教学效果好。但由于时间关系,没有将程序的源代码展示给学生,让学生有一种意犹未尽的感觉是本次课的一个缺憾。

第16篇:分支结构算法的实现教学设计

分支结构算法的实现教学设计

教学目标:

1、知识与技能:理解程序设计分支结构基本思想;掌握分支结构语句特点

2、过程与方法:学会用算法分析问题;能够使用分支结构编写简单的程序解决具体问题

3、情感态度与价值观:体会用结构化方法解决数学问题的便捷性;明确结构化在程序设计中的重要作用;激励尝试使用多种方法解决问题;培养良好的编程习惯和态度。

教学重点:

1、理解程序设计的分支结构基本思想;

2、熟悉IF语句及掌握IF语句的运用;教学难点:

1、分支结构实现语句的格式和功能;

2、编写简单的程序的过程;

3、变量的特点。教学方法:

任务驱动法、演示法、讲解法、师生互动法 课时安排:一课时 教学设计:

1、教学对象分析

本课适用于高中二年级学生。这一阶段的学生具备一定的数学基础和具有一定的比较、归纳能力,是一个正处在抽象逻辑思维已初步形成并继续发展的阶段。学习分支结构程序设计就是要在这些基础上,借助具体事务为载体,了解程序解决问题的条件与办法。在学习本课之前,学生已经掌握pascal程序的编写与运行方法,了解顺序程序结构的执行流程。

2、教学需要分析

本节课在有多媒体教学软件的机房上课。通过再度开发课程资源(《信息技术》第四册第四章第二节《分支结构算法的实现》)和充分利用学生发言的现场事件进行有效讲授,激发学生的探究热情,努力创设师生之间的互动场景,使学生在讨论中协作学习,在发言中共享学习成果。

本节课在教师设疑、讲解和学生分析、讨论、发言等基础上进行的,主要运用的教学方法是任务驱动法。教师讲解的过程就是不断地“否定”前面的结论,提出新问题(任务)、请同学们分析问题,提出解决方案,帮助学生解决问题的过程。

在授课过程中,要根据课堂现场发生的事件,随时调整教学内容,当学生的讨论发言偏离本节课的教学目标和内容时,要机智处理。

教学过程: 导入:

1、阅读句子,总结规律。

如果天气好,就去打球,否则留在家里。

如果答对了,就会得分,否则就会扣分。

如果„„就„„(否则„„)

2、在Pascal中,这种根据不同的情况转向不同的分支来处理的程序结构就是分支结构。

If„„then„„(else„„)

(学生讨论、发言,教师引导他们注意if、then、else三个词,并为这些按条件语句的一般形式划分部分)

【学生归纳】

条件语句的一般形式:

格式一:if 条件 then 语句组

格式二:if 条件 then 语句组1 else 语句组2 【教师说明】

格式一功能:当条件满足时执行then后语句组,否则跳过此行执行下一行。 格式二功能:当条件满足时执行语句组1,否则执行语句组2。 例题讲解

编写程序,实现人机对话,电脑显示“你快乐吗?(Y OR N)”,如果按“Y”,就回答“我很高兴”,否则就回答“太糟了”。

流程图(略) 编写程序 PROGRAM ex1; VAR a:char; BEGIN Writeln(‘Are you happy?’); Write(‘a=’); Readln(a); IF a=‘y’

THEN writeln (‘I am happy’) ELSE writeln (‘too bad’) END.上机任务

输入三个正数,输出最大数

(1)分析题目,设问,引导学生思考:

在现实中,如果要求三个正数中的最大数,我们很容易做到;但是,如果有一千个数或更多的数,就需要较长的时间,而且容易出错。如果用Pascal按一定的算法编写程序,就可以准确地在短时间内求出一千个数或更多数中的最大数,那我们应该如何编写程序呢?

(2)分析算法:

归纳算法:两数分别做比较,用中间量保存当前最大数,最后求出最大数。

①max←0 ②输入a、b、c的值

③如果max

Writeln(‘The max is’ ,max) END.程序运行:

当程序运行后(Ctrl+F9),先在屏幕上出现一行提示语句:“Please input a b c”,光标在下一行行首闪烁,等待用户从键盘输入数据,输入任意三个数后按回车,最后显示结果。如果输入其他的任意三个数,也不需要修改程序了,直接在光标显示输入新的数就可以得出结果。

随机请部分同学到教师机上演示他们的程序,并请他们谈谈自已编(改)写程序的体会。 小结:

1、IF 语句

If„„then„„(else„„)

2、编写程序的方法。

①分析题目,想出解题的思路和方法(算法); ②把分析的处理步骤用流程图表示出来; ③用Pascal的语言编写出程序。

知识拓展 突破难点 (1)编写程序步骤:

①分析题目,想出解题的思路和方法(算法);

②把分析的处理步骤用流程图表示出来;

③用Pascal的语言编写出程序。 (2)说明:

①Pascal语言对分行没有严格的要求,可以将多句语句写在一行中,也可以将一句语句分行书写。

②在Pascal语言中,在大小写字符在命令中等价,但习惯中保留字用大写,其他的用小写。

第17篇:算法和算法的描述教学设计(推荐)

算法和算法的描述(教学案例)

教材分析:

这节课内容主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。

学生分析:

学生基本上没有接触过编程,那么在高中阶段初步接触编程,学生首先会感到很深奥,看到书中的程序语句,尤其是看到后面的长一点的程序语句更是觉得可怕,那教师必须要考虑在授课中如何正确引导,以什么样的方式进行。学生有没有兴趣学,往往看这个课是不是有意思,难不难学,一看难学又乏味,就开始产生厌学的情绪。

教学目标:

引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,为程序设计打好基础。

教学重点:

算法的概念、算法的设计和选择。 教学难点:

如何科学合理的选择和设计算法。 教学方法:

与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。

教学过程:

1、引导学生对编程的兴趣

(1) 教师:同学们喜欢玩电脑游戏吗?

(2) 学生:喜欢!(说到游戏学生总是表现出很浓的兴趣。)

(3) 教师:在上机练习课的时候,总发现有个别同学偷偷的玩游戏,其实你们喜欢,老师也很喜欢,那么同学们想不想自己编个游戏来玩呀?

(4) 学生:会不会很麻烦!(学生表现出好奇,又对编程心里还没有底。) (5) 教师:不用担心,编程并不像你们所想像的那样难,很快你们就会编一些小游戏程序了。其实编程是件非常有意思的事情,在以后的学习中你会发现自己越来越喜欢编程,甚至会着迷的。

2、算法的概念

(1)教师:幻灯片出示一个经典的趣味性例子, 有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河?

(2)教师:分组讨论,前后四个同学为一组,把你们的橡皮擦放到一块,分别写上狼、羊、白菜,你们自己是牧羊人,现在请同学们来设计一个方案,把3样东西安然无恙的带过河。我们来比一比看哪组同学最快完成。

课堂立即活跃起来,同学们把它当作一种游戏全都投入进去了,积极思考起来。 (3)很快就有学生举手回答。 过河的方案: 第一步:人和羊过河,人返回,留下羊;

第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河。

(4)教师:同学们这个方案行不行? (5)学生:行。

(6)教师:还有没有其它方案?

(7)学生:还可以在第二步时,人和菜先过河,人羊返回,留下菜;第三步,带狼过河。

(8)教师:刚才同学们把第二步和第三步可以改变先后顺序,其它顺序还能不能颠倒,比如说:第一步先过狼?

(9)学生:不能。

(10)教师总结出算法的概念:同学们说的不错。那什么是算法呢?这个过河的方案就是这道趣味题的算法。请同学们记住一句话:算法就是解决问题的方法和步骤。在以后的编程中也要记住了,有些步骤是可以颠倒的,不影响程序的结果;但是有些一但颠倒了那最终的结果也就全变了。

3、用流程图来描述算法

(1)教师:幻灯片放映,出示例题:某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5元的基础上打8折。请同学们告诉我该怎么计算应付款?

(2)学生:首先称好苹果,超过2千克,应付款为:苹果重量*1.5*0.8 ;如没超过,应付款为:苹果重量*1.5 (3)教师:放幻灯片,演示流程图。好,这个同学刚才给出了算法。现在我用一个图来把这个过程描述一下。

(4)教师:解释这个图的执行过程。问:同学们,告诉我这是什么图啊? (5)学生:流程图。

(6)教师:幻灯片出示:流程图的基本图形及其功能

(7)教师:我知道大家在数学课程里,学习过用流程图来描述算法。有了你们数学课的一点基础,那么我们现在学习起来就比较容易。流程图是描述算法常用的工具,容易表达,结构清晰简洁,有利于不同环境的程序设计。在以后的学习中,我们还会充分利用流程图来帮我们分析问题。

4、算法的设计与选择

(1) 教师:大家在做题时,是不是有时候一道题有多种解法? (2) 学生:是。

(3) 教师:我给大家讲个故事:200年前的一天,一位数学教师走进课堂,也许是想清静一个小时,给四年级的学生们布置了一道题:从1加到100。5分钟后,一个学生走到他跟前,交上了正确答案,这时他是多么吃惊呀!这怎么可能呢?这个孩子一定是个天才。

(4) 教师:请大家告诉我1加到100等于多少?、(5) 学生:5050 (6) 教师:你们是用什么方法计算的?

(7) 学生:首尾相加后,再乘以100,即(100+1)*50=5050 (8) 教师:这无疑是一种很好的算法,既简单实用,效率也高。1+2+3…+100最终也能加到结果,但是计算的过程大家可想而知。解决问题的方法,也许有很多种,但是运用不同的方法却会产生不同的效果。我们编写程序也是一样,你使用不同的算法,也会产生不同的效果。说归说,我们再来看一个例子。

幻灯片出示:求9147485和5147480两个数的最大公约数。

(9)同学们你们是怎么计算的? (10)学生:用“辗转相除法”计算。 (11)教师:好,请你们来计算一下。 (12)学生:数这么大很难算啊!

(13)教师:同学们别着急,有两个同学已经编写了解决这个问题的程序。大家一起

来看一下。(幻灯片出示)

(14)教师:同学甲编写的程序用的算法是“辗转相除法”;同学乙用的算法是“穷举法”,从5147480开始,每次减1,一个个的进行判断,直到找到为止。好,我们分别来运行一下,请同学们注意观察。

教师:启动VB,运行同学甲的程序:

第1次运行 输入:9147485和5147480 , 结果:5 第2次运行 输入:45684和58460 , 结果:4 第3次运行 输入:8654726和675942 , 结果:2 运行同学乙的程序:

第1次运行,大约5秒钟后显示结果:5 第2次运行,大约5秒钟后显示结果:5 (15)教师:请学生回答观察到的现象。

(16)学生:甲的运行速度快一些,还可以求其它组数的最大公约数,而乙只能计算这一组。

(17)教师:同学们观察得很好!那你们认为那个算法好一些呢? (18)学生:甲。

(19)教师:对。算法的设计,直接影响着程序的通用性和解决问题的效率,总的来说,一个好的算法,应该是科学而又合理的算法。 实践练习:

一天,小猴子从树上摘下若干个桃子,当即吃了一半,觉得不过瘾,又吃了一个。第二天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。以后每天都是吃前一天剩下的一半后,就再多吃了一个。到第四天,只剩下一下桃子。试设计一个算法流程图,求小猴子第一天摘下了多少个桃子。

第18篇:VB程序连乘算法的教学设计

VB程序连乘算法的教学设计

摘 要:该文主要对程序设计课程中的连乘算法进行教学设计,结合实例介绍了连乘算法的关键点,对算法中经常会遇到的内存溢出问题进行解析,针对连乘算法的通用表达式进行了优化,使程序更易理解,达到加深理解,优化教学效果。

关键词:程序设计 算法 连乘算法 溢出

中图分类号:G64 文献标识码:A 文章编号:1672-3791(2015)12(a)-0220-02

在程序设计课程中,算法是课程的重点,同时也是难点,如何将算法原理向学生讲解透彻并可以让其轻松接受,是在教学过程中需要思考的一个问题。

在计算机中,算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令序列的集合。程序设计就是设计算法、编写代码、调试运行的过程。显而易见,算法是程序设计的基础,程序设计是算法的具体实现。在程序设计课程的教学设计过程中,常用算法一般包括求最大/最小值、累加/连乘、穷举法、递推法等,该文将主要针对连乘算法进行分析。

1 连乘算法

在程序基础教学中,为了提高教学效果,针对刚入门的程序设计初学者,教师们一般采用任务驱动法[1]进行算法的分析,引导学生理解和掌握该算法的核心思想,进而再用程序的方式来描述与验证该算法。例如:

以上是一个典型的连乘算法,该算法描述的关键点可归纳如下:

(1)每一项和每次连乘之积是变化量。

(2)因此,需要两个变量:

①用T表示每一项的值:T=T+1。

②用S表示连乘之积:S=S*T。

(3)循环终止条件: 循环次数>n。

(4)初始化:S=1 。

2 内存溢出问题

在讲解程序算法时,大多数程序设计教程都很少提及赋值或计算中的“溢出”问题,然而在学生的编程操作中,“溢出”却是经常会遇到的一个问题[2],这些问题常常会让学生觉得困惑,查找原因时却无从下手,导致学生出现畏难情绪。因此,教师有必要在授课过程中,对程序在内存中的存储方式进行初步讲解,让学生可以了解程序的运行机制,加深理解。

软件在运行过程中,如果程序调用的数据文件过大,或程序设计中存在着死循环等bug,软件写入内存中的数据量超过了系统分配给该软件的内存空间大小,则会发生内存空间装不下而溢出的现象,这种现象就叫内存溢出。在求阶乘的算法中,由于阶乘的结果累积速度较快较大,容易发生数据溢出。

让学生进行程序的调试与运行,当n=10和=50时运行结果如图1所示,但当n=100时,却弹出如图2所示的警告信息。

分析导致“溢出”错误的原因:

当程序运行发生“溢出”错误时,通过调试跟踪,在T=(2* i) ^ 2/((2*i-1)*(2*i+1))语句处,把光标移至i变量上,可以发现溢出时i的值为91;当i=91时,表达式((2*i-1)*(2*i+1))=,该表达式的值为33123。程序将结果值S设置为double类型,当i=91时,结果为33123,这个值按道理应在double类型的数值范围内,但程序仍然发生了溢出错误,问题在哪里呢?

实际上,产生这个溢出问题的原因是由于VB本身的内存分配机制造成的,VB在进行计算过程中,它总是分配一个最省内存的临时内存空间去存储这些中间计算结果数值,这个最省的内存空间容量根据表达式中数据类型决定,如上述相乘的两个表达式(2*i-1)和(2*i+1),他们当中的变量i是整型,因此,VB也将使用一个类型为整型的临时变量来存储两个表达式的乘积。所以,当i=91时,得到乘积结果33 123,此时即使是乘积结果变量S设置为double类型,但乘积结果(33 123)已超过了声明为整型的临时变量空间的极限(-32 768~+32 767),所以仍然会发生溢出错误。

根据上面的原因分析,可以从以下几方面进行修正:

(1)将变量 i 定义为长整型或实数型或变体型。

(2)将错误语句中的变量 i或常量(1或2)其一操作数利用转换函数Clng(i)或Clng(1),以求足以容纳计算结果。

(3)避免大数相乘,可将错误语句改为T=(2*i)^ 2/(2*i - 1)/(2*i+1)。

(4)连乘算法的改进。

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。虽然上述方法解决了“溢出”问题,但是表达式T=(2*i)^2/(2*i-1)*(2*i+1)显得很笨重,表达式明显复杂。能否有办法可以降低复杂度,简化表达式以求程序优化呢?

可以把通项表达式T=(2*i)^2/(2*i-1)*(2*i+1)中的分子式分解开来,把问题理解为简单表达式T=A/B(其中A=(2*i)^2和B=(2*i-1)*(2*i+1),如此一来问题就变得较为简单且易于解决。因此,求∏的近似值的VB程序代码优化实现如下:

在此例中,关键点在于如何将复杂的通项表达式分解为简单表达式,进而实现连乘算法的优化。因此,如何构造通项表达式尤为关键,必须注意2点。

(1)通项表达式T=B/A中的A或B均可为常量或变量表达式,A和B可以继续分解;①若A=1, 则T=B;②若B=1, 则T=1/A;

(2)必须精选变量A与B的数据类型,避免出现“溢出”。

3 结语

该文对程序设计课程中关于连乘算法的问题进行了初步探讨,指出程序设计初学者中学习过程中经常会遇到的“溢出”问题,提出修正方法,并对连乘算法进行改进优化,加深理解,强化教学效果。

参考文献

[1] 杨晨霞,涂风涛.任务驱动教学法在Visual Basic程序设计教学中的应用[J].职教论坛,2012(18):79-81.

[2] 贾颖.“VB 程序设计”课程教学中的变量类型使用问题研究[J].Computer Education,2008(20):138-139.

第19篇:1.1 算法与程序框图 教学设计 教案

教学准备

1. 教学目标

(1)了解算法的含义,体会算法思想.

(2)会用自然语言和数学语言描述简单具体问题的算法;

(3)学习有条理地、清晰地表达解决问题的步骤,培养逻辑思维能力与表达能力

2. 教学重点/难点

重点:算法的含义、解二元一次方程组的算法设计. 难点:把自然语言转化为算法语言.

3. 教学用具

课件

4. 标签

算法

教学过程 情境导入

电影《神枪手》中描述的凌靖是一个天生的狙击手,他百发百中,最难打的位置对他来说也是轻而易举,是香港警察狙击手队伍的第一神枪手.作为一名狙击手,要想成功地完成一次狙击任务,一般要按步骤完成以下几步: 第一步:观察、等待目标出现(用望远镜或瞄准镜); 第二步:瞄准目标;

第三步:计算(或估测)风速、距离、空气湿度、空气密度; 第四步:根据第三步的结果修正弹着点; 第五步:开枪;

第六步:迅速转移(或隐蔽). 以上这种完成狙击任务的方法、步骤在数学上我们叫算法. ●课堂探究 预习提升

1.定义:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题. 2.描述方式

自然语言、数学语言、形式语言(算法语言)、框图. 3.算法的要求

(1)写出的算法,必须能解决一类问题,且能重复使用;

(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果. 4.算法的特征

(1)有限性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.

(2)确定性:算法的计算规则及相应的计算步骤必须是唯一确定的.

(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.

(4)顺序性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,后一步是前一步的后续,且除了最后一步外,每一个步骤只有一个确定的后续.

(5)不唯一性:解决同一问题的算法可以是不唯一的. 课堂典例讲练

命题方向1 对算法意义的理解 例1.下列叙述中,

①植树需要运苗、挖坑、栽苗、浇水这些步骤;

②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,„99+1=100; ③从青岛乘动车到济南,再从济南乘飞机到伦敦观看奥运会开幕式; ④3x>x+1;

⑤求所有能被3整除的正数,即3,6,9,12,„.能称为算法的个数为( ) A.2

B.3

C.4

D.5 【解析】根据算法的含义和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一个明确的步骤,不符合明确性;⑤的步骤是无穷的,与算法的有限性矛盾. 【答案】B

[规律总结] 1.正确理解算法的概念及其特点是解决问题的关键.

2.针对判断语句是否是算法的问题,要看它的步骤是否是明确的和有效的,而且能在有限步骤之内解决这一问题.

【变式训练】 下列对算法的理解不正确的是________ ①一个算法应包含有限的步骤,而不能是无限的

②算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤 ③算法中的每一步都应当有效地执行,并得到确定的结果 ④一个问题只能设计出一个算法

【解析】由算法的有限性指包含的步骤是有限的故①正确; 由算法的明确性是指每一步都是确定的故②正确;

由算法的每一步都是确定的,且每一步都应有确定的结果故③正确; 由对于同一个问题可以有不同的算法故④不正确. 【答案】④

命题方向2 解方程(组)的算法 例2.给出求解方程组的一个算法.

[思路分析]解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,再通过回代方程求出方程组的解)解线性方程组. [规范解答]方法一:算法如下:

第一步,①×(-2)+②,得(-2+5)y=-14+11, 即方程组可化为

第二步,解方程③,可得y=-1,

④ 第三步,将④代入①,可得2x-1=7,x=4, 第四步,输出4,-1.方法二:算法如下:

第一步,由①式可以得到y=7-2x,

⑤ 第二步,把y=7-2x代入②,得x=4.第三步,把x=4代入⑤,得y=-1.第四步,输出4,-1.[规律总结]1.本题用了2种方法求解,对于问题的求解过程,我们既要强调对“通法、通解”的理解,又要强调对所学知识的灵活运用.

2.设计算法时,经常遇到解方程(组)的问题,一般是按照数学上解方程(组)的方法进行设计,但应注意全面考虑方程解的情况,即先确定方程(组)是否有解,有解时有几个解,然后根据求解步骤设计算法步骤. 【变式训练】

【解】 算法如下:S1,①+2×②得5x=1;③ S2,解③得x=;

S3,②-①×2得5y=3;④ S4,解④得y=;

命题方向3 筛选问题的算法设计

例3.设计一个算法,对任意3个整数a、b、c,求出其中的最小值. [思路分析]比较a,b比较m与c―→最小数 [规范解答]算法步骤如下:

1.比较a与b的大小,若a

2.比较m与c的大小,若m

【变式训练】在下列数字序列中,写出搜索89的算法: 21,3,0,9,15,72,89,91,93.[解析]1.先找到序列中的第一个数m,m=21;

2.将m与89比较,是否相等,如果相等,则搜索到89; 3.如果m与89不相等,则往下执行;

4.继续将序列中的其他数赋给m,重复第2步,直到搜索到89.命题方向4 非数值性问题的算法

例4.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊. (1)设计安全渡河的算法;

(2)思考每一步算法所遵循的共同原则是什么?

[解析](1) 1.人带两只狼过河; 2.人自己返回; 3.人带一只狼过河; 4.人自己返回; 5.人带两只羚羊过河; 6.人带两只狼返回; 7.人带一只羚羊过河; 8.人自己返回; 9.人带两只狼过河.

(2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊的数目大于狼的数目.

[规律总结]1.对于非数值性的问题,在设计算法时,应当先建立过程模型,也就是找到解决问题的方案,再把它细化为一步连接一步组成的步骤.从而设计出算法.

2.首先应想到先运两只狼,这是唯一的首选步骤,只有这样才可避免狼吃羊,带过一只羊后,必须将狼带回来才行.

【变式训练】两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳,他们如何渡河?请写出你的渡河方案及算法. [解析]因为一次只能渡过一个大人或两个小孩,而船还要回来渡其他人,所以只能让两个小孩先过河,渡河的方案算法为: 1.两个小孩同船渡过河去; 2.一个小孩划船回来; 3.一个大人独自划船渡过河去; 4.对岸的小孩划船回来; 5.两个小孩再同船渡过河去; 6.一个小孩划船回来;

7.余下的一个大人独自划船渡过河去; 8.对岸的小孩划船回来; 9.两个小孩再同船渡过河去.

课后习题

1.以下对算法的描述正确的个数是() ①对一类问题都有效; ②对个别问题有效;

③计算可以一步步地进行,每一步都有唯一的结果; ④是一种通法,只要按部就班地做,总能得到结果. A.1个

B.2个

C.3个

D.4个 [答案]C [解析]①③④正确,均符合算法的概念与要求,②不正确. 2.算法的有限性是指() A.算法的最后必包含输出

B.算法中每个操作步骤都是可执行的 C.算法的步骤必须有限 D.以上说法均不正确 [答案]C [解析]由算法的要求可知,应选C.3.下列语句中是算法的个数是() ①从广州到北京旅游,先坐火车,再坐飞机抵达;

②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1; ③方程x2-1=0有两个实根;

④求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果10.A.1个

B.2个 C.3个

D.4个 [答案]C [分析]解答本题可先正确理解算法的概念及其特点,然后逐一验证每个语句是否正确.

[解析]①中说明了从广州到北京的行程安排,完成任务;②中给出了一元一次方程这一类问题的解决方法;④中给出了求1+2+3+4的一个过程,最终得出结果.对于③,并没有说明如何去算,故①②④是算法,③不是算法. 4.设计一个算法求方程5x+2y=22的正整数解,其最后输出的结果应为________.

[答案](2,6),(4,1) [解析]因为求方程的正整数解,所以应将x从1开始输入,直到方程成立. x=2时,y==6;

5.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求它的总分和平均成绩的一个算法为: 1.取A=89,B=96,C=99; 2.____①____; 3.____②____; 4.输出D,E. [解析]求总分需将三个数相加,求平均分,另需让总分除以3即可. x=4时,y==1.[答案]①计算总分D=A+B+C ②计算平均成绩E=

第20篇:排序算法教学反思

《选择排序》教学心得

教学内容:

选择排序的算法思想 选择排序的实现过程 选择排序的编码实现

总结和思考:大数据背景下的排序

排序(Sort) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。排序方法分为两大类:一类是内排序:冒泡排序、选择排序、插入排序、希尔排序、交换排序、快速排序等;另一类是外排序。

从教学理念上看,本节课利用维果斯基的“最近发展区理论”,把学生的现有水平和兴趣点,结合教学的目标,形成最近发展区。教学着眼于学生的最近发展区,提供带有难度的内容,调动学生的积极性,发挥其潜能,超越其最近发展区而达到下一发展阶段的水平,然后在此基础上进行下一个发展区的发展。

从教学方法来看,主要使用案例分析法、讲授法等,从分析当前流行的冒泡排序算法的案例开始,由浅入深的介绍选择排序的基本概念,算法思想以及编码过程。

从教学过程来看,首先从回顾冒泡排序的内容导入,在改进冒泡排序的过程中,提出选择排序的概念和思想。用直观的动画方式展现选择排序思想和过程,总结分析出关键代码,引导学生写出完整代码,最后分析选择排序的关键点,并提出思考,大数据背景下的排序改进方法。

在整个过程中一直都力求让学生在已知的知识结构中推导、归纳出需要掌握的知识点。但是上完课程后感觉案例还不够多,相对于非计算机的学生来说,算法的分析比编码的过程更加重要。所以学生感到有些难,本来已经调动起来的积极性没能保持到整节课。非计算机专业的学生思考计算机问题深度不够,在以后的备课中要更多的挖掘教学案例的广度和深度,给他们更多的思维训练。

算法 教学设计
《算法 教学设计.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档