首頁(yè) | 排行榜 | 創(chuàng)業(yè)指南

手機(jī)版 | 請(qǐng)登錄 | 找項(xiàng)目 | 網(wǎng)址導(dǎo)航

教育加盟網(wǎng)

項(xiàng)目庫(kù) 排行榜 資訊

首頁(yè) > 素質(zhì)教育 > 機(jī)器人教育

溫馨提示:投資有風(fēng)險(xiǎn),中教加盟網(wǎng)提示多做項(xiàng)目考察!

回報(bào)周期:--

所屬行業(yè):素質(zhì)教育 > 機(jī)器人教育

企業(yè)名稱:長(zhǎng)沙好習(xí)慣教育科技有限公司

企業(yè)地址:湖南

成立時(shí)間:2008-05

立即留言 免費(fèi)通話 我要收藏
程序思維是什么?怎樣才能做到?
2020-03-26 14:40好習(xí)慣機(jī)器人教育

程序思維是什么?怎樣才能做到?從本質(zhì)上講,它是一種更有效的解決問題的方法。在這篇文章中,我的目的是用這種方式告訴你什么事變成思維,同時(shí)你就會(huì)知道怎樣才能更好的解決問題。

我們每天都會(huì)遇到很多問題,我們處理問題的方式有時(shí)候都是隨機(jī)的,比如:先試著解決方案,如果不行就再試一次,再?zèng)]有效果就重復(fù)第二步直到運(yùn)氣好的時(shí)候。

這樣解決問題的方法是最糟糕的方法,也非常浪費(fèi)時(shí)間!

“計(jì)算思維或分解大型復(fù)雜問題的能力,與工作所需要的基本技術(shù)能力一樣有價(jià)值”—by Hacker Rank(2018 Developer Skills Report)

那么,當(dāng)遇到問題時(shí),擁有編程思維的人應(yīng)該怎么做呢?

步驟如下:

1、理解

非常確切的知道自己被問的是什么問題。大多數(shù)難題之所以難,是因?yàn)槟悴焕斫馑鼈?,所以這個(gè)是第一步。

如何知道什么時(shí)候你理解了一個(gè)問題呢?——當(dāng)你能用簡(jiǎn)單的、用自己的語言解釋它的時(shí)候。

你可能會(huì)記得,當(dāng)你被困在一個(gè)問題上,一旦開始解釋它,你就立刻看到邏輯上的漏洞,而且漏洞很可能也是你以前沒有看到的。

這就是為什么你應(yīng)該把你的問題寫下來,畫個(gè)圖,或者告訴別人。

2、計(jì)劃

不要在沒有計(jì)劃的情況下,一頭扎進(jìn)解決問題的過程中(并且希望你能混過去),計(jì)劃你的解決方案吧!

如果你不能寫下計(jì)劃確切的步驟,什么也都不幫不了你。

為了得到一個(gè)好計(jì)劃,回答這個(gè)問題:給定輸入X,返回輸入Y所需要的步驟什么?程序員的世界里面,有一個(gè)偉大的工具來幫助他們實(shí)現(xiàn)這個(gè),那就是注釋!

3、拆分

這是最重要的一步,不要試圖一次就解決一個(gè)大問題,相反,當(dāng)你把這個(gè)問題進(jìn)行拆分成一個(gè)一個(gè)子問題,這些子問題就更加容易解決了。然后,逐個(gè)解決每個(gè)子問題,從最簡(jiǎn)單的開始。最簡(jiǎn)單意味著,你知道答案(或者更加接近那個(gè)答案)。另外最簡(jiǎn)單的方法意味著子問題的解決并不依賴于其他問題的解決。一旦你解決了每個(gè)子問題,再把這些點(diǎn)連接起來,連接所有“子解決方案”,將為你提供的原始問題的解決方法!

這種技巧,是解決所有問題的基石,請(qǐng)記住它(建議你重新再讀一遍這個(gè)步驟)。

如果我能交給每一個(gè)初學(xué)者一種解決問題的技能,那就是“減少問題這個(gè)技能”,例如:假設(shè)你是一個(gè)新程序員,你被要求編寫一個(gè)程序,讀取10個(gè)數(shù)字,然后算出哪個(gè)數(shù)字是第三高的,對(duì)于一個(gè)全新的程序員來說,這可能是一項(xiàng)艱巨的任務(wù),盡管它只需要基本的編程語法。如果你陷入困境,你就應(yīng)該把問題簡(jiǎn)化。而不是專注在第三個(gè)高的數(shù)字上。如何在一個(gè)整體中先找到最高的那個(gè)數(shù)呢?還是太難了?那從三個(gè)數(shù)字中找到最大的那個(gè)呢?還是太難?那如果是尋找兩個(gè)較大的那個(gè)呢?

4、卡住了呢?

現(xiàn)在,你可能正坐在那里想,這幾個(gè)步驟看起來還不錯(cuò)嘛,但如果我卡住了,遇到了不能解決的問題該怎么辦?

首先,深呼吸。因?yàn)檫@個(gè)很正常!別擔(dān)心,朋友,每個(gè)人都會(huì)這樣子!不同之處在于,最好的程序員(問題解決者),對(duì)bug(錯(cuò)誤)更加好奇,而不是惱怒!

事實(shí)上,當(dāng)你遭遇不幸時(shí),有三件事情可以嘗試:

調(diào)試:逐步檢查你的解決方案,試圖找出哪里出錯(cuò)了。即調(diào)試程序。

重新評(píng)估:后退一步,從另個(gè)一角度來看這個(gè)問題,有什么可以簡(jiǎn)化成更加簡(jiǎn)單的方法嗎?

(有時(shí)候,我們會(huì)對(duì)問題的細(xì)節(jié)太過沉迷,以至于忽略了在一般層面上解決問題的一般原則?。?/p>

經(jīng)典的例子,求一長(zhǎng)串連續(xù)整數(shù)的總和,1+2+3+4+…+n,利用一個(gè)簡(jiǎn)單的消元方法就可以很快的識(shí)別出這么一個(gè)公式:n(n+1)/2,從而避免了不得不做的加分。

(另一種重新評(píng)估的方式是重新開始。刪除所有的內(nèi)容,用全新的眼光重新開始。你會(huì)驚訝到這是多么有效。)

上網(wǎng)搜:你沒看錯(cuò),不管你有什么問題,可能有人已經(jīng)解決了。找到那個(gè)人解決的方案。事實(shí)上,就算你解決了問題,也應(yīng)該去多搜索其他人做的案例,你可以從別人的解決方案中學(xué)到很多。

(注意:不要尋找解決大問題的方法。只尋找子問題的解決方案,為什么呢?因?yàn)槌悄闩?,(哪怕是一點(diǎn)點(diǎn)),否則你什么都學(xué)不到,如果你什么都沒學(xué)到,那你就是在浪費(fèi)時(shí)間)

5、實(shí)踐

不要期望僅僅一個(gè)星期就能變的很厲害,如果你想成為一個(gè)好的問題的解決者,就應(yīng)該去解決很多問題!練習(xí)、練習(xí)、練習(xí)!遲早你會(huì)認(rèn)識(shí)到這個(gè)問題可以通過很輕松的方式來解決。

那么如何練習(xí)呢?其實(shí)也有很多選擇的!

比如:象棋游戲、數(shù)學(xué)問題、數(shù)獨(dú)、視頻游戲、cryptokittiles,bla bla bla………

所以,你應(yīng)該做的是,找到一個(gè)練習(xí)的方式,可以讓你解決很多小問題的東西。正如我所說,所有的問題都有相似的模式!

6、結(jié)論

現(xiàn)在,你知道“編程思維”有多重要了吧!

最后,祝你遇到很多問題。你沒看錯(cuò),這樣你可以反復(fù)的練習(xí)如何解決問題,同時(shí),你將了解到,每一種解決方案都會(huì)使你得到改進(jìn)!