编程武侠之 《皮皮闯边城》
          
094157.jpg

          
           作者:苍山子  插图:吕志华
           发表:《学生电脑》 
           特别鸣谢:《学生电脑》编辑李棱华老师,漫画作家吕志华老师
            
           
          目录
          第一回:深山学艺   汇编语言
          第二回:边城客站   各种语言
          第三回:武林大会   算法
          第四回:初为人徒   QBasic
          第五回:程序岛    三种基本结构
          第六回:英雄排座次  数组、排序
          第七回:再战云驼山  标准函数、素数、辗转  
          
                    引 子
          武林大会,强手恰逢高手;
          程序岛上,曲折更遇崎岖。
          魏×××、怕死狗、白老Q… …群雄再逐鹿。
          排座次、连环腿、招中招… …狼烟又四起。
  白晰。稍瘦。戴一付近视镜,头发有一点点乱。帅气中透出几分顽皮。
  他是谁?他叫皮皮,Program是他的英文名字。
  他很爱看武打小说,并且常在上课时偷偷看。因此很多课比如信息技术课学得就不怎么样。
  生日这天。爸爸送他一只可编程的智能电子表。竟把程序的顺序搞得一团糟。课堂上笑话百出。
  于是,他寻师学艺,独闯编程江湖。
          
        
                  《第一回 深山学艺》
        小皮皮背起简单的行装。
        脚步匆匆,如急风、似电掣,路边草丛中蚱蜢惊舞。
   城市的高楼在身后渐渐消失。西天上燃起一片火烧云。
   他决心遍寻名师,练成编程神功,有朝一日成为软件设计界的高手。
   日出而行,日落而宿。转眼已过三个多月。
   这一日,来到一座山前。据当地人讲,山上住着一位老者,性格十分孤僻,这几年很少见人,好多人都以为他死了。又有人说,偶尔有高手拜访他还是会露露面的。
   山不算太高。
   古木。雏鸟。白云。流水。
   古色古香的一间山居,嵌在半山的一片小竹林中。低矮。别致。门窗结构、图案都极其复杂、精美。小皮皮暗想,别说是我,就是时迁再世想做这里的梁上君子也非常之难。
   叭!叭!拍拍门。“大师,我是来学艺的!”
   许久,飘出苍老但很有力的声音,“祖师爷传下来的密笈早已大白天下。你还有必要看吗?”。话音刚落,嚓!一张纸片飞来,如一把明晃晃的尖刀,直插地上。小皮皮胆战心惊地捡起来一看,呆住了。上面只有两个数字,一个0,一个1。小皮皮大声喊道:“你骗谁啊,这哪是什么密笈?”
   “让我来告诉你。我的祖师爷是极其大师,他讲的是机器语言,功力全在这0与1上。别小看了,用它们能表示出计算机系统中的所有的信息,人称二进制。”
   “什么是二进制?”
   “小子,我先问你什么是十进制?”
   “十进制就是用0到9这十个数字计数嘛。运算进位是逢十进一,所以称十进制。”
   “很好!小学数学学的不错!”
   “我明白了。二进制就是由0和1两个数字计数,运算进位逢二进一,对吗?”
   “孺子可教!”

    半扇窗户打开了。
    一张瘦脸,长长的。
    一架老花镜。
   “我正是归隐多年的挥鞭大师(汇编语言)。唉!说起来,当年我也曾叱咤江湖。多少编程好手都在我的门下。早期的软件,比如有名的挖金子游戏,如当年的DOS等都是由我打造。想当初,计算机只认得0与1组成的机器语言,一时难倒多少英雄好汉。只有少数科学家才能驾驭。”
  “这我听说过。您老人家有什么本领威振江湖?”
  “我用一些符号代替二进制编码,直观、不容易出错。不过我还须经过汇编程序转换成机器语言后才能工作。”
  “那么,什么是程序呢?”
  “程序就是指示计算机按一定顺序工作的符号、指命令集合。程序大部分是人编的,而也有的是在人编的基础上由计算机自动生成。”
   “大师,你这么厉害怎么在这里啊?”
   “我告诉你,科学技术是永远向前进步的,就似江河之水向大海,谁都拦不住。我老了,朋友越来越少。程序设计江湖纷争四起,我只好远离闹区,来此清修。”
   “怎么讲您也是大师。教我一招两招,也不枉见你一面啊。”
   “也罢,教你一个破解CMOS密码的秘密程序,让你也见见我的厉害。”
     说完,交给皮皮一张纸,纸上内容如下:
        debug
        - A 100
        MOV DX,70
        MOV AL,10
        OUT DX,AL
        MOV DX,71
        MOV AL,01
        OUT DX,AL
        [ENTER键]
        -RCX
        :OC
        - N DELCMOS.COM
        - W
        - Q
   “小子,你要切记三点。第一,这一招能清除CMOS口命令,所以不到万不得已不能使用,并且不能用来做坏事;第二,遇到DOS才能用,也可以在Windows的MSDOS方式下;第三,这只是制作程序,真用时只要运行用它生成的DELCMOS.COM就行了!”
    吱噶一声,小木窗关上了。
    小皮皮在门外再三拜谢,下山去了。
    下得山来,发现今天镇上人特别多。好多像是外乡人。
    看看天色已晚,还是先找家客店住下。
    “好小子,你往哪儿跑!”
    背上猛然好生疼痛。
    一个黑衣人从后面一下抱住他。
    这人是谁?
         
阿苍按,本回重点讲到了以下知识点:
   (1) 二进制
   (2) 机器语言
   (3) 汇编语言
   (4) 程序
                   (苍山子)
        
        
        
        
             《第二回 边城客栈》
          
          深山中,未曾找到
          他要的地方
          闹市里,却又遇见
          众多的豪强
          皮皮回头一看。
          
   这黑衣人有点面熟,可又记不得在哪见过。
   “怎么?皮皮你不记得我啦?我魏名×××(伪代码)。我可是编程届的高手。如何解决实际问题,我的身手可是不凡。”
   “怎么?不记得我啦?我姓魏名×××(伪代码),乃编程届的高手。分析问题方面,身手不凡。”)
   “你很厉害吗?”
   “我只能分析一下遇到事该怎么办而已,真刀×××还得找… …哈,不讲这个了,咱爷俩儿结伴住店吧,也好有个照应。”
   魏老头转动绿豆小眼,用大手硬是把小手拉住。
   “天色还早,咱先练练场子。呶,当今社会从小就要培养经济头脑嘛!”
   “我不会练啊!”
   “知识经济是支柱,信息产业是增长点。做事要用这个,懂啵!”,说着用手指点点自己干瘦的脑瓜。
   脱掉外衣,一身短打装扮。
   “各位过客您请看了啊。江湖人称第二变了啊。我给大家变个啥子——您讲话了啊!”
          
    人涌如潮。
    “那位兄弟问了,第一变是什么?变脸啊。这位大姐又问了,你会变脸?不!我会第二变。我能水变酒,酒变水了啊!”
    “各位朋友您请看了啊!会看的看门道,不会看的看热闹了啊。”
    唰!唰!唰!一支秃头的毛笔就地写下:
          SHUIBEI=’shui’
          JIUBEI=’jiu’
          ? SHUIBEI,JIUBEI
          LBEI=JIUBEI
          JIUBEI=SHUIBEI
          SHUIBE=LBEI
          ? JIUBEI,SHUIBEI
           “这变的什么呀?没劲!”
          
    人潮要退了。
    “喂!各位别走啊!我的本事甭小看了啊,分析问题用处大了啊!来来来,有钱的捧个钱场,没钱的捧个人场了啊… …”
    “抓贼啊!”
    刚要退的人潮,像被台风卷了起来,摔在路的两旁。
    一个黑衣人跑。
    两个红衣人追。
    “抓住了!”,“打!再打!”,“咚——叭——”。夜色裹着声音渐渐远去。
    魏老头猫腰拾起一小纸团,塞进怀里。拉起皮皮走了。
          
    一面旗子。
    两盏灯笼。
    边城客栈。
    “客官您请,您老住店还是用饭?请先到前柜登记一下吧!”
    老板的脸庞有点像魏老头,只是古板些,穿着很板整,身体微胖。
    “真麻烦!登记一个简单点的变量。过会儿来两个常量!要带小数点的啊!”
    “OK!这就给您准备。”
    魏老头随便找个地方坐下。
    老板正步走回柜台。
    皮皮好奇,“这变量、常量都是什么呀?”
    “变量就是空间,像房间、肚子啦;常量就是东西,像酒、饭啦。刚才我订房间(“登记一个简单点的变量”),现在是要酒菜哩。学着点罢,小子!” 魏老头得意地捋一下稀疏的山羊胡。
    “要小数点做什么呢?”
    “带小数点的是实数型常量啊!意思就是,菜要实在一点,别弄些什么小碗、小碟的宰人。”
    “哦!”
    “皮皮,考考你。过会上来常量,我们往肚里吃这好似什么啊?”
    “给变量赋值!”
    “对!过一会我们去客房呢?”
    “给变量赋值!”
    “很好!我告诉你,这客栈的老板外号‘怕死狗’(Pascal),胆子小得很,死狗都怕。-^-,所以用房间、饭菜都要先登记,怕出事。” 魏×××滔滔不绝。
    “算天算地算人世大法师到!”
    客人们站了起来。
    怕死狗笑脸相迎。
    魏老头竟也肃然。
    众人簇拥一个中年男子进来。满脸谦虚,一袭道袍。袍上竟没有阴阳八卦,却是些图形、文字。
    皮皮睁大眼睛,隐隐约约看到有矩形、平行四边形和箭头。
    灯光太暗,看不清更多。
    算法师被请至上座,谈笑风生。
    大厅里又热闹起来。
    你敬我碰,忙着给自己的肚子(变量)“输入”酒菜(常量)。
    不时,有人跑到屋外。哇哇地又把变量(肚子)中的值(酒菜)“输出”。
    “杨柳春风何须渡,玉门关外本清闲。”
    轻悠悠两句诗似石头砸进棉堆。
    众人的心被压得憋气,可又无力拿开。
    临西窗的上座已然坐了一老一少两位新客。
    白衫纶巾。潇洒飘逸。
    一个满头银发,手握竹箫,竹乃华山滴翠竹。
    一个风流俊秀,掌转折扇,扇为大漠雕翎扇。
    少的掏出一物,一摔,一甩,桌子上就盖了一片灰布。
    老的取一口袋,慢慢地拿出碗盏杯箸、酒水菜饭。
    魏×××嘴贴在皮皮耳边,像蚊子一样哼哼:“老者是拓跋羲(Turbo C),少的是他徒弟魏习(Visual C)。他们都是玉门关外的高手。”
   老者看见算法师,远远地拱拱手。
   算法师微微点了一下头。
   少者愠,欲起,被西山居士的目光按住,很怏怏。
   皮皮直看得一会儿觉冷,一会儿觉热。一颗脆花生快含化了,也没敢咬。
   偌大一个厅堂,只有墙角的蛐蛐偶敢一叫。
   嘻哈,嘻哈哈… …
   突然,门外传来一阵大笑。不!是一团笑!一簇笑!天真、烂漫、感染。
   笑者到底何人?
         
   (知识点:变量、常量、输入、输出 涉及:算法、伪编程、Pascal语言、C语言、VC语言。)
        
        
        (苍山子)  
        
      
      
      
              《第三回 武林大会》
      
              客栈中,风起云涌;
              擂台上,剑影刀声。
  一群年青的姑娘涌进来。
  前面一位,二十岁模样。淡蓝色长裙,缀些小的饰物。白晰,清秀。站像修竹,动如晨风,笑似银铃。
  姑娘们围向柜台,唧唧喳喳。
  又进来一帮男子。前面一位五十岁左右。深蓝短装。精干,朴实,和蔼。
  由于白家人的到来,又热闹起来。众人也不再十分惧怕西山父子了。
  第二天,天蒙蒙亮,皮皮就被魏×××拉起来,说要去赶东关大集。
  集上已是人山人海。在中央搭起了擂台,两边高挂:看语言群雄并起,论编程首推谁家。台上坐了两个人,乃“算”法师和一个印度人。
  印度人竟然会讲汉语:“各位朋友,各派编程序高手!今天以武会友,以技服人,勿伤和气。第一轮比基本功,第二轮比套路。现在开始!”
  “算”法师轻轻出手。一个巨大的 框嗖地插在台下一高杆顶部。
  继而,叭!一个 (输入框)又插在下方。
  嗖!嗖!嗖!一人又一人跃上擂台,一个又一个垂头丧气地下来。
  一道白影如飞瀑逆流。西山老者,以箫代笔,在第二框中写下:scanf(“%c”,&m)。
  一股蓝风似海水漫卷。白家老Q,用指当笔,写道:INPUT m$。
  怕死狗来了。搬一架×××,由伙计们扶着。他慢吞吞地爬到“开始”牌下,取下腰间铁锤,啪啪,订上:VAR m :char;
  再下来一点,在“报上名来”牌上,啪啪,订上:read(m)。
  魏×××不停地嘀咕,“这老东西,总是按部就班、循规蹈矩。”
  突然,狂风大作,刮得四下混沌。等风停了,只见杆上多了一条竖幅,上书: @x,y say “在任意位置输入” get m 。
  “谁挂上的?是谁?”
  “一定是福家钱庄的人,掌柜福克死(Fox)外号‘红狐狸’。他手下个个都打得一手好算盘”。
  “下面比试各派套路!”
   话说间。“算”先生扬起一个“ (判断框)”,插在输入框的下面。
   不知何时,魏×××竟然上得台去。
   可他只是围着台子转了两圈,比划几下,就下来了。虽然简陋倒也清楚明白:
      伪代码              套路说明
      IF m=’天下至尊’ THEN    如果相等,
       WRITE(‘Yes’)        俺说“是”。
       ELSE            要不
      WRITE(‘No’)           俺说“不是”
      ENDIF              就这样
    
  怕死狗上台。
  只见他,步步稳键,一招一式,绵绵有力。更见他,起伏错落,张合有度,有始有终,俨然武当派的太极大履推手。
      Pascal                套路说明  
      ROGRAM find(input,output);      预备式
       VAR                 打量         
       m : string ;            踩场子
      BEGIN                 起势
       WRITELN(‘Input ”);        推(张)
       READ(m) ;             引(合)
       IF m=’天下至尊’ THEN   阳
       WRITELN(‘Yes ’) ;     推左
          ELSE             阴
       WRITELN(‘No’) ;        推右
          END;              回位
      END.                 收势
       
  西山老者上台。
  腰间扎着口袋,竹箫如青锋宝剑,极尽天山剑之轻快,峨眉剑之聪颖,华山剑之俊利。整个套路身形怪异,起落轻盈,飘忽不定,足见其轻功了得。
      C(Turboc C)            套路说明
      #include “ math.h ”        背口袋
      main()                预备式
      {                   起势(轻)
      char mm=”天下至尊”;        踩场子(在整体套路中)
      char m;                
      scanf(“%c”,&m);           揽月入怀 (姿势有点玄妙)
      if (m= =mm) printf(“Yes”);      直捣黄龙(不用then,快)
      else printf(“No”);           非东即西
      }                   收势(轻)
      
     
  白家老Q上台。
  他身法矫健,招招钢硬,没有死狗一样烦琐、古板,却见其明快、稳重。平淡之中见功力,俨然一路拳打卧牛之地的少林伏虎拳法。
      QBasic                套路说明
      INPUT m$              小钩手
      IF m$=”天下至尊” THEN       指左 则
       PRINT “Yes”             打左
      ELSE                 否则
       PRINT “No”              打右
      ENDIF                 小收式
     
  小皮皮看得是眼花缭乱。
  “比武到此结束,请算先生致词!”
  “各位门派虽异,但博采众家之长乃发展之道,很多高手今天没来,来的也并未能现其身手。但是,这次盛会基本展现了各门各派之特点。谢——”算法师另一个谢字还没出口,叭!“ ”框已从他手里飞起,直插杆底。
  呵,算法师也激动了!
  众人一哄而散,各自寻门投派去了。
  小皮皮左右一看,魏×××不在,心想“此时不走更待何时!”
  一猫腰,钻进人群不见了。
    
 [按 知识点:Basic语言、算法的流程图形式、各种语言的简单语句及程序结构特点。]
                                   苍山子
    
         《第四回 初为人徒》
    
             看打擂,惊心动魄
             初拜师,闻鸡起舞
    
    
    小皮皮离开了大集,一路奔跑。
    山岗。竹林。青石板。
    实在太累了,青石板上一躺,酣然入睡。
    风动。草动。竹叶动。
    一条花斑毒蛇慢慢向他游动。蛇正张口欲咬!
  
    “小心!有蛇!”突然有人大喊一声。
    嗖!一个“控件”打在了蛇的七寸之处。毒蛇本已高高昂起的头一歪,当即落地。
    皮皮猛然惊醒。
    是白家众人出手相救。
    “小兄弟,这里怎么能睡觉。快回家去吧。”
    “我叫皮皮。是出来拜师学艺的,您就收我为徒吧!”说着向前一拜。
    “快快起来!”
    白姑娘看这小皮皮,年龄虽小,但是眉清目秀,是可塑之才。
    “老Q叔,您最喜欢小孩子了。皮皮,还不来拜见师父!”
    “师父受我一拜!”
    “哈哈,起来吧!”
    小皮皮跟着大伙上路了。
    行栈道,过剑门。来到号称“天府之国”的四川。
    白府就在成都。亭台楼榭。小桥流水。
    这位温柔的白思科(Visual Basic),是白派的掌门。弟子众多。皮皮听派内人讲,她的武功非常了得。但 QBASIC.EXE
    演练所用器材较贵,且所用又多。因此,很多初学者都乐意投在老Q叔(QBasic)帐下。
    小皮皮早早地到客房休息。
  
    雄鸡一唱,撕开了黑色天幕。
    小皮皮快快起床,急忙忙赶到老Q师父院里。
    
102350.png

  
    老Q叔的小院门口。
    一块门牌子,上书“QBASIC.EXE”。场边一间小屋,好似书房模样,额匾云“QBASIC.HLP”。
    皮皮顾四周,但见练武场上明显地分成四大部分。
    一,边上从左到右有多个功能台(顶部菜单):
    点将台(File)乃上场(New)、下场(Exit)的必经之地;可以在正功台(Edit)修正动作;观众台(View)则决定观武方式;利用观察台(Search)可以查找到特定动作;指挥台(Run)上一声“start”,就要练出个结果来;谁要找不出自己动作的错误在哪里,可以来单挑台(Debug)上单挑;小徒弟们没人乐意去那儿,呵呵;修理台(Option)上放些彩色服装(Color)、修路(Set Path)的工具之类,要想扮酷就来这里吧!
    二,宽敞的套路练功区(编辑区)。
    三,有一个长条形的场子练习单个动作(调试区)。
    四,最底下一排各种各样的常用提示牌子(提示栏)。
    老Q师父首先教给皮皮一套入门的“六路”功法。此乃入门第一功法。
    小皮皮天资聪慧,一会儿就学就会了。从入场到出场,一招一式,稳健扎实。
    只见他:
    第一路,从MSDOS窗口,双击QBASIC.EXE,回车,入场了;
    第二路,单击File / New,清好场子;
    第三路,在套路练功区输入程序,一个语句一回车:
    PRINT “马步冲拳”
    PRINT 1+1
    第四路,按动F5,运行程序,哈结果出来了。
    第五路,按动几下F6,在练功区与动作练习区之间穿行。
    第六路,执行File / Exit,退场。
  
    
102407.png

    一连几天,闻鸡起舞,勤练不怠。
    师父让皮皮提水(赋值语句:X=100 ),把水装进大缸(输入语句:INPUT X),再把缸里的水叭叭用手拍打出来( PRINT X )。
  
  
105754.jpg

   
 
 
 
 
  
 
 一日。黄昏。
    魏×××神神秘秘地来找皮皮,给他看一张羊皮纸,要他一起去神秘岛。
    “有编程密笈、金银珠宝。你得到了密笈,何愁大功不成?”
    小皮皮想想这几天真是辛苦,心动了,“等我与师父告别一下”。
    “来不及了,船就要开了。” 魏×××拉起皮皮就跑。
    魏老头雇了东海派的一艘大船,备足粮水。装了一些布匹、瓷器之类掩人耳目。魏老头把那张纸用油布包好,缝进皮皮的衣内。
    一切齐备。扬帆起航。顺风而下。
    船像飞一般穿峡、越滩、入海。
    陆地的影子很快就不见了。
    
    蓝天。白云。海浪。
    时过数日,不知已到何处。
    突然,天暗了,风大了,浪高了。
    “台风!”、“台风!”
    桅杆折断了,船中进水了。
    
    乱。哭。叫。
    巨浪不断打进舱内,砸在头上,小皮皮迷糊了。
    船很快往下沉去… …
    
               第五回 程序岛
  
            大海能吞掉无穷的欲望,能磨炼人的坚定的意志
            最荒凉的地方才是最有利于人成长的地方
  朝霞。沙滩。海鸟。
  皮皮睁开双眼,看到自己怀里还紧紧地抱着一块木头。
  这里是一个海岛。茫茫大海上的一座孤岛!
  坐起。拆开内衣,发现油布包已开了,羊皮纸已浸透。小心地展开,放在沙滩上晒。纸上的符号还能看清,这些符号好像是“算”法师在武林大会上用的,从上向下依次为:圆角框中“开始”,矩形框中“找山洞”,菱形中“能否得到高人帮助”。其中,用箭头表示着方向与路线。
  对!我先去找山洞。
  
  森林。衰草。羊肠小道。
  衣服扯破了,手刺破了。
  一队土著人,扛着石头。
  “你们到哪去?”
  没人回答。
  跟着他们来到半山腰。山洞。有很多人在修理洞口。指挥干活的人白发奇长,一袭黑色长袍。
104442.png

  “我帮你?为什么?我可是程序岛主啊。世人都以为这岛上有什么宝藏,其实只有死亡。哈哈哈!”
  “大师,我不想找宝。我只想回去找我师父。”
  “你师父是谁?”
  “老Q”
  “哪个老Q?”
  “四川成都白府的QBasic”
  “啊!白府,我都快想不起来了!”
   “真是山中无甲子,寒尽不知年!老Q的父亲可能就是解释大师(解释BASIC)。如果真是这样,我就是老Q的大哥。相当初,我练成了编译真经,一时被江湖称为真白小子(True Basic)。只因后来… …不提了,都已过去这么多年。老Q这白派掌门当的还行吧?”
  “掌门人是他的侄女白思苛。”
  “啊,侄女?白思苛有什么能耐当掌门?”
  “厉害的功夫太多了。什么表单大法、控件飞标等等。好像也会什么编译真经,听说是项目宝典中的一小部分。”
  “哇哈哈哈哈!”响彻山谷的一声长笑。
  “你笑什么?”
  “编译真经居然得到白家认可了。真是长江后浪推前浪,江山倍有人才出。你给我设计一个简单的顺序结构的程序吧!帮助我炼成‘绝世懒虫’大法,我可以在此安住了。”
  小皮皮暗想,你要学懒吗?可真找对师爷了。我就是班里最最有名的大懒虫。
  小皮皮三下五除二,在石板上写下了一段程序:
  Print "get up "
  Print "have breakfast"
  Print "sleep”
  Print "have lunch"
  Print "sleep "
  Print "have dinner"
  Print "sleep"
  真白“老”子大悦。把自己珍藏的魔力微电脑赠给皮皮,并说不到关键的时候不能使用。
  皮皮与法师告别,被一个土著人带到一条小河边。土著人指指一叶独木小舟,示意他向下游划去!
  顺水而下。
  两岸山崖高耸。漩涡、暗礁、风浪。
104455.png

  突然,小河在在前面分成了两条河,一条向左,一条向右。怎么办?向左还是向右?一抬头,只见百尺高崖上刻有四个大字:“分支程序”。下面几行小字:
  If 2 > 1 Then
   Print " go left "
  Else
   Print "go right "
  End If
  这种“分支程序”好似就是武林大会上各位大师比过的套路。稳稳神,耐心的想一想。对了!IF是如果,THEN是那么。明白了!如果IF后的式子是真的就做THEN后的内容,否则就做ELSE后的内容。
  于是,皮皮毅然决然地向左划去。
  划啊,划啊。
  太阳落山了。月光洒在河面,星星散落水中。
  天亮了。划了一夜居然又回到了原地!非动用魔力微电脑不可了。
  打开电脑。
  啊!?一个程序正在执行!!!屏幕上显示:“You have left 366 times。”
  只见小皮皮按住Ctrl键,再按Break键。哇!程序的运行状态被强行中断。神秘的程序出现了:
  q = 9999
  For x = 1 To q Step 1
   Print "You have left ", q-x, " times 。"
  Next x
  原因找到了!。这是一个有法力的循环程序。For与Next构成循环结构,其间是循环体。循环多少次是由循环变量控制的,每当循环一次变量会自动增加一个步长(Step后的值),直到变为终值循环就结束了。
  小皮皮一拍脑袋,计上心来。叭叭,修改了几个数字。Restart!。
  一道刺眼的强光闪过。小河没有了!山崖没有了!
  “我成功了!我成功了!”小皮皮高兴地喊啊,喊啊。^-^!
  小皮皮的独木舟突然加快了速度,冲向大海。

 
              第六回 英雄排座次
             闯过狂风,闯过风浪
             申奥成功,再论英雄
小皮皮驾一叶扁舟飘洋过海,一路风和日丽。
不多时,陆地渐入视线。
停泊在一个熙熙攘攘的港湾。
一问,原来是山东青岛。
人们正在欢庆2008年奥运会申办成功。青岛将作为海上比赛的赛场,这里热闹非凡。
五四青年广场的大型电视不断播放着萨马兰奇宣布“Bejing China”的场面。也许是刚刚流浪归来的缘故吧,小皮皮竟然激动得当众以泪水洗面。
“善良的小兄弟,行行好吧。”,皮皮的泪水却招来一个乞丐。
侧头看看这位,西装革履,不像穷人啦!
“小兄弟,这不——狂欢嘛!我们丐帮网站刚刚上传了帮主令,自今天起鄙帮告别衣衫褴褛,一律改穿制服。呵呵,维护岛城的国际形象嘛!”
忠厚的老脸,翠绿的竹棒,崭新的西服。
奇怪的是西服上竟有九个口袋。
“啊,原是丐帮长老到了!”小皮皮忙把怀里的半块面包送给他。
“多谢小兄弟!看来我们有缘啊!赠你太祖长拳防身护体吧。”
说话间,人已不见了。
105754.jpg

皮皮手上已然多了张破纸,上有几行莫名其妙的口决:
太祖创业震天吼, (熟煮批注:DIM A(100)定义有十个数组元素的数组。)
精兵顿扎百连营。 (熟煮批注:A(1)、A(2)… …A(100)都是可存储数据的变量,像兵营一般。)
单呼先锋打前阵, (熟煮批注:数据元素可以直接应用,如A(7)、A(9)。)
倾出雄师破敌城。 (熟煮批注:数据元素可以连续使用,如A(X)。)
落款虽已模糊,但仍可依稀辨出“熟煮的鸭子飞不了”几个草字。
“原来是丐帮的熟煮长老!”,皮皮高兴的藏进怀里。
“各位观众!现在播报本台最新独家新闻!”
广场电视的音量突然变大。
“软林少侠皮皮已从程序岛归来。本市体委有意邀请他在明天的庆祝大会上即兴表演。”
“据可靠消息,题目是帆船比赛打分系统。”
“呃?^ & # ~ ~”我怎么不知道呢?
“在这里,在这里!他就是电视上的少侠!”一群记者围过来。
“让开,让开,我们是体委的!大家请让一让!”几位官员挤进来。

夜已深了。
海风习习。
百年栈桥上,
皮皮满腹疑虑。
近处的霓虹,远处的灯塔。
突然,一股冲动。
展身扬手,一路太祖长拳起落。
“好身手!好!”有人鼓掌喝彩。

105806.jpg
哟,这不是梁山智囊团的智多星吴用和入云龙公孙胜嘛!
皮皮收身抱拳,“请教两位,当年水泊梁山是如何排座次的呢?”
“别提这陈年旧事,那都是入云龙玩的障眼法。现在已经改革了,呵呵。”智多星笑了,继续讲“2008年北京奥运会可能要增加武术比赛,我们也改为比武排座次了。”
“我们请外地裁判打分,按各人的武术成绩高低排序,分数最高者就坐头把交椅!”
公孙胜被人揭了老底非常尴尬,红着脸急忙补充。
“把划船时间从低到高排列——嗯,很相似的!”皮皮自语,“那你们具体是怎么排的呢 ?”
“还得问公孙先生。”
“先把108个人的成绩分放在108个坛子里。然后,取第1坛中的数据与第二坛中的数据比较。如果第1坛中的数小,就把两个坛中的数据换坛放置。再把第2坛与第3坛比较,如果第2坛中的数小,则两坛数据交换。… … 如此这般,直到把第107坛与第108坛子比较完毕,结果第108个坛子中的数就是… …”
“最小数!”皮皮脱口而出。
“Yes!如果想要第107坛中放第二小的数,怎么办?”
“就再从第1坛与第2坛比较,直到第106坛与第107坛比较结束,第107坛中就是第二小的数了!如此这般,最终1至108坛中的数就一个比一个小。哈,分数就从大到小排列起来了!”皮皮有点得意忘形,“我要的是让数从小到大排,判断时改一改就得了!让我来试一试。”

“这里没坛子啊?”
“呵,熟煮(数组)长老教我的功夫派上用场了!”
小皮皮拿出魔力小电脑,叭叭叭,输入下面程序:
Dim a(8)
For i=1 to 8
Input a(i)
Next i
For x=1 to 7
For y=1 to 8-x
If a(y)>a(y+1) then
temp=a(y)
a(y)=a(y+1)
a(y+1)=temp
Endif
Next y
Next x
For i=1 to 8
?a(i),
Next i

一招伏虎式(F5)。
“哈哈!结果出来了。”
8个数居然乖乖地从小到大排列起来!
吴用与公孙胜见如此神速,大吃一惊:“看来,咱山寨里也得引进电脑了!”。

次日盛会。
小皮皮自然是大放光彩。
众多小MM争相献花。
嚓!嚓!嚓!
体记、娱记、IT记,竟相拍照。
小皮皮也尽量照顾一下镜头,时不时摆个“单呼先锋打前阵”或“倾出雄师破敌城”真真是酷毙了!
次日大早,皮皮悄然离开岛城,一路西行。

泉城济南。
漫步于杨柳依依、荷叶田田的大明湖畔。
皮皮一时兴起,竟作起诗来:
浩浩兮明湖之水浪沧,
杨柳轻柔兮荡荡。
光阴若可追,
愿闻兮小玉书声之铿锵。(注,请参考《老残游记》或高中语文《明湖居听书》一课。)
随着皮皮的诗吟,一阵悠悠的笛声飘来,成群成群的水鸟应声而起。
荷丛中驶出一只小船儿。
一位少女坐在船头侍弄着一支长笛,身边有几个青青的莲蓬。
一位老汉头戴草帽,长长的梢杆在水面起起落落。
绵绵的笛声,清脆的鸟声,潺潺的水声,交织成一团梦,慢慢地划过去了。

猛然,这一切嘎然而止。
皮皮被一阵撕心裂肺般的呼救声惊醒。
啊?!

105815.jpg



                 第七回  决战云驼山

  次日,明湖茶社。
  清茶。莲籽。茶客。
  “素天问是有名的花匠,沥尽心血培养出一株芙蓉珍品。”
  “为此妻子都累死了,只剩父女二人相依为命。”
  “潘家祖上是南宋奸相高球,为避人嫌改姓了潘。潘端爸爸靠祖传的蹴鞠秘笈,做了职业足员。可吃不得苦哇!又投门子改当裁判。近来因黑哨问题被司法追究,也就顾固不上这不肖子。”
  “潘端把抢去的姑娘藏在洋楼。素天问去寻女儿,非要他指出楼牌号是不是素数。可怜老汉不知素数为何物,悲愤而亡。”
  “苦了素殊这孩子,唉!”
  喝了一上午的茶,皮皮感到有些醉意。人言茶烟也能醉人,看来不假。
  踉踉跄跄穿过珍珠泉、趵突泉、黑虎泉——泉水荧荧的光迷离在杨柳之间,“一城山色半城湖”。皮皮就像当年武松赶往快活林。
  及至潘府门前。英雄气却没了。听到潘端狰狞的耻笑,皮皮觉得不行了,好想去WC。茶喝得太多了!
  “哈哈,吓尿了吧!”
   “少爷,这小子不像是吓得,倒像懵了。去年高考时你就这样!”
   “多嘴!”
   月儿藏进云层,滴雨洒落。
   皮皮慢慢醒过来。
  “没有金刚钻就拦磁器活!呵呵——”
   人影闪动。
   爬起来,追过千佛山、越过大佛头… …雨愈下愈大。
   古寺。古松掩映。乃灵岩寺。
   吱,古寺门开了。
   古灯。佛像。木鱼声声。
   老和尚面佛端坐。
   皮皮正欲开口。
   “先听后说,先思后做。” 声音低沉。
   皮皮点点头。
   “此劫天定。一种数清高无比,纯洁无瑕,除1和它本身外没有任何整数因子。迷倒多少人毕生研究。有人偏执,有人狂。爱乃恨之孽源。”
  皮皮再点点头。
  “潘端不过是‘判断’小儿,可断其虚伪。”
  皮皮又点点头。
  “硬打断尾掌(INT)可解一时之围,但会招来更×××烦。日后不要再来找我,可去正东三百里,找我师父求教乌龙辗转神功。”
  灰色的袈裟在灯光中飘动时掌已打出。
  油灯火苗(1.8)尖(.8)断了,下面火苗(1)却没动一动。
084600.png

  皮皮又来到潘家,与潘端大战近千回合。这一战:
x=1011
Y=”是素数”
For i=2 to x-1
If x/i=Int(x/i)
Y= ”不是素数”
Endif
Next i
Print Y
(注解
楼牌号
  先树必胜的信心
   大战x-2个回合
  如果(用硬打断尾掌)断掉x/i小数后与不断相等,就找到因子
   表明不是素殊
  结束判断
  再一回合
 最后结果


 “臭小子,让我师父来收拾你!本月十五日出之时云驼山再决!” 潘端落荒而逃。
  素姑娘:“潘端还会回来。”
  小皮皮:“好事做到底,我一定把这恶少绳之以法。”
  其实皮皮一点把握也没有。
  东行三百里地,已至古九州之一的青州。
  城南山峦绵绵,劈山、云门山、驼山一字儿排开。
  云门山。山顶巨洞白云穿绕,高崖“寿”刻寸比人高。
  驼山。巨佛林立,肃穆神秘。
  
084617.png

  从驼山东望,云门山竟然是一尊仰睡巨佛,安祥宁静。
  仙境虽迷人,游者却寥寥。
  据说,来自海南的云游道人占住二山,把二山合一,通称云驼山。
  一辆通往仰天山国家级森林公园的旅游中巴停下来。
  小皮皮拉素殊上车。
  八十多里山路,车行时间并不长。
  仰天山到了。
  经人指点直奔古庙。
  残砖。破瓦。孤独的石柱。更没有和尚。
  穿林攀藤,天黑时分到了半山腰。
  巨大的石壁宛如屏风,壁前宽阔平坦可驻百兵。
  游人们参观江北第一大溶洞后就乘大巴下山了。
  皮皮在一株娣妹树间一靠,睡如死猪。
  素殊只好自己爬上树像猴儿样打瞌睡。
  野鸡高唱,天亮了。
  初秋的万缕金光照耀石壁,一个巨大佛像清晰可见,似行似立,似奔似飞,身法飘逸。一双腿,一双苦行僧的腿,一双不知疲倦的行天下的腿,前承后合,辗转自如。
  皮皮认真模仿。
  素殊暗自敬佩:“睡能早睡,起能早起,与当今的软林小子们确是不同。”
  皮皮似飞似走地飘上树来,拉起素殊,穿越一片片微红的枫林。
  云门山顶沧阆亭中有五个人。
  一个老头,四个喽罗。
  飞来石上还有一人,是潘端,正伸颈远望。
  皮皮与素殊从劈山冲天的双峰之间掠过,轻轻落下。
  “南海法师,极酸蚧蛏!天下第一,无往不胜!” 喽罗们卖力地齐声高喊。
084627.png

  极酸蚧蛏(计算阶乘)一杖向皮皮打来,出手奇、快、冷、怪,寒风一股蜿蜒而出。 “12345678… …”极酸蚧蛏每念一数,风打一旋(*)。刹那间,如一条青蛇在山巅飞舞:1*2*3*4*5…… *n
  皮皮双脚凌空而起。似行,似立,似奔,似飞,迎风蛇而去。
  这一战,天昏地暗。自仰佛的胸战至喉结、嘴唇、鼻尖、鼻梁、眼窝、额头… …日落时达驼山极顶。
  皮皮看出风蛇要害就在n尺寸之处。使出乌龙辗转神功之辗转小乘功,直击要害,风蛇颓然而逝:
   Input n 找准要害
   S=1 出手
   For i=1 to n n次辗转
      S=s*i 辗转小乘
   Next i    再次辗转
   Print s (全乘)结果
  “快跑啊——南海法师,极酸蚧蛏!天下第二,仅次皮皮!”
  
  夕阳照在云驼二山。
  仰佛盖上金光闪闪的袈裟,静静地安睡了。
  皮皮素殊下山。
  “你回家吧。”
  “我没有家了。”
  “与我进川投靠我们白派师门吧?”
  “嗯!”
  两个身影在暮霭中肩并肩飘飘远逝。
                       (第一部完)