同学们好,课前我们先开始一段手势舞蹈,活跃一下氛围。
大家做的每一步都很到位,其实这就是手势舞的算法,算法就是解决问题的方法,这节课让我们一起走进探讨生活中的算法之美。
去年的时候,老师去威海的药学院学习,在校园里发现了独特的智能小车,名字叫小蛮驴。它是干什么呢?我们通过一个视频来找找答案。
原来这个小蛮驴能够通过规划线路,给大学生进行快递的配送。如果我们学校也有这样一辆智能小车,大家能不能说一说完成配送任务的步骤?可以用第一步,第二步来进行描述
第一步是确定目的地,第二步是规划路线,第三步是送达目的地。同学们说的每一步其实就是算法的自然语言描述。我们可以发现,每一步都是确定的并且可以执行,能够在有限步骤内完成,同时还会有输入输出,这构成了算法的五大特征。
活动一:
智能小车规划的路线可以选择很多条,如何选择最短的那一条呢?我们进入到活动一,从学校的仓库出发,给智能小车设计最短路径进入我们的机房。
明确了问题以后,我们通过建立数学模型的方式分析问题,这里用到了距离计算模型,我们可以通过这个模型计算,1段到n段路线的距离长度。我们需要计算四条路线的距离,哪位同学起来说一下第一条路线的距离如何计算?
数学中我们可以把距离用L1这样的代数式来表示,python中我们可以用L1表示表示变量名,用来存储相应数据,请同学们描述一下计算四条路线距离的算法?
同学们描述的每一步都非常到位,但是自然语言还是会有各种各样表述不清或者歧义的问题,我们可以通过流程图对算法进行描述。请同学们完成导学案流程图的补充。学生进行演示。
活动二:
接下来,我们需要从四条路径中选出最短,我们可以用到路径比较模型,设置一个变量存储第一条路径的距离,然后依次两两比较,一旦后面有更短,就进行替换,直到比较结束。
请同学们完成导学案中的流程图设计。根据流程图,老师进行了最短距离的代码编写,请大家进行调试运行,输出最短距离的值是多少。
活动三:
我们求最短路径算法还有其他的方案吗?我们可以进行规模分解,先进行前半段的最短距离,再进行后半段的最短距离,进而输出两者之和。请同学们进行小组讨论完成导学案上的流程图设计。
我们请最先完成的小组进行演示。老师根据这种方案完成了具体的python代码,请同学们调试运行,看看最短距离和前一种方案是否相等。
我们可以发现两种算法都可以输出最短路径,如果我们在前半段再增加一条路段,选择那种算法更合适呢?这就是最优算法,能够极大的提高我们解决问题的效率。
这节课我们通过给智能小车规划路线,体验了算法之美,大家都学习到了哪些知识呢?
不只智能小车规划线路需要算法,生活方方面都需要算法,我们这节课教师的教案是算法,小组的内个讨论也是算法。同样我们的人生也是算法,需要不断优化提升,不断超越自我。
网友评论