第1講如何寫(xiě)出好程序_第1頁(yè)
第1講如何寫(xiě)出好程序_第2頁(yè)
第1講如何寫(xiě)出好程序_第3頁(yè)
第1講如何寫(xiě)出好程序_第4頁(yè)
第1講如何寫(xiě)出好程序_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

全國(guó)軟件設(shè)計(jì)大賽培訓(xùn)

第一講:怎樣寫(xiě)出好程序內(nèi)容提要什么是好程序?qū)懗绦虻牟襟E如何寫(xiě)出好程序什么是好程序程序正確程序容錯(cuò)性好程序代碼規(guī)范結(jié)構(gòu)清晰,簡(jiǎn)單易懂程序高效內(nèi)容提要什么是好程序?qū)懗绦虻牟襟E如何寫(xiě)出好程序?qū)懗绦虻牟襟E讀懂問(wèn)題形成數(shù)學(xué)模型描述和分析問(wèn)題用合適的數(shù)據(jù)結(jié)構(gòu)表示問(wèn)題設(shè)計(jì)合適的算法求解問(wèn)題用程序語(yǔ)言描述出求解算法調(diào)試,測(cè)試程序讀懂問(wèn)題話說(shuō)徐老漢趕羊都趕到集市去賣(mài)。到交易地點(diǎn)要經(jīng)過(guò)N個(gè)收費(fèi)站,按說(shuō)這收費(fèi)站和徐老漢沒(méi)什么關(guān)系,但是事實(shí)卻令徐老漢欲哭無(wú)淚: (鏡頭回放)近景:老漢,一群羊

遠(yuǎn)景:公路,收費(fèi)站......收費(fèi)員(彬彬有禮+職業(yè)微笑):“老同志,請(qǐng)交過(guò)路費(fèi)!”徐老漢(愕然,反應(yīng)遲鈍狀):“鍋,鍋,鍋,鍋-爐-費(fèi)?我家不燒鍋爐呀?”

收費(fèi)員(職業(yè)微笑依然):“老同志,我說(shuō)的是過(guò)-路-費(fèi),就是你的羊要過(guò)這個(gè)路口必須交費(fèi),understand?”徐老漢(近鏡頭10秒,嘴巴張開(kāi)):“我-我-知道汽車(chē)過(guò)路要收費(fèi),這羊也要收費(fèi)呀?”

收費(fèi)員(居高臨下+不解狀):“老同志,你怎么不明白呢,我問(wèn)你,汽車(chē)幾個(gè)輪子?”徐老漢(稍放松):“這個(gè)我知道,今天在家里我孫子還問(wèn)我這個(gè)問(wèn)題,4個(gè)!”

收費(fèi)員(生氣,站起):“嘿!老頭,你還罵人不帶臟字,既然知道汽車(chē)四個(gè)輪子,難道就不知道這羊有幾條腿嗎?!”

徐老漢(尷尬,依然不解狀):“也,也,也是4個(gè)呀,這有關(guān)系嗎?”

收費(fèi)員(生氣,站起):“怎么沒(méi)關(guān)系!我們頭說(shuō)了,只要是4條腿的都要收費(fèi)!”......(畫(huà)外音)由于徐老漢沒(méi)錢(qián),收費(fèi)員就將他的羊拿走一半,看到老漢淚水漣漣,猶豫了一下,又還給老漢一只。巧合的是,后面每過(guò)一個(gè)收費(fèi)站,都是拿走當(dāng)時(shí)羊的一半,然后退還一只,等到老漢到達(dá)市場(chǎng),就只剩下3只羊了。你,當(dāng)代有良知的青年,能幫忙算一下老漢最初有多少只羊嗎?形成數(shù)學(xué)模型描述和分析問(wèn)題設(shè)f(n)表示經(jīng)過(guò)第n個(gè)收費(fèi)站后剩下的羊,則f(0)則表示經(jīng)過(guò)第1個(gè)站前,也就是原來(lái)?yè)碛醒虻臄?shù)目。f(n)=3;f(k)=[f(k+1)-1]×2;(0=<k<n)用合適的數(shù)據(jù)結(jié)構(gòu)表示問(wèn)題明顯數(shù)列f(n)可以用整型數(shù)組表示。設(shè)計(jì)合適的算法求解問(wèn)題算法一:根據(jù)數(shù)學(xué)模型的描述,可以遞推法求解。算法復(fù)雜的為O(n)算法二:遞推歸納法由f(n)=3;f(n-1)=4;f(n-2)=6;f(n-3)=10相鄰f(k)之差為2的冪,猜想f(n)應(yīng)包括2的冪,由前幾項(xiàng)可猜想:f(k)=2(n-k)+2證明:數(shù)學(xué)歸納法可證之由此此問(wèn)題的解為:f(0)=2n+2算法復(fù)雜度O(1)程序語(yǔ)言描述出求解算法(算法一)intnum[n+1];num[n]=3for(inti=n;i>=0;i--) num[i]=(num[i+1]-1)*2;可否減小時(shí)間復(fù)雜度或空間復(fù)雜度的寫(xiě)法?程序語(yǔ)言描述出求解算法(算法二)intnum=pow(2,n);內(nèi)容提要什么是好程序?qū)懗绦虻牟襟E如何寫(xiě)出好程序如何寫(xiě)出好程序練好基本功必要的數(shù)學(xué)知識(shí)常用數(shù)據(jù)結(jié)構(gòu)常用算法程序語(yǔ)法程序設(shè)計(jì)=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境(譚浩強(qiáng)老先生的觀點(diǎn))如何寫(xiě)出好程序多閱讀優(yōu)秀的代碼Jdk工具包自帶的demoJdk工具包的源代碼開(kāi)源軟件

。。。如何寫(xiě)出好程序多寫(xiě)程序培訓(xùn)縝密的邏輯思維提高編寫(xiě)程序的技巧培養(yǎng)程序調(diào)試排錯(cuò)能力。。。如何寫(xiě)出好程序程序的規(guī)范性很重要C語(yǔ)言編程規(guī)范(見(jiàn)附件)Java語(yǔ)言編程規(guī)范(見(jiàn)附件)華為內(nèi)部編程規(guī)范(見(jiàn)附件)如何寫(xiě)出好程序?qū)懞谩罢Z(yǔ)句”簡(jiǎn)單語(yǔ)句寫(xiě)好賦值語(yǔ)句使用中間變量使用括號(hào)分支語(yǔ)句循環(huán)語(yǔ)句變量局部化如何寫(xiě)出好程序?qū)懞谩昂瘮?shù)”應(yīng)該有較高的內(nèi)聚性語(yǔ)句不要太多(一般不超過(guò)100行代碼)將一段語(yǔ)句提出來(lái),形成新的函數(shù)層次不要太多將內(nèi)部語(yǔ)句提出來(lái),形成新的函數(shù)改變算法如果太復(fù)雜了,說(shuō)明思路還不夠清晰如何寫(xiě)出好程序?qū)懞谩邦?lèi)”對(duì)象的功能是獨(dú)立的高內(nèi)聚不要太多的成員處理好對(duì)象之間的關(guān)系保存:構(gòu)造時(shí)傳入關(guān)聯(lián):使用方法通信:使用事件理解好繼承父類(lèi)與實(shí)現(xiàn)父接口的區(qū)別Isatypeofhasthefunctionof習(xí)題1:請(qǐng)編寫(xiě)一個(gè)猜數(shù)的游戲。計(jì)算機(jī)隨機(jī)地產(chǎn)生一個(gè)數(shù)A,1≤A≤100,請(qǐng)猜A是多少,屏幕提示為:(考察基本語(yǔ)法) Ihaveanumberbetween1and100. Canyouguessmynumbers? Pleasetypeyourguess!

接下來(lái)通入鍵盤(pán)敲入猜的數(shù)B1,計(jì)算機(jī)將A與B1對(duì)照之后給出是相等(猜對(duì)了)、不相等(沒(méi)猜對(duì))、大了小樂(lè)的信息。這些信息為: Good!Youguessedthenumber.Toolow. Tryagainplease!Toohigh. Tryagainplease!

根據(jù)這個(gè)信息,你不斷地通過(guò)鍵盤(pán)敲入第2次猜的數(shù)B2,第3次猜的數(shù)B3,……,直至猜中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論