第五章疯狂的0与1(2)——奇怪的0与1
那天雪凝查过地星的地图之后,没有再对“要你命三千”所上的学校发表评论。为了防止雪凝出于对她睡眠的关心不让她利用午休时间来看“要你命三千”,黄珊珊也没再跟好友提梦的事情。
然而黄珊珊想要跟踪“要你命三千”成长历程的雄心壮志,到底仍是受到了意料之外的干预。星期三出门上学的时候,她的妈妈叫住她:
“珊珊,你邀请雪凝到咱们家吃几回饭吧。你再这样三天两头往雪凝家跑,我要给雪凝的外婆伙食费啦!”
黄珊珊无法不执行老妈的命令。她清楚雪凝和蔼可亲的外婆是一定不肯收她的伙食费的,而自己的确去雪凝家蹭饭蹭了太多次,雪凝的外婆每回都做美味的饭菜招待,于情于理,也该请雪凝到自己家来吃几次饭。
于是,在老妈的命令下,黄珊珊生拉活拽,邀请雪凝去她家连吃了一星期饭。黄珊珊的妈妈拿出十年前开饭店的烹饪技术(现在她开的是理发店),顿顿大菜招待,成功让甘雪凝在一周内胖了3斤,让女儿胖了5斤。随后就是期末考试前的最后一周,每个人都在拼命复习,黄珊珊为了成绩不至于太难看,也为了对得起每个人都以为她熬夜学习熬出熊猫眼的名声,收了收心,最后拼了一把临时抱佛脚。
于是在期末考试前的最后两个星期,“要你命三千”处于无人观测状态。黄珊珊是想着放暑假再继续去看,甘雪凝是本来就没那么大兴趣,日子一天天流逝,考试的话题占据了每个人的日程表,一切都显得那么忙碌而平静。
.
期末考试前一天,连室外活动课,也见不到人打篮球、踢足球、坐双杠了。老师们睁一只眼闭一只眼,对于不肯离开教室、拼命进行最后一天抱佛脚的学生,不再像平时那样吆喝他们必须去操场。
实际上,高一(8)班只有甘雪凝的座位上是空的。教导主任路过的时候,皱皱眉头:“哪个同学这时候了还去上室外活动课?”
教室里有几颗脑袋从书本上抬起来,有人小声说:“甘雪凝。”
教导主任愣了一愣,转头,迈步,一言不发地继续往前巡视。
身后传来几声窃笑。
大概连教导主任也认为,天才少女是用不着复习的吧。
其实甘雪凝只是因为家里的蚕宝宝断粮,利用室外活动课跑去学校的小河边采桑叶去了。
她满头是汗地抱了一大袋桑叶,从小土坡爬上操场看台的石阶凳,蓦地发现班主任孙老师在火辣的太阳下笑眯眯地看着她。
雪凝连忙把桑叶朝身后藏。
“我听教导主任说,咱们班只有你还坚持上室外活动课。”
“我……我马上就回教室。”
孙老师摆摆手:“我知道,你根本用不着复习吧。”
雪凝摇手:“不是,语文要背一下。”
“背半小时足够了。”
雪凝脸红。
“与其坐在教室里无所事事,采点桑叶也是不错的。”孙老师背着手点点头,“既然采好了,来帮我个小忙。”他转身往教学楼走。
雪凝只好抱着桑叶跟上。班主任孙老师是教数学的,为人也像数学公式一样严谨不苟言笑,偶尔孙老师笑眯眯的时候,大家心里都会打鼓。对甘雪凝这样的“神童学生”,他不像其他老师那样偏爱,雪凝内心觉得这样最好,她不喜欢整天被人当成特殊人物。不过今天下午以这样的方式被孙老师“守株待兔”抓个正着,不禁心里有点小紧张。
“你会计算机编程,我听说?”来到孙老师的办公室,孙老师打开自己的笔记本电脑,问。
“嗯。”
“做软件呢?”
“会。”
“可以帮我做个简单的教学小软件吗?关于概率的。”孙老师给她倒了一杯水,“下学期学校安排我在带你们班的同时,加带一个高一的班。我还得把概率再讲一遍。我想换种生动直观的教学形式。你能不能帮我设计一个教学软件,每点击一次按钮,就可以从0-99这100个数字中随机抽取一个数。当随机抽取出足够多的数时,软件可以自动统计出每个数字出现的次数,最后显示出概率分布规律。”
雪凝心中的石头落了地。
“可以。”她回答,把桑叶袋子轻轻放在靠墙的椅子上,去电脑前坐下来。孙老师所说的这个教学软件程序算法相当简单,主体程序只要编个随机函数,把范围括在0-99就可以了。在此基础上做个数字统计程序,最多再加做个随机次数输入框,这样就可以批量产生随机数。加上软件界面设计的话,她用不了二十分钟就能做好。
于是,雪凝连上网,从自己的网络云盘下载安装了C++程序,然后在孙老师的电脑上迅速写起代码来。
孙老师去自己教的两个班级作考前答疑,一直到6点钟学生放学,回到办公室,发现甘雪凝仍在。
雪凝从电脑前站起身,脸有些红:“孙老师,这个软件我明天给你,可以吗?”
“啊,不急不急。你先好好考试,软件下学期开学前给我就行。”
“……好的。”
雪凝抱上桑叶,带上办公室的门离开。孙老师的目光落到笔记本电脑的屏幕上,发现桌面上多了一个快捷方式:“概率教学”。他随手点开,弹出一个金属色的软件界面。界面上有一个随机抽取数字的按钮、一片设计简洁的数字显示区、一个可以直接填写随机抽数次数的批量输入框,以及一个可以动态显示概率分布规律的图表区。
孙老师随手测试了几下。
五分钟之后,孙老师陷入深深的困惑:这个教学软件明明已经完成了,完成得相当好,无论测试多少次,结果都准确无误,软件界面设计也简洁明了,适宜演示教学,怎地甘雪凝说软件还没做好?
.
甘雪凝用蜗牛的速度骑车回家。
她的脑子一片茫然。
自从六岁之后,她的脑子都没有这么茫然过。
她不明白,那么简单的软件,她怎么就做不对?
她只用了二十分钟不到,就把软件写好了,可是运行起来,结果却始终不对。
此后的一个多小时,她把代码检查了不下五十遍,debug也做了,都没有错误,可运行结果怎么就是不对?
一直到孙老师回办公室,她也没把问题解决。
从0-99里随机抽取一个数,她第一次抽出来的是:0。
第二次抽出来的是:1。
第三次抽出来的是:0。
第四次抽出来的是:1。
……
无论怎么随机,她抽取的数字只在0和1之间打转。
这显然是源代码出了问题。可源代码并不复杂呀:一个随机函数,从0-99之间随机,就连只学过一天编程的人也不会写错。可为什么她的代码运行出来,只在0和1之间随机?
难道是孙老师的电脑中了病毒?
回到家之后,也不管第二天上午就要考试,雪凝打开自己的电脑,把概率教学软件又写了一遍,然后试运行。
运行结果是:010100110100111101010011……
雪凝不信这个邪。她关了C++,用C语言来写,结果:一样。
C家族的语言不给力?用Java!……还是一样?用Python……也不行?Pascal……
雪凝一连换了6种编程语言,甚至用Flash动画里的AS3这种不算编程语言的语言写了一遍随机程序,运行结果仍然只在0和1之间徘徊。
再试下去,她觉得自己的眼睛都要变成0和1了。
难道她这半天都是在做梦?进入了只有二进制的世界?
.
第二天上午考数学的时候,雪凝差点把填空题的答案全部用二进制写。还好监考老师路过她时扫视她试卷的古怪眼神救了她。她用了30多厘米的胶带纸,才把那些长串的二进制全部粘掉重填。
看来不是二进制的世界啊……
于是这次数学考试,她花了40分钟才交卷(平时最多只要30分钟),多出来的10分钟,都在小心擦除二进制的慢工细活中渡过。
从考场里出来,恰巧遇到孙老师在教学楼巡考,孙老师停下来向她表示感谢:“甘雪凝,昨天你做的软件我看到了,你是想再完善一些地方给我?我看不需要,已经做得很好了,作为教学软件绰绰有余。谢谢你!”
雪凝愣在那里。直到孙老师走出十多步,她才追上去:
“孙老师,那个软件有点问题。”
“问题?我试过了,很好呀。就算批量随机出1万个数也没出错。”
“1万个数……有没有0和1之外的?”
孙老师似乎觉得这个问题太过古怪,怔了一怔:“当然有,在数据足够大的时候,0-99每个数出现的概率差不多都是百分之一。”
孙老师继续巡考去了,雪凝张着嘴巴站在原地。
究竟是她疯了,还是软件疯了?