序言
計算機是20世紀最偉大的發明之一。如今,計算機對於人類社會生活的巨大改變作用已日益顯現,越來越多的人開始學習使用計算機。
要讓計算機實現人的願單,更好地完成人交給的仟務,就必須先告訴計算機該如何去做,這就要編寫計算機程序,即用一種計算機可以理解的語言告訴它如何工作。如何編寫程序來讓計算機工更多的事,獲得更好的結糶,是許多人日思夜想的事情。
一直以來,關於如何講授麵嚮大學生的程序設計基礎課程,許多人爭論的焦點放在瞭語方選擇上,把講授的重點放在瞭語言的語法規則介紹上。從短期看,這樣做便於學生學,當然更便於教師教。但從長期看,我們發現,越是注重以語法來衡量學生對語言的“掌握”程度,就越是忽略程序設計真正實用的基本思維方式和方法,最後越是導緻學在學習瞭一學期之後,滿腦子除瞭一些語法知識,幾乎沒有任何分析解決實際問題的技能。
人類的自然語言有韆百種,歸根結底都是人類思想交流、記錄的工具。計算機語言同樣也是對解決具體問題的算法思想的錶達工具。錶達的形式(程序設計語言)韆差萬彆,但錶達的內容(算法)則是殊途同歸。這樣看來,程序設計基礎課程教學的核心目標,應該是讓學生學習和掌握對於實際問題,如何分析和設計解決它們的算法。程序設計語言本身,應該隻是在最後用來描述算法的一種工具。
既然如此,在脫離具體語吉之後,如何來學習程序設計的基礎呢?本書正是這樣一本教材:它圍繞程序設計初學者麵對的中心問題——如何構思算法——來介紹程序設計中的主要基本概念和設計方法,包括“程序設計開發的過程、選擇結構、最復結構、數組、文件”等,也包括主要的基本算法、冒泡排序、串行搜索,並通過很多生動有趣的例子進行講解。同時,在算法域終描述時,以VB 與 C++為例,對一些程序進行對比實現。這種安排,既讓學生可以在與語言無關的算法介紹中學習算法思想,義使他們不至於陷入隻有僞代碼的紙上談兵。
該書各章、各節後麵配有豐富的練習題,很有針對性,非常適閤初學編程的讀肯學習。
另外,網上配套資源也很實用,方便讀者自學。
本書前三章和術語錶由鄔曉鈞翻譯,其餘各章節山徐明星翻譯。由於譯者水甲有限,對原文一些地方的把握難免有不妥之處,懇請廣大讀者批評指正。
文摘
60年以前,孩子們聽父母描述沒有汽車、沒有電、沒有電話的生活會感到非常驚訝。現在,孩子們聽父母描述沒有電子遊戲、沒有手機、沒有GPS係統、沒有計算機的生活感到驚訝。60年前沒有計算機,而現在我們每天都使用計算機。傢裏、學校裏、辦公室、超市、快餐店、飛機和航天器中都有計算機。在我們的手機、計算器和汽車自動門中也都有計算機。我們可以把它們放在背包、衣服口袋和錢包裏。不管年輕人還是年長者,攝影師還足農民,銀行傢還是棒球經理,都在使用計算機。在教育、通信、娛樂、財務管理、産品設計和製造、企業和機關事務的幾乎任何地方,我們都通過各種各樣復雜的軟件(程序)來使用計算機。
· · · · · · (
收起)