首頁 現(xiàn)實(shí)

程序媛養(yǎng)成計(jì)劃

第十五章 邏輯怪和選擇狂(上)

程序媛養(yǎng)成計(jì)劃 任煦之秋 2129 2020-04-18 21:48:36

  就這樣,老弟的降生就被我們以友好磋商的方式?jīng)Q定了。多年以后,老弟在問起自己的出生歷程時,聽到事情的原委后他沉默了半天。

  快樂的時光總是太短暫,隨著走親戚熱潮逐漸衰退,我今年的收入也進(jìn)入了尾聲。當(dāng)老媽再次以代為保管的名義從我這里將所有的紅包都搜刮一空,這個時候我突然能夠體會到老爹每個月發(fā)工資那天的心情。

  既然不走親戚了,那就應(yīng)該愉快地學(xué)習(xí)知識了。作為一個勵志要以編程來改變世界的人,怎么可以停滯不前呢?

  「在開始新的課程之前,我們先回顧一下之前講過的內(nèi)容……」

  老爹上來先將之前的知識回顧了一遍,還不忘讓我敲幾個例程找找感覺。

  當(dāng)然,他完全是多心了。聽說老爹在我這個年紀(jì)的時候能夠行云流水地背下整本語文書,看電視地時候能夠背完整個劇的臺詞。作為他的女兒,這種天賦技能我怎么可能不繼承下來呢?

  雖然那些知識我都還清晰的記得,但還是依照老爹的意思過了一遍。

  「今天要講的混沌先民中的if和switch,首先詳細(xì)介紹一下它們各自的屬性。

  姓名:if

  身份:混沌先民

  出身年月:1972年初

  技能:else、else if分身

  弱點(diǎn):真愛無敵」

  「哈,老爹,這又是個什么鬼?」

  看著老爹煞有其事地給我介紹「if」關(guān)鍵字的屬性,我感覺腦瓜子有點(diǎn)嗡嗡作響。

  「有道是知己知彼,方能百戰(zhàn)百勝。所有的混沌先民都是你封神路上的阻礙,只有戰(zhàn)勝它們,并且讓它們?yōu)槟闼媚悴拍茱w升成神,知道么?」

  老爹瞬間被諸葛孔明老先生附身,就差天機(jī)扇和那一撮山羊胡子了。

  「所以我們今天的背景是『凡媛修仙記』?」

  我捂著額頭說問道

  「接下來的一段時間都是~」

  老爹摸了摸下巴并不存在的山羊胡須,臉上露出了睿智的笑容。

  「那行吧,請開始你的表演~」

  我對老爹做了一個「請」的姿勢。

  「話說在程序世界誕生初期,那時世界一片混沌,『真假』難分……」

  「等等,你這不是盤古開天辟地的神話傳說么?」

  我忍不住打斷了老爹。

  「大道殊途同歸,都是世界的演化,總會有相似之處嘛……」

  老爹笑了笑,絲毫沒有感覺到尷尬。

  「……」

  「這個時候,if就應(yīng)運(yùn)而生。它天生就具有辨別真假的能力,于是被其他混沌先民稱作邏輯怪。

  如果遇到『真』的東西,它就自己處理,如果是『假』if就會拔下一根毫毛變一個分身else來處理。而有時候不需要對『假』進(jìn)行處理,if也懶得拔毫毛變分身。

  但是世界中真真假假,虛實(shí)相交。有時候『假』當(dāng)中可能也有『真』的存在,于是if就花了很大的功夫修出了另一種分身——『else if』,專門用來擇出『假』中的『真』。

  else if又會用另外一套標(biāo)準(zhǔn)來判斷是真還是假,如果是真它處理。else if也很厲害,它可以變一個和自己一樣的分身,也可以變else分身。

  于是經(jīng)過if和它的分身們的不懈努力,『真』與『假』被分開,形成了一片清明的世界。后來呀,但凡人們要辨別真假的時候,都會召喚if和它的分身……」

  「故事編得還不錯,但是有一點(diǎn)我不明白,假中有真是怎么回事?這個世界非假即真,怎么會有假中有真呢?」

  我有些疑惑道。

  「不錯,在同一時刻真和假是互斥存在的,不是真就是假。但是當(dāng)條件發(fā)生了變化,真和假可能會出現(xiàn)變化。為了更好說明,我在這里給你舉個例子:魔塔這款游戲你應(yīng)該還記得吧?」

  「記得記得,當(dāng)時不是一邊玩兒一邊問你不認(rèn)識的字么?」

  說到魔塔,我還有點(diǎn)懷念。畢竟那款游戲可是我最先接觸的幾款游戲之一,關(guān)鍵是那個時候玩游戲還沒有和金錢掛鉤。

  「記得就好,比如說這個時候你身上有500個金幣,打算到商店里邊提升攻擊力。結(jié)果商店里的老頭兒說,如果你有800金幣,我給你提升20點(diǎn)攻擊。

  但是你身上只有500金幣,顯然條件不成立,為『假』。就在你打算轉(zhuǎn)身離開的時候,那個老頭兒又說了,如果你有500個金幣,我給你提升10點(diǎn)攻擊。這個時候你剛好有500金幣,條件就成立了,為『真』,于是你和老頭兒痛痛快快地達(dá)成了這筆交易。

  如果這個過程用if和它的分身來處理的話,就是這樣的:

  if(金幣等于800)

  {

  攻擊力+20

  }

  else if(金幣等于500)

  {

  攻擊力+10

  }

  else

  {

  沒錢滾蛋

  }

  對于第一個條件來說是不成立的,為假,所以if不會處理,它會交給自己的分身。因?yàn)樾枰褂闷渌鼦l件再對金幣進(jìn)行判定,所以要使用if的else if分身,如果再不成立,就讓你滾蛋了。

  所以要不要使用if的分身,使用哪個分身,取決于要不要對『假』進(jìn)行處理和有沒有另外的條件。」

  「聽上去有點(diǎn)繞啊……」

  我摸著下巴,眉頭皺到了一塊兒。

  「這樣啊,看來這次的故事有點(diǎn)失敗。嗯,實(shí)在想不明白就忘記之前那些,老爹還有Plan B……」

  老爹先是一副受挫的模樣,隨后他眼睛頓時一亮,靈光迸發(fā)。

  「抄試卷這種事情做過吧?」

  「何止做過???這些年可沒有少做!不然你以為我這支一次性可以寫三行字的筆是哪兒來的?」

  說著,我將電腦桌抽屜里的法寶——三支綁在一起的筆拿了出來。

  「比如說,這次出題比較簡單,正常情況下你們班上應(yīng)該有10個人考滿分。結(jié)果老師認(rèn)為應(yīng)該考滿分的人因?yàn)榇中拇笠猓贾豢剂?0多分。

  老師很生氣,就讓九十分的人把錯了的題抄三遍。用if怎么表達(dá)呢?

  if(分?jǐn)?shù)大于90分并且不等于100分)

  {

  把錯題抄三遍

  }

  else

  {

  什么都不做

  }

  else就是指的分?jǐn)?shù)小于90分的人,既然什么都不做,就沒有必要麻煩else了,于是以上表達(dá)可以簡化:

  if(分?jǐn)?shù)大于90分并且不等于100分)

  {

  把錯題抄三遍

  }

  結(jié)果,你們班上有個考了89分的小朋友幸災(zāi)樂禍地跟他考了99分的同桌說還好自己只考了89分,不然也要抄卷子了。

  不幸的是,怒氣尚未平復(fù)的老師聽到了這句話,你說接下來會發(fā)生什么有趣的事情?」

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南