少儿编程:什么是算法
我们探讨了一下什么是程序设计,这一篇我们就来看看什么是算法。由于这是写少儿编程,所以我会尽量用简单的语言来描述,过于专业的术语并不适合说给小孩听。
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
我们要完成一件事情,其实是完成这件事情的所有步骤,这些步骤就是算法。还是“起床”那个例子,我们要完成起床这件事,就要完成“坐起来、穿上衣、穿袜子、穿裤子、下床、穿鞋子”这几个步骤,这些步骤就是“起床”的算法。算法就是解决问题的方法。
当然,算法通常不是唯一的。我们知道,完成一件事,会有很多种方法。有的方法简单易行,而有的方法却很繁琐,我们要学会选择使用最简单的、效率最高的那一个,这在程序设计中叫最优算法。
下面看一个简单的例子,我们要从家去加油站要怎么走:
第一条路径:按红色路线走
首先,直走到第一个路口;然后,右转接着,直走到第一个路口再接着,左转再接着,直走到第一个路口再接着,右转最后,直走到加油站
第二条路径:按蓝色路线走
首先,直走到第三个路口;然后,右转接着,直走到第一个路口再接着,右转再接着,直走到第一个路口再接着,左转最后,直走到加油站两条路径都可以从家到加油站,那哪种好呢?很明显,红色那条路更近,耗时更短。也就是说从家到加油站,红色那条路更优。
小朋友们也可以自己试着描述从家到学校,或者从家到游乐园的路径。
我们再举一个例子,小朋友们可能都玩过猜数字这个游戏:给定一个数字,小朋友在一定范围内猜这个数字,谁最快猜中谁就赢了。
这个游戏有很多猜法,有的小朋友顺着数字一个个猜,有的小朋友会根据大了还是小了逐步缩小范围猜。小朋友用的方法如果用计算机去实现,其实就是算法。算法有很多,我们通常是用最好的算法。
我之前的文章里提过,不管我们将来做什么,学习编程都能够锻炼我们的逻辑思维。同样,习惯了算法思维,也会让我们无论是面对学习、工作,还是生活中的复杂问题时,都能迅速找到最好的解决方法,从而更有效率地处理复问题。
原创不易,请勿抄袭。欢迎大家和我多交流,谢谢。