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