當前位置:編程學習大全網 - 編程語言 - 這本書告訴妳,計算機為何能讀懂人類語言,編程思維讓妳更聰明

這本書告訴妳,計算機為何能讀懂人類語言,編程思維讓妳更聰明

在這個互聯網時代,我們出門購物、拍照、打電話、瀏覽信息,只需要帶上壹部智能手機就可以了。如果在20年前,要實現這些功能,需要帶壹大堆東西。如今,我們口袋裏的這臺計算機,和50年前送宇航員上月球的那臺計算機相比,功能更強大,體積更小巧。

計算機為什麽功能強大,能讀懂人類的語言?直到我看了《寫給所有人的編程思維》這本書,解答了心中的疑惑,明白了計算機的工作原理。這壹切能都離不開程序員的編程設計,說到編程,人們總是想到程序員坐在電腦面前,敲擊著壹長串神秘的代碼。其實,編程體現的是人類的智慧。

在《寫給所有人的編程思維》這本書中,闡述了計算機的 歷史 和二進制工作原理,以及如何創建編程思維。計算機的編程需要邏輯、推理和數學。編程思維可以提升思維能力,創造性地解決問題。

學習編程思維並不是要掌握編碼技巧,而是學習壹種解決問題的思維方法。本書有四章內容:學會編程思維;解決問題;學習編程語言;繼續努力。

本書的作者吉姆·克裏斯蒂安,是英國著名的 科技 教育專家,編程怪才,曾獲得Dr.Dobb’s程序設計卓越獎。

我們來看計算機是怎樣讀懂人類語言的,我們如何用編程思維解決問題。

計算機的特征。

計算機是指能夠接收、轉換、存儲信息,再用設定的形式將信息輸出的電子設備。

計算機的形式多種多樣:手機、平板電腦、臺式計算機、筆記本。雖然它們形狀各異,但內部的結構都大同小異,都有:主板、網絡、輸入和輸出設備、外存儲器、隨機存儲器、微處理器。

微處理器就是人們常說的中央處理器或CPU,是計算機的大腦, 負責處理“思維”工作。

在微處理器的內部,有成千上萬個開關等待電信號的到來,電信號通過通道和閘門的開關,以二進制數字的形式生成。 微處理器的核越多,每秒能夠運行的指令也就越多。

編程就是將人的想法、思維,翻譯成計算機能讀懂的二進制數字語言,轉換成計算機要執行的動作。

計算機的語言--二進制。

計算機中所有的輸入和輸出,都是由無數個0和1組成的二進制數字經過編碼、解碼,轉換成計算機能識別的代碼實現的。

二進制是1679年,由德國天才大師萊布尼茨研發出來的。 二進制是壹種計數方式,只用到兩個數字0和1,因為計算機只能識別0和1組成的代碼。

0和1這兩個數字掌管計算機內部晶體管的開關,1表示開,0表示關。 人們操作計數機,就是通過控制計算機內部晶體管的開關,引導電流進入正確的方向,實現程序運行的。

我們工作、生活中常用的算數是十進制,就是逢10進1。 計算機的二進制規則是逢2進1 1和0就是計算機能懂的語言, 表示開和關,是和否,真和假。

在二進制中,數字1,用1表示;數字2用10;數字3用11;數字4用100;數字8用1000。

如果用十進制,兩只手只能數到10,但如果用二進制,壹只手就能數到31。

如果用兩只手,就能數到1023,因為在二進制中,後壹根手指的數值是前壹根手指的兩倍。第1只手的小拇指表示16,另壹只手的大拇指就表示32,食指就代表64,中指代表128,無名指代表256;小指代表512。

這個 遊戲 很好玩,能夠鍛煉創新思維 和邏輯思維 。

二進制數值還可以用來表示英文的26個字母,A用數字1;B用10;C用11;……

如果這組信息:1000 101 1100 1100 1111 拼寫出來就是“妳好”,這樣就將人類語言 轉化成 計算機能懂的語言。

計算機語言講究語法和語境,壹個逗號,壹個字母就能改變整個句子的意思,可以說,差之毫厘,失之千裏。

計算機的編程語言經歷了機器語言、匯編語言、高級語言三個階段,世界上的編程語言有100多種,但是常用的只有10-15種,這裏介紹幾種編程語言。

算法

算法就是為了完成某項任務,按照設定的順序執行的壹系列明確的指令。 算法中指令越具體、越明確,指令運行時出錯的概率就越小。

比如我們讓壹個叫小智的機器人來整理床鋪。

因為小智不明白“整理床鋪”的做法,我們整理的要求是:把羽絨被、毯子、枕頭收拾好,所以我們下達的指令要具體、清晰。

1. 將羽絨被平整地鋪在床上。

2. 將毯子平整地鋪在羽絨被上。

3. 將枕頭放在毯子的上面。

算法就像做菜使用的菜譜,是計算機要執行的命令,我們來看壹下,給機器人小智發出指令,做壹個加奶酪的三明治。

妳看,在上面的步驟中,描述很具體,講到了如何握刀,刀口的方向,其實,還可以具體到小刀的角度和抹黃油的速度。

在7-10步中,指令包括了塗抹黃油的時間,因為小智不知道塗抹黃油多少才算夠了,所以,程序員做出估算,大概需要三秒時間。

循環

編程語言的設計要做到便捷、高效,在算法編寫時,要做很多具體的指令,不僅繁瑣,而且還有重復。為了避免重復的指令,在編程中,可以用循環來處理壹些基礎的指令,讓程序變得簡單壹些。

比如,我們讓機器人小智走過來10步,我們要說10次“向我走1步”,這樣下達的指令不僅繁瑣,還容易在次數上出錯,解決方法就是用循環:“向我走10步。”

循環就是執行重復的指令,直到過程結束的壹種結構。 循環分為兩種:計數循環和條件循環。

計數循環是通過次數控制的循環,叫for循環 。for循環會壹直重復指令,不管結果如何。

條件循環式通過條件來控制循環次數,就是While循環。

在算法中運用循環,修改壹個語句就能完成雙倍的編程工作,達到事半功倍的效果。

比如,我們在三明治的程序指令中,可以運用循環來提高效率。在第10步之後,多加壹條指令:重復以上1-10步。這樣,機器人就會重復工作,但是這樣會出現無限循環,機器人會按照指令工作,壹直在面包片上塗抹黃油,直到面包片用完,最後程序崩潰。

為了避免這壹缺陷,我們要對程序進行修補,將步驟11修改為:重復以上1-10步,直到給兩片面包片塗完黃油為止。這樣增加了壹個特定的條件,就使機器人的操作更加完美。

變量

編程中經常會遇到變量,變量就像壹個貼著標簽的盒子,裏面裝有變量名和變量值。

電子 遊戲 中經常遇到變量,比如, 遊戲 角色還剩多少條命,命的次數是變量。

我們人體也有變量,比如:頭發的長短,身高、體重的變化,年齡的增長。

下面我們來做壹個猜年齡 遊戲 。

在這個 遊戲 中,程序中的年齡適用於任何年齡的人,人的年齡就是變量名,年齡的數值是變量值,可以編寫出:((年齡×2+1)×5+5)×10-100==年齡

經過推算,左邊的公式最後的結果是100倍年齡,劃掉最後兩個00,自然就是年齡了,這個 遊戲 玩的就是數學魔術。

條件語句

條件語句是計算機根據給定的信息做出選擇的語句。

生活中,我們每天都要根據條件做出選擇。比如:如果人行道信號燈是紅色,那麽我們就要等待綠燈亮,否則就可能被車撞倒。

下面我們來做壹道和條件語句相關的題:假如妳去找朋友約翰還錢,結果發現,約翰、詹姆斯、威廉是壹模壹樣的三胞胎,有人告訴妳,約翰、詹姆斯總是說謊話,只有威廉說真話,妳只能問壹句話,確認此人是不是約翰,妳會怎麽問?

正確答案是:“妳是詹姆斯嗎?”因為威廉說真話:“不是。”詹姆斯說謊話:“不是。”只有約翰說謊話,是唯壹壹個回答“是”的人。

調試

調試這壹術語起源於20世紀40年代,是美國海軍少將格雷斯·赫柏提出的。她在哈佛大學為計算機編寫程序時發現了壹只真正的蟲子(bug)鉆進了計算機,使計算機無法正常運行,調試(debugging除去蟲子)由此而來。

調試就是仔細檢查編寫過程、算法、流程圖,排除並修復使程序無法正常運行的問題或錯誤。

在編寫程序的過程中,計算機只是執行接受的指令,不會像人類壹樣思考,所以,在程序編寫完成後,要花很多時間在代碼的調試上。

調試常用的方法是:尋找bug(程序錯誤);給代碼加註釋;小黃鴨調試法。

小黃鴨調試法看似很笨,卻很有效,就是在電腦旁放壹個小黃鴨,然後對壹無所知的小黃鴨解釋程序中的所有細節。

這個方法的奧妙是,程序員給不懂編程的人解釋代碼如何運行時,必須非常詳細的講解代碼運行的細節,程序員就會發現到程序中的錯誤,自己解決問題。

編程思維包括理性推理、邏輯思維和數學運算,學習編程思維能夠創造性地解決問題、表達思想。

編程思維有四個部分:問題分解;模式識別;抽象思維;算法設計。

問題分解

模式識別

比如,我們要在壹些網站上登錄,會被要求輸入驗證碼,這就是模式識別,目的是為了防止其他人偽裝成用戶開啟別的功能。

抽象思維

使用抽象思維時,要拋開那些與問題無關的信息。

比如,妳星期天下午兩點要去打球,家離球場有5.2公裏,妳上午要給花澆水,拖地板,中午要去媽媽家吃飯,估計壹點鐘能吃完,媽媽家距離球場有3.5公裏,那麽在壹點到兩點的時間內,要走多遠的路?

在所有的信息中澆花、拖地都與去球場無關,因為媽媽家離球場的距離更近,唯壹的相關信息只有壹個:媽媽家離球場有3.5公裏。

算法設計

妳壹定聽說過數學天才高斯的故事。1785年,高斯的老師給學生出了壹道題,把1-100的數字全部加起來,老師本來想多占用壹些課堂時間,沒想到令老師吃驚的是,只有8歲的高斯很快給出了答案:5050。

在那個年代並沒有計算機,高斯也不是從頭到尾將數字壹個個相加。

我們來看高斯是怎樣用編程思維來解決問題。

首先是問題分解,他將壹個大問題分解成小問題,找出每組數字的規律性,就是每對首尾數字相加,得數相同。

其次是形成自己的模式識別,可打亂順序,只要把所有數字相加就可以,1+100=101,2+99=101……,有50組首尾相加等於101的數字。

再次是采用抽象思維,略去了不必要的算數步驟,沒必要將首尾數字依次相加到最後壹組,

最後是算法設計,是用乘法進行運算:50×101=5050。

無論計算機的功能多麽強大,也是人類賦予的,真正強大的還是人的大腦。

隨著互聯網的發展,人們的生活已經離不開計算機,比如:用手機打電話、聽歌、拍照;用電腦發郵件、瀏覽 財經 信息;在超市買東西結賬,只需掃碼商品,計算機會自動結算金額,核對賬單。

《寫給所有人的編程思維》這本書告訴我們,編程是人與計算機之間的橋梁,人類通過編程創造了更加美好的世界。我們可以不學編程,但要學習編程思維。

編程思維是我們解決問題的元技能,與我們的生活息息相關,工作、學習,甚至家務勞動,都離不開編程思維的邏輯能力和創造力,學習編程思維就是學會思考。

  • 上一篇:python的用途和優點
  • 下一篇:漏洞檢測的幾種方法
  • copyright 2024編程學習大全網