猴子下山取最值_第1页
猴子下山取最值_第2页
猴子下山取最值_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“猴子下山”取最值我的一堂冒泡算法教学案例前些天, 我给计算机专业高考班上 C 语言, 知识点是冒 泡算法。在以前的教学中,是我先讲思路,由同学们写流程 图,再一起写出整个程序。但一般效果不好,一旦考试时, 出现结果五花八门,让人哭笑不得。于是这次上课之前,我 给学生讲了一个小故事:小时我们听了猴子下山故事。今天我也给大家讲个 猴子下山故事(学生听了有的无动于衷,有的呵呵笑) 。 有一天,小猴子妈妈要小猴子下山去玩,并告诉它: “回来后 把你看到的最大数字 告诉我”。 小猴也听话,在途中特别注意 一些数字,它依次遇到了 30,43,21,1,56,34,8 ,这些数字。回到家后,妈妈问:“你遇

2、到的最大数是多少呀?”,“56 ”, 小猴子回答道。“那你今天遇到哪些数呀?”,“这个,你不是只 要我记最大数吗?我可没那么好记心” 。“你不把其它数说出 来,怎么知道你对了没?” ,“妈,绝对没问题,虽然刚刚学数 字,大小还是分得清的” 。接着我问:请把猴子记下 56 这个最大数的详细经过说学生哄堂大笑:“老师,你讲的是幼儿的故事,问的是幼儿问题,太小看我们了吧。”“是吗?同学们觉得太简单了是不?”“那当然。”我板书了一道题:编程求出30,43,21,1,56,34,8,这些数中的最大值。并提示学生:“此程序设计流程就是这个小猴子的详细经过,你们既然知道了,请写流程图,编程,开始! (学过了

3、循环结构)“啊? ”特别是那些女生。10分钟过去了,当我在下面查看同学们结果时,5%基本上能写出下图差不多程序,但其余的就相差太远了。完全 正确的没有一人。Mai n()int a7= 30,43,21,1,56,34,8,i,n;For(i=0,i n)n=ai;Printf(“最大数是 %d ,n);我问:“行否?”下面声音再也没有刚才那么自信的声音了,有的只有摇 头。“好,之所以写不出, 是因为你们没有回答我的小儿科提 问!”我不失时机的抛出了我的观点: “生活中越是看似容易的 事情,往往蕴藏着许多哲理,许多规律。万有引力也只有牛 顿从最平常的苹果下落才发现!细节决定成败。因为你们不 愿

4、去思考别人看似简单的过程,所以在亲力亲为是总是困难 重重!故俗语云:事非经过不知难!,下面我们还是去想想小 猴子记数经过吧! ”同学们不好意思笑着点头。问:“ 小猴子下山初次遇到了谁?” 答:“30 ”问:“这个数要不要?” 答:“不要!,”还是那么自信 问:“到底要不要?” 答:“要、”“不要。”终于有了不一样的声音。 问:“请说不要的理。由” 答:“因为30 不是最大的” 问:“请说要的理。由” 答:“没有30,哪来比 30 大的 56 呢,再者, 如果后面遇到的 全是比 30 小的,不就错了?” “精彩,太精彩了,掌声在哪儿?”我对这个同学大加赞美道, “是的,30 你不记下来,如果后面

5、比 30 都小,怎么办,难道 真的随便说个数去忽悠猴妈妈吗?”哄堂大笑。问:“30 要记下来,记在哪?” 答:“小猴子脑子中” 问:“在程序中谁是小猴子呢” 答:“用个变量”略思考后,两三个同学回答。“好的,在程序中我们也要有小猴子的变量,不过习惯我们 把最大值的变量叫 max ,最小值叫min。我补充道。并将它 们写在黑板上。问:“接下来小猴子遇到谁?”答:“43 ”问:“要不要”答:“要”问:“比不比,和谁比”答:“比,和猴子比”30 比,和max 比)我点点头: “猴子记下了43, 丢下了30”又问:“接下来是21, 要不要?”答:“不要” 问:“比不比?和谁比” 答:“和max 异口同

6、声。此时我知道,大多数同学真懂了。因为前面循环语句学的还 行,编程问题不大了。5 分钟过后,许多同学都非常自信的把程序给我看,虽到处有些小问题,思路基本没问题了。只是有一个问题没解 决:那就是 max=a0 这条语句应写在循环之前。 (本人没有 马上讲解) 。先和大家一起在机器上验证了这个程序的正确 性。我问大家,“这个程序是否就非常严谨了呢?”下面无声。 于是我出了第二道题: 求出此题中的最小值。 并请一同学上机验证,结果是“ 0 ”“怎么回事?、”“怪呀!”“程序写错了吧。 ”下面叽叽喳喳。 我又一次不失时机讲道: “程序没有写错,关键是我们写 的这个程序不严谨的问题,也就是小猴子遇到第一

7、个数时如 何处理的问题。 ”经我一点拔,马上有许多同学想到了:“是max的初值为0!”“是的,如何改? ”这是许多人都如获至宝,自然在循环前加上了一条语句 :max=a0, 随 之 把 循 环 for(i=0,i7,i+) 改 为 了for(i=1,i7,i+) ,于是程序也水到渠成。同学们都开心笑了。随后又布置作业:从键盘上输入 10 个数,求最大最小 值。这堂课过后,那些对程序课有排斥的同学好像也有改 变,积极性大有提高。以前从成绩差的学生身上,我看到的 是失望,无助。而这次,他们脸上似乎有了新的希望,有了 一些看自信了。同时,比起以前讲授法教学,我觉得这堂课 我也特别轻松。是的,在实际教学中,启发式教学用妙了,探究性学习 用精了,于老师于学生都是一件愉悦的事。程序设计于中职 学生来讲,还是特别难的,教师在教学中,不想些法子,课 堂肯定枯燥,学生没了兴趣,专业技术水平再高的老师也无 力回天。其实,做任何事情都离不开生活,教书也是如此。 生活就是一个课堂,从生活中来,到生活中去。让课堂走进 我们的生活

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论