第54章 电脑天才的用处

上一章 目录 下一章
三人在原始森林里迷路了。手机没有信号,天黑下来,任何可做参照的东西都不存在。三人精疲力尽之余,陷入了一片恐慌。
灰手指不解地问道:“可任何程序都会有开始和结尾呀?”
“那当然。就象这森林,茂密广阔,……但终归是有边际的。问题在于:你是否能熬到走出去的那一刻。”曼内四仰八叉地躺着,“而且,程序的运行并不是单向的,从开始一直走到结尾。中间会有很多很多的岔路口,不同的判断结果会把你引向不同的方向。还有循环,会让程序重复执行同样的指令,就像在原地踏步……只有满足条件,才能跳出循环,往下运行。如果不满足条件,就会……”曼内不敢再往下想了。
灰手指问道:“如果你是编程者,会怎么做呢?”
“如果我是编程者……”曼内思忖着,很快丧气地骂道:“我他妈压根就不可能编这么烂的程序。”
灰手指耐心地启发道:“假设这程序真是你编的,你会怎么做呢?好好想想。”
曼内被灰手指逼得没法,只好静下心来,“这片森林,广袤无边,满眼树木,虽然形态各异,但仍然基本相同。这些都符合循环的特征。也就是说,这部分程序是一个循环。问题是,我们并不知道循环的条件是什么,所以就跳不出去……”
灰手指打断他,“一定要知道循环的条件吗?”
“废话。”曼内不耐烦地答道。“只有知道了满足循环的条件是什么,才能想法超越这个条件,从而跳出循环。”
灰手指不甘心,“没有别的办法吗?”
“别的办法?”
“使我们即使不知道条件也能跳出去?”
曼内低下头,沉思良久,突然坐起来,疲惫全消。“中断。”
“什么中断?”家瑞被他吓了一跳。
曼内凑近他俩,“这么解释吧,中断是系统软件的一种机制,用于对硬件的直接访问和干预,一般是不会开放给应用程序的。它是这样的:当某些特定的情况发生时,系统就会强迫停下正常的程序运行,转而去执行一套叫作‘中断服务’的程序。”
“也就是说,我们即使不知道循环的条件,也可以借由中断从这儿蹦出去?”家瑞若有所悟。
“执行完中断服务呢?”灰手指问。
“程序会回到中断调用处继续运行。”
“还回到这儿?”家瑞一百个不情愿。
曼内转着眼珠,“理论上是这样。不过,我们可以想法从中断服务跳到别的地方。”
“干。”家瑞站起来。他已经认准了:任何选择都比死在这里强。
“要怎样才能中断呢?”灰手指依然不急不忙。
“我也不知道。”曼内的声音没了底气。
家瑞气不打一处来:“不知道你说这么热闹。”
曼内争辩道:“程序又不是我编的。我怎么知道它的响应机制如何设计?”
灰手指拍拍曼内的肩,还是拿出屡试不爽的鼓励办法。“那就假设一下,如果你来设计,会怎么做?”
“如果是我……”曼内陷入了苦思。
“伐树。”他突然灵光乍现。
“伐树?”家瑞和灰手指异口同声。
“对。”曼内指指周围,“这些都是程序的正常运行,稳定,顺畅。只有打破这种平衡,才可能诱发某种相应机制。……对,伐树。”
家瑞和灰手指环顾满目的参天古木,对视一眼,无奈服从。
三人从包里取出斧头,正要对一颗大树动手,却见曼内转悠到别处,东张西望。
家瑞没好气,“别偷懒。一起干吧。”
曼内愤愤不平地回答:“谁偷懒?我找一棵小一点的。”
灰手指苦笑道:“你这是硬要在特种部队里找童子军。”
曼内不理睬取笑,继续寻觅着,过了一会儿,还真让他找到一棵,树围明显比其它的要细一圈。虽然仍然粗壮结实,但大家已很满足了。

三人二话不说,开始伐树。利斧的伐斫声在静谧的夜里显得突兀而刺耳。很快,三人就汗如雨下,精疲力尽,但水桶般粗壮的“童子军”却依然刚毅挺拔。
家瑞酸胀的双臂渐渐举不起斧头,不得不停住手。他一边喘着粗气,一边畏惧地注视着纹丝不动的大树,有些崩溃,从树上摘下一片树叶,拿到曼内跟前,“这算不算中断?”见曼内没搭理,他又折下一段树枝,“这个呢?算不算?”曼内摇摇头。家瑞还不死心,“挖坑呢?”他比划着,“这么大的坑,总可以吧?”见曼内依然无动于衷,家瑞急了:“你凭什么认定只有砍树才会引发中断?要多久才能将它砍倒?”
曼内咬咬牙:“因为这是我们此时此刻能做的最惊天动地的事。动静越大,越有可能引发中断。”
灰手指安慰道:“你歇歇吧。我们轮流干,再粗的树也总会有被伐倒的一刻。”说完,继续挥动着斧头。曼内也跟着干起来。家瑞看着两个毫不放弃的伙伴,为自己刚才的失态愧疚,重新加入了劳动的队伍。
咔咔的伐木声从密林深处划破了晴朗的夜空。
不知过了多久,一声破裂的脆响传来。灰手指大喊:“快闪开!”只见那棵高大健硕的巨树终于动摇,不情愿地向一侧倾斜,最后轰然倒下。
三人欢呼雀跃,彼此击掌庆祝。
森林经过短暂的喧嚣,复归宁静,仿佛从来就没有被人打破过。他们在喜悦和好奇中静静期待着,不可预知的未来强烈地吸引着每个人。
然而,什么也没发生。
家瑞终于忍不住,打破了沉默:“怎么回事?”
大家呆立在原地。
“怎么会这样呢?应该可以呀?”曼内百思不得其解。
“先歇会儿再说吧。”灰手指倒很平静,从包里取出水壶,大口喝着。
曼内依然难以释怀:“应该没问题呀,按照正常的编程思路就只能这样啊。虽然中断是低级响应模式,但任何高级语言最终都会调用。难道这段程序没有设中断的响应?……”
灰手指安慰道:“别想那么多了。”
曼内低下头,“对不起,让你们失望了。”
灰手指拍拍他,“没关系,我们已经尽力了。”
众人倚靠着大树,仰望苍穹,绝望中有了一份坦然。
“其实,在这儿呆一辈子也不赖。没有城市里的空气污染。总让人心旷神怡。”灰手指长出了一口气。
“是啊,再抓三只母猴子当老婆,生一大堆小猴子。”家瑞也开起玩笑。
曼内被他们的情绪感染,加入进来:“那吃什么呢?”
“有松果。”灰手指答道。
“那是松鼠吃的,人哪能吃?”曼内摇摇头。
“人可以吃。”灰手指坚持。
“不能吃。”曼内毫不退让。
家瑞指着高耸入云的大树,“想吃你也吃不着,这么高。”
灰手指并不担心,“咱们不是还有一堆儿子吗?”
“儿子?”家瑞有些没反应过来。
灰手指笑道:“不是你自己说的,要抓几只母猴子,生一堆小猴子。让猴子们替爸爸上树摘松果不算过分吧?”
家瑞也笑了,“不过分。就是得赶紧生,否则饿死了,小猴子还没长大。”
曼内哈哈笑起来,“刚才是跟你们开玩笑的。别为吃的操心了。在程序里不会饿的。”
正争论得热火朝天,突然山崩地裂一声响,眼前一片漆黑。三人开始急速下坠。
“怎么回事?”
“中断了!”曼内兴奋地大叫。
“怎么会?……”家瑞还是不信。
“是延时的。”曼内的嗓门大得可怕。
书书网手机版 m.1pwx.com