教培參考
教育培訓行業(yè)知識型媒體
發(fā)布時間: 2024年12月26日 20:39
提到“編程思維”,你會不會立馬聯(lián)想到一個穿著格子衫、耷拉著黑眼圈的程序員熬夜通宵寫代碼的場景?
如果你點了點頭,那么你對“編程思維”的誤會,太深了?!熬幊趟季S”不是編寫程序的技巧,而是一種解決問題的思維方式,是一種“理解問題——找出路徑”的思維過程。
因此,編程思維并非程序員的專屬。小到洗衣做飯,大到公司決策,都存在編程思維的影子。
編程思維包含四個步驟:分解問題—識別模式—抽象—算法。本文將通過生活案例,幫助你理解編程思維的四個步驟并學會使用編程思維解決生活中的問題。
1.學會分解問題
分解問題,是指把一個復雜的大問題,拆解成更可執(zhí)行、更好理解的小步驟。
生活中,拆分的應用隨處可見。
比如當你準備吃一個西瓜時,你并不會直接啃一整個。你會把它切塊,再一口一口吃。這就是把一個問題拆分,然后逐個解決的過程。
再比如,我們想用編程給「超級馬里奧」設計一個新的關(guān)卡。面對游戲那么一個龐然大物,我們要怎么分解呢?
我們可以把「超級馬里奧」的關(guān)卡分解成游戲場景圖、主人公馬里奧、吃了可以長大的蘑菇、以及敵方-栗子小子等。這樣我們就完成了新關(guān)卡制作這個大問題的分解。
2.學會識別模式
模式識別是指找出相似模式,解決細分問題。
天氣預報通過以往的經(jīng)驗和數(shù)據(jù)對未來的天氣進行預測,這就是在識別模式。
再比如,買4瓶單價4元的牛奶花了4x4=16元,我們知道了“單價X數(shù)量=總價”的模式,當再去購買3個單價為7元的巧克力時,我們識別這是跟上次購買牛奶時相似的模式,可以很快算出其總價為7x3=21元。
繼續(xù)以給「超級馬里奧」設計新關(guān)卡為例。在設計時,我們參考前面幾個關(guān)卡的模式對新關(guān)卡的游戲場景圖、主人公馬里奧、吃了可以長大的蘑菇、以及敵方-栗子小子等的設定,這也是識別模式。
識別模式,其實就意味著把新問題變成了老問題,我們在以往經(jīng)驗中搜索類似經(jīng)驗,套用類似的解決辦法。
3.學會運用抽象
抽象,就是聚焦較重要的信息,忽視無用細節(jié)。
比如,我們將1只十分熟悉的貓咪放入5只陌生的貓咪中,一開始僅靠形象記憶,就可輕而易舉找到這只貓咪。
但如果把這只熟悉的貓放入50只、100只、1000只陌生的貓群中,我們僅靠形象記憶找到貓的困難會越來越大,大到不可能。
我們?nèi)绻涀∵@只貓咪身上的一個特點,作為它的標記,問題立馬會變得簡單。
這個標記的過程,就是聚焦較重要的信息,忽視無用細節(jié),也就是“抽象”。
當我們遇到?jīng)]有見過的事物或者問題時,如果能運用抽象的思維去尋找解決問題的關(guān)鍵因素,即事物之間存在的聯(lián)系,那我們解決問題的效率也會有所提高。
4.算法設計
算法設計,就是設計一步一步的解決路徑,從而解決整個問題。
舉個簡單的例子,某大型停車場對于進入該場地的車輛有如下規(guī)定:
1、進入該停車場必須為客運車輛,貨運車輛謝絕入內(nèi)。
2、如果該車的乘員數(shù)量小于等于4,則收費五元。
3、如果該車的乘員數(shù)量大于4人,則收費八元。
我們要根據(jù)停車場的規(guī)定,做的算法如下:
1、先判斷車型是否是客運車輛,如果是,進入下一步,如果不是,不許進入。
2、判斷乘員數(shù),如果乘員數(shù)小于等于4,收費五元,允許進入,如果不是,收費八元,允許進入。
我們根據(jù)前幾步的分析成果,設計步驟,寫出算法,從而解決了問題,這就是算法設計。
當我們在工作和生活中遇到問題時,可以嘗試通過以上四個步驟,將問題清晰具體地描述出來,并將問題的解決方案處理成為一個個處理流程。長此以往,我們的編程思維將會一步一步建立哦!