匆忙的早晨

来自计算思维百科
跳转至: 导航搜索
匆忙的早晨1.jpg

相信大多数的年轻人都觉得早上时间不够用,想多睡会儿又怕上班上课迟到。每天早晨起床都是匆匆忙忙,手忙脚乱地出门。例如,在工作日,小明早上8:30半前必须到公司打卡签到,尽管早上7:00起床,可就是觉得又困时间又紧。小明每早起床后都要做以下几件事:

  • 整理床铺,需要5分钟
  • 上厕所,需要10分钟
  • 洗漱,需要5分钟
  • 煮面做早餐,需要20分钟(15分钟烧水,5分钟下面到出锅)
  • 吃早餐,需要10分钟
  • 手机查收电邮和浏览新闻,需要5分钟
  • 乘公交到公司,需要20分钟

如果不改变小明的生活习惯,有没有什么方法可以使他觉得时间很充足,甚至还可以多睡一会呢?

解决方案

方案一

根据小明的生活习惯,可看到早上需要做很多事,如果这些事情按照顺序来安排,则可得到一个流程图如下,箭头指向下一件要做的事,箭头上的数字表示做完上一件事所花费的时间。

匆忙的早晨2.png

从上面可以得到从起床到公司做完所有事,小明需要花费75分钟。

方案二

从对方案一的图中各个事项分析我们可以发现,在做某些事时,其实不需要人全程参与。例如,做早餐时,烧水的15分钟里可以做其他时间。下面,我们将小明要做的事进行分类,找出哪些时间可以同时做,哪些事情有先后顺序。

首先,必须先“做早餐”才能“吃早餐”,最后“乘公交”才能“到公司”,这些事情是必须分先后的,所以我们给出一个流程图如下:

匆忙的早晨3.png

完成这几件事共需要50分钟。而剩余的四件事是没有先后顺序的我们就可以把它们安排到有先后顺序的事情中,且两件事情是可以同时进行的,依次我们可以按下图安排时间:

匆忙的早晨4.png

箭头表示时间流向,下面的每个小方格表示5分钟的时间,通过这个图我们可以看到做每件事的顺序和时机。从这个图就可以看出小明起床第一件事就是烧水煮面,在这个过程中(20分钟),就可以去整理床铺(5分钟),上厕所(10分钟)、洗漱(5分钟),水开了,四件事都做好了,再吃早餐,吃完早餐后坐公交,乘公交的时候就可以查收电邮,最后到公司。可以看到,整个早晨小明只需要50分钟就可以做完所有事,比之前的少了25分钟。

可以体现的计算思维

从上面的案例中,我们可以发现,以顺序解决问题所花费的时间较长,完成的效率较低,在计算机中有顺序执行的程序设计,体现的正是计算机的机械化思维方式;而方案二通过对所有事情分析进行一个统筹规划,可以明显地缩短时间,提升效率。这一点在计算机科学中也被广泛应用,如操作系统的设计,程序的并行设计,正是计算思维中并行和规划的思想体现。