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

算法与程序设计的教案范文一、教学目标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中第四章第五节,隶属程序设计方法的范畴。
本节课是对第四章中前四节内容的拓展,旨在让学生对算法与程序实现有一个更进一步的认识,了解递归算法与递归程序是可以解决数学中递归问题的一个重要方法,体验利用递归算法设计简单程序解决当前的一些数学问题,并学会正确评价如何利用计算机算法与程序设计解决数学问题。
通过这一节的学习,不仅提高了学生利用计算机的能力,也为他们在日后的学习、工作和生活提供了一种新的方式。
(二)说教学目标根据对教材内容、教学大纲及学生自身认知水平的分析,本节课的教学目标从以下三个方面来确定:1、知识目标(1)了解什么是递归算法,体验递归算法解决数学问题。
(2)了解递归算法程序设计的一般过程。
2、能力目标(1)理解递归算法的概念及递归停止的条件。
(2)正确评价使用递归算法和递归程序设计对学习数学的帮助。
(3)能自行摸索研究更多递归算法用于解决学习和生活中的问题。
3、情感目标(1)培养学生自主学习新知识的能力。
(2)培养学生对递归算法的兴趣。
(3)培养学生的算法及程序设计素养。
(三)确定教学重点、难点1、教学重点:体验递归算法解决数学问题的高效及递归程序的编写;2、教学难点:递归算法的递归公式及递归终止条件;3、教学重点、难点确定的依据:由于学生之前已经具备了简单的程序设计基础,虽然也做了一些简单的练习,了解了计算机可以编程解决很多数学问题,但是除了前面的一些穷举、查找、排序算法外,他们还需要进一步的学习递归算法,因为递归算法也是计算机编程中的基本算法,但是如何掌握递归算法的实现及如何用程序来处理递归问题,他们还需要学习相关的知识及技巧,如递归时的调用问题,递归公式的编写,何时能停止递归等。
因此确定体验递归算法解决数学问题的高效及递归程序的编写为本节课的教学重点,确定递归算法的递归公式及递归终止条件为本节课的教学难点。
算法与程序设计讲解

算法与程序设计讲解一、教学内容本节课的教学内容选自人教版小学信息技术教材六年级上册第五单元第一课时“算法与程序设计讲解”。
本节课主要通过讲解和实例让学生理解算法与程序设计的基本概念,以及如何利用程序设计解决实际问题。
具体内容包括:算法的定义、特点和表示方法;程序设计的基本概念和步骤;简单的算法实例。
二、教学目标1. 让学生理解算法的概念,知道算法与程序设计之间的关系。
2. 培养学生运用程序设计解决问题的能力。
3. 激发学生对算法与程序设计的兴趣,培养其创新精神和实践能力。
三、教学难点与重点重点:理解算法与程序设计的基本概念,掌握简单的算法实例。
难点:算法与程序设计在实际问题中的应用。
四、教具与学具准备1. 教具:计算机、投影仪、教学课件。
2. 学具:学生计算机、编程软件。
五、教学过程1. 导入:通过一个有趣的智力题目引出算法与程序设计的话题,激发学生的兴趣。
2. 讲解算法与程序设计的基本概念,引导学生理解二者的关系。
3. 分组讨论:让学生分组讨论生活中的算法实例,培养学生的团队协作能力。
4. 实例演示:教师通过演示简单的算法实例,如计算器、猜数字游戏等,让学生了解程序设计的基本步骤。
5. 实践操作:学生利用编程软件编写简单的程序,巩固所学知识。
7. 布置作业:设计一些有关算法与程序设计的练习题,巩固所学知识。
六、板书设计板书内容:算法与程序设计1. 算法的定义、特点和表示方法2. 程序设计的基本概念和步骤3. 简单的算法实例七、作业设计答案:开始输入sum, isum = 0i = 1当 i <= 100 时sum = sum + ii = i + 1结束输出sum答案:import java.util.Scanner;public class Factorial {public static void main(String args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正整数:");int n = scanner.nextInt();int result = 1;for (int i = 1; i <= n; i++) {result = i;}System.out.println("输入的正整数的阶乘为:" + result);}}八、课后反思及拓展延伸本节课通过生动的实例和实践操作,让学生初步了解了算法与程序设计的基本概念。
信息技术选修1《算法与程序设计》教材的第三单元:算法与问题解决说课稿

各位评委老师大家午好:1.我是来,今天我说课标说教材的题目是中国地图出版社的信息技术选修1《算法与程序设计》教材的第三单元:算法与问题解决。
2.本次说课我将从说课标、说教材、说建议这三个方面来说。
说课标我将介绍课程目标和内容标准两方面。
说教材我将介绍教材的编写特点、编写体例、本单元的内容结构及知识与技能的立体式整合四个方面。
说建议我将介绍教学建议、评价建议及课程资源的开发与利用建议三个方面。
3.下面我将进行课程标准的阐述:3.普通高中信息技术课程的总目标是提升学生的信息素养。
学生的信息素养表现在:对信息的获取、加工、管理、表达与交流的能力;对信息及信息活动的过程、方法、结果进行评价的能力;发表观点、交流思想、开展合作并解决学习和生活中实际问题的能力;遵守相关的伦理道德与法律法规,形成于信息社会相适应的价值观和责任感。
4.课标规定选修1《算法与程序设计》的课程标准是:通过《算法与程序设计》模块的学习,可以有效提升学生的分析问题与解决问题的能力,养成缜密的思维习惯。
通过开展合作并解决生活中的实际问题,从而实现知识与技能、过程与方法、情感态度与价值观等不同层面信息素养的综合提升与协调发展。
5.根据信息技术课程总目标和《算法与程序设计》课程目标,第三单元算法与问题解决的课程目标概括为:本单元旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。
本模块强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。
6.第三单元算法与问题解决包括四种算法:解析法与问题解决、穷举法与问题解决、递归法与问题解决、排序与查找,单元具体内容包括以下五点:(1)了解解析法的基本概念及用解析法设计算法的基本过程。
能够用解析法分析简单问题,设计算法,编写程序求解问题。
(2)了解穷举法的基本概念及用穷举法设计算法的基本过程。
算法与程序设计教案

算法与程序设计教案第一节 算法与程序设计思想【课标要求】(一)利用计算机解决问题的基本过程 1、结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
2、经历用自然语言、流程图或伪代码等方法描述算法的过程。
3、了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。
【学情分析】高二的学生已具备了一定的观察、思考、分析和解决问题能力,在必修部分对“计算机解决 实际问题的基本过程”已有所体验和了解。
因此,对如何将解决问题的思路画成流程图有了 一定的基础,但可能还不熟练,尤其对刚学过的循环结构,在课堂上要注意引导。
【学情分析】1、知识与技能: 建立求一批数中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。
2、过程与方法: 利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生 学会从此类生活实际中提炼出最大值的思想方法,既算法思想。
培养学生分析问题、解决问题的能力,让学生学会在面对问题时,能梳理出解决问题的清 晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某 种问题的。
3、情感态度与价值观: 让学生全身心的投入到教学活动中,积极与同伴合作交流,进行探索活动。
培养学生良好 的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。
创设情境,以激发学生的学习兴趣,努力营造一个可以接纳的、支持性的、宽容的课堂学 习环境,让学生置身与民主和愉悦的课堂氛围中放飞、潜心研究、快乐创造。
同时收获到 更多的东西——合作、分享、成就。
【难点重点】1、教学重点:建立一批数据中最大值的算法设计思想,并将此算法设计思想用流程图表示出 来。
2、教学难点:上述重点问题同样是本课的教学难点,另外,如何把人解决问题的思路、步骤 用计算机语言描述出来也是本课的难点之一。
【教学思路】利用现实生活中比较一组学生身高这一事件,引导学生去发现求最大值的一种方法。
2024年度-精选算法与程序设计教案

03
优点是算法简单易懂,缺点是当问题规模较大时,枚举所有可
能解的时间复杂度较高,效率低下。
11
贪心算法
贪心算法的基本思想
在每一步选择中都采取在当前状态下最好或 最优(即最有利)的选择,从而希望导致结 果是最好或最优的。
贪心算法的应用场景
适用于具有贪心选择性质和最优子结构性质的问题 。
贪心算法的优缺点
通过实例演示线性表在解决实际问题中的 应用,如多项式相加、一元多项式求值等 。
16
栈和队列及其应用
1 2
栈的定义与基本操作
阐述栈的基本概念,包括栈顶、栈底、入栈和出 栈等,介绍栈的顺序存储和链式存储方式。
队列的定义与基本操作
讲解队列的基本概念,包括队头、队尾、入队和 出队等,介绍队列的顺序存储和链式存储方式。
《算法》(第四版),Robert Sedgewick等著,人民邮电出版社;
9
02 基本算法思想
10
枚举算法
枚举算法的基本思想
01
通过一一列举问题的所有可能解,并逐一检验它们是否满足问
题的约束条件,从而得到问题的解。
枚举算法的应用场景
02
适用于问题规模不大,且可能解的数量在可接受范围内的情况
。
枚举算法的优缺点
27
归并排序思想及实现
01 实现步骤
02
1. 申请空间,使其大小为两个已经排序序列之和,该
空间用来存放合并后的序列;
03
2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置;来自28归并排序思想及实现
01
3. 比较两个指针所指向的元素 ,选择相对小的元素放入到合 并空间,并移动指针到下一位 置;
学生作品展示评价
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题:优雅的算法世界——《算法与程序设计》前言引入各位评委上午好。
记得有句歌词是:“不是我不明白,这世界变化快”,现在我们每天不得不和一大堆的密码打交道,什么电子邮箱、QQ、论坛、博客,当然还有各种银行卡密码等,密码多了容易忘记。
我手中拿的是一张银行卡,有一次我急着用钱,但就是不记得密码了,在ATM机上连着试了几次都取不出钱来,机器警告我不允许再试了,否则吞卡,为什么会这样呢?今天我的说课就从“银行限制试探密码次数”说起,题目是——优雅的算法世界。
一、教材内容分析1.《课标》对本模块的要求《算法与程序设计》是《普通高中信息技术课程标准》中的选修模块,其目的在于“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题”,要“引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题”。
2.简析教材粤教版《算法与程序设计》第一章《揭开计算机解决问题的神秘面纱》从华南太阳能设备厂的生产方案入手,分三个小节,主要讲解了计算机解决问题的过程、算法和算法的描述、程序与程序语言等,其中“算法和在解决问题中的地位和作用”是第二节中的部分内容,通过比较了两种求“最大公约数”算法的效率来强调算法的重要性。
二、学生分析高中学生已经有了一定的数学基础,甚至数学选修课里面也有“算法”的内容,他们的抽象思维能力也比初中学生好得多,但选修算法这门课程的学生仍然不是很多,也许是因为目前初中小学《信息技术》课程几乎没有程序设计内容的缘故吧,所以很多学生对编程不太理解,不知道这门课教什么内容,还有的学生听说编程很难,很枯燥。
正所谓“万事开头难”,所以上好第一节课对学生后面课程的学习是非常重要的。
三、教学策略1.设计方向记得初中物理第一节课,一位老教师走了进来,手里拿了很多好玩的东西,如单摆、不倒翁、音叉等等,我们在尽情的玩耍中体会到科学的神奇,刺激了我们学好这门课程的欲望。
这节课给我留下了深刻的印象,以至于到现在还历历在目,这些看似漫不经心拿来的玩具却在我们后来所学的热、电、声、光等课程中都用到了,所以我想能否结合《课标》的要求和目前教材的编写思路,在本课程的第一节课上一节引导课,以学生身边的实际问题入手,结合一些益智类游戏,一方面可以激发学生对算法和程序设计内容的兴趣,另一方面又对本课程的后续内容起到一个高屋建瓴的作用。
2.教学目标及教学重难点【教学目标】知识与技能:1)了解什么是算法及算法在问题解决中的地位和作用。
2)能描述穷举法的基本思想。
3)了解顺序查找算法、对半查找算法和递归算法。
4)尝试VB软件的基本操作,模仿“猜100以内整数游戏”的算法写出“猜4个数”游戏算法的主要步骤;过程与方法:1)能从生活中“银行限制试探密码次数”的现象出发,在老师的指导下,了解用穷举法解决问题的基本思想;2)能通过BBS获得问题的有关要求和提示信息,在体验游戏之后,能在BBS上发表观点、交流思想、开展合作;情感态度价值观:在游戏的过程中,体验到算法是有用的、有趣的,激发对《算法和程序设计》这门课程的求知欲。
【教学难点】递归算法【教学重点】算法在问题求解中的地位和作用。
四、教学过程课前准备1.为了能让学生更好的交流和分享心得,最好所有的学生用机都能连上因特网,并且每位学生已在班级论坛里注册了;2.为了共享教学辅助资源,要确保所有学生机都能连接到教师机。
3.为了使演示能顺利进行,要确保“教学控制系统”能正常使用(一).引入师:大家看到老师手上拿的一张交行的银行卡,有一次我取钱的时候不记得密码了,于是就将常用的密码一个一个的去试,但试到第三次的时候,ATM柜员机警告不允许再试了,否则将没收磁卡,请问:“银行为什么要限制尝试密码的次数”呢?生:为了安全,以免银行卡丢失的时候,别人取走了你的钱。
师:请注意老师的问题,为什么要限制次数呢?生:因为如果不限制次数的话,试多了,就可以试出密码来。
师:如果现在换作你,无论试多少次都可以,你怎么获得密码?通常我们银行卡的密码是六位数。
生:一个一个的去试,先是000000,然后000001,一直到999999,总有一个密码是对的。
师:我可不是要大家以后捡到了别人的卡都去试啊(笑),只是讨论这种方法的可行性。
刚才大家的讨论说明了,如果不限制次数,六位数的密码我们最多试一百万次,一定能够获得相应的密码,所以幸好银行限制了次数,而且也限定了每天所取的金额不超过5000元,这样较好的保护了我们的利益。
(二).算法的基本概念1.穷举法和算法的基本概念这学期我们要学习的内容是《算法与程序设计》,提到算法,大家可能觉得很神秘,很高深,其实我们刚才试密码的方法就是一种最简单、最实用的算法,它的名字叫“穷举法”。
就是列出所有可能的情况,一个一个判断是否符合问题所要求的条件,从而得到问题的答案。
那什么是算法呢?通俗的说,“算法就是用计算机求解某一问题的方法”。
人们常说,数学是思维的体操,数学之美,是智慧之美,算法与之有异曲同功之妙。
因为算法不仅有数学的渊源,她更是计算机世界的核心之一,算法里的每一次跳转就是她飞扬的舞步,所以说算法的世界,是优雅的世界。
2.对半查找算法举例接着说上面的那个银行卡密码的游戏,请你先想好一个6位数的密码,然后让电脑去猜,如果你每次只告诉电脑猜得对或“不对”,那么从理论上来说,电脑可能要猜一百万次才能猜中你的密码,这就是刚才我们所说的穷举法。
但如果你每次告诉电脑它所猜的数字比你的密码是大了还是小了,然后电脑再猜下一个数字,不断重复这个过程,直到电脑猜中你的密码为止,请问电脑最多要多少次才能猜中一个六位数的密码?请写出电脑的算法。
我们在玩这个游戏时,可以简化成甲乙两人猜一个100以内的整数,甲出题,乙来猜,甲来说“大了”或是“小了”,或是“猜中了!”那么乙猜数的过程就是电脑猜密码的算法!这样学生很容易想到用对半查找法去解决问题。
根据游戏的过程,填补下列算法的空白处(见下表)。
切换到代码窗口,比较代码与算法的基本对应关系(由于语言的不同,算法和代码不是绝对的一一对应)。
顺序算法主要代码1 次数设为1 n = 12 设置所猜数字的范围,a为最小数,b为最大数a = 0b = 1000000 Do3 取a和b中间的那个数给c c = Int((a + b) / 2)Print "第"; n; "次"; c;4 将c和密码相比,如果c比密码数大,就输入>,如果c比密码数大,就输入<,如果正好相等,则输入= ch1 = InputBox("这个数和您所想的数相比是大了(>),还是小了(<),或正好相等(=)?")5 如果输入的是>,就将C和值给B,即缩小范围在a和c之间;Select Case ch1Case ">"如果是<,就将C和值给a,即缩小范围在c和b之间;如果是=,则程序跳到第步b =c Case "<"a = c Case ElseExit Do End Select6 次数加1,回到第步n = n + 1Loop Until abs(a-b)<0.17 显示“猜对了”,并结束Print "OK"上述的这个过程就是由设计算法到编写程序的过程。
(三).游戏体验学生从教师机下载游戏,可以选择下列两个游戏中的任意一个,根据提示或要求完成任务,并在论坛上回贴。
1.汉诺(Hanoi)塔问题。
要求:1)先试着完成5个盘子的搬运过程,如果感觉太难就退到4个,如果还是感觉难,可以退回到3个盘子的状态;如果可以很轻松完成5个盘子的搬运,可以试着到6个盘子、7个盘子的搬动游戏;2)试着总结N个盘子和N-1个盘子搬运过程的关系;提示:当4个盘子搬到如右图所示的状态时,你会怎么办?那么4个盘子和3个盘子的移动过程的关系是什么?2.猜数字游戏要求:1)在老师的指导下试着打开“代码窗口”、“对象窗口”,对程序有个初步的了解;2)执行程序,玩这个游戏,看看你要几次才能猜对;3)如果目前游戏的限制次数10太少了,你能否修改程序代码,使得游戏次数为20次,在哪里改,请将你的经验回贴在下面;如果你能够很轻松的在规定次数内破解这个游戏,能否将你的破解密技公布一下?4)学习计算机编这个游戏程序的算法过程,并试着将第③步和第④步说得更详细一点:①由电脑随机产生0-9之间的任意四个数,次数初值为1;②由人来输入4个不相同的数字;③统计4个数中有几个数字存在但位置不对;④统计有几个数字位置都对,如果4 个数字位置都对,则跳到第⑦步;⑤猜的次数增加1次;⑥如果次数到了10次,则显示这个数,并显示“失败”,程序结束;否则跳过第②步。
⑦输出这个数,显示“成功”和次数,程序结束。
(四).成果分享通过论坛上的留言发现学生的闪光点,每个题目请一位同学上台展示游戏的过程,并谈谈对老师所提出的问题的感想。
(五).课堂小结编程之道就如武学之道,VB,VC等开发工具的技巧好比各门各派的武功招式,算法好比内功心法,如果内力深厚,任何招式到了手上都能够化腐朽为神奇。
今天这节课,我们初步体验了穷举法、顺序查找法、对半查找法和递归等算法,由于时间关系,讲得还不是很透彻,不过,后续的课程中,我们还会分别进行更为深入的学习。
当然,对于今天这节课,如果你有什么问题,可以在课下或在论坛中提出,老师会尽可能的帮你解答。
另外,我们在论坛中还提供了与“八皇后”、“哥尼斯堡七桥问题”、“幻方”、“WORD密码查看器”等游戏,如果大家感兴趣的话,可以下载玩玩,别忘了留下你的感受。
好,下课!五、教学评价何老师:1.本节课内容生动,学生积极性比较高,完成的效果也比较好,虽然河内塔一例学生没有当堂展示出来,但这位学生思路比较清晰,能反映出他对递归算法的基本原理有所体会,因为是算法的第一节课,应该说教学目的达到了。
2.在算法的概念和意义部分表述还需要提高。
3.学生的竞争和协作设计得很好,但在完成过程中体现得还不是很充分。
赵老师:本节课的设计应该说吴老师是花了相当大的气力的,主要是很多小软件和资料的下载,非常能说明问题,给我印象较深的是“word密码破解”和“河内塔”这两个游戏,其中“word 密码破解”中吴老师设计了这样一个问题:“观察电脑破解密码的过程,注意最末一位的变化,想一想电脑获取密码的主要策略是什么?如何在软件中输入正确的参数,使得查找的速度有所提高?”这样结合实例来谈穷举法就比较生动有效。
而“河内塔”是讲递归的经典程序了,我们大学学习时总是很痛苦没有相应的游戏,现在的教学方法比大学好多了。