18禁网站免费,成年人黄色视频网站,熟妇高潮一区二区在线播放,国产精品高潮呻吟AV

學(xué)習(xí)啦 > 學(xué)習(xí)方法 > 通用學(xué)習(xí)方法 > 學(xué)習(xí)方法指導(dǎo) > 程序設(shè)計學(xué)習(xí)方法

程序設(shè)計學(xué)習(xí)方法

時間: 方琪1092 分享

程序設(shè)計學(xué)習(xí)方法

  程序設(shè)計就是讓計算機(jī)為解決某個問題而使用某種程序設(shè)計語言編寫程序代碼,并最終得到相應(yīng)結(jié)果的過程。那么,程序設(shè)計學(xué)習(xí)方法有哪些?下面是學(xué)習(xí)啦小編為你搜集到的相關(guān)內(nèi)容,希望可以幫助到你。

  程序設(shè)計學(xué)習(xí)方法

  1學(xué)習(xí)目的

  要學(xué)習(xí)程序設(shè)計,必須明確學(xué)習(xí)的目的,也就是學(xué)習(xí)程序設(shè)計是為了什么。是為了了解計算機(jī),還是為了自己的發(fā)展或者是因為個人愛好。程序的實現(xiàn)不是一時愛好就可以完成的。一般來說在學(xué)習(xí)程序設(shè)計方法和語言時掌握基本理論及語法時比較容易,但是在實際應(yīng)用時卻覺得無從下手。如何編寫符合要求的程序、如何編寫高質(zhì)量的程序更是程序設(shè)計人員所面臨的難題。這就要求學(xué)習(xí)者仔細(xì)體會,在反復(fù)實踐的過程中掌握程序設(shè)計技巧,通過不斷的克服困難來提高自己的程序設(shè)計能力。這是一個長期的過程,所以必須有堅定的恒心才能開始學(xué)習(xí)。

  2基礎(chǔ)知識

  在學(xué)習(xí)程序設(shè)計之前必須有一定的基礎(chǔ)。作為一個優(yōu)秀的程序設(shè)計人員,數(shù)學(xué)是十分重要的。數(shù)學(xué)是自然科學(xué)的基礎(chǔ),計算機(jī)科學(xué)實際上是數(shù)學(xué)的一個分支。數(shù)學(xué)主要能讓人懂得一種分析問題的方法,然后再通過程序設(shè)計去實現(xiàn)它。計算機(jī)內(nèi)部的許多原理也都牽涉到比較復(fù)雜的數(shù)學(xué)知識,它是用來解決現(xiàn)實問題的最高效的工具。很多程序設(shè)計的初學(xué)者對數(shù)學(xué)覺得不屑一顧,覺得對于程序設(shè)計沒有什么關(guān)系,實際上優(yōu)秀程序設(shè)計人員和一般程序設(shè)計人員拉開檔次在很大程度上就取決于數(shù)學(xué)能力的強弱。一些項目有時需要很復(fù)雜的數(shù)學(xué)建模和利用數(shù)學(xué)對于系統(tǒng)效率進(jìn)行分析,而這些項目對于一般的程序員是很困難的。正確應(yīng)用數(shù)學(xué)知識有時候能使程序的效率產(chǎn)生質(zhì)的飛躍。如果一個程序設(shè)計人員在數(shù)學(xué)上很薄弱,這點必須引起足夠重視,有了一定的數(shù)學(xué)基礎(chǔ),當(dāng)別人對于某些項目感到無從下手時,而自己卻能夠完成,這個時候自己的價值也就體現(xiàn)出來了。真正優(yōu)秀的程序設(shè)計人員最基本的一點就是要能夠通過自己的知識來解決一般程序設(shè)計人員所無法完成的問題,而數(shù)學(xué)能力就是一個很重要的因素。

  3語言的學(xué)習(xí)

  3.1 語言學(xué)習(xí)的基礎(chǔ)

  程序設(shè)計語言五花八門,究竟該如何學(xué)習(xí),應(yīng)該學(xué)習(xí)哪一門。首先,從C開始學(xué)習(xí)。當(dāng)然這里要提醒一下,千萬不要一開始就學(xué)VB、VC之類的東西,一開始就學(xué)這些東西,有可能把自己引入一個錯誤的學(xué)習(xí)方向而忽略了真正應(yīng)該掌握的東西。不要被VC、BCB、BC、MC、TC等詞匯所迷惑,這些都是集成開發(fā)環(huán)境,而程序設(shè)計人員要學(xué)的是一門語言。學(xué)C主要是學(xué)過程化的程序設(shè)計,學(xué)會把自己的程序分成許多的函數(shù),養(yǎng)成良好的程序設(shè)計習(xí)慣,培養(yǎng)一種程序設(shè)計思想。學(xué)習(xí)程序設(shè)計最好的方法之一就是閱讀源代碼,可以多看一下專家的程序,不一定要懂意思,主要是學(xué)習(xí)別人程序的格式,比如變量如何起名,怎么劃分函數(shù)。除了掌握基本的控制語句外,還應(yīng)該學(xué)習(xí)一些很簡單的I/O函數(shù)和數(shù)學(xué)函數(shù)。C的學(xué)習(xí)主要就是學(xué)會使用函數(shù),提高代碼重用性,認(rèn)識面向過程的程序設(shè)計方法,對結(jié)構(gòu)化程序設(shè)計有一定的認(rèn)識。對于指針之類的東西如果實在看不懂可以先不去管,有的問題反過來看也許會感覺容易很多。

  3.2 語言學(xué)習(xí)的鞏固

  當(dāng)自己能夠比較自如的用C編寫一些小的計算程序時,就可以開始數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)了。數(shù)據(jù)結(jié)構(gòu)可以一點一點慢慢看,并不需要專門空出一段時間來專門研究,這樣的目的是讓自己能夠很好地掌握它。要學(xué)會用數(shù)據(jù)結(jié)構(gòu)的知識來規(guī)范自己的程序設(shè)計和提高程序的效率。這主要是因為程序設(shè)計者必須足夠的重視數(shù)據(jù)結(jié)構(gòu)。如果說計算機(jī)專業(yè)的學(xué)生與非計算機(jī)專業(yè)的最根本的差別是什么,那絕對是數(shù)據(jù)結(jié)構(gòu)。數(shù)學(xué)大家都一樣學(xué)了,主要看自己學(xué)得好壞。對數(shù)據(jù)結(jié)構(gòu)的掌握與運用能力是衡量程序設(shè)計能力的一個很重要的指標(biāo)。有的人對于看了鏈表、堆棧、樹、廣義表這些東西就頭痛,然而這些東西往往能使程序的效率比別人高出百倍,所以硬著頭皮也要學(xué)習(xí)。當(dāng)然,看第一遍書是不能記住和掌握全部知識的,必須看第二遍、第三遍,甚至更多。如果覺得對樹、鏈表、堆棧之類的東西和排序,遞歸之類的算法已經(jīng)十分清楚,就可以開始學(xué)習(xí)C++了。

  3.3 語言學(xué)習(xí)的提高

  學(xué)習(xí)前一定要有個正確的認(rèn)識,那就是C和C++是兩個不同的東西,不要因為C++是從C發(fā)展來的,更不要因為C和C++中有一些語法和關(guān)鍵字看上去相同,就認(rèn)為它們的意義和作用完全一樣,C++絕不是所謂的C的單純的“擴(kuò)充”,如果C++一開始就起名叫Z語言,程序設(shè)計者一定不會把C和Z語言聯(lián)系得那么緊密,其實主要學(xué)習(xí)的正是C++和C不同的地方。學(xué)習(xí)C++是為了學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計。這個時候要求對于指針應(yīng)該有一定程度的掌握,當(dāng)然如果有匯編的基礎(chǔ)更好,主要抓住C++和C相比的一些新特性,對于封裝、繼承和多態(tài)之類的特性要注意理解掌握,而且要通過具體的實例來便于理解,如果沒有搞懂就堅決不要往下學(xué)習(xí),直到理解為止。這些基本的概念掌握以后就可以看一些別人設(shè)計的程序,學(xué)習(xí)別人怎么利用面向?qū)ο蟮姆椒▉碓O(shè)計程序,這個也是與別人之間拉開檔次的一個環(huán)節(jié),可以和數(shù)據(jù)結(jié)構(gòu)放在同等重要的地位。

  從C到C++是從面向過程的程序設(shè)計轉(zhuǎn)化到了面向?qū)ο蟮某绦蛟O(shè)計,應(yīng)該說是一種提高,通過封裝、繼承和多態(tài)之類的特性,更高程度上提高了程序設(shè)計的效率,但是對于程序設(shè)計來說,語言主要就是指語法結(jié)構(gòu),而真正重要的是程序設(shè)計的步驟。

  4 程序設(shè)計步驟

  很多人無論學(xué)習(xí)什么,都有一種習(xí)慣,就是找訣竅。有的秘訣可以讓自己事半功倍,而有的秘訣則就是沒有秘訣。學(xué)習(xí)程序設(shè)計的秘訣就是:程序設(shè)計,程序設(shè)計,再程序設(shè)計。在程序設(shè)計的過程中,任何時刻都不要認(rèn)為自己手中的書已經(jīng)足夠了,看得懂的書,要仔細(xì)看,看不懂的書,也要仔細(xì)看,也正是這些看不懂的東西才有它們所特有的價值,每個人都看得懂的內(nèi)容是沒有辦法拉開檔次的。

  4.1程序設(shè)計的思想

  編寫程序的時候,開始的想法是非常重要的,也就是程序設(shè)計的思想。前邊討論的是對于語言的學(xué)習(xí),其實學(xué)習(xí)一門語言或者開發(fā)工具,語法結(jié)構(gòu)功能調(diào)用是次要的,最主要的是學(xué)習(xí)它的思想。譬如學(xué)習(xí)VC,就是要學(xué)習(xí)WINDOWS的內(nèi)在機(jī)理如何,什么是消息循環(huán),如何進(jìn)行消息影射,什么是窗口注冊,什么是Callback,什么是線成;學(xué)習(xí)Java是要知道什么是面向?qū)ο?,什么是繼承,什么是封裝,什么是多態(tài);學(xué)習(xí)DELPHI,VB就要知道如何快速開發(fā),如何模塊重用,如何統(tǒng)一界面和數(shù)據(jù)。關(guān)鍵是一個思想,有了這些思想,那么程序設(shè)計者就可以觸類旁通。譬如有了C/C++的知識,PASCAL、VB就可以基本上掌握了要領(lǐng),這也讓大家知道學(xué)習(xí)C++原來也不是在浪費時間。有了C++的基礎(chǔ),其它什么都能應(yīng)變自如,DELPHI可以很快地學(xué)完,JAVA也可以邊做邊學(xué),就連剛剛發(fā)布或者以后將會出現(xiàn)的的程序設(shè)計語言也可以理解。

  語法是不同的,但算法是相同的。在寫程序之前,一定要想好這個程序如何來實現(xiàn),對于程序設(shè)計人員來說思路是非常重要。

  曾經(jīng)有一個人參加計算機(jī)展覽,每天他進(jìn)門時都對門衛(wèi)說:

  “先警告你,我是偷盜高手,我入室偷盜的本領(lǐng)聞名遐邇。這次展覽會也在劫難逃。”

  警衛(wèi)因此大動干戈,因為里面有價值百萬的計算機(jī)設(shè)備,所以他牢牢盯緊了這個人,但是這個人只是從一個攤位逛到另一個攤位,一邊平靜地喃喃自語。

  當(dāng)這個人離開時,警衛(wèi)搜了他的身,但是什么也沒有發(fā)現(xiàn)。

  展覽會的第二天,這個人又對警衛(wèi)說:“昨天我滿載而歸,但是今天我會收獲更大。”所以警衛(wèi)更加小心地盯緊他,但是這樣做完全于事無補。

  展覽會的最后一天,警衛(wèi)再也不能忍住他的好奇心了。“小偷先生,”他說,“你說我驚慌不安,請告訴我,你到底偷了什么?”。

  這個人笑笑說:“我在偷展覽會上各個軟件高手的程序設(shè)計思路。”

  這雖然是個笑話,但是程序設(shè)計思路確實是相當(dāng)?shù)闹匾?,必須在剛開始的時候有個實現(xiàn)程序的思路,才能夠保證程序正常的編寫,一個好的思路更是一個好的程序的開始。

  4.2程序的質(zhì)量

  有了好的思路后,可以規(guī)范程序設(shè)計的格式和提高程序的效率,達(dá)到事半功倍的效果。

  最好的程序當(dāng)然是最大限度地節(jié)省時間和空間,也以此來評價一個程序的質(zhì)量。那么有了好的想法后,如何提高程序的質(zhì)量呢?下面舉一個我國古代的例子。

  有一家三兄弟全是郎中。其中有一人是名醫(yī),人們問他:“你們兄弟三人誰的醫(yī)術(shù)最高?”

  他回答說:“我常用猛藥給病危者醫(yī)治,偶爾有些病危者被我救活,于是我的醫(yī)術(shù)遠(yuǎn)近聞名,成了名醫(yī)。我二哥通常在人們剛剛生病的時候馬上就治愈他們,臨近村莊的人都知道他的醫(yī)術(shù)。我大哥深知人們生病的原因,所以能夠防止家里人生病,他的醫(yī)術(shù)只有我們家里才知道。”

  編寫程序有的時候就如郎中治病,治病就是讓人身體健康,給程序治病就是提高程序質(zhì)量,消除程序的缺陷,不斷補充程序的功能。與上述三個郎中很相似,消除程序缺陷也有三種基本方式,那究竟該使用哪種方法呢?第一種方法就是等程序?qū)懞煤螅l(fā)現(xiàn)缺陷再一個一個修改,有的時候一個程序也會因為無法修改或者無法添加某個功能而不得不重頭開始設(shè)計并實現(xiàn);第二種方法則是在實現(xiàn)過程中一發(fā)現(xiàn)問題就立刻修改擴(kuò)充,采用中庸之道,這種方法應(yīng)該說是一種比較可行的方法;第三種則是比較理想的一種方法,科技發(fā)展的速度之快,很難在設(shè)計之前就想到將來要添加什么功能,所以對于一個程序設(shè)計人員來講第二種方法應(yīng)該說是最可行的,也是最普遍的。

  4.3程序的維護(hù)

  《程序設(shè)計之道》中有這樣一段話:

  項目經(jīng)理去拜訪一個程序設(shè)計大師時看到:程序設(shè)計大師編寫軟件時,手指在鍵盤上快速飛舞。程序編譯時沒有一條錯誤信息,程序運行起來就象一陣微風(fēng)吹過。

  “太精彩了!你的技巧已經(jīng)無可挑剔了。”項目經(jīng)理夸道。

  “技巧?”,大師轉(zhuǎn)過身說,“我所遵循的是道——它超乎所有的技巧。當(dāng)我開始程序設(shè)計時我看到的是整個一大塊的程序,三年后我看到的是子過程?,F(xiàn)在我什么也看不到了。我的整個存在是沒有任何形式的虛無。我感覺很悠閑,總之,事實上是我的程序自己在寫,有時我看到一些問題,我看到它們,就停下來靜靜地觀察它們,然后我改變了一行代碼,難題就象一陣輕煙一樣化為烏有。然后我編譯程序。坐在那里享受工作的喜悅。閉了一會眼睛然后退出系統(tǒng)。”

  項目經(jīng)理說:“什么時候我的程序員才能都達(dá)到這樣的境界!”

  程序設(shè)計大師如是說:

  “既使一個程序只有三行長,也總有一天需要去維護(hù)它”。

  《程序設(shè)計之道》[James]是一本在全世界流傳的關(guān)于程序員的寓言,講的是早期程序員的故事,風(fēng)趣而富有哲理。當(dāng)然書中很多觀點現(xiàn)在看來明顯是錯誤的甚至是荒.唐的,但是有的觀點還是有那么一些道理的。一個程序即使功能再小,代碼再短,也必須在不斷的維護(hù)和更新中,才能成為一個程序。一個程序設(shè)計人員要經(jīng)常回顧自己以前寫過的程序,并嘗試重寫,把自己學(xué)到的新知識運用進(jìn)去,而且要不斷地對自己寫的程序提出更高的要求,哪怕程序版本號不斷地提高。

  5 結(jié)論

  總之,程序設(shè)計能力的高低主要還是由以下幾點決定:①程序設(shè)計的習(xí)慣;②數(shù)學(xué)應(yīng)用能力,其中包括邏輯思維,分析問題的能力;③對數(shù)據(jù)結(jié)構(gòu)的認(rèn)識能力;④經(jīng)驗的多少,包括各種語言的掌握能力。

  其實,最主要的一點還是要認(rèn)真勤奮,為自己的目標(biāo)而不怕困難不斷前進(jìn),這不只是對程序設(shè)計而言,學(xué)習(xí)其他所有的東西都應(yīng)如此。

3622345