資源描述:
《談?wù)勀銓λ惴ㄅc程序設(shè)計的理解和認識》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、.談?wù)勀銓λ惴ㄅc程序設(shè)計的理解和認識,在學習過程中有什么親身體會算法是為解決一個特定問題而采取的確定的·有限的步驟,在計算機科學中,算法指令的有限序列,是一個可終止的·有序的·無歧義的·可執(zhí)行的指令的集合。按照算法的定義,一個算法必須具備下列5個特征:1.有窮性一個算法對于任何合法的操作對象必須在執(zhí)行有窮個操作之后結(jié)束,換句話說,算法的步驟不可以無窮無盡,設(shè)計算法時應(yīng)該關(guān)注算法結(jié)束的條件,但有窮性也應(yīng)在合理的范圍內(nèi)。2.確定性確定性也稱無二義性。算法中,對每一個操作的描述都必須是精確的,有確切的含義,而不是模棱兩可的。算法的確切性要求在一個算法的執(zhí)行期間,執(zhí)行過程中的每一個信息必
2、須可以唯一。完全地確定每個步驟的動作。在任何情況下,算法只有唯一的一條執(zhí)行路徑。3.可行性一個算法必須由可執(zhí)行的步驟組成,也可用有效性來描述算法的這一特性,即每一個步驟是有效的,就意味著它是做得到的。4.輸入一個算法有0個或多個輸入。一般情況下,輸入的是算法的操作對象,算法的操作對象可以在算法執(zhí)行前臨時給出,也可以在編寫算法時直接給出。5.輸出一個算法有1個或多個輸出。這些輸出是算法對輸入的操作對象執(zhí)行操作后合乎邏輯的操作結(jié)果。一個算法必須有操作結(jié)果,沒有輸出的算法是毫無意義的。算法有不同的描述方法,如計算機高級語言描述·數(shù)學語言描述或約定的符號和圖示描述,不同的描述方法各有其優(yōu)
3、缺點,選擇時要按自己的要求挑合適的描述方法。用計算機進行問題的求解,大致需要經(jīng)過以下幾個步驟:分析問題·建立模型·設(shè)計算法·編寫程序·上機調(diào)試;其中算法的設(shè)計是問題求解過程中最具有挑戰(zhàn)性的步驟。用計算機算法求解問題,我們還要考慮算法的有效性·正確性·和復雜性,這些都是我們應(yīng)用算法需要知道的極其重要的問題。程序:是一種事先編制好了具有特殊功能的指令條件的。這里的指令既可以是機器指令·匯編語言指令,也可以是高級語言的語言命令,甚至還可以是用自然語言描述的算法操作命令。有一種程序的定義用公式給出:程序=數(shù)據(jù)結(jié)構(gòu)+算法。程序設(shè)計語言包括:低級語言:機器語言——通常是一個能完整準確和規(guī)則地
4、表達人們的意圖,并用以指揮或控制計算機工作的符號系統(tǒng)與人類語言一樣具有語言的三要素:語義·語法和語序;匯編語言——與計算機硬件直接相關(guān)。高級語言:是一種由表達各種定義的“詞“和”公式“,按照一定的“語法規(guī)則”來編寫程序的語言,又稱為程序設(shè)計語言。高級語言的特點:1.獨立于計算機硬件結(jié)構(gòu);2.用戶使用面向問題的形式來描述任務(wù);;3.易學易懂易查錯。程序設(shè)計語言實現(xiàn)的步驟:(1)編寫源程序;(2)對源程序進行編譯生成目標代碼;(3)連接目標代碼生成可執(zhí)行文件;(4)執(zhí)行可執(zhí)行文件完成任務(wù)。解釋性程序設(shè)計語言的實現(xiàn)包括編寫源程序,解釋執(zhí)行源程序兩個過程。程序設(shè)計方法和技術(shù)對程序結(jié)構(gòu)本質(zhì)
5、的深入研究,促進了對程序質(zhì)量的認識,開發(fā)程序的效率和質(zhì)量取決于程序設(shè)計方法和技術(shù),多年的研究發(fā)展了許多程序設(shè)計方法和技術(shù)。結(jié)構(gòu)化程序設(shè)計(SP):“自頂而下,逐步求精”的設(shè)計思想,“獨立功能,單出入口”的模塊僅用三種(順序·分支·循環(huán))基本控制結(jié)構(gòu)的編碼原則;面向?qū)ο蟪绦蛟O(shè)計(OOP):以對象為中心進行分析和設(shè)計,再現(xiàn)了人類認識事物的思維方式和解決問題的工作方式,對象是數(shù)據(jù)及對這些數(shù)據(jù)施加的操作結(jié)合在一起,所構(gòu)成的獨立實體的總稱;類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同對象的操作。隨著對計算機越來越深的了解,我認識到計算機所有功能的實現(xiàn)其實都是算法與程序的結(jié)合,正是算法與程序構(gòu)成了計算機工
6、作原理,把計算機推向今天它在人們生活中如此高的地位。他的每一步操作其實都是無數(shù)算法與程序的結(jié)合的結(jié)果。學習中我也深刻認識到它們的重要性,也對計算機工作原理有了更深更內(nèi)在的了解。當然也有了了解學習計算機的興趣,計算機之所以更新快,也是因為不同的算法與程序?qū)映霾桓F,認識到這一點,我對未來的工作充滿了期待與擔心,但也讓我更認清自己選擇的這條路,做好今天。參考文獻:[1]王寶恒肖曉強張春元文梅《計算機原理與設(shè)計》高等教育出版社2005.1;[2]馮博琴顧剛《大學計算機基礎(chǔ)》西安交通大學出版社2007.9;