程式設計方法主要有哪兩種?它們的區別和特點分別是什麼

2021-03-03 23:36:59 字數 5026 閱讀 4642

1樓:天之草民

主要方法有面向結構的方法和麵向物件的方法

物件導向方法:猶如庖丁解牛,先肢解開,然後按照「功能」「模組」重新組裝在一起。此方法利於維護,且適合團隊合作,流水線似的生產軟體。

面向結構:專案越大,**越複雜!猶如人際關係,彼此牽連,斬不斷,理還亂!

2樓:匿名使用者

是指程序導向和麵向物件嗎。。

程式設計語言有哪兩種實現方式?各有什麼特點?

3樓:匿名使用者

面向對bai象程式設計和麵向過程

du程式設計程序導向的是c和zhivb所謂程序導向就是dao指將解題過程看版

做資料被加工的

權過程,使用者設計的程式可以看做是解決問題的步驟,而每一個步驟可以看做是需要完成的一個功能,所有的這些功能構成一個整體的解決方案,關心的主要是所要處理的資料。由於它有許多弊端現在很少用了物件導向的是c++和java 現在很流行,它關心的是要實現的功能,它從系統功能入手將一個大的系統功能分為很多獨立的子模組整個系統就是由這些功能模組的的函式和過程組成

4樓:莊彭鍾元愷

編譯執行

來:把源程式翻譯成機器語言自(生成可執行文bai件,比如du***或exe檔案),然後

執行。(包含匯zhi編和連結兩個過程)dao解釋執行:把一行源程式翻譯成機器語言,然後執行;再翻譯下一行源程式成機

器語言,然後執行。(翻譯一句,執行一次。不生成可執行檔案)

程式設計語言可分為哪幾類,各有什麼樣的特點?

5樓:匿名使用者

機器語言:用二進位制**表示指令和資料,cpu可直接識別。

組合語言:用助記符表示指令操作功能,直接面向機器硬體。用 組合語言編寫的程式稱為組合語言程式。

把組合語言轉換為機器語言的過程稱為「彙編」 ,完成這種 轉換的程式稱為彙編程式。彙編得到的機器語言稱為目標程式。

高階語言:獨立於具體的機器,程序導向,接近自然語言和數學 表示式。 把高階語言轉換為機器語言的過程稱為「編譯」 ,完成這種 轉換的程式稱為編譯程式。

6樓:匿名使用者

c語言,vb語言,vc語言,面向機器,

java,c++程序導向

。*** java物件導向

程式設計主要有哪些方法

7樓:匿名使用者

程式設計主要方法有面向結構的方法和麵向物件的方法。

結構化程式設計

隨著計算機的**不斷下降,硬體環境不斷改善,執行速度不斷提升。程式越寫越大,功能越來越強,講究技巧的程式設計方法已經不能適應需求了。記得是哪本書上講過,一個軟體的開發成本是由:

程式設計 30% 和程式維護 70% 構成。這是書上給出的一個理論值,但實際上,從我十幾年的工作經驗中,我得到的體會是:程式設計佔 10%,而維護要佔 90%。

也許我說的還是太保守了,維護的成本還應該再提高。下面這個程式,提供了兩種設計方案,大家看看哪個更好一些那?

題目:對一個陣列中的100個元素,從小到大排序並顯示輸出。(basic)

方法1:冒泡法排序,同時輸出。

for i=1 to 100

for j=i+1 to 100

if a[i] > a[j] then t=a[j]: a[j]=a[i]: a[i]=t

next j

? a[i]

next i

方法2:冒泡法排序,然後再輸出。

for i=1 to 100

for j=i+1 to 100

if a[i] > a[j] then t=a[j]: a[j]=a[i]: a[i]=t

next

next

for i=1 to 100

? a[i]

next

顯然,「方法1」比「方法2」的效率要高,執行的更快。但是,從現在的程式設計角度來看,「方法2」更高階。原因很簡單:

(1)功能模組分割清晰——易讀;(2)也是最重要的——易維護。程式在設計階段的時候,就要考慮以後的維護問題。比如現在是實現了在螢幕上的輸出,也許將來某一天,你要修改程式,輸出到印表機上、輸出到繪圖儀上;也許將來某一天,你學習了一個新的高階的排序方法,由「冒泡法」改進為「快速排序」、「堆排序」。

那麼在「方法2」的基礎上進行修改,是不是就更簡單了,更容易了?!這種把功能模組分離的程式設計方法,就叫「結構化程式設計」。

物件導向的程式設計

隨著程式的設計的複雜性增加,結構化程式設計方法又不夠用了。不夠用的根本原因是「**重用」的時候不方便。物件導向的方法誕生了,它通過繼承來實現比較完善的**重用功能。

很多學生在應聘工作,面試的時候,常被問及一個問題「你來談談什麼是物件導向的程式設計」,學生無言,回來問我,這個問題應該怎麼回答。我告訴他,你只要說一句話就夠了「物件導向程式設計是對資料的封裝;正規化(模板)的程式設計是對演算法的封裝。」後來再有學生遇到了這個問題,只簡單的一句對答,對方就對這個學生就刮目相看了(學生後來自豪地告訴我的)。

為什麼那?因為只有經過徹底的體會和實踐才能提煉出這個精華。

物件導向的設計方法和思想,其實早在70年代初就已經被提出來了。其目的就是:強制程式必須通過函式的方式來操縱資料。

這樣實現了資料的封裝,就避免了以前設計方法中的,任何**都可以隨便運算元據而因起的bug,而查詢修改這個bug是非常困難的。那麼你可以說,即使我不使用物件導向,當我想訪問某個資料的時候,我就通過呼叫函式訪問不就可以了嗎?是的,的確可以,但並不是強制的。

人都有惰性,當我想對 i 加1的時候,幹嗎非要呼叫函式呀?算了,直接i++多省事呀。呵呵,正式由於這個懶惰,當程式出bug的時候,可就不好捉啦。

而物件導向是強制性的,從編譯階段就解決了你懶惰的問題。

巧合的是,物件導向的思想,其實和我們的日常生活中處理問題是吻合的。舉例來說,我打算丟掉一個茶杯,怎麼扔那?太簡單了,拿起茶杯,走到垃圾桶,扔!

注意分析這個過程,我們是先選一個「物件」------茶杯,然後向這個物件施加一個動作——扔。每個物件所能施加在它上面的動作是有一定限制的:茶杯,可以被扔,可以被砸,可以用來喝水,可以敲它發出聲音......

;一張紙,可以被寫字,可以撕,可以燒......。也就是說,一旦確定了一個物件,則方法也就跟著確定了。我們的日常生活就是如此。

但是,大家回想一下我們程式設計和對計算機的操作,卻不是這樣的。拿dos的操作來說,我要刪除一個檔案,方法是在dos提示符下:c:

> del 檔名《回車》。注意看這個過程,動作在前(del),物件在後(檔名),和麵向物件的方法正好順序相反。那麼只是一個順序的問題,會帶來什麼影響那?

呵呵,大家一定看到過這個現象:file not found. 「啊~~~,我錯了,我錯了,檔名敲錯了一個字母」,於是重新輸入:

c:> del 檔名2《回車》。不幸又發生了,計算機報告:

file read only. 哈哈,痛苦吧:)。

所以dos的操作其實是違反我們日常生活中的習慣的(當然,以前誰也沒有提出過異議),而現在由於使用了物件導向的設計,那麼這些問題,就在編譯的時候解決了,而不是在執行的時候。obj.fun(),對於這條語句,無論是物件,還是函式,如果你輸入有問題,那麼都會在編譯的時候報告出來,方便你修改,而不是在執行的時候出錯,害的你到處去捉蟲子。

同時,物件導向又能解決**重用的問題——繼承。我以前寫了一個「狗」的類,屬性有(變數):有毛、4條腿、有翹著的尾巴(耷拉著尾巴的那是狼)、鼻子很靈敏、喜歡吃肉骨頭......

方法有(函式):能跑、能聞、汪汪叫......如果它去抓耗子,人家叫它「多管閒事」。

好了,狗這個類寫好了。但在我實際的生活中,我家養的這條狗和我以前寫的這個「狗類」非常相似,只有一點點的不同,就是我的這條狗,它是:捲毛而且長長的,鼻子小,嘴小......。

於是,我派生一個新的型別,叫「哈巴狗類」在「狗類」的基礎上,加上新的特性。好了,程式寫完了,並且是重用了以前的正確的**——這就是物件導向程式設計的好處。我的成功只是站在了巨人的肩膀上。

當然,如果你使用vc的話,重用最多的**就是mfc的類庫。

結構化程式設計的三種基本結構是什麼。各有什麼特點

8樓:科學工作者

結構化程式設計的三種基本結構:順序結構、選擇結構和迴圈結構。

1、順序結構

順序結構表示程式中的各操作是按照它們出現的先後順序執行的,這種結構的特點是:程式從入口點a開始,按順序執行所有操作,直到出口點b處,所以稱為順序結構。

2、選擇結構

選擇結構表示程式的處理步驟出現了分支,它需要根據某一特定的條件選擇其中的一個分支執行。選擇結構有單選擇、雙選擇和多選擇三種形式。

3、迴圈結構

迴圈結構表示程式反覆執行某個或某些操作,直到某條件為假(或為真)時才可終止迴圈。在迴圈結構中最主要的是:什麼情況下執行迴圈?

哪些操作需要迴圈執行?迴圈結構的基本形式有兩種:當型迴圈和直到型迴圈,而什麼情況下執行迴圈則要根據條件判斷。

結構化程式設計優缺點

優點:由於模組相互獨立,因此在設計其中一個模組時,不會受到其它模組的牽連,因而可將原來較為複雜的問題化簡為一系列簡單模組的設計。模組的獨立性還為擴充已有的系統、建立新系統帶來了不少的方便,因為我們可以充分利用現有的模組作積木式的擴充套件。

按照結構化程式設計的觀點,任何演算法功能都可以通過由程式模組組成的三種基本程式結構的組合來實現。

結構化程式設計的基本思想是採用"自頂向下,逐步求精"的程式設計方法和"單入口單出口"的控制結構。自頂向下、逐步求精的程式設計方法從問題本身開始,經過逐步細化,將解決問題的步驟分解為由基本程式結構模組組成的結構化程式框圖;"單入口單出口"的思想認為一個複雜的程式,如果它僅是由順序、選擇和迴圈三種基本程式結構通過組合、巢狀構成,那麼這個新構造的程式一定是一個單入口單出口的程式。據此就很容易編寫出結構良好、易於除錯的程式來。

①整體思路清楚,目標明確。

②設計工作中階段性非常強,有利於系統開發的總體管理和控制。

③在系統分析時可以診斷出原系統中存在的問題和結構上的缺陷。

缺點:①使用者要求難以在系統分析階段準確定義,致使系統在交付使用時產生許多問題。

②用系統開發每個階段的成果來進行控制,不能適應事物變化的要求。

③系統的開發週期長。

人的情緒主要有哪兩種作用,人的情緒分為哪幾種

情緒主要有兩種作用 一種是積極的,就是正面情緒,人在這樣的情 內緒狀態下,可以激容發出最大能力,不管工作 學習和生活都十分投入,也能收穫更多的成功 另外一種作用,就是消極,負面情緒,這樣與正面情緒相對立,不利於提高生活質量。人的情緒分為哪幾種 情緒和情感 復是人對客觀事物的態制 度體驗及相應的行為反...

猜字謎主要有哪些三種方法,猜字謎的方法主要有哪三種方法

猜謎是一種來有趣的語言和文字的智力遊戲。它不但可以幫助學生增長知識版,開闊視野,培養對事物權的觀察能力和認識能力,而且能夠鍛鍊和提高學生的思維能力和培養概括能力。謎語,由謎面和謎底兩部分組成。謎面,往往用含蓄的語言,向人形象地提供猜謎的線索 謎底,往往是謎面所指的事物。源猜字謎方法很多,下面簡單介紹...

兩大拉伸練習方法是哪兩種,3 練字的兩種方法是哪兩種

你好。其實拉伸的方法主要也就是一個是手部的拉伸,還有一個就是腿部的拉伸,手部的就是那種擴張,或者是收縮,然後腿部的就主要是彎腰以及紅腿。1抱臂體轉 這個也是搏擊以及其他專案的通用熱身運動。雙腳開啟肩膀的寬度,以向左轉為例,左臂夾住右臂向左轉,反之亦然。那這個動作可以很好的拉伸腰背部肌肉,是很實用的上...