1.1初识算法与程序设计 教学设计

合集下载

《初识算法与程序设计课程》教学案例分析

《初识算法与程序设计课程》教学案例分析

龙源期刊网 《初识算法与程序设计课程》教学案例分析作者:石慧来源:《学习与科普》2019年第04期【教学背景】《算法与程序设计》课程是高中信息技术课程选修五大模块之一,讲授内容主要为VB程序设计。

课程改革强调培养学生的兴趣及实践能力,我们选择程序技术作为选修内容,也正是考虑到程序设计的趣味性、实践性适合高中生的发展。

学生方面,对于程序设计课程为零基础。

本节作为整个学期的第一节课,主要教学目标是让学生认识信息技术,了解算法与程序设计课程。

通过对课程的了解激发学生学习的热情及培养学生的创新能力等。

【案例描述】一、情境导入教师:“首先给大家讲一个小故事,话说二十世纪七十年代,Bill和Paul是一对喜欢玩游戏的好朋友,他们经常一起玩游戏,但是玩来玩去觉得没有意思,就想自己设计游戏自己玩。

他们开发了一种叫做Basic的语言来自己编写游戏。

碰巧的是,正好赶在个人电脑飞速发展的时期,很多厂家对这种语言非常感兴趣,于是他们就成立了自己的软件公司来出售Basic。

”教师:“讲到这里,大家一定猜到他们是谁了吧?”学生:“比尔盖茨!”教师:“没错,这个Bill就是当今享誉世界的比尔盖茨,这个公司就是早期的微软;Paul. Allen后来也成功的组建了自己的公司。

而微软出售的第一款软件也正是Basic。

Basic发展到今天已经有很多版本,如GW-Basic、QuickBasic、QBasic、Visual Basic等等。

”教师:“那么同学们想不想走进程序设计,成为下一个比尔盖茨呢?”二、新课教学1、学习目标教师:同学们小学初中都上过信息技术课,那么同学们一起来说一说以前的信息技术课都学了什么?那么学会了什么?学生A:学了word。

《算法与程序设计》教学设计

《算法与程序设计》教学设计

《算法与程序设计》教学设计教学目标:1.培养学生对算法和程序设计的兴趣,提高算法和程序设计的能力;2.使学生理解并掌握常见算法的基本原理和应用;3.掌握常见的编程技巧和调试方法;4.培养学生解决问题的能力和创新思维。

教学内容:1.算法的概念和分类;2.算法与程序设计的关系;3.常见的算法和编程技巧;4.程序调试方法和技巧;5.算法在实际应用中的案例分析。

教学步骤:第一步:引入通过介绍实际生活中算法的应用场景,激发学生对算法和程序设计的兴趣。

例如,介绍手机上的地图导航、引擎、社交网络等都使用了算法来实现功能,引导学生思考这些功能的背后是如何实现的。

第二步:讲解算法的概念和分类通过PPT或板书等方式,讲解算法的概念,即解决问题的方法和步骤的有限序列。

同时详细介绍常见的算法分类,如贪心算法、动态规划算法、回溯算法等。

给学生提供一些具体案例,让学生能够理解不同类型的算法解决不同问题的原理和思路。

第三步:讲解算法与程序设计的关系通过具体案例分析,让学生理解算法与程序设计的关系。

解释算法是抽象的思想过程,而程序是具体的实现。

通过编程语言的介绍,让学生了解如何用程序来实现算法,并通过编写简单的程序来加深学生的理解。

第四步:讲解常见的算法和编程技巧根据学生的实际情况,讲解常见的算法和编程技巧。

例如,排序算法、查找算法等。

并结合具体案例和实例代码,演示算法的实现过程和注意事项。

第五步:讲解程序调试方法和技巧通过介绍常见的程序错误和调试技巧,让学生学会如何调试程序。

例如,利用调试工具定位错误、使用断点调试等方法。

通过实例演示调试过程和注意事项,让学生掌握解决程序错误的技巧和方法。

第六步:案例分析通过实际案例分析,让学生了解算法在工程实践中的应用。

先介绍一个实际问题,然后引导学生思考如何用算法解决这个问题,最后给出算法的实现和应用。

通过讨论和分析案例,培养学生解决问题的能力和创新思维。

第七步:总结和评价对本节课的内容进行总结,并进行评估,检查学生对算法和程序设计的掌握程度。

算法与程序设计的教案范文

算法与程序设计的教案范文

算法与程序设计的教案范文一、教学目标1. 了解算法与程序设计的基本概念及其关系。

2. 掌握算法描述的方法和技巧。

3. 熟悉常见程序设计语言的基本语法。

4. 培养学生解决问题的能力,提高创新思维。

二、教学内容1. 算法与程序设计的基本概念讲解算法和程序设计的定义、特点和关系。

2. 算法描述方法介绍伪代码和流程图两种算法描述方法,并通过实例让学生学会使用这两种方法描述算法。

3. 常见程序设计语言基本语法讲解Python、C++、Java等三种常见程序设计语言的基本语法,包括变量、数据类型、运算符、控制结构等。

4. 算法实现与调试通过实例讲解如何将算法转换为程序,并进行调试和优化。

5. 算法与程序设计实践安排课后实践项目,让学生运用所学知识解决实际问题。

三、教学方法1. 讲授法:讲解基本概念、语法和算法描述方法。

2. 案例分析法:通过实例分析,让学生掌握算法描述和程序设计技巧。

3. 实践操作法:安排课后实践项目,让学生动手编写程序,提高实际操作能力。

4. 讨论法:鼓励学生相互讨论,培养团队合作精神。

四、教学评价1. 平时成绩:考察学生的出勤、课堂表现、作业完成情况。

2. 课后实践项目:评估学生在实践项目中的完成情况,包括算法设计、程序编写和调试能力。

3. 期末考试:设置理论题和上机题,测试学生对算法与程序设计知识的掌握程度。

五、教学资源1. 教材:选用权威、实用的算法与程序设计教材。

2. 课件:制作精美、清晰的课件,辅助讲解。

3. 编程环境:为学生提供合适的编程环境,如Python、C++、Java开发工具。

4. 网络资源:提供相关学习网站、论坛和在线教程,方便学生自主学习。

5. 实践项目:设计具有代表性的实践项目,培养学生解决实际问题的能力。

六、教学安排1. 课时:本课程共计32课时,包括16次授课,每次授课2课时。

2. 授课方式:教室授课,结合课后实践项目。

3. 进度安排:按照教材和教案内容进行授课,确保每个知识点都有足够的授课和练习时间。

算法与程序设计教案

算法与程序设计教案

算法与程序设计教案第一篇:算法与程序设计教案第一课初识算法与程序设计一、教学目标1、知识与技能(1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;(2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。

2、情感、态度、价值观学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、、表达呈现信息的能力,进一步提高其信息素养。

二、教学重点难点重点:算法概念的理解难点:如何科学合理的选择和设计算法。

三、教学策略与手段以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过Flash演示材料,比较直观地把抽象的问题简单化,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。

四、教学过程(1课时)(一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。

【问题一】天下真的有“不要钱的午餐”吗?某一餐馆门口海报上写着“不要钱的午餐”,规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费”。

于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题的步骤:①第一个座位5个人都有坐的机会②第二个座位只有4个人中的任一个有坐的机会(一个人不能同时坐两个座位)③第三个座位只有3个人中的任一个有坐的机会④第四个座位只有2个人中的任一个有坐的机会⑤第五个座位只有1个人有坐的机会⑥计算:5×4×3×2×1=120⑦得出结论:需要吃120次才有可能吃上免费午餐。

【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。

算法与程序设计教案

算法与程序设计教案

流程图描述算法
算法举例 1、素数判别
素数的定义:一个大于1的整数,如果它的正因数只有1和它 本身,就叫做素数,否则就叫合数。
如何判定给定正整数n是否为素数呢?根据定义。
从2开始找n的因子,若能找到一个介于2和n-1之间的 n的因子,说明n不是素数;否则,n是素数。
K = K+1
素数判别
开始
输入n的值
• 除非特别声明,程序都 从第一条语句开始顺序 执行。
• 程序总是施行操作于数 据。
• 数据一般应该有类型说 明。
• 条件语句 • 重复执行语句时必须指
明重复次数或重复条件。 • 程序本身是一个静态实
体,而执行语句的进程 是动态的。
程序的基本结构


顺序结构 选择结构
循环结构
程序设计
程序设计语言的产生与发展
……
'在所有的f (x,y,z)中,找出最大值 f_max = 0 For x = 0 To 4 For y = 0 To 3 For z = 0 To 8
If f_max < f(x, y, z) Then f_max = f(x, y, z)
f_max=f(x,y,z),x_max=x, y_max=y,z_max=z。
第一章 揭开计算机解决问题的 神秘面纱
1.1计算机解决问题的过程
针对课本P2的问题,运用你所学过的 数学知识,求解这个问题,并写出 解题的过程。
计算机解决问题的步骤
1、分析问题 2、设计算法 3、编写程序 4、调试程序
分析问题
设甲乙丙三种产品的产量分别为x、y、z件,根据题 目给出的条件,x,y,z应满足如下的关系式:
对鸡兔同笼问题的算法描述示例

算法与程序设计的教案

算法与程序设计的教案

算法与程序设计的教案1. 引言算法与程序设计是计算机科学中至关重要的两个概念。

算法指的是一系列解决问题的步骤,而程序设计则是将算法转化为计算机可以执行的代码。

作为一名计算机科学教师,设计一份完善的教案是教授算法与程序设计的前提。

本文将针对算法与程序设计的教学需求,提供一份完整的教案。

2. 教学目标本节将明确教学目标,确保教学过程的有效性。

教学目标如下: - 理解算法的概念和基本原理;- 掌握常见的算法设计方法;- 掌握程序设计的基本概念和技巧;- 能够设计简单的算法,并将其转化为可执行的程序;- 培养学生的逻辑思维和问题解决能力。

3. 教学内容本节将介绍教学内容,确保学生能够系统学习算法与程序设计。

教学内容包括:- 算法基础知识:算法的定义、特性和分类;- 常见算法设计方法:穷举法、贪心法、分治法、动态规划法等;- 程序设计基础知识:变量、数据类型、控制结构等;- 程序设计实践:使用编程语言实现算法。

4. 教学方法本节将确定教学方法,以提高教学效果。

选择合适的教学方法是教学成功的关键。

教学方法包括:- 讲授与演示相结合:通过讲解基本概念和原理,配以实际案例演示;- 互动式学习:引导学生进行思考和讨论,培养他们的主动学习能力;- 实践操作:提供编程实践机会,让学生通过实际操作加深理解;- 小组合作:组织学生进行小组项目实践,培养团队合作精神。

5. 教学步骤本节将详细介绍教学步骤,以确保教学过程的逻辑性和连贯性。

1) 引入算法的概念:通过实际问题引入算法的概念,激发学生的兴趣。

2) 讲解算法基础知识:介绍算法的定义、特性和分类,让学生对算法有更深入的理解。

3) 演示常见算法设计方法:以具体案例为例,演示穷举法、贪心法、分治法、动态规划法等常见算法设计方法。

4) 引入程序设计基础知识:介绍变量、数据类型、控制结构等基本概念,为后续的程序设计打下基础。

5) 实践操作:提供编程实践机会,让学生通过实际操作加深对程序设计的理解。

算法与程序设计全_教案

算法与程序设计全_教案

算法与程序设计全_教案一、教学目标本教学案的教学目标是引导学生了解算法和程序设计的基本概念,掌握常见的算法设计方法和程序设计技巧,培养学生的逻辑思维和解决问题的能力。

二、教学内容1.算法和程序设计的概念-什么是算法?-什么是程序设计?2.算法的设计方法-顺序结构-选择结构-循环结构3.常见的算法设计方法-分治法-动态规划-贪心算法4.程序设计的基本要素-变量-数据类型-运算符-控制结构-函数5.程序设计的技巧-模块化设计-编程风格-调试技巧-优化技巧三、教学过程1.导入通过提问引导学生思考:什么是算法?什么是程序设计?为什么学习算法和程序设计很重要?2.知识讲解介绍算法和程序设计的概念,并讲解常见的算法设计方法和程序设计技巧。

3.例题演示通过一些例题演示,展示算法和程序设计的应用。

4.练习与讨论让学生自己动手编写程序解决一些简单的问题,并进行讨论、比较各种算法和程序设计的优缺点。

5.小结与总结对本节课的知识进行小结和总结,并提醒学生继续努力提升自己的编程能力。

四、教学手段1.讲授法:通过讲解、示范和讨论来传授知识。

2.提问法:通过提问引导学生思考和参与讨论。

3.实践法:通过让学生编写程序解决问题来实践所学知识。

4.合作学习法:通过小组合作编程来培养学生的合作精神和团队意识。

五、教学评估通过学生的课堂表现、作业完成情况、小组合作情况等来评估学生的学习情况。

同时,也可以通过给学生布置一些编程任务,来考核学生的编程能力。

六、教学资源1.教材:选择一本合适的算法和程序设计教材作为参考。

2.电脑和编程软件:为学生提供电脑和编程软件进行实践。

七、教学延伸1.引导学生深入学习:鼓励学生通过自主学习和参与编程竞赛等活动来提高自己的算法和程序设计能力。

2.实践应用:引导学生将所学的算法和程序设计应用于解决实际问题,培养学生的创造力和解决问题的能力。

3.学科交叉:鼓励学生将算法和程序设计与其他学科(如数学、物理等)结合起来,探索更广阔的学习领域。

算法与程序设计教案

算法与程序设计教案

算法与程序设计教案一、教学目标本教案旨在通过对算法与程序设计的学习,使学生掌握以下知识和能力:1.理解算法的概念和基本特性;2.掌握常见的算法设计方法和技巧;3.熟悉常见的数据结构和算法;4.能够使用编程语言实现简单的算法和程序;5.培养学生的逻辑思维和问题解决能力。

二、教学内容1. 算法基础1.1 算法的概念和基本特性1.2 算法的表示方法1.3 算法的复杂度分析2. 算法设计方法和技巧2.1 贪心算法2.2 分治算法2.3 动态规划算法2.4 回溯算法3. 常见的数据结构和算法3.1 数组和链表3.2 栈和队列3.3 树和图3.4 排序算法4. 程序设计基础4.1 编程语言的基本语法和数据类型4.2 流程控制语句4.3 函数和模块化编程4.4 文件操作和异常处理5. 程序设计实践5.1 编写简单的算法和程序5.2 解决实际问题的编程实践三、教学方法本课程采用讲授、演示、实践相结合的教学方法,具体包括以下几个方面:1.讲授:通过讲解理论知识,让学生掌握算法和程序设计的基本概念和方法。

2.演示:通过实际操作演示,让学生了解算法和程序设计的具体实现过程。

3.实践:通过编写简单的算法和程序,让学生巩固所学知识,培养实际操作能力。

4.互动:通过课堂互动,让学生积极参与,加深对知识的理解和掌握。

四、教学评价本课程的教学评价主要包括以下几个方面:1.学生的学习成绩:通过考试、作业等方式,评估学生对所学知识的掌握程度。

2.学生的实践能力:通过编写算法和程序,评估学生的实践能力和解决问题的能力。

3.学生的课堂表现:通过课堂互动、讨论等方式,评估学生的学习态度和表现。

五、教学资源本课程的教学资源主要包括以下几个方面:1.教材:《算法与程序设计》等相关教材。

2.软件:编程语言的开发环境,如Python、Java等。

3.网络资源:相关的学习资料、教学视频等。

六、教学进度安排本课程的教学进度安排如下:教学内容学时数算法基础 4算法设计方法和技巧812常见的数据结构和算法程序设计基础8程序设计实践8总计40七、教学反思本课程的教学反思主要包括以下几个方面:1.教学方法:本课程采用了多种教学方法,但在实际教学中,需要根据学生的实际情况和学习进度,灵活调整教学方法。

科教版算法与程序设计教案

科教版算法与程序设计教案

科教版算法与程序设计教案一、教学目标1.了解算法与程序设计的基本概念和原理;2.掌握常用的算法思想和实现方法;3.能够运用所学的算法知识解决实际问题;4.培养学生的逻辑思维和编程能力;5.培养学生的团队协作和创新意识。

二、教学内容1.算法和程序设计的基本概念与原理;2.常用的算法思想和实现方法:递归、分治法、贪心算法、动态规划、回溯法等;3.编程语言的基本语法和常用数据结构;4.算法与程序设计在实际问题中的应用。

三、教学重点与难点1.掌握常用的算法思想和实现方法;2.能够灵活运用算法知识解决实际问题。

四、教学方法1.讲授与演示相结合的教学方法;2.注重理论与实践相结合,通过编写程序来加深学生对算法的理解;3.鼓励学生在实际问题中运用所学的算法知识进行创新。

五、教学步骤1.理论讲解与演示(1)介绍算法和程序设计的基本概念与原理;(2)讲解常用的算法思想和实现方法;(3)介绍编程语言的基本语法和常用数据结构;(4)讲解算法与程序设计在实际问题中的应用。

2.实践操作(1)通过编写简单的程序进行实践操作,加深学生对算法的理解;(2)组织学生进行小组合作,解决一些实际问题,培养团队协作和创新意识。

3.总结与评价(1)总结所学的算法知识和程序设计方法;(2)回顾解决实际问题的经验和教训;(3)评价学生的学习情况和团队合作能力。

六、教学资源1.教材:计算机科学与技术(第三版);2.多媒体教学软件;3.实验室设备:计算机、编程软件。

七、教学评价1.课堂表现评价:积极参与讨论、能够理解并运用算法知识解决问题;2.实践操作评价:编程实验程序正确运行、解决实际问题的能力;3.团队合作评价:完成小组合作任务,并能够有效地进行团队协作。

八、教学反思通过本教案的设计与实施,学生可以全面了解算法与程序设计的基本概念和原理,并且掌握常用的算法思想和实现方法。

同时,教学过程中注意培养学生的逻辑思维和编程能力,提高他们解决实际问题的能力。

算法与程序设计教案

算法与程序设计教案

算法与程序设计教案教案标题:算法与程序设计教案教学目标:1. 理解算法与程序设计的基本概念和原理;2. 掌握基本的算法设计和程序编写技巧;3. 培养学生的逻辑思维和问题解决能力;4. 培养学生的团队合作和沟通能力。

教学内容:1. 算法与程序设计的基本概念a. 算法的定义和特点b. 程序设计的基本流程和步骤c. 程序设计语言的选择和使用2. 基本的算法设计和程序编写技巧a. 顺序结构和选择结构的使用b. 循环结构和递归结构的使用c. 数据结构和算法的应用3. 算法与程序设计实践a. 简单的算法设计和程序编写实例b. 算法的优化和改进c. 程序的调试和测试教学步骤:第一课时:1. 导入:介绍算法与程序设计的重要性和应用领域,激发学生的学习兴趣。

2. 知识讲解:讲解算法的定义和特点,程序设计的基本流程和步骤。

3. 实例演示:通过一个简单的算法设计实例,演示程序的编写过程。

4. 练习:布置课后练习,要求学生设计一个简单的算法并编写程序实现。

第二课时:1. 复习:回顾上节课的知识点,检查学生的课后练习情况。

2. 知识讲解:讲解顺序结构、选择结构和循环结构的使用方法和注意事项。

3. 实例演示:通过一些实例,演示不同结构的算法设计和程序编写过程。

4. 练习:布置课后练习,要求学生设计一个包含多个结构的复杂算法并编写程序实现。

第三课时:1. 复习:回顾上节课的知识点,检查学生的课后练习情况。

2. 知识讲解:讲解递归结构、数据结构和算法的应用方法和实例。

3. 实例演示:通过一些实例,演示递归算法、数据结构和算法的应用过程。

4. 练习:布置课后练习,要求学生设计一个包含递归算法和数据结构的复杂程序实现。

第四课时:1. 复习:回顾上节课的知识点,检查学生的课后练习情况。

2. 知识讲解:讲解算法的优化和改进方法,程序的调试和测试技巧。

3. 实例演示:通过一些实例,演示算法的优化和程序的调试过程。

4. 练习:布置课后练习,要求学生对已有程序进行优化和调试。

算法与程序设计 教案

算法与程序设计 教案

算法与程序设计教案1-1节计算机解决问题的过程一、教学目标1、知识与技能(1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。

(2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。

(3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。

2、方法与过程(1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。

(2)培养学生调试程序的能力。

(3)培养学生合作、讨论、观摩、交流和自主学习的能力。

3、情感态度和价值观通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。

二、重点难点本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。

用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。

三、教学环境1、教材处理教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。

教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。

根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。

学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。

学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。

本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。

本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。

算法与程序设计教案

算法与程序设计教案

算法与程序设计教案算法与程序设计教案一、教学目标1. 理解算法的概念和基本特性;2. 掌握常见的算法设计方法;3. 掌握常见的程序设计语言;4. 能够运用所学知识解决实际问题。

二、教学内容1. 算法的概念和基本特性2. 算法设计方法3. 程序设计语言的基础知识4. 算法与程序设计的实际应用三、教学步骤1. 引入:通过实例引导学生认识算法的重要性和普遍存在的需求,了解算法与程序设计的关系。

2. 算法的概念和基本特性a. 讲解算法的定义和基本特性,如输入、输出、有限性、确定性、可行性等。

b. 通过示例展示不同算法的思路和解决方案。

3. 算法设计方法a. 分而治之:将一个大问题划分为若干个子问题,并逐个解决。

b. 动态规划:将一个问题划分为若干个相互重叠的子问题,并用递归的方式求解。

c. 贪心算法:在每一步选择中都采取当前状态下最好或最优的选择,从而希望导致全局最好或最优的结果。

d. 回溯法:将问题的解空间表示为树形结构,通过深度优先搜索的方式遍历整个解空间。

4. 程序设计语言的基础知识a. 讲解程序设计语言的基本语法和常用关键字。

b. 通过示例演示如何用程序设计语言实现算法。

5. 算法与程序设计的实际应用a. 分组算法:将一组数据按照特定规则进行分类和划分。

b. 查找算法:在一组数据中快速定位目标元素的位置。

c. 排序算法:将一组数据按照特定规则进行排序。

d. 图算法:解决图结构相关的问题,如最短路径、最小生成树等。

6. 总结与拓展:对本节课所学知识进行总结,并拓展到其他领域的应用。

四、教学工具1. 教学用例:准备一些实际问题的例子,以便学生理解算法与程序设计的实际应用。

2. 演示软件:可以使用编程软件(如Python、C++等)进行相关算法的示范演示。

五、教学评估1. 课堂提问:通过提问学生解答相关问题,检查学生对算法的理解和应用能力。

2. 课堂练习:设计一些简单的算法题目,让学生在课堂上完成,并及时进行讲解和评分。

算法与程序设计教案

算法与程序设计教案

算法与程序设计教案一、教学目标1.了解算法的基本概念和作用;2.掌握常用的算法设计方法;3.能够应用所学的算法设计方法解决实际问题;4.培养学生的编程思维和动手能力。

二、教学内容1.算法的概念和基本特征;2.常用的算法设计方法:递归、分而治之、贪心算法、动态规划等;3.常用的数据结构:数组、链表、队列、栈、树等;4.基本的编程知识:变量、循环、条件判断、函数、类等;5.算法与程序设计综合实践。

三、教学过程1.算法的概念和基本特征(1课时)1.1算法的定义和作用;1.2算法的基本特征:输入、输出、确定性、有限性、可行性;1.3算法的表示方法:自然语言、流程图、伪代码。

2.常用的算法设计方法(4课时)2.1递归算法:概念、应用场景、设计思路,递归与循环的比较;2.2分而治之算法:概念、应用场景、设计思路,归并排序、快速排序的实现;2.3贪心算法:概念、应用场景、设计思路,背包问题的解决;2.4动态规划算法:概念、应用场景、设计思路,最长公共子序列的解决。

3.常用的数据结构(3课时)3.1数组:定义、基本操作,一维数组和多维数组;3.2链表:定义、基本操作,单向链表和双向链表;3.3队列:定义、基本操作,顺序队列和链式队列;3.4栈:定义、基本操作,顺序栈和链式栈;3.5树:定义、基本操作,二叉树和二叉树。

4.基本的编程知识(3课时)4.1变量:定义、赋值、数据类型,整型、浮点型、字符型、布尔型;4.2 循环:for循环、while循环、do-while循环;4.3 条件判断:if语句、else语句、switch语句;4.4函数:定义、参数传递、返回值;4.5类:定义、属性、方法。

5.算法与程序设计综合实践(5课时)5.1应用所学的算法设计方法解决实际问题;5.2使用所学的数据结构存储和处理数据;5.3利用编程知识编写程序实现具体功能;5.4分析和优化程序的性能。

四、教学评估1.课堂小测验:对学生掌握的知识进行检查;2.编程作业:让学生应用所学的算法设计方法和数据结构解决问题;3.课堂讨论:引导学生思考和讨论算法和程序的设计思路;4.学习总结:让学生对所学的知识进行总结和归纳。

1.1算法与程序框图教学设计教案

1.1算法与程序框图教学设计教案

1.1算法与程序框图教学设计教案第一篇: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.2B.3C.4D.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的大小,若a2.比较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=第二篇:算法描述与设计教案课型:新课《算法与程序设计》(选修)人教版教学目标:1.进一步理解什么是;算法,知道算法的多样性2.能够对设计的算法做简装的评价3.学会利用自然语言、流程图和伪代码来描述算法教学内容1.了解什么是算法及其特征2.学习三种描述算法语言教学重点:通过例子设计算法教学难点:三种描述算法语言的使用课时数:1课时正课讲解一、算法是“灵魂”1.算法存在于人们生活中,如:上街购物、顾客付款、营业员(主)找银等。

算法与程序设计的教案范文

算法与程序设计的教案范文

算法与程序设计的教案范文第一章:算法与程序设计简介1.1 算法的概念定义算法算法的特点算法的应用领域1.2 程序设计的基本概念程序的定义程序设计语言程序设计的基本步骤1.3 算法与程序设计的关系算法的描述与实现算法与程序设计的区别与联系第二章:算法分析与设计方法2.1 算法分析算法的时间复杂度算法的空间复杂度算法的效率评估与优化2.2 常见算法设计方法递归法分治法贪心法动态规划法2.3 算法可视化与模拟使用算法可视化工具模拟算法的执行过程第三章:顺序结构与控制流程3.1 顺序结构数据输入与输出基本运算与赋值3.2 控制流程的基本概念条件语句循环语句3.3 控制流程的应用实例嵌套循环循环控制语句(break、continue)第四章:函数与模块化编程4.1 函数的定义与作用函数的定义与声明函数的参数传递与返回值4.2 模块化编程的概念模块的定义与组织模块的调用与依赖4.3 函数的应用实例编写用户自定义函数函数的递归调用第五章:基本数据结构与算法5.1 数组的基本概念与操作数组的定义与初始化数组的访问与修改5.2 链表的基本概念与操作链表的定义与结构链表的创建与遍历5.3 栈与队列的基本概念与操作栈的定义与操作队列的定义与操作5.4 算法应用实例数组排序算法(冒泡排序、选择排序)链表操作算法(插入、删除、查找)第六章:树与图算法6.1 树的基本概念与操作树的概念与类型树的遍历算法(前序、中序、后序)树的深度与高度6.2 二叉树的特殊性质与应用二叉树的概念二叉树的遍历算法二叉搜索树与平衡树(AVL树)6.3 图的基本概念与操作图的定义与类型图的表示方法(邻接矩阵、邻接表)图的遍历算法(深度优先搜索、广度优先搜索)第七章:算法设计与分析进阶7.1 动态规划算法动态规划的概念与原理动态规划的应用实例(最短路径、背包问题)7.2 贪心算法贪心算法的概念与特点贪心算法的应用实例(最小树、活动选择问题)7.3 分治算法分治算法的设计思想分治算法的应用实例(快速排序、归并排序)第八章:文件操作与数据存储8.1 文件的基本概念与操作文件的概念与类型文件的打开、读取、写入与关闭8.2 文件系统的基本概念文件系统的结构与工作原理文件路径与目录结构8.3 数据存储技术数据缓冲与缓存技术数据库的基本概念与操作第九章:算法与程序设计的实践项目9.1 项目设计与规划确定项目目标与需求分析问题与制定算法9.2 项目实现与调试编写程序代码调试与优化程序性能评估项目结果与性能第十章:算法与程序设计的现代发展10.1 算法与程序设计的最新趋势与机器学习算法大数据与数据挖掘技术10.2 编程语言的发展与选择常用编程语言的特点与选择编程语言的发展趋势10.3 算法与程序设计在未来社会的应用算法与程序设计在各个行业的应用实例算法与程序设计对社会发展的影响与挑战重点和难点解析一、算法与程序设计简介算法的概念与特点:理解算法解决问题的步骤性和确定性。

1初识程序设计教案

1初识程序设计教案

1初识程序设计教案初识程序设计一、基本说明1模块:算法与程序设计2年级:高中二年级3所用教材版本:教育科学出版社4所属章节:第一章5学时数:45分钟二、教学设计1、教学目标:知识、技能目标:结合实例,体会程序设计得相关概念,流程。

理解算法得重要性及其特性。

了解算法得相关描述。

过程、方法目标:通过对实例程序得观察,形成对程序设计得感官认识;情感目标:在实例分析与讨论过程中认知学习编程得目得及其重要性,形成对学习程序设计得热情.2、内容分析:由于学生对程序设计基本上就是完全陌生得,所以教材在编排上为学生能够顺利进入VB中进行程序设计做了大量得铺垫工作,使得学生在能真正进入VB进行程序设计之前,必须掌握较多得理论知识,而又无法将这些理论知识应用于实践,造成她们学习程序设计得兴趣逐渐消退。

同时,由于无法进行实践,教师要将抽象得理论知识完全讲清楚,让学生真正理解,也颇费时日与功力!为此,我对第一、第二章得理论知识进行了综合,适当地调整了一些内容得秩序,以期在实践中完成对理论知识得掌握.教学重点:学习编程得目得与意义;教学难点:认识算法;3、学情分析:程序设计得第一堂课就是比较难上得,因为对于初次接触程序设计得学生来说,入门学习都就是比较困难得。

初学一门程序设计语言,并达到应用得水平,也就是需要花一定得时间得,同时要求学生具有一定得理解能力。

4.设计思路:本节课就是算法与程序设计得第一节课,本课直接引入课题,并展示一些已设计好小程序,将学生带入到程序设计世界中来,从而认识程序设计得基本流程。

学生对学习编程得意义有较大得认识偏差,作为第一节课,增加相应内容,使学生明晰学习程序设计得重要意义。

算法作为软件得核心,理解算法得概念对学习程序设计至关重要,通过一些实例使学生理解算法得涵义,并养成选择最优算法得意识。

算法得描述在数学授课中相应部分学生已有基本,不作为本节课重点,只就是简单带入,并通过练习检测学生得掌握程度。

第一章 算法初步全章教案

第一章  算法初步全章教案

第一章 算法初步1.1 算法与程序框图 1.1.1 算法的概念整体设计教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固. 三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣. 重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法. 课时安排 1课时教学过程导入新课思路1(情境导入)一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法. 思路2(情境导入)大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上. 上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念. 思路3(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 推进新课 新知探究 提出问题(1)解二元一次方程组有几种方法?(2)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用加减消元法解二元一次方程组的步骤.(3)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用代入消元法解二元一次方程组的步骤.(4)请写出解一般二元一次方程组的步骤. (5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果:(1)代入消元法和加减消元法. (2)回顾二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 的求解过程,我们可以归纳出以下步骤: 第一步,①+②×2,得5x=1.③ 第二步,解③,得x=51. 第三步,②-①×2,得5y=3.④ 第四步,解④,得y=53. 第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x(3)用代入消元法解二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 我们可以归纳出以下步骤: 第一步,由①得x=2y -1.③第二步,把③代入②,得2(2y -1)+y=1.④ 第三步,解④得y=53.⑤ 第四步,把⑤代入③,得x=2×53-1=51. 第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x(4)对于一般的二元一次方程组⎩⎨⎧=+=+)2(,)1(,222111c y b x a c y b x a其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:第一步,①×b 2-②×b 1,得 (a 1b 2-a 2b 1)x=b 2c 1-b 1c 2.③ 第二步,解③,得x=12212112b a b a c b c b --.第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y=a 1c 2-a 2c 1.④ 第四步,解④,得y=12211221b a b a c a c a --.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧--=--=.,1221122112212112b a b a c a c a y b a b a c b c b x(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础. 应用示例思路1例1 (1)设计一个算法,判断7是否为质数. (2)设计一个算法,判断35是否为质数. 算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数. 算法如下:(1)第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7. 第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7. 第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7. 第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数. (2)类似地,可写出“判断35是否为质数”的算法:第一步,用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不是质数. 点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤. 变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i 表示2—(n-1)中的任意整数,则“判断n 是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.算法如下:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f(a)·f(b)<0)“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)<0.第三步,取区间中点m=2ba.第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求2的近似值的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……思路2例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:第一步,洗刷水壶.第二步,烧水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壶.第二步,烧水,烧水的过程当中洗刷茶具.第三步,沏茶.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.例3 写出通过尺轨作图确定线段AB一个5等分点的算法.分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.解:算法分析:第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.第二步,在射线上任取一个不同于端点A的点C,得到线段AC.第三步,在射线上沿AC的方向截取线段CE=AC.第四步,在射线上沿AC的方向截取线段EF=AC.第五步,在射线上沿AC的方向截取线段FG=AC.第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.第七步,连结DB.第八步,过C 作BD 的平行线,交线段AB 于M ,这样点M 就是线段AB 的一个5等分点. 点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练. 知能训练设计算法判断一元二次方程ax 2+bx+c=0是否有实数根. 解:算法步骤如下:第一步,输入一元二次方程的系数:a ,b ,c.第二步,计算Δ=b 2-4ac 的值.第三步,判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点. 拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t (分钟),通话费用y (元),如何设计一个程序,计算通话的费用. 解:算法分析:数学模型实际上为:y 关于t 的分段函数. 关系式如下:y=⎪⎩⎪⎨⎧∉>+-+∈>-+≤<).,3(),1]3([1.022.0),,3(),3(1.022.0),30(,22.0Z t T T Z t t t t 其中[t -3]表示取不大于t -3的整数部分. 算法步骤如下:第一步,输入通话时间t.第二步,如果t≤3,那么y=0.22;否则判断t∈Z 是否成立,若成立执行 y=0.2+0.1×(t-3);否则执行y=0.2+0.1×([t -3]+1). 第三步,输出通话费用c. 课堂小结(1)正确理解算法这一概念.(2)结合例题掌握算法的特点,能够写出常见问题的算法. 作业课本本节练习1、2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.1.1.2 程序框图与算法的基本逻辑结构整体设计教学分析用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.三维目标1.熟悉各种程序框及流程线的功能和作用.2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.3.通过比较体会程序框图的直观性、准确性.重点难点数学重点:程序框图的画法.数学难点:程序框图的画法.课时安排4课时教学过程第1课时程序框图及顺序结构导入新课思路1(情境导入)我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.思路2(直接导入)用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图.推进新课新知探究提出问题(1)什么是程序框图?(2)说出终端框(起止框)的图形符号与功能.(3)说出输入、输出框的图形符号与功能.(4)说出处理框(执行框)的图形符号与功能.(5)说出判断框的图形符号与功能.(6)说出流程线的图形符号与功能.(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.(6)流程线:表示程序的流向.(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.图形符号(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.三种逻辑结构可以用如下程序框图表示:顺序结构条件结构循环结构应用示例例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.解:程序框图如下:点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法. 变式训练观察下面的程序框图,指出该算法解决的问题.解:这是一个累加求和问题,共99项相加,该算法是求100991431321211⨯++⨯+⨯+⨯ 的值.例2 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c ,则三角形的面积为S=))()((c p b p a p p ---),其中p=2cb a ++.这个公式被称为海伦—秦九韶公式)算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法. 算法步骤如下:第一步,输入三角形三条边的边长a,b,c. 第二步,计算p=2cb a ++. 第三步,计算S=))()((c p b p a p p ---.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.变式训练下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.解:根据题意221aa=7,∵a1=3,∴a2=11.即a2的值为11.例3 写出通过尺轨作图确定线段AB的一个5等分点的程序框图.解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n 等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用. 知能训练有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格.解:用P 表示钢琴的价格,不难看出如下算法步骤:2005年P=10 000×(1+3%)=10 300;2006年P=10 300×(1+3%)=10 609;2007年P=10 609×(1+3%)=10 927.27;2008年P=10 927.27×(1+3%)=11 255.09; 年份2004 2005 2006 2007 2008 钢琴的价格10 000 10 300 10 609 10 927.27 11 255.09点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图.拓展提升如下给出的是计算201614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.答案:i>10.课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.作业习题1.1A 1.设计感想首先,本节的引入新颖独特,旅游图的故事阐明了学习程序框图的意义.通过丰富有趣的事例让学生了解了什么是程序框图,进而激发学生学习程序框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.第2课时条件结构导入新课思路1(情境导入)我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构.思路2(直接导入)前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构.推进新课新知探究提出问题(1)举例说明什么是分类讨论思想?(2)什么是条件结构?(3)试用程序框图表示条件结构.(4)指出条件结构的两种形式的区别.讨论结果:(1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.(3)用程序框图表示条件结构如下.条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.图1 图2注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.应用示例例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.算法分析:我们知道,若判别式Δ=b 2-4ac>0,则原方程有两个不相等的实数根x 1=a b 2∆+-,x 2=ab 2∆--; 若Δ=0,则原方程有两个相等的实数根x 1=x 2=ab 2-; 若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x 1和x 2之前,先计算p=ab 2-,q=a 2∆. 解决这一问题的算法步骤如下:第一步,输入3个系数a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则计算p=ab 2-,q=a 2∆;否则,输出“方程没有实数根”,结束算法.第四步,判断Δ=0是否成立.若是,则输出x 1=x 2=p ;否则,计算x 1=p+q ,x 2=p-q ,并输出x 1,x 2.程序框图如下:例3 设计算法判断一元二次方程ax 2+bx+c=0是否有实数根,并画出相应的程序框图. 解:算法步骤如下:第一步,输入3个系数:a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.相应的程序框图如右:点评:根据一元二次方程的意义,需要计算判别式Δ=b 2-4ac 的值.再分成两种情况处理:(1)当Δ≥0时,一元二次方程有实数根;(2)当Δ<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构.例4 (1)设计算法,求ax+b=0的解,并画出流程图.解:对于方程ax+b=0来讲,应该分情况讨论方程的解.我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下: (1)当a≠0时,方程有唯一的实数解是ab -; (2)当a=0,b=0时,全体实数都是方程的解;(3)当a=0,b≠0时,方程无解.联想数学中的分类讨论的处理方式,可得如下算法步骤:第一步,判断a≠0是否成立.若成立,输出结果“解为ab -”. 第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R ”.第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下:点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. 知能训练。

初识算法与程序设计

初识算法与程序设计

初识算法与程序设计案例背景本课是浙江省信息技术课程《算法与程序设计》的第一课,分析学生心理需求和课程特点,采用实例教学,增加学生的参与度,使学生在了解基本概念的同时,激起学习课程的兴趣。

根据教材的安排,第一章的基本内容是:算法概念、算法特征及算法表示。

几年的实践证明,完全按照教材的顺序上课,效果并不理想。

对学生来说,刚开始接触这门课程时,都会存在几个疑问:程序是什么样的?程序怎么做到所要的功能?程序难吗?而这些都不是第一章内容能回答的。

新课程鼓励教师对教材二次开发,因此,作为起始课,笔者大胆借助三个程序实例,尽可能回答学生的这些问题,并传递几层意思:一、程序并不难,就像一篇文章一样,娓娓道来;二、程序可以解决生活中的很多问题,应用广泛;三、程序并不特别,其实就是算法步骤的表达。

尽可能地挖掘课程的趣味性和功效性,激发学生学习积极性。

案例描述和反思一、引课部分“我来自东海之滨的浙江,来到李白的故乡,也想吟诗一句,&lsquo;三千里路山和水,来回只需一瞬间&rsquo;,这要得益于科技的进步。

来到绵阳,一点都没有陌生感,相反见到同学们感觉特别亲切。

那好,我们先来亲密接触一下。

”设计意图和效果:拉近师生情感距离,使学生安静下来,进入课题,并由此引入亲密接触环节,即“求一元二次方程”。

二、求解一元二次方程(大概15分钟)出示几个两个简单的一元二次方程x2-4x+4=0和x2-8x+15=0师:请大家快速地告诉我答案是多少?生(齐):2,3和5。

出示三个方程111x2+666x+333=0、123x2+456x+789=0、1949x2+12345x+2009=0师:那这三个方程的解是多少?教室不安静了,学生纷纷表示太麻烦了!师:“我们虽然不能快速求出来,但是我们可以用求根公式求出来。

”(学生表示认可)“但是计算量会比较大,其实从小学开始,我们不知道求了多少个一元二次方程,如果有一个简单的方法,可以方便地求所有一元二次方程,那就好了!这样的方法有吗?”(学生比较茫然)“有!而且我们现在马上就可以做出来。

算法与程序设计》教学设计

算法与程序设计》教学设计

科教版算法与程序设计(选修)案例点评本模块是信息技术选修模块之一。

学生在《信息技术基础》的“信息加工与表达”部分的学习过程中,已经通过用计算机编程解决问题的实例感受了运用计算机语言编写程序解决实际问题的基本过程,经历了使用某种编程语言工具解决一个简单问题的过程,在脑中初步建立了算法与程序设计的概念,以及对其进行应用的感性认识。

本模块是在必修模块“信息加工与表达”基础上的继续深入。

通过本模块的学习,使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法,解决问题。

本模块的教学,应注意与数学课程中有关内容的衔接,要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。

教师要注意发现对程序设计有特殊才能的学生,根据具体情况为他们提供充分的发展空间。

本模块强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。

从本模块的案例中可以看到不同教师对同一知识点的不同设计策略与设计特色。

如《分支结构》中,通过对学生已知认识结构的分析,将英语语法与程序设计语言语法进行联系从而导入主题;《出租车计价器程序的设计——If语句的教学》中,通过与学生生活紧密联系的例子,层层剖析,由浅入深地引导学生解决问题;《选择结构》中,以教师精心设计的小游戏来引入新课。

同时,又能看到不同老师对不同知识点的不同设计策略,如《算法与程序设计思想》中的“逐步引导与训练”;《For/Next循环语句初步》中的“运用表格来保证学生自主学习效率”;《赋值语句》中的“借简单语句来训练学生对编程环境的操作技能”;《递归算法的实现》中“通过活动的方式来导入展开教学”,等等。

案例一:算法与程序设计思想(一)利用计算机解决问题的基本过程(1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1初识算法与程序设计
一、教学目标
1、知识与技能
(1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;
(2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。

2、情感、态度、价值观:学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、表达呈现信息的能力,进一步提高其信息素养。

二、教学重点难点
重点:算法概念的理解
难点:如何科学合理的选择和设计算法。

三、教学策略与手段
以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过Flash演示材料,比较直观地把抽象的问题简单化,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。

四、教学课时:1课时
五、教学过程
(一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。

【问题一】天下真的有“不要钱的午餐”吗?
某一餐馆门口海报上写着“不要钱的午餐”,规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费” 。

于是有人想,这太容易了,每人每次
坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?
学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题的步骤:
①第一个座位5个人都有坐的机会
②第二个座位只有4个人中的任一个有坐的机会(一个人不能同时坐两个座位)
③第三个座位只有3个人中的任一个有坐的机会
④第四个座位只有2个人中的任一个有坐的机会
⑤第五个座位只有1个人有坐的机会
⑥计算:5×4×3×2×1=120
⑦得出结论:需要吃120次才有可能吃上免费午餐。

【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。

你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。

学生:学生讨论回答。

〖展示步骤〗
①两个妖怪先过河,一个妖怪回来;
②再两个妖怪过河,一个妖怪回来;
③两个和尚过河,一个妖怪和一个和尚回来;
④两个和尚过河,一个妖怪回来;
⑤两个妖怪过河,一个妖怪回来;
⑥两个妖怪过河。

【Flash动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。

算法就是解决问题的程序或步骤。

(二)【课件展示】算法的概念:
1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也经常使用算法,只是没意识到罢了。

如:洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。

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

【小试身手】按照这样的理解,我们可以设计出很多由具体数学问题解决一类数学问题的算法。

下面看一个例子:(要求学生自己考虑并写出具体的算法)
鸡兔同笼问题。

一个笼子里有鸡和兔,现在只知道里面一共有17个头,48只脚,鸡和兔各有多少只?试设计一个求解的算法。

【设计意图】求解鸡兔的问题简单直观,却包含着深刻的算法思想。

应用解二元一次方程组的方法来求解鸡兔同笼问题。

第一步:设有小鸡x只,小兔y只,则有
第二步:将方程组中的第一个方程两边乘-2加到第二个方程中去,得到,得到y=7;第三步:将y=7代入(1)得x=10。

【变一变】在笼中有鸡、兔若干,已知有头a个,有脚b只,求各有多少只鸡和兔。

【师生合作】老师带领学生共同书写规范的算法的具体步骤,最后引出算法使用的范围:能解决一类问题,并且能重复使用。

(三)【课件展示】算法的基本特征
①有穷性②确定性③不唯一性④有效性(逻辑性)
1、有穷性:一个算法应该包含有限个操作步骤,而不能是无限的。

2、确定性:算法的每个步骤都应该是明确无误的,不能含义模糊,使执行者无所适从。

3、有零个或者多个输入,有一个或者多个输出
4、有效性:算法中的每一步都应该能有效地执行,执行算法最后应该能得到确定的结果。

【教学总结】
1、本节课通过一些生活中看似简单问题的解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念。

2、课堂教学的效益取决于学生对所学知识理解了多少,能否用所学知识来解决一些实际问题。

本节课的设计突出讲与练的结合,培养学生的动手能力,并且引出学生对下一节课的内容的思考,比较顺利的完成了本节课的教学任务。

3、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需探讨。

相关文档
最新文档