当前位置:文档之家› 第三章第二节算法及其描述(一)

第三章第二节算法及其描述(一)

第三章第二节算法及其描述(一)
第三章第二节算法及其描述(一)

山东省青州实验中学校训:公善勤实

课题名称:算法及其描述(一)

命题人、使用人: 审核人:使用日期:

学习目标

了解算法的概念,能够对算法进行描述。

-------------------------------------------------------------------------------------------------------- -------------- 【上节重点回顾】

利用计算机解决问题的正确步骤是()1设计算法2调试运行程序3分析问题4编写程序

A、1 2 3 4

B、3 1 2 4

C、3 4 2 1

D、3 1 4 2

【导入】

有一个农夫带着一头羊,一匹狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东

西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,农夫应如何过河?请同学们以小组为单位,讨论一下农夫该如何才能安全的渡河,写下你们的渡河方案,看看哪一组最快?

【任务一】结合课本P48-51总结算法的概念及描述。

1、算法:是指在求解某一问题所使用的一组的。对计算机来说,算法就是用计算机求解某一问题的,是能被机械地执行的的集合。

2、算法的描述有三种:、、。

【任务二】

设计一个算法,解决鸡兔同笼问题:在笼中有鸡、兔若干,已知有头a个,有脚b只,求各有多少只鸡和兔。

一、用自然语言描述算法(不常用)

用自然语言描述算法就是用人们日常所用的语言,如汉语、英语等来描述算法。

(1)开始

(2)输入a和b的值

(3)求x=2a-b/2

(4)求y=b/2-a

(5)输出x、y的值

(6)结束

二、用流程图描述算法(最常用的方法,需要大家掌握)

用流程图描述算法是用程序框图来描述算法的一种表示方法。

图形名称功能

开始/结束表示算法的开始或结束

输入/输出表示算法中变量的输入与输出

处理表示算法中变量的计算与赋值

判断表示算法中的条件判断

流程线表示算法中的流向

连接点表示算法中的转接

乔布斯:“这个国家的每个人都应该会编程,因为它教会你如何思考。”

三、用伪代码描述算法(不常用)

用伪代码描述算法就是介于自然语言和计算机语言之间的文字和符号来描述算法。

input a, b

x= 2a - b / 2

y = b/2 – a

print "鸡数= " x,

print "兔数= " y

【任务三】三种基本控制结构

【作业】

1、用流程图设计一个算法,求a的绝对值。

2、分析并完善流程图

执行流程图,当输入x的值为4时,输出y的值为2,

则菱形判断框中的条件可能为________

(填写字母:A/B/C/D)。

A x>3

B x>4

C x<=4

D x<=5

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

《算法和算法的描述》教学设计 一、教材处理 本节课以教育科学出版社教材《算法与程序设计》的第一章《如何用计算机解决问题》和第二节《算法描述与设计》作为基本教学内容,用一节课时间完成。 本节课学生第一次接触算法,如果只讲解算法的概念就要求学生对实际问题进行分析、建模、设计合理算法,感觉难度较大。因此,我从“人鬼过河”这一智力游戏开始,通过实例介绍算法的概念,再例举学生熟悉的数学问题,让学生在分析问题中学会设计算法,并让他们采用算法描述工具描述相应的算法。 二、教学目标 1.理解算法的含义。 2.掌握用自然语言、流程图描述算法。 3.了解算法的基本特征。 4.通过流程图形象直观地了解顺序、选择、循环三种基本结构。

三、教学重点与难点 重点:让学生经历分析问题、设计算法,用自然语言、流程图等方法描述算法的过程。 难点:对算法概念的理解,设计出合理的算法。 四、教学媒体 多媒体课件、VB小程序、网络教室 五、教学过程 教师活动:介绍游戏规则,让学生在“人鬼过河”这一Flash游戏中思考解决问题的步骤。 学生活动:在游戏中亲身经历分析问题、解决问题的过程。 (设计意图:算法的含义比较抽象,如果一下子抛出算法的定义,学生无法真正理解,所以引入趣味游戏,让学生在游戏中思考。) (一)引入新课 教师活动: ①请个别学生讲解操作这个游戏的步骤,教师进行归纳

总结,用自然语言描述出来。 ②由解决游戏的步骤引出算法的定义――算法是解决 问题的方法和步骤。 ③算法需要将它描述出来才能为人所知。学生描述“人鬼过河”游戏的各步骤就是算法的一种描述方法――自然语言描述法。教师介绍如何用自然语言描述算法。 学生活动: ①理解算法的定义。 ②初步体会用自然语言描述算法的过程。 (设计意图:①引导学生总结游戏步骤,由具体事例引出算法的概念。②学生体会用自然语言描述算法的过程。)(二)学生实践一 1.布置任务 教师活动:讲述“水仙花数”问题,让学生判断任一三位数是否为水仙花数,并引导学生用自然语言将自己设计的算法描述出来。 学生答案1:取百、十、个位数字,求他们的立方和,判断立方和是否等于原数,如果相等就是水仙花数,否则就不是水仙花数。 学生答案2:设x=abc,若a3+b3+c3=x,则x是水仙数,否则不是水仙花数。 2.指导实践

1-2算法的描述与设计--教案

1-2节算法描述和设计第2课时 一、【教学目标】 1、知识和技能 (1)了解算法的定义及其表达方法; (2)认知流程图的六种基本符号; (3)理解计算机解决问题的一般过程。 2、方法和过程 (1)理解用不同的表达方法描述算法的优缺点; (2)掌握用流程图描述简单的算法。 3、情感态度和价值观 以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。 二、重点难点 (一)教学重点 1、算法的定义; 2、算法的三种表达方法; 3、流程图的六种基本符号; 4、用流程图描述简单的算法。 (二)教学难点 5、算法的描述(三种); 6、用流程图描述算法。 三、教学环境 1、教材处理 通过物理学中的实例了解算法的概念和算法的描述方法掌握用计算机解决实际问题的一般步骤。用多媒体教学网开展教学;用“先自主探究,后教学指导”的方法进行教学。 2、所需软件:学生机要安装VB6.0或以上版本。 3、教学方法:任务驱动法 学时:1学时 四、教学过程 教学内容预期目标导入: 一、对算法的初步了解 1.一个简单的物理问题: 书中例6-1-1:求物体在恒力作用下的加速度。 根据在物理课中学过的知识,要解决这个问题有多种方法:(学生讨论) 方法一: a) 测量出物体的质量m、拉力F和滑动摩擦力f b) 将测量所得的数据输入计算机 c) 根据牛顿第二定律F-f=m*a,计算出加速度a d) 输出所得的结果 方法二: a) 测量出物体从静止开始移动的距离s、时间t b) 将测量所得的数据输入计算机引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念 引导出算法的概念 介绍三种算法的表达方式,

算法与算法描述教学设计

算法与算法描述教学设 计 公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

算法与算法描述教学设计 一、教学目标 (一)知识与技能 1.充分理解掌握算法的概念及其特点 2.学会用自然语言来准确地描述算法 3.认知流程图的六种基本符号,用流程图描述简单的算法 4.理解科学合理的选择和设计算法 (二)过程与方法 1.通过问题的解决,培养学生观察流程图问题、分析问题和解决问题的能力 (三)情感态度与价值观 激发学生学习算法设计的兴趣,使学生积极参与,发挥他们的主动性,激发他们的求知欲;认识计算机只是工具,合理的指挥和控制计算机来解决学习和生活中的问题。 二、内容分析

教学重点: 1. 充分理解掌握算法的概念及其特点 2. 学会用自然语言和流程图来准确地描述算法 教学难点: 学会用自然语言和流程图来准确地描述算法 三、学生分析 在必修模块“编制计算机程序解决问题”部分以及本章第一节的学习中,学生已经经历了用计算机解决问题的基本过程,对VB开发环境有所了解,这些都为本节课的学习提供了良好的基础。(学生对本节内容的学习具备一定的基础知识和学习经验) 本节课有关知识、问题与数学学科联系紧密,学生具有相关的数学基础,因此理解起来相对容易。教学中要关注全体学生,变学生的个体差异为资源,发挥同伴互助作用,共同提高教学效率。 四、教学策略 1、教学方法:讲授法、演示法、任务驱动、情境教学

2、学习方法:协作学习、自主学习 五、教学过程

六、教学反思: 本课充分发挥了学生的主观能动性,在教学中教师一般是提出问题让学生思考探究、注重实践、互动交流;另外举例生动形象,简单明了,学生学习起来兴趣浓厚,学生在轻松愉快的过程中较好的掌握了算法的概念,理解算法的设计和优劣的选择。学生初步接触编程,设计好这堂课的内容,能够激起学生学习编程的兴趣。

第一章第二节 算法和算法的描述

第一章第二节算法和算法的描述 一、课程内容标准: 经历用自然语言、流程图或伪代码描述算法的过程 二、教学理念: 本节课的教学设计充分体现了《普通高中信息技术课程标准》中的基本理念,注重教学过程中三维目标的渗透,采用了以学生的学习和发展为中心,基于建构主义理论的任务驱动、情境教学、赏识教学等教学方法,突出自主、合作、探究等学习方法;强调信息技术与生活实际的联系,培养学生的逻辑思维能力、解决问题的能力等;设置多种形式的评价方式,让学生掌握学习内容的同时,形成交流与评价的能力。 三、教学分析: 1.教材分析: 本节课是广东教育出版社出版的普通高中《信息技术选修1算法与程序设计》第一章第2节的部分教学内容,包括有算法的概念、描述算法的过程、算法在解决问题中的地位和作用等。本章是全书的开篇和概述,而本节内容是本章的重要环节,是对前一节知识内容的进一步学习,也为后续章节的学习和开展多元化交流与合作做好必要的准备。 2.学情分析: 本节课的教学对象是高二年级学生,他们已具备了一定的逻辑思维、分析问题、表达思想等能力。在本课前一节里,学生已基本掌握了用计算机解决问题的步骤等基础知识,为本节课的学习提供了良好的基础。 3.课时安排:1课时 三、教学目标: 1.知识与技能: (1)理解算法的概念。 (2)经历用自然语言、流程图、伪代码等方法描述算法的过程。 (3)了解算法在计算机解决问题中的地位和作用。 (4)能初步利用算法解决简单的问题。

2.过程与方法: (1)能在学习过程中,学习发现知识的规律和方法并把它运用到解决实际问题中去。 (2)根据算法主题进行问题分析,选择适当的算法描述工具进行算法探究活动。 (3)通过对完成任务的过程和结果进行简单的评价。 3.情感态度与价值观: (1)引导学生关注算法在社会生活的应用,激发学生学习的热情。 (2)培养学生运用计算机解决实际问题的意识,并初步形成严谨的逻辑思维习惯。 (3)培养学生合作意识、进取精神。 (4)引导学生初步了解评价的基本思想和方法,并形成反思的意识。 四、教学重点:经历用自然语言、流程图、伪代码等方法描述算法的过程。 五、教学难点:用流程图来描述算法。 六、教学方法:讲授法、演示法、任务驱动、情境教学、分层教学 七、学习方法:协作学习、自主学习 八、教学策略:情境创设→目标导航→任务引领→自主探究→交流评价→总结拓展 九、教学资源: 1.硬件资源:多媒体网络教室、投影仪等。2.软件资源:office软件十、教学过程

高中算法与算法的描述

第一章算法与算法的描述 1.算法的定义 算法:就是解决问题的思想方法,对解题过程的精确描述。计算机解决问题的步骤为分析问题、设计算法、编写程序、调试程序。算法是程序设计的“灵魂”,最核心过程。 2.法的特征 一个算法应该具有以下五个重要的特征: 1、有穷性:一个算法必须保证执行有限步之后结束; 2、确定性:算法的每一步骤必须有确切的定义; 3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件; 4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的; 5、可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成;(也称之为有效性) 3.算法的描述方法 算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。 (1)自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。 例1:求圆的周长和面积 算法如下:(自然语言描述法) (1)输入半径r ; (2) 计算周长c=2*π*r ; (3) 计算面积 s=π*r*r ; (4) 输出周长c,输出面积s ; (5) 结束 例2:工人每天工作8小时,每小时9元,超过8小时的每小时增加15%的加班费,计算工人每天的应发的日工资。(1)输入工作小时X (2)判断X值,分别计算 ●X小于8,工资=X*9 ●X大于8,工资=X*9+(X-8)*9*0.15 (3)输出工资 (4)结束 练习:求三个数中的最大数。(用自然语言描述) (2)流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。

算法设计与分析试卷(2010)

算法设计与分析试卷(A 卷) 一、 选择题 ( 选择1-4个正确的答案, 每题2分,共20分) (1)计算机算法的正确描述是: B 、D A .一个算法是求特定问题的运算序列。 B .算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。 C .算法是一个对任一有效输入能够停机的图灵机。 D .一个算法,它是满足5 个特性的程序,这5个特性是:有限性、确定性、能 行性、有0个或多个输入且有1个或多个输出。 (2)影响程序执行时间的因素有哪些? C 、D A .算法设计的策略 B .问题的规模 C .编译程序产生的机器代码质量 D .计算机执行指令的速度 (3)用数量级形式表示的算法执行时间称为算法的 A A .时间复杂度 B .空间复杂度 C .处理器复杂度 D .通信复杂度 (4)时间复杂性为多项式界的算法有: A .快速排序算法 B .n-后问题 C .计算π值 D .prim 算法 (5)对于并行算法与串行算法的关系,正确的理解是: A .高效的串行算法不一定是能导出高效的并行算法 B .高效的串行算法不一定隐含并行性 C .串行算法经适当的改造有些可以变化成并行算法 D. 用串行方法设计和实现的并行算法未必有效 (6)衡量近似算法性能的重要标准有: A A .算法复杂度 B .问题复杂度 C .解的最优近似度 D .算法的策略 (7)分治法的适用条件是,所解决的问题一般具有这些特征: ABCD A .该问题的规模缩小到一定的程度就可以容易地解决; B .该问题可以分解为若干个规模较小的相同问题; C .利用该问题分解出的子问题的解可以合并为该问题的解 D .该问题所分解出的各个子问题是相互独立的。 (8)具有最优子结构的算法有: A .概率算法 B .回溯法 C .分支限界法 D .动态规划法 (9)下列哪些问题是典型的NP 完全问题: A .排序问题 B .n-后问题 C .m-着色问题 D .旅行商问题 (10)适于递归实现的算法有: C A .并行算法 B .近似算法 C .分治法 D .回溯法 二、算法分析题(每小题5分,共10分) (11)用展开法求解递推关系: (12)分析当输入数据已经有序时快速排序算法的不足,提出算法的改进方案。 ???>+-==1 1)1(211)(n n T n n T

第二节 算法和算法描述

第二节算法和算法描述 一、基本说明 1模块:高中信息技术基础 2年级:高中二年级 3所用教材版本:上海科技教育出版社 4所属的章节:第一章第二节 5学时数:40分钟(多媒体教室授课) 二、教学设计 1、教学目标: (1)、知识与技能目标: ①、了解算法的基本概念和特点; ②、掌握算法的描述方法;能用自然语言、流程图、伪代码描述算法;(2)、过程与方法目标: 通过分析实际生活中的问题,理解和熟悉自然语言、流程图和伪代码等清晰描述解决问题的过程,确立算法的概念; (3)、情感态度价值观目标: ①、通过对生活中具体实例的分析和解决,激发学生的学习兴趣。培养学生的 自主探究能力; ②、通过算法描述,锻炼学生自行分析问题及解决问题的能力,培养学生严谨 的思维习惯; ③、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学 习理念。 2、内容分析: 本课是高二第一章的内容,也是整个《算法与程序设计》模块的基础知识,本节内容对后续章节的学习起着十分重要的作用,让学生从整体上计算机解决 实际问题的过程;因本节内容在高一数学模块三第一章中学生已有初步接触, 比较简单,教师可根据具体情况有所深入地进行授课。

3、学情分析: 学生具有一定的分析问题、解决问题的能力,并且在高一数学模块三中对算法的概念和用流程图描述算法有初步的了解,且已初步了解面向过程的三种 结构,但未对算法形成抽象认识和理解;还不能对算法做出恰当的描述。 4、设计思路: 本节课是一堂理论性的课,又缺乏理论的深度,如果只由教师讲解就会显得比较枯燥,因此本堂课的设计思路是从具体的案例入手,引导学生进行思考、讨论,最后得出基本的结论,形成一定的概念,达到理解和应用的目的。教师 的主要任务在于积极引导,调动学生的积极性。 三、教学过程

算法和算法的描述教案

算法和算法的描述(教学案例) 教材分析: 这节课内容主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。 学生分析: 学生基本上没有接触过编程,那么在高中阶段初步接触编程,学生首先会感到很深奥,看到书中的程序语句,尤其是看到后面的长一点的程序语句更是觉得可怕,那教师必须要考虑在授课中如何正确引导,以什么样的方式进行。学生有没有兴趣学,往往看这个课是不是有意思,难不难学,一看难学又乏味,就开始产生厌学的情绪。 教学目标: 引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,为程序设计打好基础。 教学重点: 算法的概念、算法的设计和选择。 教学难点: 如何科学合理的选择和设计算法。 教学方法: 与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。 教学过程: 1、引导学生对编程的兴趣 (1)教师:同学们喜欢玩电脑游戏吗? (2)学生:喜欢!(说到游戏学生总是表现出很浓的兴趣。) (3)教师:在上机练习课的时候,总发现有个别同学偷偷的玩游戏,其实你们喜欢,老师也很喜欢,那么同学们想不想自己编个游戏来玩呀? (4)学生:会不会很麻烦!(学生表现出好奇,又对编程心里还没有底。) (5)教师:不用担心,编程并不像你们所想像的那样难,很快你们就会编一些小游戏程序了。其实编程是件非常有意思的事情,在以后的学习中你会发现自己越来越喜欢编程,甚至会着迷的。 2、算法的概念 (1)教师:幻灯片出示一个经典的趣味性例子, 有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河? (2)教师:分组讨论,前后四个同学为一组,把你们的橡皮擦放到一块,分别写上狼、羊、白菜,你们自己是牧羊人,现在请同学们来设计一个方案,把3样东西安然无恙的带过河。我们来比一比看哪组同学最快完成。 课堂立即活跃起来,同学们把它当作一种游戏全都投入进去了,积极思考起来。 (3)很快就有学生举手回答。 过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河。 (4)教师:同学们这个方案行不行? (5)学生:行。

算法设计与分析C++语言描述(陈慧南版)课后答案

第一章 15P 1-3. 最大公约数为1。快1414倍。 主要考虑循环次数,程序1-2的while 循环体做了10次,程序1-3的while 循环体做了14141次(14142-2循环) 若考虑其他语句,则没有这么多,可能就601倍。 第二章 32P 2-8.(1)画线语句的执行次数为 log n ????。(log )n O 。划线语句的执行次数应该理解为一格整体。 (2)画线语句的执行次数为 111 (1)(2) 16 j n i i j k n n n ===++= ∑∑∑。3()n O 。 (3 )画线语句的执行次数为 。O 。 (4)当n 为奇数时画线语句的执行次数为 (1)(3) 4 n n ++, 当n 为偶数时画线语句的执行次数为2 (2)4 n +。2()n O 。 2-10.(1)当1n ≥时,225825n n n -+≤,所以,可选5c =,01n =。 对于0n n ≥,22 ()5825f n n n n =-+≤,所以,22 582()n n n -+=O 。 (2)当8n ≥时,2222 582524n n n n n -+≥-+≥,所以,可选4c =,08n =。对于0n n ≥, 22()5824f n n n n =-+≥,所以,22582()n n n -+=Ω。 (3)由(1)、(2)可知,取14c =,25c =,08n =,当0n n ≥时,有22212582c n n n c n ≤-+≤,所以 22582()n n n -+=Θ。 2-11. (1) 当3n ≥时,3 log log n n n <<,所以()20log 21f n n n n =+<,3 ()log 2g n n n n =+>。可选21 2 c = ,03n =。对于0n n ≥,()()f n cg n ≤,即()(())f n g n =O 。注意:是f (n )和g (n )的关系。 (2)当4n ≥时,2 log log n n n <<,所以2 2 ()/log f n n n n =<,2 2 ()log g n n n n =≥。可选1c =,04n =。对于0n n ≥,2 ()()f n n cg n <≤,即()(())f n g n =O 。 (3)因为log log(log )()(log ) n n f n n n ==,()/log log 2n g n n n n ==。当4n ≥时,log(log )()n f n n n =≥,

高中信息技术算法和算法描述教案沪教版

算法和算法描述 一、基本说明 1模块:高中信息技术基础 2年级:高中二年级 3所用教材版本:上海科技教育出版社 4所属的章节:第一章第二节 5学时数: 40分钟(多媒体教室授课) 二、教学设计 1、教学目标: (1)、知识与技能目标: ①、了解算法的基本概念和特点; ②、掌握算法的描述方法;能用自然语言、流程图、伪代码描述算法; (2)、过程与方法目标: 通过分析实际生活中的问题,理解和熟悉自然语言、流程图和伪代码等清晰描述解决问题的过程,确立算法的概念; (3)、情感态度价值观目标: ①、通过对生活中具体实例的分析和解决,激发学生的学习兴趣。培养学生的自主 探究能力; ②、通过算法描述,锻炼学生自行分析问题及解决问题的能力,培养学生严谨的思 维习惯; ③、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习 理念。 2、内容分析: 本课是高二第一章的内容,也是整个《算法与程序设计》模块的基础知识,本节内容对后续章节的学习起着十分重要的作用,让学生从整体上计算机解决实际问题的过程;因本节内容在高一数学模块三第一章中学生已有初步接触,比较简单,教师可根据具体情况有所深入地进行授课。 3、学情分析:

学生具有一定的分析问题、解决问题的能力,并且在高一数学模块三中对算法的概念和用流程图描述算法有初步的了解,且已初步了解面向过程的三种结构,但未对算法形成抽象认识和理解;还不能对算法做出恰当的描述。 4、设计思路: 本节课是一堂理论性的课,又缺乏理论的深度,如果只由教师讲解就会显得比较枯燥,因此本堂课的设计思路是从具体的案例入手,引导学生进行思考、讨论,最后得出基本的结论,形成一定的概念,达到理解和应用的目的。教师的主要任务在于积极引导,调动学生的积极性。 三、教学过程 教学阶段教师活动学生活动设计意图 一、引入1、出示渡河游戏,要求学生给出 解决的办法。 2、怎样在全班同学中找出最高的 同学? 积极参与,发表观 点,说出解决的办 法。 运用学生感兴趣 的事物,激发学 生的学习兴趣。 二、新课讲解(一)算法的概 念通过总结两个实例的算法分析过 程,引出算法的概念。 观看课件,与教师 探讨算法的意义。 引导学生将感性 认识提升为理性 认知。 (二)算法的特 征 展示高一数学模块三第一章的三 个例题,找出算法还具有两个特 点:一个算法有0或多个输入、1 或多个输出。 继续总结渡河游戏,得出算法具有 有穷性、确定性和可行性。 思考和分析范例, 领会算法的特征。 回顾实例,寻找规 律,共同总结。 调动学生对生活 的认识和体会, 融入对算法的学 习和理解。 (三)算法的表示——自然语 言利用渡河实例,细致分析算法,介 绍自然语言描述算法设计。 领会算法设计的过程:提出问题、 分析问题、设计算法。 提出问题:“求三个数中值最大的 数。”——分析问题——用自然语 言描述出算法。 分步骤讨论和分 析,会运用自然语 言设计实例的算 法。 对实例进行初步 算法设计,自然 语言易于理解, 为后续其他抽象 描述方法作铺 垫。 (四)算法的表示——流程图总结自然语言的优缺点,引出流程 图的表示方法,介绍流程图的基本 结构,分析其逻辑关系的表示。 提出问题:“求三个数中值最大的 数。”——分析问题——用伪代码 描述出算法。 积极探索、分析, 运用流程图描述 该问题的算法。 对比学习,加深 对各类算法设计 描述方法的认 识,培养学生设 计算法的能力。

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

《算法和算法的描述》教学设计 广东省佛山市南海区第一中学郭小喜 一、教材分析: 本节课是高中信息技术选修模块一《算法与程序设计》第一章第二节的内容,主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。 二、学生分析: 在数学中已学过程序设计模块,对算法有一定的初步基础,学习了结构语言的三种结构,并能编写一些较简单的程序。但是学生对结构的掌握并不是很熟练,他们对编程存在一定的畏惧情绪。 三、教学目标: 1.知识技能: (1)理解算法的概念; (2)能初步利用算法解决简单的问题。 2.情感领域: 培养学生的理论联系实际能力和动手操作能力。 3.能力发展: 培养学生自我探索信息,高效获取信息、分析评价信息、处理运用信息、表达呈现信息的能力,通过作品的制作、反思和评价,进一步提高其信息素养。 引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,激发学生的编程兴趣,为程序设计打好基础。 四、教学重点: 1、算法的概念 2、算法的描述 3、算法的设计 五、教学难点: 1、算法的选择。 六、教学手段: 与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。

1、贯彻新课标的理念,利用问题导学法教学,整个教学思路清晰,教学设计 环环相扣。 2、问题的设计结合教学内容与学生的实际,能够很好地引导学生对学生重点 与难点的把握。 3、举例简单明了,容易理解,并能够达到预定的教学效果。 4、算法的选择作为本节课的难点内容,通过【问题三】【问题四】二大问题 的设置,学生基本能够掌握与消化。 5、网络教学平台(https://www.doczj.com/doc/a418961430.html,/wljx)的使用,极大的加强了师生 之间的互动,对学生提交的作业(https://www.doczj.com/doc/a418961430.html,/wljx/wljxzpdp. asp?classid=5249)可以进行即时的点评,提高了课堂的教学效率。 九、教学反思 1、本节课的教学设计充分考虑到学生在数学模块中对算法已进行了初步的学习,故对本节课的内容和数学模块中的算法进行了比较详细的研究,确定了本节的教学重点与难点,从这节课的教学过程来看,把握是比较到位的。对于算法的选择,在数学中并没有过于深入的讲解,本节课通过问题三和问题四的设置,可以让学生对此有较深入的理解,从课堂效果上来看,基本达到预定目标。 2、从学生对问题二提交的算法来看,有部分学生对循环结构掌握得并不好,如do…loop until 写成do…until ;有些直接用条件语言IF来实现循环结构;有的对DO语句的条件写错。 3、本节课利用问题导学法进行教学,让学生对问题进行探究,有效的调动

第三章第二节算法及其描述(一)

山东省青州实验中学校训:公善勤实 课题名称:算法及其描述(一) 命题人、使用人: 审核人:使用日期: 学习目标 了解算法的概念,能够对算法进行描述。 -------------------------------------------------------------------------------------------------------- -------------- 【上节重点回顾】 利用计算机解决问题的正确步骤是()1设计算法2调试运行程序3分析问题4编写程序 A、1 2 3 4 B、3 1 2 4 C、3 4 2 1 D、3 1 4 2 【导入】 有一个农夫带着一头羊,一匹狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东 西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,农夫应如何过河?请同学们以小组为单位,讨论一下农夫该如何才能安全的渡河,写下你们的渡河方案,看看哪一组最快? 【任务一】结合课本P48-51总结算法的概念及描述。 1、算法:是指在求解某一问题所使用的一组的。对计算机来说,算法就是用计算机求解某一问题的,是能被机械地执行的的集合。 2、算法的描述有三种:、、。 【任务二】 设计一个算法,解决鸡兔同笼问题:在笼中有鸡、兔若干,已知有头a个,有脚b只,求各有多少只鸡和兔。 一、用自然语言描述算法(不常用) 用自然语言描述算法就是用人们日常所用的语言,如汉语、英语等来描述算法。 (1)开始 (2)输入a和b的值 (3)求x=2a-b/2 (4)求y=b/2-a (5)输出x、y的值 (6)结束 二、用流程图描述算法(最常用的方法,需要大家掌握) 用流程图描述算法是用程序框图来描述算法的一种表示方法。 图形名称功能 开始/结束表示算法的开始或结束 输入/输出表示算法中变量的输入与输出 处理表示算法中变量的计算与赋值 判断表示算法中的条件判断 流程线表示算法中的流向 连接点表示算法中的转接

算法的描述与设计

课题:算法描述与设计》 教学目标: 1.进一步理解什么是;算法,知道算法的多样性 2.能够对设计的算法做简装的评价 3.学会利用自然语言、流程图和伪代码来描述算法 教学内容 1.了解什么是算法及其特征 2.学习三种描述算法语言 教学重点:通过例子设计算法 教学难点:三种描述算法语言的使用 课时数:1课时 正课讲解 一、算法是“灵魂” 1.算法存在于人们生活中,如:上街购物、顾客付款、营业员(主)找银等。 2.“韩信点兵问题”有不同的求解过程,就有不同的算法。 有N个人,除以3,5,7,分别余2,3,2,求N。 3.算法——解决问题的方法和步骤。 算法是尼克劳斯.沃斯(N.Writh)提出的,他指出:算法+数据结构=程序。 (即算法不能单独构成程序,它必须和数据结构合二为一) 4.算法的发现 时间:公元前3000年~公元前1500年地点:巴比伦 巴比伦人求解“算法”的过程:先用解代数方法,再计算实际数目,最后写上一句短句“这就是一个过程”。

5.算法的特征 我们曾在必须修课中提过一点算法,如:冒泡排序法。 例:计算1+2+3+……+100=? 分析:这个算法有限制范围,可以在有限时间内完成,这是算法的第一个特征:有穷性。计算此算法可以用纸笔、算盘、运算器 和计算机来完成,且计算过程是多样的,但结果是唯一的。这就是算法的可行性、确定性。 计算方法: ⑴把这100个数按顺序相加。 ⑵用凑数法:1+99=100,2+98=100,3+97=100,……,49+51,最后只剩下50和100。 ⑶令S=0,使1≤n≤100,先执行S=S+n ⑴,再执行n=n+1 ⑵ n=1,S=0时,S(0)=1 n=2,S=1时,S(0)=3 n=3,S=3时,S(0)=6 n=4,S=6时,S(0)=10 n=5,S=10时,S(0)=15 n=6,S=15时,S(0)=21…… 算法的另外一个特征:输入、输出。 练习:水仙花数问题,如153=1^3+5^3+3^3,分析它应满足什么条件才能使用此方法? 二、如何描述算法 1.用自然语言描述算法 ⑴自然语言——人们日常生活中使用的语言。 ⑵此种语言的特点:通俗语易懂,缺乏直观性和简洁,且易产生歧义。 使用此种语言的注意事项:描述要求尽可能精确,详尽。

第1课 算法及其描述方法

第1课算法及其描述方法 教学设计思想: 教学目标: (1)知识与技能: ①理解算法的概念 ②掌握算法的五个特征 ③了解算法的三种描述方法 ④掌握流程图的各个框图的功能及画法 (2)过程与方法: ①学生通过联系实际生活、协作讨论例题的方法,理解算法的概念和掌握算法的特 征。 ②学生通过思考和参与课堂练习的方法,熟练掌握流程图的各个框图的功能及算 法。 (3)情感态度与价值观: ①学生通过联系日常生活,体会和理解算法的概念,知道算法在程序设计中的重要 性。对常见事物和现象能提出问题,深入思考,进行自主和探究式学习 ②学生之间通过协作学习和课堂讨论,培养学习的积极性和同学之间的协作性。 教学重点: 流程图表示算法 教学难点: 流程图表示算法 教学过程设计: 1、算法的概念 讨论:用没有刻度的3毫升量杯和5毫升量杯如何量出1毫升的水?请写出自己的解决步骤。 方法一: ①将3毫升的量杯装满 ②将3毫升量杯中的水注入5毫升量杯 ③将3毫升的量杯装满 ④将3毫升量杯中的水注入5毫升量杯,注满后,3毫升量杯中剩余的就是1毫升水。 方法二: ①将5毫升的量杯装满 ②将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余2毫升水 ③将3毫升量杯倒空

④将5毫升量杯中剩余的2毫升注入3毫升量杯 ⑤将5毫升量杯装满 ⑥将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余4毫升水 ⑦将3毫升量杯倒空 ⑧将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余1毫升水 结论: (1)算法是为解决某一问题而设计的确定的、有限的求解步骤。 (2)算法不是唯一的,针对同一问题的算法可以有多种。 2、算法的特征: (1)有穷性 广义地说,“有穷性”一般指操作步骤的数量有限或能在合理的时间范围内完成全部操作。算法可以有重复执行的步骤,只要这些步骤的执行能够终止。有些算法虽然是有穷的,但它所花费的时间如果超出了合理的限度,如天气预报采用的算法若要几个月后才能计算出来,那就不能算是有效地算法。 例1:判断下列算法是否符合算法的特征 ①给s赋值为1 ②将s的值增加1 ③重复步骤② 解答:该算法的步骤②将被重复执行无穷次,不符合有穷性 (2)确定性 算法中的每个步骤必须有确切的含义,而不应当是含糊的、模棱两可的。 例2:判断下列算法是否符合算法的特征 ①L=10 ②输出L/自然数 解答:正整数没有具体指明是哪个数,不符合算法的确定性 (3)可行性 算法中每一个步骤都是要能够实际做到的,而且是在有限的时间内完成。 例3:判断下列算法是否符合算法的特征 ①x= -2 ②计算x的平方根 解答:x是负数,没有平方根,该算法不可行,不符合算法的可行性。 (4)有0个或多个输入

算法和算法的描述

算法和算法的描述 一、教学内容 算法和算法的描述 二、教学目标 1.充分理解掌握算法的概念及其特点 2.学会用自然语言来准确地描述算法 3.认知流程图的六种基本符号,用流程图描述简单的算法 4.理解科学合理的选择和设计算法 5.通过问题的解决,培养学生观察流程图问题、分析问题和解决问题的能力 三、重点难点 1.学会用自然语言和流程图来准确地描述算法 2.算法的三种基本结构 四、教学过程 (一)算法的的概念及自然语言描述 教师活动:说明”狼菜羊过河”的游戏规则 学生活动:前后四个同学为一组,设计方案,比一比看哪组同学最快完成。记录实际过河过程,完成学案中相关应部分内容的填写

教师活动:指导学生将自己的方案用规范的自然语言的形式表示(学案)样例:过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河。 教师活动:收集学生的过河方案,并将其用自然语言的形式展示于黑板上教师小结: 1、算法的概念 2、算法的特征 3、算法的择优 (二)用流程图描述算法 教师活动:介绍流程图的作用,讲解流程图所用的基本符号及功能 学生活动:在学案中完成流程图的拼接 教师活动:点评学生流程图,对照自然语言表达归纳流程图表达的优缺点(三)用程序实现算法 教师讲解:编写程序即把人们设计的算法转换成计算机能够识别的代码。

(四)算法的三种基本结构 1、顺序结构 2、分支结构 3、循环结构 (五)课堂小结 1.算法形成的过程:自然语言表示的算法----流程图表示的算法----算法的程序表示 五、教学反思 1、整个课堂教学气氛非常活跃,条理清楚,不同层次的学生都能积极参与到课堂讨论中来。主要得益于两个方面:一是利用两个生动且富有挑战性的经典问题,二是教师的演示和学生动手调试程序环节,将学生牢牢的吸引住;同时本课很多内容都是基于高一数学模块三中的已学知识,知识点的难度小。如算法及其描述方式在高一数学中已有介绍,所以整堂课学生的参与度高。 2、本节课利用问题导学法进行教学,让学生对问题进行探究,有效的调动了学生的学习积极性。 3、本节课的课堂气氛没有预想中的好,可能与教学内容和问题的设置有一定的关系,这也从一定程度上反映出学生对于算法存在畏惧心理,对于老师提的问题不敢大胆发言。

算法设计与分析(详细解析(含源代码)

常用算法设计方法 要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个重要方面。 算法是问题求解过程的精确描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正确地描述了要完成的任务和它们被执行的顺序。计算机按算法指令所描述的顺序执行算法的指令能在有限的步骤内终止,或终止于给出问题的解,或终止于指出问题对此输入数据无解。 通常求解一个问题可能会有多种算法可供选择,选择的主要标准是算法的正确性和可靠性,简单性和易理解性。其次是算法所需要的存储空间少和执行更快等。 算法设计是一件非常困难的工作,经常采用的算法设计技术主要有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法等等。另外,为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。 一、迭代法 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行: (1)选一个方程的近似根,赋给变量x0; (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; (3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。 若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C程序的形式表示为: 【算法】迭代法求方程的根 { x0=初始近似根; do { x1=x0; x0=g(x1);/*按特定的方程计算新的近似根*/ } while ( fabs(x0-x1)>Epsilon);

算法的表示方法

算法的表示方法 算法的常用表示方法有如下三种: 1、使用自然语言描述算法 2、使用流程图描述算法 3、使用伪代码描述算法 我们来看怎样使用这3种不同的表示方法去描述解决问题的过程,以求解sum=1+2+3 +4+5……+(n-1)+n为例。 第1种:使用自然语言描述从1开始的连续n个自然数求和的算法 ①确定一个n的值; ②假设等号右边的算式项中的初始值i为1; ③假设sum的初始值为0; ④如果i≤n时,执行⑤,否则转出执行⑧; ⑤计算sum加上i的值后,重新赋值给sum; ⑥计算i加1,然后将值重新赋值给i; ⑦转去执行④; ⑧输出sum 的值,算法结束。

从上面的这个描述的求解过程中,我们不难发现,使用自然语言描述算法的方法虽然比较容易掌握,但是存在着很大的缺陷。例如,当算法中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话——“武松打死老虎”,我们既可以理解为“武松/打死老虎”,又可以理解为“武松/打/死老虎”。自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如“你输他赢”这句话,使用不同的语气说,可以产生3种截然不同的意思,同学们不妨试试看。为了解决自然语言描述算法中存在着可能的二义性,我们提出了第2种描述算法的方法——流程图。 第2种:使用流程图描述从1开始的连续n个自然数求和的算法 从上面的这个算法流程图中,可以比较清晰的看出求解问题的执行过程。在进一步学习使用流程图描述算法之前,有必要对流程图中的一些常用符号做一个解释。

流程图的缺点是在使用标准中没有规定流程线的用法,因为流程线能够转移、指出流程控制方向,即算法中操作步骤的执行次序。在早期的程序设计中,曾经由于滥用流程线的转移而导致了可怕的“软件危机”,震动了整个软件业,并展开了关于“转移”用法的大讨论,从而产生了计算机科学的一个新的分支学科——程序设计方法。 无论是使用自然语言还是使用流程图描述算法,仅仅是表述了编程者解决问题的一种思路,都无法被计算机直接接受并进行操作。由此我们引进了第三种非常接近于计算机编程语言的算法描述方法——伪代码。 第3种:使用伪代码描述从1开始的连续n个自然数求和的算法 1) 算法开始; 2) 输入n 的值; 3) i ← 1;/* 为变量i 赋初值*/ 4) sum ← 0;/*为变量sum 赋初值*/ 5) do while i<=n /*当变量i <=n 时,执行下面的循环体语句*/

1.2算法描述与设计

1.2 算法描述与设计 教材分析 本节是高中信息技术选修课《算法与程序设计》(教科版)第一章“如何用计算机解决问题”的第二节“算法描述与设计”。 本节主要是让学生在已有的数学算法的基础上,对算法作了进一步的总结和提升,强调让学生学会用不同的方法描述算法。 学生分析 学生在数学课中对算法已经有所了解,特别是用“自然语言”和“流程图“描述算法,高一数学中已经讲过了,所以教师可以让学生自己先尝试完成。 教学目标 l 知识与技能 进一步理解什么是算法,知道算法的多样性 l 过程与方法 1、能够对设计的算法作简单的评价。 2、学会用自然语言、流程图和伪代码来描述算法。 l 情感、态度及价值观 教师注意结合实例给学生讲解,帮助学生建立并保持其学习程序设计的兴趣和信心。 教学重、难点 l 重点:算法的三种描述方法:自然语言、流程图和伪代码。 l 难点:结合实例分析算法的三种描述方法。 教学策略 l 教学思路 作品欣赏——进入算法(解决问题的方法和步骤)——算法的三种描述方法(结合实例:韩信点兵问题、闰年的判断)。 l 媒体选择 1、网络教室(有投影仪和卷幕等) 2、教师自制ppt课件(主要用来展示板书内容) 3、教师用VB自制的简单计时器、其他用VB设计的小程序等。 l 课时安排 1课时。 教学过程 一、作品欣赏、引入新课 学生活动:欣赏利用VB制作的小作品:九九乘法表、智能计算器、打靶游戏、十二中学生辩论赛计时器。 教学总结:刚才同学们看到的都是利用VB制作的小程序,其中有老师自己制作的,也有老师从网上下载的,同学们想不想自己动手制作自己喜欢的小程序哪?比如自己开发的小游戏等。 二、结合实例、讲解新课 (一) 算法是“灵魂” 教师活动:从今天开始我就教大家如何制作自己喜欢的小程序。那,在制作作品之前,我们要先了解程序设计的相关知识:

算法和算法描述教案

一、教学内容:算法和算法的描述(选修1算法与程序设计广东教育出版社) 二、教学课时:1课时 三、教学地点:计算机室2 四、教学目标: 1、知识目标 (1)明白算法的概念,理解算法的特征。 (2)掌握算法描述的三种方法,能看懂流程图。 (3)了解算法的意义,找出三种算法描述的优缺点。 2、技能目标 (1)知道在什么场合应该用什么算法描述。 (2)能对算法和算法的描述正确定位,能用算法解决实际问题,为学习后面的程序设计打下基础。 3、情感目标 (1)能把现实社会中的问题用算法描述出来,培养学生们的合作精神和想象能力,以提高学生们的信息素养。 五、教学方法:任务驱动法 六、教学重点: 算法的概念、描述算法的三种方法。

七、教学难点: 用流程图描述算法。 八、教学过程 1.激发兴趣、创设情景 这节课内容主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。 举出一个例子如炒土豆丝如何做?引导学生们一步步说出步骤,最后教师总结:算法就是解决问题的方法和步骤。在以后的编程中也要记住了,有些步骤是可以颠倒的,不影响程序的结果;但是有些一但颠倒了那最终的结果也就全变了。 2.讲.解 激发学生的兴趣后对算法、算法的特征(确定性、有穷性)进行讲解,注意运用生活中的实例,以便让学生们理解。 讲述算法的三种描述方法:自然语言、流程图、伪代码。学生们比较熟悉的是自然语言,陌生难理解的是流程图和伪代码。 先带学生们了解自然语言,然后讲伪代码,讲完伪代码后,引导学生们如何把这些程序用流程图表示出来。

相关主题
文本预览
相关文档 最新文档