青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功

      "呵呵,算你小子有良心。"老C心滿意足的摸著肚子。
      "嗯,嗯。"小P有一搭沒一搭的回答著,一邊數著自己的錢包。
      "哈哈,別難過了,下回我請你,還去這家。那個醬骨頭味道還真是不錯啊。"老C承諾道。
      "哦~哦~,我看你是沒有吃到刀削面懷恨在心吧,k,好像你餓了一個星期一樣,沒見過這樣吃肉的。"小P很是傷心。
      "哈哈,說好了下回我請你的……"
      "我沒有你吃得多……"小P有些郁悶。
      "嗯,我們先把飯量問題放一邊,我來幫你裝eclipse和CDT吧。"老C開始轉移話題。
      "對了對了,正事都快忘了。"
      感謝教育網的網速和老C的幫助,小P很快裝好了eclipse,在老C的指導下寫了一個Hello world,算是正式上路了。
      "我們以后都要這樣開始,"老C不知道從哪里摸出一副眼鏡架在鼻子上,"一個問題,一段代碼。問題就像正式項目中的需求,而代碼就像我們正式的產品。在從需求到產品的過程中,我們會明白C++的哪些技術是因為哪種需求而產生的,這樣以后你遇到類似的問題時,就會使用正確的方法或者技術去解決問題了。"老C扶了扶眼鏡,"不過在此之前……我要去喝點茶……,好了好了,開玩笑的。不過我真的要問一個很嚴肅的問題,你考試成績那么好,是不是分析問題,解決問題的能力就真的那么好呢?"
      "那是自然,我的排名可是不低的呢。"
      "好吧,我想問問你什么是分析問題,解決問題的能力?"
      "多做題,能力自然就上來啦。當我在考試時遇到一個問題,我會想做過的類似的習題或者例題,然后采用同樣的方法再做一遍啊。"
      "那么要是從來沒有做過的類型呢?"
      "不可能,我復習的時候是很認真的。"
      "……那么你遇到陌生的問題怎么辦?"
      "分析嘍……"
      "算了,看來你真是實實在在的經驗主義啊。"
      "那你說什么是分析問題,解決問題的能力?"
      "就我的感覺,分析問題其實是對問題歸類。因為在現實生活中,我們其實不用發明什么解決問題的方法,因為那么多科學家、牛人和前輩已經把解決問題的方法放到那里了,我們只是要找到這個方法而已……"老C開始口噴漠漠,“比如你解微分方程,就要看是常系數還是變系數,是齊次還是非齊次,等等,如果你將方程歸入某一類,那么解法也就順其自然了,關鍵是你要歸類正確,然后你就站在巨人肩膀上了。"
      "哦?聽你一說,我感覺我做題的時候的確是要仔細閱讀題目,看看它是想考察哪一類問題或方面的……那么所謂解決問題的能力你認為是什么呢?"
      "我覺得所謂解決問題的能力是對細節的理解和掌握程度,細節理解得越透徹,解決問題的能力越強。同時如果你細節理解得越明白,越容易掌握此類問題的根本。"
      "哦?說來聽聽。"
      "比如讓你來求解一個函數的最值問題,你會怎么做?"
      "這 個難不倒我,”小P很是自信,“我數學可不賴的。我需要先對函數求一階導數,找到它的拐點,然后求二階倒數,看它在拐點上是上凹還是下凹,來判斷這些 拐點處的數值是極大值還是極小值;如果函數在所求范圍內沒有極點,那么我會判斷它是單調增還是單調減函數,然后看函數在所求范圍的邊界是否連續,邊界范圍 是否可達;最后不要忘了函數的非連續點,因為非連續點上函數不可導,所以要單獨看看。"小P想了想,"哦,如果函數處處不可導而處處連續的話,或者根本就處處不連續,那么就要靠人品構造一些函數,運用夾逼法則,但是一般不會這么bt的。當求出以上所有點后,比較一下,最大的就是最大值,最小的就是最小值。"
      "……佩服佩服,"老C鼓掌,“怪不得你的成績好,看來你是很下功夫的。不錯,這些就是對細節的了解,說明起碼你 在這個方面解決問題的能力很強!看,你了解求導的前提是要連續,而且了解導數為零的地方是函數的拐點,并且也了解到有可能函數在拐點處不可導,同時你還根 據環境對函數進行了正確的分類:處處可導,處處連續但非處處可導,處處連續處處不可導和非處處連續以及處處不連續,然后根據這些分類、足夠充分的細節,良 好的解決了這個問題。"
      "呵呵,是啊,但是這個和C++有什么關系?"
      "有關系,”老C肯定的說,“ 與做高數題目是一樣的道理,我們在做C++編碼時,首先要注意問題發生的環境——也就是上下文,我們需要根據問題所處的環境與需求對問題分類,這需要我們 收集足夠多的信息;然后根據這類問題一般的解決通法列出解決此類問題的方案,再根據具體需求和上下文在方案中挑選,或者對此方案進行修改以滿足具體需求, 在這里我們需要關注足夠的細節,才可以采納較優的方案;最后根據需求進行評審,尋找是否還有更好的方案。這只是開發的一般步驟,在具體開發中這些活動是迭 代進行的,從需求分析到代碼實現,這些活動重復的出現在軟件開發的各個階段——但是我們得首先解決的問題是,你先要知道可能的分類有哪些,然后再根據所處 的環境和需求,去逆向思維,尋找解決之道。綜合起來講,解決問題的方法就是一般逆向思維的方法,而逆向思維總是靠猜測和試驗的,至于猜得好不好或者試驗的 對不對,就要靠經驗了,如果你的經驗夠豐富,能夠根據逆向思維的結果總結出來一套方法,順著這個方法你總可以找到正確的問題分類——那么恭喜你,你離大師 也不遠了。你看看,是否和解決生活中其他技術問題的方法是一樣的呢?”
     “好像是的,感覺如果不是創造性的活動的話,還真是這樣的,不過就算是創造性活動或者科研活動,也需要對問題進行分類,然后研究看看前人都做了哪些成就可以借鑒的。”小P點點頭。
     “好了,形而上的東西我們就聊這么多,現在看看形而下的東西。”老C從旁邊拉過白板,在上面畫了一個圓,在順時針方向標上了箭頭,并在旁邊寫下“誰是最后一個幸運兒?”“這是一個很常見的問題,可能出現在各大招聘筆試題目中。”
     “哦?”
     “話說有一幫倒霉孩子——嗯,有20個吧——排排坐,吃果果,但是由于資源匱乏,金融危機等原因,很不幸——只有一個果果。那么這個果果分給誰呢?老師決 定,把他們排成一個圓圈,按順時針方向標號,12點鐘的小朋友是1號,以此類推。然后從1號小朋友開始,依次報數,數到……嗯……7的小朋友就被踢出隊 伍,下一個小朋友接著從1開始數,直到隊伍中有且僅有一個小朋友。請問,如果你在這個隊伍中,你會挑選幾號坐位,從而吃到果果呢?”老C停了一下,“你現 在也裝好了eclipse,正好可以練練,一開始先用C寫吧,然后我們再談論C++的解決之道。我剛才吃得有點多,得去喝點茶……”于是留下小P一個人, 拿著茶杯出門接開水去了。
     “嗯,這個問題不是很難,”小C自言自語,“我只要有一個循環隊列就可以解決了……”他先是在一張紙上畫了一個圓圈,并安排了5個小朋友玩這個游戲,試了兩下,覺得自己理解的差不多了,就開始在鍵盤上扣扣扣扣的敲代碼……
     老C回來后看到小P正在忙,也沒有打擾他。他一邊吹氣一邊慢慢喝完杯子里的水,順便在起點上看了幾篇yy的穿越水文,估摸著小P差不多了,轉過椅子問:“怎么樣?差不多了吧?”
     “等等,還有一個問題……好了好了,最后一個留下的是2號小朋友。”
     “你確認?”
     “等等我還得再看看……”小P又是一番手忙腳亂,“好吧,我基本確定是2號小朋友……”
     “?”老C很是好奇,“為什么是基本上?”
     “因為……這個……我還需要一段調試時間才可以確定……”
     “算了,我們來直接看看代碼好了。”
     “好啊,寫得不好請多批評。”小P假裝謙虛道,心想自己的代碼應當還是不錯的。
     “是這個a.c文件嗎?”
     “是的是的,呵呵。”
     老C于是做到小P旁邊review他的代碼。

#include <stdio.h>
 
void main()
{
int a[20];
 int  b;
 int m;
 int k;
  int   N=20;
    for(m=0;m<20;++m){
     a[m]=1;}

    m= 0;
    b =1;
    while(N>1)
    {  if(a[m]!=0)
        {
            if (b==7){
             a[m] = 0;
              --N;
               if (N==1)
                {break;
                }
                b=1;
            }
          else{
           ++b;
            }
        }
        ++m;
        m%=20;
    }

    for(k=0;k<20;++k){
     if (a[k]==1)
     {break;}
       }
    ++k;
    printf("%d\n", k);
}
    
     “我看不懂……”老C才看了30秒就決定放棄了。
     “不會吧,我覺得我寫得邏輯性還挺清楚的啊。”小P有些得意老C看不懂他寫的代碼,覺得
可能自己寫的邏輯過于高深了。
     “……”老C沉默了半分鐘,“這個不是C代碼!”他肯定的說道,“所以我看不懂,也不想看懂。”
     “?”小P有些奇怪,“這明明就是C語言寫的代碼啊,你看,我來給你解釋解釋……”
     “哦,算了,這些根本不是C代碼,我沒有必要看懂。”
     “那你說這些是什么?”小P有些不高興了。
     “這些是……”老C找著合適的形容詞匯,“這些是貓爬過屏幕的腳印,我沒有必要看懂腳印所代表的含義……”看到小P有些驚愕,然后開始有些生氣,逐漸開始 惱羞成怒了,老C趕快對他說:“呵呵,別生氣了,我開玩笑的,不過,”老C的語氣嚴肅起來,“這些的確是很糟糕的代碼,哪怕它的算法多么高效,執行效率多 么高,它都是糟糕的代碼!”
     “為什么?”從來沒有人說過小P的代碼糟糕,聽了老C的評論他覺得一時無法接受。
     “我們先不評論代碼正確與否,單單是它的格式和縮進……”老P用鼠標在代碼上劃來劃去,“就無法讓人提起評審它的欲望。”老C真誠的看著小P,“你一定沒有參加過比較大型的,3、5個人合作開發的項目吧?”
     “是啊,學校里面哪里來的機會?”
     “唉,所以說教育失敗啊。”老C有些感慨,“即使沒有參加過項目,基本的規范性的東西學校還是要教的啊,算了,這個不是你的錯,是老師的錯,是學校的錯。”
     “嗯……”聽到老C說不是自己的錯誤,小P開始平靜下來。
     “言之無文,行而不遠,是什么意思?”老C問道。
     “就是說如果一篇文章不夠優美,那么它就流傳不廣。”小P還是比較油菜的。
     “是啊,代碼也是一樣的啊。如果它的格式有問題,大家不喜歡看,也就沒有人維護,這樣的代碼很快會被替換掉,哪怕它背后閃爍著照耀銀河系的智慧的光芒!”
     “是嗎?”小P有些不相信。
     “好吧,我們試試,”老C決定不要再
打擊可憐的孩子了,“我們把這個代碼放一段時間——就一個星期吧——反正我們這周有兩個講座要聽,等到周末的時候你再講講你的代碼,如何?”
     “沒有問題,就10幾行代碼么,我就不相信我記不住!”小P有些和老C對上了。

(to be continued...)













































posted on 2009-01-20 00:05 Anderson 閱讀(2115) 評論(5)  編輯 收藏 引用

評論

# re: 第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功 2009-01-20 09:37 Smile

eclipse的ctrl+shift+F,代碼格式化一下就好看多了  回復  更多評論   

# re: 第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功 2009-01-20 12:15 zwp

c風格也需要一些具有明確責任的抽象過程。而這里顯然是一鍋粥,幾乎木有任何可重用性和可讀性。
而c++則是一些具有能夠保存狀態進而擁有更高層抽象的實體??梢哉fc++會在最終機器碼和需求之間比c更多一個抽象層。  回復  更多評論   

# re: 第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功[未登錄] 2009-01-20 12:40 Anderson

@zwp
沒錯,您是內行!的確就算用C也可以寫出具有明確責任和抽象的代碼……這與我們使用的語言沒有關系,而和我們的思考問題的方式有關,就算用匯編也可以寫出很清晰的代碼……語言提供的幫助不過是簡化了這一過程而已。
老C會在以下幾方面對代碼進行評審:
1. 格式。
2. 規范性,包括命名,大小寫等等。
3. 抽象與復用。  回復  更多評論   

# re: 第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功 2009-02-19 12:37 func

"“我看不懂……”老P才看了30秒就決定放棄了。"

錯了,應該是“老C”  回復  更多評論   

# re: 第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功 2009-02-19 21:26 Anderson

@func
謝謝,已經修正  回復  更多評論   

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

常用鏈接

留言簿(6)

隨筆檔案(21)

文章檔案(1)

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            1024成人网色www| 欧美美女喷水视频| 欧美国产先锋| 欧美xart系列高清| 欧美高清一区二区| 亚洲黑丝在线| 日韩亚洲欧美综合| 羞羞视频在线观看欧美| 免费成人你懂的| 欧美国产激情| 欧美系列精品| 国产一区二区三区的电影 | 亚欧成人精品| 久久国产黑丝| 亚洲国产视频一区| 亚洲永久免费观看| 老司机午夜精品视频在线观看| 欧美福利一区| 国产裸体写真av一区二区| 在线电影国产精品| 在线午夜精品自拍| 久久免费国产精品| 日韩一级精品| 久久一区二区三区四区| 国产精品成人v| 在线精品福利| 欧美一级久久久| 亚洲国产精品电影在线观看| 亚洲欧美国内爽妇网| 你懂的一区二区| 国产视频精品免费播放| 一本久道综合久久精品| 久久综合给合| 亚洲欧美日韩另类| 欧美日韩二区三区| 91久久一区二区| 久久久久久久性| 亚洲天堂免费观看| 欧美精品啪啪| 亚洲欧洲一区二区三区在线观看| 香蕉国产精品偷在线观看不卡 | 美女视频网站黄色亚洲| 亚洲视频第一页| 欧美极品欧美精品欧美视频| 伊人精品成人久久综合软件| 午夜精品久久久久99热蜜桃导演| 欧美激情2020午夜免费观看| 欧美在线视频全部完| 国产美女精品| 午夜精品福利在线| 中文精品视频| 国产精品第2页| 亚洲一二三区视频在线观看| 亚洲精品视频免费在线观看| 欧美成人精品激情在线观看| 亚洲国产精品女人久久久| 久久久免费精品| 性欧美xxxx大乳国产app| 国产欧美一区二区三区久久人妖| 亚洲一区免费| 亚洲一区二三| 国产乱肥老妇国产一区二| 久久免费观看视频| 欧美精品v国产精品v日韩精品| 亚洲第一区中文99精品| 欧美插天视频在线播放| 噜噜噜久久亚洲精品国产品小说| 在线电影国产精品| 亚洲电影第1页| 欧美人在线观看| 亚洲一区二区三区精品在线观看| 一本色道久久综合亚洲精品高清| 欧美日韩在线一二三| 亚洲中午字幕| 欧美在线1区| 亚洲欧洲一区二区三区久久| 亚洲乱码久久| 国产精品香蕉在线观看| 久久久久国产免费免费| 久久这里有精品视频| 日韩午夜av在线| 亚洲一区二区高清视频| 合欧美一区二区三区| 欧美激情在线观看| 国产精品久久波多野结衣| 久久久久九九视频| 欧美国产亚洲另类动漫| 亚洲在线一区| 久久综合色婷婷| 亚洲一区免费观看| 久久米奇亚洲| 亚洲综合国产激情另类一区| 久久久久九九视频| 这里只有精品在线播放| 欧美一区二区三区免费大片| 亚洲人成亚洲人成在线观看| 一区二区三区视频观看| 在线播放中文字幕一区| 99精品久久久| 在线观看日韩www视频免费| 亚洲乱码国产乱码精品精天堂| 国产欧美在线观看| 亚洲美女一区| 狠狠色综合色区| 国产精品99久久久久久人| 在线观看日韩专区| 亚洲自拍偷拍福利| 亚洲精品小视频| 久久精品论坛| 欧美在线免费观看| 欧美日韩亚洲一区三区 | 免费欧美在线视频| 国产精品黄色| 亚洲激情网址| 亚洲第一视频| 欧美专区在线播放| 久久国产精品99精品国产| 欧美三级午夜理伦三级中视频| 欧美国产在线视频| 亚洲高清视频一区二区| 午夜亚洲福利在线老司机| 亚洲制服少妇| 欧美丝袜一区二区| 91久久精品国产91性色tv| 在线成人激情视频| 久久亚洲捆绑美女| 久久精品成人一区二区三区蜜臀 | 一本一本大道香蕉久在线精品| 欧美自拍偷拍| 久久久国产一区二区| 国产精品一区=区| 亚洲天堂av图片| 亚洲欧美在线观看| 国产精品私拍pans大尺度在线| 一本色道久久99精品综合 | 亚洲午夜小视频| 欧美日韩中国免费专区在线看| 91久久精品国产91久久| 亚洲精品国产精品国自产观看浪潮 | 国产午夜精品在线| 亚洲欧美国产日韩中文字幕| 新狼窝色av性久久久久久| 国产精品日韩精品欧美在线 | 欧美激情一区| 亚洲精品免费在线播放| 亚洲另类自拍| 欧美色区777第一页| 亚洲一区二区三区视频播放| 欧美一区二区成人| 国内久久精品| 欧美肥婆bbw| 亚洲视频免费在线观看| 久久精品国产亚洲高清剧情介绍| 精品91在线| 欧美激情亚洲视频| 中文欧美在线视频| 久久视频国产精品免费视频在线| 樱桃成人精品视频在线播放| 欧美大尺度在线| 亚洲天堂第二页| 久久久夜夜夜| 一区二区三区高清不卡| 国产美女一区| 男男成人高潮片免费网站| 日韩一级不卡| 久久人人九九| 一区二区久久| 一区二区在线观看视频| 欧美高清视频| 午夜久久久久久| 亚洲国产91色在线| 欧美伊人久久久久久午夜久久久久 | 亚洲午夜一级| 免费视频一区| 午夜在线视频一区二区区别| 在线欧美福利| 国产精品人人爽人人做我的可爱 | 国内揄拍国内精品少妇国语| 欧美激情一区二区三区| 欧美呦呦网站| 宅男噜噜噜66一区二区66| 欧美freesex交免费视频| 亚洲图中文字幕| 欧美日韩国产经典色站一区二区三区| 欧美在线播放视频| 亚洲日本va午夜在线电影| 国产精品久久久久高潮| 欧美成人四级电影| 久久se精品一区精品二区| 亚洲免费观看| 欧美大秀在线观看| 久久精品国产一区二区电影| 亚洲无限av看| 亚洲日本在线观看| 在线电影国产精品| 国产农村妇女精品一区二区| 欧美日韩一卡| 欧美日韩亚洲视频一区| 欧美激情一区二区三区高清视频| 久久精品综合网|