|
创设
情境
,引入课题 |
宣读关于“学校将举行校园歌手大赛”的通知。
你能为本次大赛编写计分程序吗?评分规则是:十位评委的打分,去掉一个最高分,去掉一个最低分,其他八位评委的平均分将是该选手的最后得分。 |
— |
设计一个校园歌手大赛的任务,将算法和程序的实现融入完成任务的过程中,来源于现实生活的任务使枯燥的算法学习变得生动且有意义。 |
|
生活中我们是如何求出参赛选手的最后得分的呢?
求评委的总分,是我们所熟悉的,而如何求十位评委中的最高分、最低分呢?这节课我们利用算法中的“顺序查找”来解决这个问题。 |
学生积极思考教师的问题并回答:最后得分=(评委的总分-最高分-最低分)/8 |
|
合作
探究
,领悟算法思想
|
生活中我们经历过求最大值吗?
大家记得古代比武中的“打擂台”吗?请一位同学描述“打擂台”的过程。
请各合作小组画出“打擂台”的流程图,教师对其中几个小组的流程图进行点评,并展示正确结果。
|
学生描述生活中是如何求最大值的。
学生描述“打擂台”的过程:
①先有一人站在台上;②挑战者上台;③两人比武,胜者留在台上;
④重复步骤②③;⑤最后一个留在台上的就是“擂主”。
合作小组讨论如何画出“打擂台”流程图,并展示结果。 |
借助于古代比武中的“打擂台” 这一比喻,帮助学生理解顺序查找的算法思想。
通过让学生描述“打擂台”的流程图,对其过程加以强化,深刻理解“打擂台”中所蕴涵的顺序查找的算法思想。 |
|
输入十位评委的打分,如何输出最高分?请分析并用流程图描述其算法。
教师引导学生分析,可定义一个变量max,存放比较过程中的最大值。
教师利用网络广播系统展示某个小组求最高分的流程图,并进行点评。
编程实现:输入十位评委的打分,输出最高分。
教师通过网络广播系统展示有代表性的错误结果,引导学生共同分析,帮助部分基础薄弱的学生重新调整思路。
编程实现:输入十位评委的打分,输出最高分和最低分。 |
师生共同分析描述其过程:
①先取第一个数据;
②再取下一个数据;③两者比较,将大的记录下来;④重复步骤②③;⑤最后一个记录下来的数据就是“最高分”。
学生画出求最高分的流程图。
学生借助于求最高分的流程图,编写程序。
部分学生调整思路后,重新修改、调试程序。
学生在已经掌握了如何求最高分的基础上,进一步完善程序,输出最低分。 |
求最高分的问题是在与“打擂台”过程的对比中完成的。这一过程可培养学生知识的迁移能力,同时培养学生运用算法思想解决生活中的实际问题的能力。
体验将算法转变为程序的过程。
培养学生举一反三的能力。 |
|
实践应用
,内化知识 |
请为“校园歌手大赛”编写计分程序:十位评委的打分,去掉一个最高分,去掉一个最低分,其他八位评委的平均分将是该选手的最后得分。
评分规则:界面美观合理(10分),程序代码书写规范(10分),代码可读性好(10分),算法效率较高(10分)。
本节课我们将采取“打擂台”的形式,选出最优秀的一组同学担任本次歌手大赛的程序员。
|
学生设计程序界面,根据程序的界面改写、调试程序。
学生以挑战者的姿态上台展示自己的程序设计结果,师生按评分要求判分。最后选出本次程序设计擂台赛的擂主。 |
与本节课开始提出的问题首尾呼应,使整节课浑然成为一体。
按照评分要求编写计分程序,培养学生良好的编程习惯。
通过“打擂台”的形式,评选本次歌手大赛的程序员,在这一过程中学生可以共享思路、激发灵感、反思自我。同时让学生亲历打擂台过程,再次体验生活中的顺序查找思想。 |
|
小结 |
师生共同回顾算法设计的过程,即用计算机的功能去实现人脑的思维过程。 |
学生畅谈本节课的收获及从挫折中获取的体验。 |
明确算法在程序设计中的重要地位。 |
|
课后
作业 |
你还能运用顺序查找的算法思想编写程序解决生活中的哪些问题?
以下事例可供参考:
①统计一段英文中共有几个单词;
②给一段英文字符进行加密、解密处理;
…… |
完成课后作业。 |
为学生创造想的机会,做的机会;鼓励学生去想、去做。
让学生领略到生活中蕴含着丰富的程序设计实例,激发学生学习算法和程序设计的兴趣。 |