淺談編程之入門思想

在互聯(lián)網(wǎng)以及大數(shù)據(jù)時代的背景下,編程已經(jīng)越來越“深入人心”,那么編程究竟是什么呢?下面,我們就來談一談編程的入門思想。(以下文本精髓來源于劉老師- -)

在我們學習英語單詞時,老師常常會讓我們將其進行分解,找出詞根或者詞綴。那么,基于此,對于編程(program)一詞,我們可做如下分解:

pro-即process,其描述的是代碼所指定的一個過程;gram-即圖表,是將前述過程利用類似圖表的方法詳細地展示出來。概括而言,編程(program)就是代碼運行過程的圖像顯現(xiàn)。

前文提到了代碼,那么代碼又是什么呢?所謂代碼,也就是相對應的操作,而其又會分為若干步驟進行。代碼可以說是編程當中最基礎同時又最為核心的元素,因此在書寫代碼前就要梳理好思路,先打好架構(gòu),再構(gòu)造設計圖。下文,我們以1+2+3+...+100為例進行說明。

趙本山和宋丹丹在《鐘點工》的小品里有一段經(jīng)典的臺詞:把大象放進冰箱總共分步?答:“三步。第一步把冰箱門打開,第二步把大象放進去,’第三步把冰箱門帶上”。雖然這只是小品情節(jié)中的一個笑話,但卻恰好反映了代碼在程序中按步驟運行的本質(zhì)。類似于產(chǎn)品鏈條中的生產(chǎn)線,程序會在給定的輸入下,按一定操作流程,得出結(jié)果輸出。假設共有n條生產(chǎn)線,其中,第一條生產(chǎn)線就是輸入,第n條進行輸出。在1+2+3+...+100的例子中,可以畫出如下的流程圖:


從流程圖中,可以看出,第一步:輸入初始化的數(shù)據(jù)sum=0,i=1,并放到累加的結(jié)果里sum=sum+i,第二步:將第一步的累加輸出結(jié)果作為輸入,放到第二步的累加結(jié)果中,輸出到第三步,依次類推。從上述流程圖中可以看出這是一個循環(huán)結(jié)構(gòu),在進行每一步之前都會先進行一次判斷(i<101?)。因此,每一步其實都可以看做有兩個分支,其中一條分支是滿足條件時執(zhí)行累加,另一條分支為不滿足條件,跳出循環(huán)。該循環(huán)可用for in range(1,100)表示,這就相當于對i進行了封裝,即將判斷和遞增封裝在了in range里面。另外,在該流程圖中還包括了編程的一種基礎思想:左閉右開。即一般表示為x<=y<z。

當拿到一個編程項目時,我們首先做的其實并不是直接編寫代碼,而是寫偽代碼。偽代碼描述的是程序設計的流程。仍以上述1+2+3+...+100為例。在編程前,應當編寫如下偽代碼:step1:sum=0;input=a1;sum=sum+input

step2:input=a2;sum=sum+input

stepn:input=an;sum=sum+input

在其他復雜的編程中,每一步還有可能有若干子過程,子過程下還有不同的操作。寫好了偽代碼,也就把編程的架構(gòu)設計完成了。

在編程,還有另外一個思想-可視化。用一個等式表示:可視化=視覺+符號,前述所講偽代碼和流程圖都是可視化思維的產(chǎn)物。

最后引用劉老師總結(jié)的一張圖結(jié)束本文:


附:1*2*3...*100偽代碼及流程圖

偽代碼:

step1:sum=1;input=a1;sum=sum*input

step2:input=a2;sum=sum*input

stepn:input=an;sum=sum*input

流程圖:


最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,063評論 25 709
  • 第一部分 打好基礎 Laying the Foundation 第一章 歡迎進入軟件構(gòu)建的世界 Welcome t...
    白樺葉閱讀 4,802評論 0 17
  • 夜深人靜,忽憶起,數(shù)載春秋夢!醒時太累,睡時太靜,乍起汗立,原已近而立之年!猛回頭,時光飛逝,一切總總,仿佛昨日。...
    空山幽竹閱讀 258評論 0 1
  • 有時候,你所心念念的思念是興奮劑; 有時候,你所有的思念是苦澀的酒; 有時候,相思是優(yōu)雅的回憶; 有時候,想你是幸...
    漫漫無憂閱讀 162評論 4 4

友情鏈接更多精彩內(nèi)容