摘自《Delphi 程序設計大學教程(劉藝 編著 機械工業(yè)出版社2005)
http://www.liu-yi.net/BBS/dispbbs.asp?boardID=6&ID=300&page=1
計算機程序設計既是一門概念復雜,知識面廣的理論課,也是一門面向?qū)崙?zhàn)、需要動手的實踐課。幾乎所有的初學編程者都夢想著有朝一日能在計算機上馳騁,讓一行行程序在自己敲擊鍵盤的手下源源不斷地流出,真真成為駕馭計算機的主人。然而,學完程序設計課程后,真正開始編寫程序時,卻往往會覺得難以下手、無所適從。盡管自己刻苦學習,高分通過考試,但并不能體會到所學知識給實際編程帶來的便利和優(yōu)勢。
為什么會這樣?一方面原因是我們的學生在學習時沒有掌握程序設計的一般過程,沒有深入了解通用程序設計語言的本質(zhì)規(guī)律。另一方面是我們的教學體制僵化、教材陳舊,教學思想和內(nèi)容跟不上時代的發(fā)展,與軟件開發(fā)實際情況脫節(jié)。
計算機程序設計語言是一種實現(xiàn)對計算機操作和控制的人造語言,但程序設計語言僅僅是程序設計的手段和途徑而并不是程序設計全部。因此,掌握程序設計語言并不意味著就精通程序設計,就能寫出優(yōu)秀的程序。實際上,程序設計所涉及的領(lǐng)域、知識和技能要遠遠超出我們的想象。因此本教材對于程序設計課程有著自己不同的理解:
程序設計首先是一個過程
程序設計過程通常分為問題建模、算法設計、編寫代碼和編譯調(diào)試等4個階段。不同階段的任務是相對獨立的,不能混為一談。即使是一個比較簡單的程序,我們也應該養(yǎng)成先分析,再下手,最后調(diào)試的習慣,嚴格遵循程序設計過程。因為在缺乏對問題深入、全面分析的情況下,就匆匆動手編寫程序,將會增加失敗的風險,帶來后期修改、維護的麻煩。因此學習程序設計,不但不能回避程序設計過程,更要從軟件開發(fā)過程和軟件生命周期的高度來了解和掌握程序設計過程,從一開始就要養(yǎng)成遵從程序設計準則從事程序設計的良好習慣。有別于其他程序設計教材,本書強調(diào)程序設計和軟件開發(fā)過程的重要性,為讀者介紹了有關(guān)軟件建模與測試的基本原理和技術(shù)。特別考慮到現(xiàn)代軟件開依賴于集體合作和項目管理,是匯集了很多程序設計過程的更大的過程。因此,除了在書中增加有關(guān)軟件過程實施和管理的介紹外,還把如何撰寫規(guī)范的程序代碼作為重要一節(jié),使得讀者在學習程序設計之初就了解程序設計的規(guī)范,注重編寫程序的規(guī)范性、正確性和可*性,對于培養(yǎng)將來參與大型軟件開發(fā)所需要的分工合作團隊成員十分重要。
程序設計還是一種解決問題的方法和能力
學習程序設計主要是傳授思考用計算機解決問題的方法,培養(yǎng)編程應用能力,而不是僅僅學會某個程序設計語言的語法規(guī)則。很多學生能弄清楚循環(huán)、if-else結(jié)構(gòu)以及算術(shù)表達式,但很難把一個編程問題分解成結(jié)構(gòu)良好的Delphi程序。這暴露了程序設計教學中偏重語法細節(jié),忽略總體思想方法和整體過程實現(xiàn)的問題。
盡管程序設計理論的發(fā)展為解決問題提供了很多有效方法,但對于初學者而言學習的捷近應該是抓住最核心的思想方法:即結(jié)構(gòu)化方法和面向?qū)ο蠓椒ā閷崿F(xiàn)這個目的,我們既把結(jié)構(gòu)化算法分析和設計作為教材重點,也把面向?qū)ο蠓治龊驮O計作為重點。對于前者,我們以順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)為基礎,講解常用的結(jié)構(gòu)化算法;對于后者,我們則圍繞面向?qū)ο蟮某橄笮浴⒗^承性、多態(tài)性和封裝性這4個本質(zhì)特點闡述面向?qū)ο蟪绦蛟O計的基本方法。通過強調(diào)基本概念、基本方法、基本應用,我們旨在為初學者奠定扎實的程序設計基礎,樹立良好的編程思想。通過大量的實例分析和范例程序設計過程演示,我們力圖給初學者建立完整印象,培養(yǎng)其從整體把握問題和解決問題的編程能力。
程序設計最終是對程序設計語言的應用
程序設計和程序設計語言存在著有趣的辯證關(guān)系。程序設計可以用不同的程序設計語言來實現(xiàn),但是不同的程序設計語言又決定著能使用怎樣的程序設計思想和方法,制約著程序設計的實現(xiàn)能力和效率。本書使用Delphi作為學習程序設計的語言,并不是因為Delphi有強大的可視化編程功能,而是因為Delphi不但繼承了Pascal語言完美的結(jié)構(gòu)化風格,而且還具有面向?qū)ο笳Z言的真正優(yōu)勢。更可喜的是Delphi還在繼續(xù)發(fā)展,不斷吸取現(xiàn)代編程語言的精華。這一切使得Delphi作為現(xiàn)代通用程序設計語言的代表,特別適合教學使用。因此學習Delphi語言,掌握Delphi程序設計方法是本課程的另一個重要任務。
本書雖然以Delphi語言為背景介紹程序設計語言的相關(guān)知識,但是重點強調(diào)的是一些通用的思想方法,而放棄了Delphi的一些奇技淫巧。讀者應該注意到,不同的程序設計語言其語法和風格可能迥異,但無論哪一種語言,都是以數(shù)據(jù)(類型)、操作(運算)、控制(邏輯流程)為基本內(nèi)容。更進一步講,學習一門程序設計語言,應該超越語言的具體表述格式,不拘泥于繁蕪的語法現(xiàn)象,而是站在抽象的高度,掌握程序設計的基本概念,深入了解程序設計語言的本質(zhì)規(guī)律。這樣將會為深入學習其他程序設計語言帶來便利。

新聞熱點
疑難解答
圖片精選