《算法与程序设计》选修教案

合集下载

教科版高中信息技术选修一《算法与程序设计》选修教案.doc

教科版高中信息技术选修一《算法与程序设计》选修教案.doc

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

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

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

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

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

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

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

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

《算法与程序设计》选修教案-2024鲜版

《算法与程序设计》选修教案-2024鲜版

评估方式
采用平时成绩、实验成绩和期末考试成绩相结合的评估方式,其中平时成绩包 括课堂表现、作业完成情况等,实验成绩主要考察学生的实践能力和创新能力, 期末考试成绩主要考察学生对课程知识的掌握程度。
2024/3/27
6
02
基础算法介绍
2024/3/27
7
排序算法
冒泡排序
选择排序
通过相邻元素比较和交换,将较大(或较小) 的元素逐渐推送到数组末端。
模块导入与使用
演示如何导入和使用Python标准库中的模块,以及自定义模块 的创建和使用方法。
16
04
数据结构与算法应用
2024/3/27
17
线性表
线性表的定义与基本操作
创建、插入、删除、查找等。
线性表的链式存储结构
单链表、双向链表、循环链表等。
2024/3/27
线性表的顺序存储结构
数组表示与操作实现。
团队协作
组织学生进行分组,明确分工,培养团队协作精 神。
项目展示与评价
组织学生进行项目展示,对项目的创新性、实用 性、算法效率等方面进行评价。
30
课程总结与展望
01
课程知识点回顾
总结本课程的主要知识点,包括经 典算法、问题建模、算法设计等。
03
未来发展方向
介绍算法与程序设计的未来发展趋 势,如人工智能、大数据处理等领
索为止,然后回溯到上一层节点,继续搜索下一个分支。
广度优先搜索(BFS)
02
按照层次逐层遍历图中的所有节点,先访问离起始节点近的节
点,再访问离起始节点远的节点。
最短路径算法
03
如Dijkstra算法和Floyd算法,用于求解图中两个节点之间的最

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修一、第一章:算法与程序设计概述1. 教学目标了解算法的概念、特性以及算法与程序的关系。

掌握算法描述的方法,如伪代码和流程图。

理解程序设计的基本概念,如编程语言、编译器和解释器。

2. 教学内容算法定义及特性算法描述方法:伪代码和流程图程序设计基本概念3. 教学方法采用案例分析法,以具体的编程语言为例,让学生理解算法与程序设计的关系。

采用任务驱动法,让学生通过实际编写代码,体验算法实现的过程。

4. 教学步骤介绍算法的概念和特性,结合实例进行分析。

讲解伪代码和流程图的表示方法,引导学生学会使用这两种工具描述算法。

讲解程序设计的基本概念,如编程语言、编译器和解释器。

5. 课后作业结合本章内容,让学生编写一个简单的程序,实现一个基本的算法。

二、第二章:顺序结构程序设计1. 教学目标掌握顺序结构程序设计的基本语法和技巧。

理解顺序结构程序设计的原则,能够编写清晰、高效的程序。

2. 教学内容顺序结构程序设计的基本语法顺序结构程序设计的原则3. 教学方法采用案例分析法,通过分析具体的程序案例,让学生理解顺序结构程序设计的方法。

采用任务驱动法,让学生通过实际编写代码,掌握顺序结构程序设计技巧。

4. 教学步骤讲解顺序结构程序设计的基本语法,如变量声明、数据类型、输出语句等。

讲解顺序结构程序设计的原则,如代码清晰、可读性强、模块化等。

5. 课后作业结合本章内容,让学生编写一个简单的顺序结构程序,实现特定的功能。

三、第三章:分支结构程序设计1. 教学目标掌握分支结构程序设计的基本语法和技巧。

理解分支结构程序设计的原则,能够编写清晰、高效的程序。

2. 教学内容分支结构程序设计的基本语法分支结构程序设计的原则3. 教学方法采用案例分析法,通过分析具体的程序案例,让学生理解分支结构程序设计的方法。

采用任务驱动法,让学生通过实际编写代码,掌握分支结构程序设计技巧。

4. 教学步骤讲解分支结构程序设计的基本语法,如条件语句、循环语句等。

《算法与程序设计》选修教案

《算法与程序设计》选修教案

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

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

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

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

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

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

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

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

教科版高中信息技术选修一《算法与程序设计》选修教案

教科版高中信息技术选修一《算法与程序设计》选修教案

教科版高中信息技术选修一《算法与程序设计》选修教案教案:算法与程序设计教学目标: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.总结:总结本节课的内容,并布置相关习题作业。

高中信息技术选修1教案-1

高中信息技术选修1教案-1

算法描述之流程图学科整合策略:本节采用的案例与数学学科整合,有助于学生知识的迁移;支架策略:借助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. 教学目标:了解算法的概念和特点理解程序设计的基本流程掌握算法与程序设计的关系2. 教学内容:算法的定义和特点程序设计的基本流程算法与程序设计的关系3. 教学方法:讲授法:讲解算法的概念和特点,程序设计的基本流程案例分析法:分析算法与程序设计的关系4. 教学准备:相关教材或教辅资料投影仪或白板5. 教学步骤:引入:通过生活中的例子引出算法的概念讲解:详细讲解算法的定义和特点,程序设计的基本流程案例分析:分析算法与程序设计的关系,举例说明练习:让学生举例说明生活中的算法和程序设计二、章节名称:流程图与算法表示1. 教学目标:了解流程图的概念和作用学会使用流程图表示算法理解算法表示的方法和意义2. 教学内容:流程图的定义和作用流程图的表示方法算法表示的方法和意义3. 教学方法:讲授法:讲解流程图的概念和作用,流程图的表示方法实践操作法:让学生动手画流程图,表示算法4. 教学准备:相关教材或教辅资料投影仪或白板练习用的算法案例5. 教学步骤:引入:通过生活中的例子引出流程图的概念讲解:详细讲解流程图的定义和作用,流程图的表示方法实践操作:让学生动手画流程图,表示算法案例练习:让学生独立画出给定算法的流程图三、章节名称:顺序结构与程序设计1. 教学目标:理解顺序结构的概念和作用学会使用顺序结构进行程序设计掌握顺序结构的语法和用法2. 教学内容:顺序结构的定义和作用顺序结构的语法和用法顺序结构在程序设计中的应用3. 教学方法:讲授法:讲解顺序结构的概念和作用,顺序结构的语法和用法实践操作法:让学生动手编写顺序结构的程序4. 教学准备:相关教材或教辅资料投影仪或白板编程环境5. 教学步骤:引入:通过生活中的例子引出顺序结构的概念讲解:详细讲解顺序结构的定义和作用,顺序结构的语法和用法实践操作:让学生动手编写顺序结构的程序练习:让学生独立编写给定问题的顺序结构程序四、章节名称:选择结构与程序设计1. 教学目标:理解选择结构的概念和作用学会使用选择结构进行程序设计掌握选择结构的语法和用法2. 教学内容:选择结构的定义和作用选择结构的语法和用法选择结构在程序设计中的应用3. 教学方法:讲授法:讲解选择结构的概念和作用,选择结构的语法和用法实践操作法:让学生动手编写选择结构的程序4. 教学准备:相关教材或教辅资料投影仪或白板编程环境5. 教学步骤:引入:通过生活中的例子引出选择结构的概念讲解:详细讲解选择结构的定义和作用,选择结构的语法和用法实践操作:让学生动手编写选择结构的程序练习:让学生独立编写给定问题的选择结构程序五、章节名称:循环结构与程序设计1. 教学目标:理解循环结构的概念和作用学会使用循环结构进行程序设计掌握循环结构的语法和用法2. 教学内容:循环结构的定义和作用循环结构的语法和用法循环结构在程序设计中的应用3六、章节名称:循环控制与程序设计1. 教学目标:理解循环控制的概念和作用学会使用循环控制进行程序设计掌握循环控制的语法和用法2. 教学内容:循环控制的概念和作用循环控制的语法和用法循环控制在程序设计中的应用3. 教学方法:讲授法:讲解循环控制的概念和作用,循环控制的语法和用法实践操作法:让学生动手编写循环控制的程序4. 教学准备:相关教材或教辅资料投影仪或白板编程环境5. 教学步骤:引入:通过生活中的例子引出循环控制的概念讲解:详细讲解循环控制的概念和作用,循环控制的语法和用法实践操作:让学生动手编写循环控制的程序练习:让学生独立编写给定问题的循环控制程序七、章节名称:数组与程序设计1. 教学目标:理解数组的概念和作用学会使用数组进行程序设计掌握数组的语法和用法2. 教学内容:数组的定义和作用数组的语法和用法数组在程序设计中的应用3. 教学方法:讲授法:讲解数组的概念和作用,数组的语法和用法实践操作法:让学生动手编写使用数组的程序4. 教学准备:相关教材或教辅资料投影仪或白板编程环境5. 教学步骤:引入:通过生活中的例子引出数组的概念讲解:详细讲解数组的定义和作用,数组的语法和用法实践操作:让学生动手编写使用数组的程序练习:让学生独立编写给定问题的数组程序八、章节名称:函数与程序设计1. 教学目标:理解函数的概念和作用学会使用函数进行程序设计掌握函数的语法和用法2. 教学内容:函数的定义和作用函数的语法和用法函数在程序设计中的应用3. 教学方法:讲授法:讲解函数的概念和作用,函数的语法和用法实践操作法:让学生动手编写使用函数的程序4. 教学准备:相关教材或教辅资料投影仪或白板编程环境5. 教学步骤:引入:通过生活中的例子引出函数的概念讲解:详细讲解函数的定义和作用,函数的语法和用法实践操作:让学生动手编写使用函数的程序练习:让学生独立编写给定问题的函数程序九、章节名称:指针与程序设计1. 教学目标:理解指针的概念和作用学会使用指针进行程序设计掌握指针的语法和用法2. 教学内容:指针的定义和作用指针的语法和用法指针在程序设计中的应用3. 教学方法:讲授法:讲解指针的概念和作用,指针的语法和用法实践操作法:让学生动手编写使用指针的程序4. 教学准备:相关教材或教辅资料投影仪或白板编程环境5. 教学步骤:引入:通过生活中的例子引出指针的概念讲解:详细讲解指针的定义和作用,指针的语法和用法实践操作:让学生动手编写使用指针的程序练习:让学生独立编写给定问题的指针程序十、章节名称:算法与程序设计的综合应用1. 教学目标:理解算法与程序设计在实际应用中的结合学会使用算法和程序设计解决实际问题掌握算法与程序设计综合应用的方法和技巧2. 教学内容:算法与程序设计在实际应用中的结合算法和程序设计解决实际问题的方法和技巧-十一、章节名称:数据结构基础1. 教学目标:理解数据结构的概念和重要性学会使用基本数据结构(如栈、队列、链表)掌握数据结构的算法和应用2. 教学内容:数据结构的基本概念和分类栈和队列的原理及其应用链表的创建和操作树和图的基本概念3. 教学方法:讲授法:讲解数据结构的基本概念和分类实践操作法:让学生动手实现基本数据结构案例分析法:分析实际问题中的数据结构应用4. 教学准备:相关教材或教辅资料投影仪或白板编程环境准备栈、队列、链表等数据结构的示例代码5. 教学步骤:引入:通过实际问题引入数据结构的概念讲解:详细讲解数据结构的基本概念和分类实践操作:让学生动手实现栈、队列、链表等数据结构案例分析:分析实际问题中的数据结构应用练习:让学生独立设计和实现给定问题的数据结构解决方案十二、章节名称:算法设计与分析1. 教学目标:理解算法设计的重要性学会常用的算法设计策略(如贪心、动态规划、分治、回溯)掌握算法分析的基本方法(如时间复杂度、空间复杂度分析)2. 教学内容:算法设计的基本策略和思维方法贪心算法、动态规划算法、分治算法、回溯算法的原理和应用算法分析的概念和方法3. 教学方法:讲授法:讲解算法设计的基本策略和思维方法实践操作法:让学生动手实现和测试各种算法案例分析法:分析实际问题中的算法设计4. 教学准备:相关教材或教辅资料投影仪或白板编程环境准备各种算法的示例代码和测试数据5. 教学步骤:引入:通过实际问题引入算法设计的重要性讲解:详细讲解算法设计的基本策略和思维方法实践操作:让学生动手实现和测试贪心、动态规划、分治、回溯等算法案例分析:分析实际问题中的算法设计练习:让学生独立设计和实现给定问题的算法解决方案十三、章节名称:算法与程序设计的实验与探究1. 教学目标:培养学生的实验操作能力和问题解决能力学会使用编程环境进行算法调试和测试2. 教学内容:实验操作的基本流程和注意事项编程环境的使用和调试技巧3. 教学方法:实验操作法:学生在实验室进行算法实验操作讲授法:讲解实验操作的基本流程和注意事项4. 教学准备:相关教材或教辅资料实验室设备(计算机、网络、编程环境)实验指导书和实验案例5. 教学步骤:引入:通过实际问题引入实验操作的重要性讲解:详细讲解实验操作的基本流程和注意事项实验操作:学生在实验室进行算法实验操作交流与评价:学生之间交流实验结果和报告,进行评价十四、章节名称:算法与程序设计的应用案例1. 教学目标:理解算法与程序设计在实际项目中的应用学会使用算法和程序设计解决实际问题掌握算法与程序设计应用案例的分析方法和设计技巧2. 教学内容:算法与程序设计在实际项目中的应用案例分析实际问题中的算法设计和程序实现算法与程序设计应用案例的设计技巧和最佳实践3. 教学方法:讲授法:讲解算法与程序设计在实际项目中的应用实践操作法:让学生动手实现实际问题中的算法案例分析法:分析实际问题中的算法设计和程序重点和难点解析1. 重点:算法的概念、特点及其在程序设计中的重要性。

高中信息技术算法与程序设计教案沪教版选修

高中信息技术算法与程序设计教案沪教版选修

高中信息技术算法与程序设计教案沪教版选修一、教学目标1. 理解算法与程序设计的基本概念。

2. 学会使用一种编程语言进行简单的程序设计。

3. 掌握算法分析的基本方法。

4. 培养学生的逻辑思维能力和问题解决能力。

二、教学内容第一章:算法与程序设计概述1.1 算法的基本概念1.2 程序设计的基本概念1.3 算法与程序设计的关系第二章:编程语言基础2.1 编程语言的基本概念2.2 常见编程语言简介2.3 编程语言的选择第三章:算法分析与设计3.1 算法分析的基本概念3.2 算法设计的基本方法3.3 算法评价与优化第四章:顺序结构程序设计4.1 顺序结构的基本概念4.2 顺序结构的实现4.3 顺序结构程序设计实例第五章:选择结构程序设计5.1 选择结构的基本概念5.2 选择结构的实现5.3 选择结构程序设计实例三、教学方法1. 讲授法:讲解算法与程序设计的基本概念、原理和方法。

2. 实践法:让学生通过编写程序,巩固所学知识,提高动手能力。

3. 案例分析法:通过分析实际案例,让学生理解算法与程序设计的应用。

4. 小组讨论法:分组讨论问题,培养学生的团队合作能力。

四、教学环境1. 教室环境:宽敞明亮的教室,配备多媒体教学设备。

2. 计算机房:每个学生一台计算机,安装有相应的编程软件。

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

2. 实践成绩:评价学生在实践环节的编程作品。

3. 期末考试:考察学生对算法与程序设计知识的掌握程度。

六、循环结构程序设计6.1 循环结构的基本概念6.2 循环结构的实现6.3 循环结构程序设计实例七、函数与模块化程序设计7.1 函数的基本概念7.2 函数的实现7.3 模块化程序设计实例八、算法与数据结构8.1 数据结构的基本概念8.2 常见数据结构及其算法8.3 算法与数据结构的应用九、算法设计与问题解决9.1 问题解决的基本策略9.2 算法设计的常用技巧9.3 算法设计与问题解决实例十、算法与程序设计的综合应用10.1 算法与程序设计在实际应用中的案例分析10.2 算法与程序设计的创新实践10.3 总结与展望六、教学方法1. 讲授法:讲解循环结构的基本概念、原理和方法。

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

第一课初识算法与程序设计一、教学目标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、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需探讨。

第二课用计算机解决问题一、教学目标(1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。

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

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

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

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

三、教学过程(2课时)(一)引入教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。

然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:”学生观看的电视剧《汉刘邦》片断,内容大致如下:“韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。

韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。

在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。

”片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。

刘邦茫然而不知其数。

你呢?”(二)问题教师:“下面我们先助刘邦解决一个简单的问题。

”“韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。

(三)探究把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。

利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。

并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。

如下:探究问题记录表学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。

教师提问2~3个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。

教师解释第3步“另X为X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。

教师:“刚才有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一个数据量稍大的问题。

”展示题目:“韩信点兵”问题2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。

学生分析上述问题并写出算法,不用计算。

学生有了第1题的经验,很快会写出和第一题类似的算法。

如下:教师:“上面的结果超过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)掌握用流程图描述简单的算法。

3、情感态度和价值观以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。

二、重点难点(一)教学重点1、算法的定义;2、算法的三种表达方法;3、流程图的六种基本符号;4、用流程图描述简单的算法。

(二)教学难点5、算法的描述(三种);6、用流程图描述算法。

三、教学过程(2课时)第四课程序与程序设计语言一、教学目标1、知识与技能使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类。

2、过程与方法使学生初步体验编程乐趣,了解如何编辑程序、编译程序和连接程序。

3、情感态度与价值观让学生进一步领会算法和程序设计在解决问题中的地位,体会编写出程序的魅力,从而培养学生学习编程的兴趣。

二、重点难点(1)重点:了解代码所包含的算法思想;(2)难点:计算机是如何编辑程序、编译程序和连接程序的。

三、教学过程(2课时)正课讲解(一)尝试用VB编写程序1、么是VB?——VB是一种基本BASIC语言的可视化程序开发工具。

2、编写程序⑴从桌面上启动VB,弹出“新建工程”对话框,从“新建”页面中选“标准EXE”,然后“打开“按钮,建立”标准EXE工程。

注:为了避免打开时总是出现“新建工程”对话框,在首次启动时,勾选“不再显示这个对话框”。

相关文档
最新文档