年轻那🈬🁛会🐖儿,参加自考。这一说得是二🕋🟘十多年前的事儿了。
计算机软件专业的课程里,有很多🂄🌏要上机考试,主考院校是北大,所以经常去考试。什么逻辑电路、汇编、编译系统、c语言什么的。我一度怀疑,我一个文青,一定是鬼上身,才报考了工科计算机的!
有一年,我记得是数据库上机考试。那会儿,foxbase算是比较先进的关系数据库语言了。
一早儿八点先去学校拿考题,然后给一个上午的准备时间,下午一点半上机考试。教材的作者耿素云和屈婉玲两位老师正好是当天的监考🞯🗧。♝
考题拿到手一看:“用数据库做一个翻译器,将输入的任意四位阿拉伯数字,翻译为相应的中文繁体金额。”大伙儿有的不🅧🈻🃠明白啥🄷意思?于♝是老师解释道:比如输入“152”这个数字,输出应该是“壹佰伍拾贰元整”。
考题既然拿到手了,下面的问题就是准备了。大伙都知道,编程这东西,不亲自上机跑跑是🗗不行的,往往是纸上雄兵百万,🅧🈻🃠一上机就完蛋!可那会儿甭说我穷学生一个,就是有钱,那个年代也没有笔记本儿啊!于是我死皮赖脸的跟着四五个显然相熟的考生一起,到西门外的一个考生家中去蹭电脑。
我一个蹭电脑的生人🝉,显然是只能在边儿上看着,时间一分一秒的过去。
经过漫长的捣鼓,他们几个终于编出了一个不是玩意儿的玩意儿。之所以这么说,是因为那几个人耗费了两个半🔧小时编的程序,不仅逻辑混♝乱,🁲而且bug不断,几乎连程序都跑不通。
最后终于是磕磕绊绊的跑通了程序,但还是存在一致命的bug。比如输入“150”,就会输出🅙🔰“壹佰伍拾零元整”,这显然是不行的。更别说输入“1002”这样的🔣数字了,他们的程序居然输出“壹仟零佰零拾贰元整”,这简直就不像人话!
我那会儿年少气盛,于是悠悠的说了一句:“干脆也别找问题了,重新编吧!”其实我当时心里想🅙🔰的是:“就你们那三百多行的弯儿弯儿绕程序,都系了死疙瘩了,任你是谁,一时半会儿也断不出个子丑寅卯来!找错儿可比重新编还费劲呢!”
他们一起歪着头儿对我行注目礼,那意思好像是说:“还有一个多小时就上机考🜽🇨试🖪🕚了,重写?闹哪?!”
其实,他们那个程序也能凑活用,只要老师不出🅪上述那样的数字就行!可鬼知道老师出什么数字来验🌥证呢?!
反正是话不投机半句多!他们既然草草收了场,我也🂭就可以堂而皇之的蹭他们的电脑用了。于是我按照早已写好的草稿,一边想一边开始敲程序……
半个小时后,程序基本出来了。
因为我增加了前溯和后溯判断。这样,使“150”这样的数字不仅能够正确输出为“壹佰伍拾元整”,而且也能判断出个位后面有没有小数♡位。我还将输入变量由浮点数改为了字符串,并响应增加了字符串转数字的预处理功能。这样就能识别输入的任意长度的数字,并正确输出为相应的中文繁🟑🜜🟑🜜体金额。比如像“100052700224”这样的数字,会被正确输出为“拾亿零伍拾贰万柒仟零贰元贰角四分”。大家注意到没有,这个长数字之中的多个零都在输出时省略掉了,之所以没有出现“拾亿零仟万零佰万……”这样的问题,就是前溯判断的作用!
另外我的程序的🜠🃤弹性很大,即便输入二百位的数字,也可以正🙣🌌♑确输出。不过那个输出的数字极大,光“亿”这个字⚷🖂🏯就占了半个屏幕,哈哈哈!
当半个屏幕的“亿”字出现在屏🚧🕰🍓幕上时,起初他们几个还以为是乱码儿,哈哈的大笑。🏥🜐🁕等明白过来的时候,可把这帮小瞧人的榆木脑壳惊着了!
大伙儿兴奋了起来,正🕨🌍好到了饭点儿,主人有学一食🂭堂的饭卡,便张罗🁥着去打饭,嘱咐我继续完善程序。
话说编程和写作一样,是会上瘾🚧🕰🍓的!根本不用他嘱咐。再说有免费🏥的午饭☕供着,怎么也得好好干哪!
可午饭买回来我一看,就是一袋子学📗🛂🙧一食堂的包子,还是猪肉洋白菜的。大伙儿都明白吧,食堂的猪肉洋白菜馅里,能见得着猪肉吗?北大?北大也一样啊🞥🖎👡!而且包子被压得瘪瘪的,半凉不热。
可我实在是饿了。再怎么说也是脑力工作呀🁪🈪,而且时间紧任务重的!于是我三下五除二,凑活垫补垫补得了。
做完😒🀶🁒最后的扫尾工作,已是下午一点来钟了。把程序打印出来,大伙儿人手一份儿。能不能带进考场就全看他们几个的运气了。反正我是用不着🁲夹带了,都印脑子里了。再说我🂸📨🝜这小程序,逻辑清晰语句简练,总共也没超过一百行代码。
下午准点考试。
在昏暗的计算机机房里,只听到二三十人此起彼伏敲键盘的声音,偶尔有一两声讶异的丝丝声或不解的叹🎂🎍气声。
我气定神闲的把程🜙🂨序一口气儿敲进去,然后输入几组四位任意的数字验证一下。最后,又试着输入了一组超长的数字。当正确的中文结果显现在屏幕上的时候,我突然发现,耿老师已微笑着站在了我的身后。交卷儿,跟老🍅🅭师挥手道别。