教科版高中信息技术选修一《算法与程序设计》选修教案.doc
- 格式:doc
- 大小:2.14 MB
- 文档页数:58
《算法与程序设计》
1.2 算法描述与设计
教学设计
单位:授课人:
《算法描述与设计》教学设计
为了更形象、直观地表示算法,我们引入了流程图
,学生学习流也叫程序框图。
下面,同学们学习“韩信点兵”问题的
流程图表示。
开始
1n
n 被3 、5 、7 整Y
除后余数为
2 、
3 、2
N
n+1n
输出n 的值
结束
流程图描述算法常用的框图主要有以下几个:
在流程图的基础上,专业软件开发人员一般采用伪代码来描述算法。
伪代码是一种介于自然语言和计算机语言之间的一种算法描述,不是真正的程序语言代码,所以没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可以了。
例如,判断闰年伪代码算法描述如下:
输入年份y
IF y 能被4 整除THEN
IF y 能被100 整除THEN
IF y 能被400 整除
输出“是闰年”
附:《算法描述与设计》流程图作品评价量表
《算法描述与设计》流程图作品评价量表
说明:1、作品评价等级分为A、B、C、D 四个等级。
2、在对应的作品等级下画“√”。
教科版高中信息技术选修一《算法与程序设计》选修教案教案:算法与程序设计教学目标:1.了解算法和程序设计的基本概念和原理;2.掌握常见的算法和程序设计方法;3.运用所学知识解决实际问题;4.培养学生的逻辑思维和创新能力。
教学内容:1.算法的基本概念与分类a.算法的定义和特点;b.算法的分类和评价标准;c.常见的排序算法,如冒泡排序、选择排序、插入排序等。
2.程序设计基础a.程序设计语言和编译器的介绍;b.算法与程序设计的关系;c.算法和程序设计的基本语句和控制结构,如顺序结构、条件结构、循环结构等。
3.算法设计与问题解决a.算法设计的基本方法和步骤;b.算法设计的常见问题,如查找问题、排序问题等;c.使用编程语言实现算法解决实际问题。
4.程序设计的进阶技巧a.数据结构的基本概念与分类;b.常见的数据结构,如链表、栈、队列等;c.运用递归解决问题的思想与方法。
教学方法:1.讲授:通过讲解理论知识,让学生对算法和程序设计有一个全面的了解;2.实践:通过编写小型程序,让学生动手实践所学知识,提高动手能力;3.探究:引导学生主动探索和发现问题的解决方法,培养学生的创新能力;4.讨论:组织学生进行小组讨论,共同解决问题,培养团队合作精神。
教学过程:第一课时:算法的基本概念与分类1.导入:以日常生活中的问题为例,引出算法的概念和重要性;2.讲解:算法的定义和特点,以及算法的分类和评价标准;3.实践:通过示例演示并让学生动手实践,学习常见的排序算法;a.冒泡排序的实现和原理;b.选择排序的实现和原理;c.插入排序的实现和原理;4.总结:总结本节课的内容,并布置相关习题作业。
第二课时:程序设计基础1.复习:回顾上节课学习的内容,检查学生的掌握程度;2.讲解:介绍程序设计语言和编译器的基本概念;3.实践:通过示例演示程序设计的基本语句和控制结构;a.顺序结构的实现和原理;b.条件结构的实现和原理;c.循环结构的实现和原理;4.总结:总结本节课的内容,并布置相关习题作业。
算法描述之流程图学科整合策略:本节采用的案例与数学学科整合,有助于学生知识的迁移;支架策略:借助FLASH动画降低了使用流程图描述算法的操作难度;学习平台提供了明确清晰的学习活动指引,同时提供了“Raptor”工具基本操作的微课,让学生的整个学习过程环环相扣,层层递进。
深度学习路线策略:根据学生的背景知识,通过提问来激活学生先期知识,采用多种教学策略,促进学生获取新知识,通过体验、尝试、挑战,将获取到的新知识与已有知识联结在一起,形成知识树。
七、资源和环境1、资源资源类型资源内容简要描述资源来源学习平台在ITTOOLS平台上创建课程微课Raptor的基本操作教师制作动画通过拖放完成相关算法的流程图描述教师制作软件工具Raptor 互联网上下载2、教学环境多媒体网络课室八、教学过程教学环节教师活动学生活动设计意图引入情景问题:某商家为了能在双十一提高销量,思考激趣,明确主题设置了以下优惠方案:提前付预付定金10元,抵30元,双11当天付清尾款;双11当天付款满200减20(系统自动满减)。
你打算在该商家购买一原价格为220元的商品,请问你最终花了多少钱购买了这个商品?自然语言描述算法的优点:采用人们日常所用的语言,人们比较容易接受。
不足:文字过长,走向不清晰,容易出现理解上的歧义性。
明确主题:算法描述之流程图新课讲授一、流程图的描述1.流程图及其图形说明2.流程图的优点优点:流程图描述清晰简洁,走向分明听课突出重点体验活动一:描述用流程图描述数学问题的算法问题:给出3个任意的正实数,判断以这3个正实数为三条边边长的三角形是否存在,并说出判定结果。
(在学习平台上借助动画完成)经历用流程图描述简单算法的过程,感受流程图描述的优点突出重点八、教学过程教学环节教师活动学生活动设计意图新课二、流程图的阅读以求解数学问题:1+2+3+4+5=?的算法流程图学习突出重点突破难点讲授为例,结合计算机的工作原理进行讲解尝试活动二:阅读阅读数学问题:6!的算法流程图(借助学习平台的在线调查功能来完成)完成活动二突出重点突破难点八、教学过程教学环节教师活动学生活动设计意图体验活动三:验证借助Raptor工具验证活动二的结果完成活动三突出重点突破难点提供微课、文字指引及半成品流程图小结梳理知识建构知识树*挑战活动四:挑战2013年全国高考数学题加强算法的学习,有助于培养计算思维,提高解决问题的效率,也是学习用计算机程序解决问题的关键。
高中信息技术第一章算法与程序设计教案选修1 本章的作用和地位高中信息技术选修模块《算法与程序设计》的课程目标是使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编写程序实现算法解决问题。
本章是全书的开篇和概述,它承接了必修模块《信息技术基础》第四章第一节的内容,并通过一些比较复杂的实际例子,让学生再次经历使用计算机解决问题的基本过程,使学生对分析问题、确定算法、编程求解等使用计算机解决问题的几个基本环节有一个比较深刻的印象,在头脑中建立一个使用计算机解决问题的比较完整的轮廓,以此来提高学生学习本模块的兴趣,激发他们的学习热情。
通过学习算法、算法描述、程序与程序设计等基本概念,让学生了解程序设计在解决问题中的地位和作用,了解算法在程序设计中的地位和作用,了解程序设计语言的产生与发展,为后续内容的学习奠定基础。
本章还注意引导学生形成自主学习、自主探究、与他人合作的方法和意识,也为后续章节的学习和其他各选修模块开展多元化交流与合作做好必要的知识与技能上的准备。
重点难点分析教学重点:(1)要求学生能从问题出发,亲历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,体会每一个步骤的含义和操作。
(2)掌握算法的基本概念,经历用自然语言、流程图或伪代码等方法描述算法的过程。
(3)掌握程序与程序设计等基本概念,了解程序设计语言的产生与发展的过程。
教学难点:(1)求解生产方案选择问题的算法。
穷举法是人们求解问题的一种常用的思维方法,但如何寻找穷举的边界(即满足穷举条件的可能解集)是该方法的难点。
其次,如何使用比较准确的语言来描述算法也是一个难点。
(2)调试VB程序对于大多数学生来说是第一次接触,也可能会出现一些问题,这需要老师的帮助。
(3)算法、程序、程序设计、程序设计语言等基本概念比较抽象,需要老师在教学过程中通过例子和组织学生进行比较、探究和交流,让学生在活动中体会、理解和总结。
各位评委老师大家午好:1.我是来,今天我说课标说教材的题目是中国地图出版社的信息技术选修1《算法与程序设计》教材的第三单元:算法与问题解决。
2.本次说课我将从说课标、说教材、说建议这三个方面来说。
说课标我将介绍课程目标和内容标准两方面。
说教材我将介绍教材的编写特点、编写体例、本单元的内容结构及知识与技能的立体式整合四个方面。
说建议我将介绍教学建议、评价建议及课程资源的开发与利用建议三个方面。
3.下面我将进行课程标准的阐述:3.普通高中信息技术课程的总目标是提升学生的信息素养。
学生的信息素养表现在:对信息的获取、加工、管理、表达与交流的能力;对信息及信息活动的过程、方法、结果进行评价的能力;发表观点、交流思想、开展合作并解决学习和生活中实际问题的能力;遵守相关的伦理道德与法律法规,形成于信息社会相适应的价值观和责任感。
4.课标规定选修1《算法与程序设计》的课程标准是:通过《算法与程序设计》模块的学习,可以有效提升学生的分析问题与解决问题的能力,养成缜密的思维习惯。
通过开展合作并解决生活中的实际问题,从而实现知识与技能、过程与方法、情感态度与价值观等不同层面信息素养的综合提升与协调发展。
5.根据信息技术课程总目标和《算法与程序设计》课程目标,第三单元算法与问题解决的课程目标概括为:本单元旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。
本模块强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。
6.第三单元算法与问题解决包括四种算法:解析法与问题解决、穷举法与问题解决、递归法与问题解决、排序与查找,单元具体内容包括以下五点:(1)了解解析法的基本概念及用解析法设计算法的基本过程。
能够用解析法分析简单问题,设计算法,编写程序求解问题。
(2)了解穷举法的基本概念及用穷举法设计算法的基本过程。
一、教材分析1、本章的作用和地位本章是算法与程序设计模块的重点。
学生在必修模块中对程序设计的概念有了初步的了解,然后在本模块前面的章节加深了对程序设计语言VB的认识,对设计程序解决问题作了一些实践,积聚了初步的编程经验,本章把这些原始的编程经验上升到“算法”的高度,把以模仿为主的编程实践过渡到以创造为主的程序设计过程。
算法在程序设计中占有重要的地位,算法是程序设计的核心,被比作程序设计的灵魂。
算法强调按照逻辑顺序进行程序设计的过程和步骤,因此,算法的学习和掌握,有利于培养学生的逻辑思维能力。
程序设计在计算机应用中处于比较高端的位置,要纯熟掌握自由主义的技巧去解决问题,需要一个不断学习、总结的过程。
因此,学习程序设计,除了本身的价值外,对于陪养终生学习的习惯和建立正确的学习方法将起到很好的作用,为学生形成良好的学习惯奠定基础。
2、本章主要内容介绍掌握编程技术是信息社会的建设者的基本素质。
本章通过解决具体的问题方式,介绍了一些常见的算法。
但本章所介绍的算法仅仅是算法的一部分,实际上,算法的种类远不止这几种。
而且,问题的解决并不都是依靠单独的一种算法就能完成的,多数情况是,需要配合使用几种算法才能达到整个目的。
也就是说,算法存在多样性、复杂性等特征,这些特征有利于学生形成对算法的正确认识,从而提高利用算法来解决问题的能力,所以,在实际教学中需要对这些内容给予关注。
本章设置了6节内容。
“4.1 用解析法设计程序”。
本节介绍了主要靠列出解析式来解决问题的方法。
这种得法对工程技术界是常见的。
解析式的导出可能需要专门的知识,本节只探讨了一些在程序设计中常见的问题解析解法。
更深入的探究可能需要“计算方法”的专门学问。
“4.2 用穷举法设计程序”。
本节介绍的算法是比较容易理解,算法也相对直观。
人们解决问题时,通常都会考虑用穷举法,但没有计算机帮助时,穷举法所需要的计算量往往令人望而生畏,但应用穷举法设计程序解决问题,则显得游刃有余。
《编制计算机程序解决问题——战胜丹•布朗》教学设计一、教材与内容分析选自普通高中信息技术实验教材《算法与程序设计》选修模块——《揭开计算机解决问题的神秘面纱》。
在日常生活中,相当部分的现实问题都可以用计算机程序加以解决,以实现个性化的信息处理方式。
其中,通用工具软件是针对解决某些通用问题而开发出的计算机程序,当人们需要解决的问题无法利用现成的工具软件进行信息处理时,可以利用计算机程序设计语言编写程序,再通过执行程序来解决问题。
通过本节内容的学习,学生将:(1)认识计算机程序解决问题的基本工作过程;(2)初步了解计算机程序的编制环境;(3)执行并分析比较相应的程序,认识程序设计语言的基本组成元素。
由于本节采用的计算机程序设计语言是VB,这是一种面向对象设计的高级语言,对于刚接触编程的学生来说会有一定的难度,但教学中应该尽量减少这种技术上带来的影响。
二、相关学情分析1.年龄段所对应的计算思维:本节课的教学对象是高中一年级学生,具有较强的形象思维能力和理解力,知识迁移能力强,能够摆脱具体事物的限制,运用概念、提出假设,并检验假设来进行抽象逻辑思维;思维具有更强的预见性,在思维过程中已有预见性特征,即能在复杂活动或问题解决之前有计划、有策略;对思维的自我意识和监控能力显著增强,表现为不但能考虑如何解决问题,还能对自己的思维进行自我反省、自我调控,确保思维的正确性和高效率。
2.起始能力:高一年级学生已经具备了丰富的计算机使用经验,但大多数都是与常用工具软件的使用以及网络应用有关,对于计算机编程知识,他们以前可能没有学习过,但由于这个时候他们具有相当强的逻辑推理思维能力,也掌握了相关的数学知识,对于用计算机程序解决问题的了解应当不会困难。
3.学习兴趣与爱好:通过开学前的问卷调查数据分析,发现学生普遍对编写程序解决具体的问题表现出浓厚的兴趣,此外,如果用学生比较感兴趣,贴近学生日常生活的实例来引导学生学习掌握枯燥的程序设计基本原理,学生参与度会比较高。
一、教材分析1.本章的作用和地位本章作为高中信息技术选修模块《算法与程序设计》的第五章,是全书的选学内容,旨在提供给有发展潜力的学生自主选择学习,让学生在学习前面有关内容的基础上进一步掌握面向对象程序设计的基本思想与方法,初步认识面向对象程序设计中的核心概念——类,认识类、对象和实例之间的关系,并学会利用VB创建类以及创建类的对象实例的方法,进一步领会面向对象的功能实现。
本章强调学生通过感悟、迁移和操作来体验面向对象程序设计的基本思想与方法,通过举证认识面向对象的由来,采用面向对象程序设计的优点;通过举证和类比认识面向对象的关键概念类和对象及其关系;强调学生利用可视化编程工具进行面向对象程序设计的过程与方法,为他们进一步学习面向对象程序设计奠定基础。
另外,本章还注意引导学生形成自主学习意识、与他人合作学习的意识,也为本书的后续章节的学习和其他各选修模块开展多元化交流与合作做好必要的知识与技能上的准备。
2.本章主要内容介绍在软件技术领域中,面向对象程序设计是软件技术的热门研究领域,也是软件技术的重要发展方向,初步掌握面向对象程序是《算法与程序设计》课程的一个重要任务之一。
本章设置了三节内容:“5.1 面向对象程序设计的基本思想”。
本节从第二章中的求解五边形的问题入手,引起学生认知冲突:程序设计规模的扩大,光有函数与过程的方法解决不了软件开发过程的调试、维护和代码可重用等问题,激发学生的探索热情,提出要解决问题要从学习面向对象程序的思想开始,转而通过实例使学生认识传统程序设计中存在的问题,通过对例程的分析使学生领会传统程序设计中存在的弊端,进而给出面向对象程序设计的必要性和优势。
“5.2 面向对象程序设计的基本概念”。
本节延续了第三章中的可视编程概念,通过实例,举一反三地剖析了对象、类等面向对象程序设计的基本概念及其共同特征,并阐释了类、对象与实例的关系,从而让学生对面向对象程序设计基本概念的认识进一步深化与升华。
程序的选择结构(一)
一、案例背景信息
1.模块:高中信息技术选修1-《算法与程序设计》
3.所用教材版本:
广东教育出版社
4.学时数:1
二、教学设计
(一)教学目标
1、掌握关系表达表及逻辑表达式的意义,学会用它们表示实际问题中的条件
2、对于给定的简单选择结构问题,能编程解决
3、培养正确的编程解题布骤
(二)内容分析
重点:
1、关系表达表及逻辑表达式
2、IF语句几种格式及其功能
难点:
应用IF语句进行简单的选择结构程序设计,解决实际问题。
(三)学生分析
学生通过前几节课的学习,已经初步掌握VB编程解题的一般步骤,并初步掌握应用赋值语句、输入函数、输出方法及文本框进行编程,解决顺序结构。
但编程更多是在模仿的水平上。
因此本周的教学还要着重贯穿问题解决主线,继续培养学生良好的解题的习惯。
三、教与学的实际过程描述。
高中信息技术算法与程序设计选择结构教案(教科版)一、教学目标1. 理解选择结构的概念及其在程序设计中的应用。
2. 学会使用条件语句(if-else)编写含有选择结构的程序。
3. 能够分析实际问题,设计相应的选择结构程序解决问题。
二、教学内容1. 选择结构的概念及作用。
2. 条件语句(if-else)的语法及使用。
3. 含有选择结构的程序设计方法。
三、教学重点与难点1. 教学重点:选择结构的概念、条件语句的语法及使用。
2. 教学难点:如何设计含有选择结构的程序解决问题。
四、教学方法与手段1. 采用案例分析法,通过实例讲解选择结构的概念及应用。
2. 使用编程软件(如Scratch、Python等)进行实践操作,巩固选择结构的使用。
3. 采用小组讨论法,让学生合作解决问题,提高编程能力。
五、教学过程1. 导入:通过一个生活中的例子(如判断年龄是否符合购票条件)引出选择结构的概念。
2. 新课讲解:讲解选择结构的概念、条件语句的语法及使用。
3. 案例分析:分析含有选择结构的程序案例,让学生理解选择结构的作用。
4. 实践操作:让学生使用编程软件编写含有选择结构的程序,巩固所学知识。
5. 小组讨论:让学生分组讨论如何设计含有选择结构的程序解决问题,并展示成果。
六、教学评价1. 课堂参与度:观察学生在课堂上的积极参与程度,提问和回答问题的积极性。
2. 编程实践:评估学生在实践操作中编写含有选择结构的程序的正确性和创造性。
3. 小组讨论:评价学生在小组讨论中的合作态度和问题解决能力。
4. 课后作业:检查学生完成课后作业的质量,巩固所学知识。
七、课后作业1. 请用条件语句编写一个程序,判断一个数的正负并输出相应的信息。
2. 编写一个程序,根据用户输入的年份,判断是否为闰年。
3. 设计一个程序,根据用户输入的分数,判断其是否及格并输出相应的评价。
八、教学资源1. 编程软件:Scratch、Python等。
2. 教学案例:提供一些含有选择结构的程序案例,供学生分析和参考。
学习必备欢迎下载第一课初识算法与程序设计一、教学目标1、知识与技能(1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;(2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。
2、情感、态度、价值观学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、、表达呈现信息的能力,进一步提高其信息素养。
二、教学重点难点重点:算法概念的理解难点:如何科学合理的选择和设计算法。
三、教学策略与手段以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过 Flash 演示材料,比较直观地把抽象的问题简单化,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。
四、教学过程( 1 课时)(一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。
【问题一】天下真的有“不要钱的午餐”吗?某一餐馆门口海报上写着“不要钱的午餐”,规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可的顺序都坐一遍,以后来吃饭就可永远免费” 。
于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题的步骤:①第一个座位5个人都有坐的机会②第二个座位只有4个人中的任一个有坐的机会(一个人不能同时坐两个座位)③第三个座位只有3个人中的任一个有坐的机会④第四个座位只有2个人中的任一个有坐的机会⑤第五个座位只有1个人有坐的机会⑥计算:5×4×3×2×1=120⑦得出结论:需要吃120次才有可能吃上免费午餐。
【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。
你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。
学生:学生讨论回答。
〖展示步骤〗①两个妖怪先过河,一个妖怪回来;②再两个妖怪过河,一个妖怪回来;③两个和尚过河,一个妖怪和一个和尚回来;④两个和尚过河,一个妖怪回来;⑤两个妖怪过河,一个妖怪回来;⑥两个妖怪过河。
【F lash 动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。
算法就是解决问题的程序或步骤。
(二)【课件展示】算法的概念:1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也经常使用算法,只是没意识到罢了。
如:洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。
2、在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
【小试身手】按照这样的理解 , 我们可以设计出很多由具体数学问题解决一类数学问题的算法 . 下面看一个例子 : (要求学生自己考虑并写出具体的算法)鸡兔同笼问题。
一个笼子里有鸡和兔,现在只知道里面一共有17 个头, 48 只脚,鸡和兔各有多少只?试设计一个求解的算法。
【设计意图】求解鸡兔的问题简单直观,却包含着深刻的算法思想。
应用解二元一次方程组的方法来求解鸡兔同笼问题。
第一步:设有小鸡x 只,小兔 y 只,则有第二步:将方程组中的第一个方程两边乘- 2 加到第二个方程中去,得到,得到 y=7;第三步:将 y=7 代入( 1)得 x=10。
【变一变】在笼中有鸡、兔若干,已知有头 a 个,有脚 b 只,求各有多少只鸡和兔。
【师生合作】老师带领学生共同书写规范的算法的具体步骤,最后引出算法使用的范围:能解决一类问题,并且能重复使用。
(三)【课件展示】算法的基本特征①有穷性②确定性③不唯一性④有效性(逻辑性)1、有穷性:一个算法应该包含有限个操作步骤,而不能是无限的。
2、确定性:算法的每个步骤都应该是明确无误的,不能含义模糊,使执行者无所适从。
3、有零个或者多个输入,有一个或者多个输出4、有效性:算法中的每一步都应该能有效地执行,执行算法最后应该能得到确定的结果。
【教学总结】1、本节课通过一些生活中看似简单问题的解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念。
2、课堂教学的效益取决于学生对所学知识理解了多少,能否用所学知识来解决一些实际问题。
本节课的设计突出讲与练的结合,培养学生的动手能力,并且引出学生对下一节课的内容的思考,比较顺利的完成了本节课的教学任务。
3、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需探讨。
第二课用计算机解决问题一、教学目标(1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。
(2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。
(3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。
二、重点难点重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。
用计算机解决问题的过程中的分析问题、设计算法也是本节的三、教学过程( 2 课时)(一)引入教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。
然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:”学生观看的电视剧《汉刘邦》片断,内容大致如下:“韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。
韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。
在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。
”片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3 人一列余1 人、 5 人一列余2 人、7 人一列余4 人、 13 人一列余 6 人。
刘邦茫然而不知其数。
你呢?”(二)问题教师:“下面我们先助刘邦解决一个简单的问题。
”“韩信点兵”问题1:求整除 3 余 1、整除 5 余 2、整除 7 余 4 的最小自然数。
(三)探究把全班分成 16 个学习小组,每个小组的同学一起探究、讨论问题。
利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。
并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。
如下:探究问题记录表分析问题 ( 找出已知和未结知、列出已知和未知之间写出解题步骤果的关系 )学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。
教师提问 2~3 个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。
分析问题 ( 找出已知和未知、列出已知和未知之间写出解题步骤的关系 )1、令 X为 1。
2、如果 X整除 3 余 1,X整除 5 余设所求的数为X,2,则 X 应满足:X 整除 7余4,这就X整除 3余1是题目要求的数,则记下这个X。
X整除 5余23、令 X 为 X+1(为算下一个作准备)。
X整除 7余44、如果算出,则结束;否则跳转 2。
5、写出答案。
教师解释第 3 步“另 X 为 X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。
教师:“刚才有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67 人,下面我们来解决一个数据量稍大的问题。
”展示题目:“韩信点兵”问题 2:求整除 3 余 1、整除 5 余 2、整除 7 余 4、整除 13 余6、整除 17 余 8 的最小自然数。
学生分析上述问题并写出算法,不用计算。
学生有了第 1 题的经验,很快会写出和第一题类似的算法。
如下:分析问题 ( 找出已知和未知、列出已知和未知之间的关系 )写出解题步骤1、令X 为1。
则设所求的数为X 应满足:X整除 3余1X整除 5余2X整除 7余4X,2、如果 X整除 3余 1,X整除5余2,X整除7余4,X整除 13 余 6,X整除 17 余 8,则记下这个X。
X 整除X 整除13余 617余 83、令 X 为 X+1。
4、如果算出,则结束;否则跳转2。
5、写出答案。
教师:“上面的结果超过1 万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题)(四)用计算机解决问题教师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。
”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。
用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,本例用 Visual Basic语言编写的程序请看如下:Private Sub Command1_Click()Dim X As Integer, Y As IntegerX=1:Y=0DoIf X Mod 3 = 1 ThenIf X Mod 5 = 2 ThenIf X Mod 7 = 4 ThenIf X Mod 13 = 6 ThenIf X Mod 17 = 8 Then Y = XEnd IfEnd IfEnd IfEnd IfX=X+1Loop Until Y > 0Print "韩信统御士兵数:"; YEnd Sub教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。
”(五)观摩根据前面编制的程序,启动 Visual Basic 程序设计环境,输入程序代码,进行调试,最后得到运行的结果。
要求同组内先完成的同学帮助还未完成的同学。
帮助的时候不能代劳,只能动口不动手。
(六)交流教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在《计算机解决问题的过程》教学活动表的“讨论记录”表中。
如下:关于求解问题的方式讨论记录求解问题的方式相同点不同点人工求解问题用计算机求解问题教师提问 2~3 个小组的讨论结果,并引导出大致如下的形式结果:求解问题的方式相同点不同点对题目进行解答、运人工求解问题分析问题、设计算法、算速度慢、不需要计得出结果、验算结果算机等用计算机求解问等编写程序、调试程序、题运算速度快等第三课算法与算法的描述一、教学目标1、知识与技能(1)了解算法的定义及其表达方法;(2)认知流程图的六种基本符号;(3)理解计算机解决问题的一般过程。
2、方法与过程(1)理解用不同的表达方法描述算法的优缺点;(2)掌握用流程图描述简单的算法。