计算思维与生活

计算思维与生活

我们以制作三明治为例来说明生活中的计算思维以及其与计算机程序的对应关系。第一个方法是采用现成材料制作双层三明治,第二个方法是采用基本原材料来制作三明治。

双层三明治的制作及其计算思维

1.双层三明治的制作

我们要制作的三明治是双层三明治,制作原料如表1-1所示。

表1-1 双层三明治的制作原料

双层三明治的做法和流程如图1-1所示。

图1-1 双层三明治的制作流程

2.双层三明治制作中的计算思维

关于计算思维与计算机程序的数据以及编程结构的初步认识,如表1-2所示。

表1-2 生活中的计算思维

续表

贝果三明治的制作及其计算思维

该例子源自http://www.xiachufang.com/recipe/100129270/中的三明治做法,制作材料如表1-3所示。

表1-3 贝果三明治的制作材料

贝果三明治的制作流程如图1-2所示。

关于子任务的分解:在第一个例子中,面包是已经做好的,我们对每种原料的操作就是一个子任务,而在第二个例子中,面包的完成需分解成若干个步骤。如何将问题分解为若干子任务,子任务又如何进一步分解,都是计算思维需要考虑的内容。

对多步数据操作的封装:做一个三明治时,如果面包从和面到烘焙成功都需要手工完成的话,是非常费时费力的,如果有工具可以将这些工序打包完成,就会比较轻松,这个工具在编程语言中就称之为函数,在这里面包机就是一个函数:y=f(x1,x2,…,xn),即“面包=面包机(高筋面粉,水,干酵母,糖,盐,煮贝果的水,煮贝果的红糖)”。

图1-2 贝果三明治的制作流程

小结

以上生活中的实例体现了计算机编程思想,特别是面向过程的编程思想:将每个问题划分为若干个步骤,输入数据,对数据进行处理,用流程控制数据处理的顺序(包括顺序结构、循环结构、分支结构),最后得到结果。最核心的概念是数据、数据的操作、函数、流程结构,这些也是其他编程语言都具备的内容。

在上述例子中,我们接触到了函数的概念,即函数是某一特定功能的实现,它是由若干命令组成的。在此基础上,还有一个模块的概念。模块是多个函数的集合。当一个文件中的函数越来越多的时候,这个文件就越来越大,难以维护。例如,我们在日常生活中通常要将物品分类,并且放在一起,如电子设备中的音乐、电影,电子游戏中的装备,乐高的零件,图书,急救箱,厨房的炊具。模块也就是将具有一些类似功能或者完成同一目标的函数放在一个文件中,提供给多个用户使用。用户无须再去编写相应程序,只需将整个文件导入即可。

最后,与面向过程相对应,面向对象的编程思想是将数据和对数据的操作(函数方法)封装在一起,例如,我们现实世界中的人、动物等都有自己的属性(如体重、五官等)和功能(行走、交流),属性对应数据,功能对应函数。这部分内容将在后面章节详细展开。