- 2
- 0
- 约2.39千字
- 约 6页
- 2018-11-10 发布于河南
- 举报
猴子下山取最值
“猴子下山”取最值
----我的一堂冒泡算法教学案例
前些天,我给计算机专业高考班上C语言,知识点是冒泡算法。在以前的教学中,是我先讲思路,由同学们写流程图,再一起写出整个程序。但一般效果不好,一旦考试时,出现结果五花八门,让人哭笑不得。于是这次上课之前,我给学生讲了一个小故事:
小时我们听了《猴子下山》故事。今天我也给大家讲个《猴子下山》故事(学生听了有的无动于衷,有的呵呵笑)。有一天,小猴子妈妈要小猴子下山去玩,并告诉它:“回来后把你看到的最大数字告诉我”。小猴也听话,在途中特别注意一些数字,它依次遇到了30,43,21,1,56,34,8,这些数字。回到家后,妈妈问:“你遇到的最大数是多少呀?”,“56”,小猴子回答道。“那你今天遇到哪些数呀?”,“这个……,你不是只要我记最大数吗?我可没那么好记心”。“你不把其它数说出来,怎么知道你对了没?”,“妈,绝对没问题,虽然刚刚学数字,大小还是分得清的”。
接着我问:请把猴子记下56这个最大数的详细经过说一说。
学生哄堂大笑:“老师,你讲的是幼儿的故事,问的是幼儿问题,太小看我们了吧。”
“是吗?同学们觉得太简单了是不?”
“那当然。”
我板书了一道题:编程求出30,43,21,1,56,34,8,这些数中的最大值。并提示学生:“此程序设计流程就是这个小猴子的详细经过,你们既然知道了,请写流程图,编程,开始!”(学过了循环结构)
“啊?”特别是那些女生。
10分钟过去了,当我在下面查看同学们结果时,5%基本上能写出下图差不多程序,但其余的就相差太远了。完全正确的没有一人。
Main()
Main()
{int a[7]={ 30,43,21,1,56,34,8},i,n;
For(i=0,i7,i++)
If (a[i]n)
n=a[i];
Printf(“最大数是%d”,n);
}
我问:“行否?”
下面声音再也没有刚才那么自信的声音了,有的只有摇头。
“好,之所以写不出,是因为你们没有回答我的小儿科提问!”我不失时机的抛出了我的观点:“生活中越是看似容易的事情,往往蕴藏着许多哲理,许多规律。万有引力也只有牛顿从最平常的苹果下落才发现!细节决定成败。因为你们不愿去思考别人看似简单的过程,所以在亲力亲为是总是困难重重!故俗语云:‘事非经过不知难!’,下面我们还是去想想小猴子记数经过吧!”
同学们不好意思笑着点头。
问:“ 小猴子下山初次遇到了谁?”
答:“30”
问:“这个数要不要?”
答:“不要!”,还是那么自信
问:“到底要不要?”
答:“要”、“不要”。终于有了不一样的声音。
问:“请说‘不要’的理由”。
答:“因为30不是最大的”
问:“请说‘要’的理由”。
答:“没有30,哪来比30大的56呢,再者,如果后面遇到的全是比30小的,不就错了?”
“精彩,太精彩了,掌声在哪儿?”我对这个同学大加赞美道,“是的,30你不记下来,如果后面比30都小,怎么办,难道真的随便说个数去忽悠猴妈妈吗?”
哄堂大笑。
问:“30要记下来,记在哪?”
答:“小猴子脑子中”
问:“在程序中谁是小猴子呢”
答:“用个变量”略思考后,两三个同学回答。
“好的,在程序中我们也要有‘小猴子’的变量,不过习惯我们把最大值的变量叫‘max’,最小值叫‘min’”。我补充道。并将它们写在黑板上。
问:“接下来小猴子遇到谁?”
答:“43”
问:“要不要”
答:“要”
问:“比不比,和谁比”
答:“比,和‘猴子’比”(和‘30’比,和‘max’比)
我点点头:“猴子记下了‘43’,丢下了‘30’”又问:“接下来是’21’,要不要?”
答:“不要”
问:“比不比?和谁比”
答:“和‘max’”异口同声。
……
此时我知道,大多数同学真懂了。因为前面循环语句学的还行,编程问题不大了。
5分钟过后,许多同学都非常自信的把程序给我看,虽到处有些小问题,思路基本没问题了。只是有一个问题没解决:那就是max=a[0]这条语句应写在循环之前。(本人没有马上讲解)。先和大家一起在机器上验证了这个程序的正确性。
我问大家,“这个程序是否就非常严谨了呢?”
下面无声。于是我出了第二道题:求出此题中的最小值。并请一同学上机验证,结果是“0”
“怎么回事?”、“怪呀!”“程序写错了吧。”下面叽叽喳喳。
我又一次不失时机讲道:“程序没有写错,关键是我们写的这个程序不严谨的问题,也就是小猴子遇到第一个数时如何处理的问题。”
经我一点拔,马上有许多同学想到了:“是max的初值为0!”
“是的,如何改?”
这是许多人都如获至宝,自然在循环前加上了一条语句:max=a[0],随之把循环for(i=0,i7,i++)改为了for(i=1,i7,i++),于是程序也水到渠成。同学们都开心笑了。
随后又布置作业:从键盘上输入10个数,求最大最小
您可能关注的文档
最近下载
- 宝马电梯图纸BMDT-5000电气原理图纸2009年NICE3000.pdf
- 血液中心质量管理科年度工作总结和工作计划.doc VIP
- 特种设备日常使用状况记录.xls VIP
- 2025年XX血液中心工作总结及2026年工作计划.docx VIP
- 第九版外科学 绪论.pptx VIP
- 特种设备日常维护保养记录表.xls VIP
- 2025年澳大利亚袋鼠数学竞赛C卷L3(5-6年级)中国赛区试题(含答案).docx VIP
- 第九版-外科学-教学大纲.pptx VIP
- 《差动变压器式(LVDT)位移传感器》-毕业论文(设计).doc VIP
- 2024-2025学年八年级英语下学期月考试卷 人教版 Units 1~2(安徽专用)解析版.docx VIP
原创力文档

文档评论(0)