寫給所有人的編程思維-算法篇

算法一詞可能并不常見憎夷,聽起來也有些不好懂。算法其實(shí)就是為了完成某項(xiàng)特定的任務(wù)而要按照既定順序執(zhí)行的一系列明確的指令昧旨。我們?cè)凇熬幊叹褪且唵巍币还?jié)中曾經(jīng)做過簡單的探討拾给,當(dāng)時(shí)就是給“小智”制訂了一套明確的整理床鋪的指令富拗。

算法中指令越具體、越明確鸣戴,指令運(yùn)行時(shí)出現(xiàn)錯(cuò)誤的概率就越小。算法就像是做菜使用的“食譜”粘拾,是計(jì)算機(jī)所要執(zhí)行的命令窄锅。我們來試一下,給小智發(fā)出指令缰雇,讓它為我們做個(gè)加奶酪的三明治:

1.拿起一片面包入偷。

2.將面包放在廚房的操作臺(tái)上。

3.把黃油盒的蓋子打開械哟。

4.把蓋子放下疏之。

5.握住手柄拿起刮取黃油的小刀。

6.一只手握住小刀的手柄暇咆,讓刀口向外锋爪。

7.放低小刀并在黃油上刮取三秒鐘。

8.拿起小刀爸业。

9.使小刀靠近面包片其骄。

10.放低小刀,在面包片上涂抹三秒鐘扯旷,一共涂抹兩次拯爽。我們已經(jīng)完成了10個(gè)步驟,卻只給面包片的一面涂上了黃油钧忽!

11.把小刀放在操作臺(tái)上毯炮。

12.拿起一片奶酪。

13.把奶酪片放在涂有黃油的面包片上耸黑。

14.再拿起一片面包桃煎。

15.將其覆蓋在奶酪和有黃油的面包片上。

你是否留意到崎坊,上面的指令非常具體备禀,甚至提到了如何握刀?其實(shí)我們還可以更加具體奈揍,描述使用小刀時(shí)的角度及涂抹黃油時(shí)小刀的速度曲尸。在第7步和第10步中,我們的描述還包括計(jì)算機(jī)要取男翰、涂黃油的時(shí)間另患。畢竟,小智不知道刀上的黃油有多少算夠了蛾绎,面包怎樣才算抹好了昆箕。因此鸦列,我們做出估算,大概需要三秒鐘的時(shí)間鹏倘。

單步調(diào)試

西方有句古老的諺語薯嗤,“量兩次,裁一刀”纤泵。其本質(zhì)意義是說骆姐,干活時(shí)多核查要比出了問題后返回來彌補(bǔ)更有效率。對(duì)于編程的初學(xué)者而言捏题,這應(yīng)該成為不成文的規(guī)則玻褪。檢查算法時(shí),應(yīng)該單步調(diào)試(一步一步檢查代碼的過程公荧〈洌——編者注)、逐步進(jìn)行循狰,確保其合理規(guī)范窟社。

我們?cè)賮砜戳硪粋€(gè)關(guān)于算法的例子。這是一個(gè)游戲晤揣,需要用些數(shù)學(xué)知識(shí)桥爽,來猜測人的年齡。猜年齡游戲在這個(gè)“數(shù)學(xué)魔術(shù)”的戲法中昧识,你可以先告訴朋友钠四,你不用他們說就能猜出他們的年齡。游戲具體如下:

1.讓你的朋友在一頁紙上寫下他的年齡跪楞。

2.將這個(gè)數(shù)字乘以2缀去。

3.再加上1。

4.然后乘以5甸祭。

5.再加上5缕碎。

6.再乘以10。

7.再減掉100池户。

8.最后再畫掉末尾兩位數(shù)咏雌。

最后剩下的數(shù)字就是他的年齡,一共只用了簡單的八個(gè)步驟校焦。

明日預(yù)告:寫給所有人的編程思維-循環(huán)篇

今日內(nèi)容節(jié)選自《寫給所有人的編程思維》赊抖,作者:吉姆.克里斯蒂安??,如侵權(quán)寨典,聯(lián)系本號(hào)刪除

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末氛雪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子耸成,更是在濱河造成了極大的恐慌报亩,老刑警劉巖浴鸿,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異弦追,居然都是意外死亡岳链,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門劲件,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宠页,“玉大人,你說我怎么就攤上這事寇仓。” “怎么了烤宙?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵遍烦,是天一觀的道長。 經(jīng)常有香客問我躺枕,道長服猪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任拐云,我火速辦了婚禮罢猪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叉瘩。我一直安慰自己膳帕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布薇缅。 她就那樣靜靜地躺著危彩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泳桦。 梳的紋絲不亂的頭發(fā)上汤徽,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音灸撰,去河邊找鬼谒府。 笑死,一個(gè)胖子當(dāng)著我的面吹牛浮毯,可吹牛的內(nèi)容都是我干的完疫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼亲轨,長吁一口氣:“原來是場噩夢啊……” “哼趋惨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惦蚊,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤器虾,失蹤者是張志新(化名)和其女友劉穎讯嫂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兆沙,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欧芽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葛圃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片千扔。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖库正,靈堂內(nèi)的尸體忽然破棺而出曲楚,到底是詐尸還是另有隱情,我是刑警寧澤褥符,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布龙誊,位于F島的核電站,受9級(jí)特大地震影響喷楣,放射性物質(zhì)發(fā)生泄漏趟大。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一铣焊、第九天 我趴在偏房一處隱蔽的房頂上張望逊朽。 院中可真熱鬧,春花似錦曲伊、人聲如沸叽讳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绽榛。三九已至,卻和暖如春婿屹,著一層夾襖步出監(jiān)牢的瞬間灭美,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工昂利, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留届腐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓蜂奸,卻偏偏與公主長得像犁苏,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扩所,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容