聯絡我們 網站地圖 中央大學
 
 
 
   
課程簡介
 
課程名稱 程式設計及其應用
授課對象 數學系二年級學生
預備知識 計算機概論 (I) (II)已經熟悉某一種高階程式語言
其他條件  

本系的學生在一年級的計概課程已經學習了許多不同類型的基本程式語言,諸如Maple, Html, Tex, 及 C 程式語言等。程式語言應用內容延續計概二的 C 程式語言設計課程,學生在修習本課程之前,建議有一些(但不須太多的) 基本 C 程式設計能力,以免造成學習上困難。

近幾年來,我們選擇了 C++ 物件導向程式語言 (Object-oriented programming language) 為本課程主要教授的高階程式語言。80年代以前,程式設計的方式是利用以程序(procedure) 為設計主軸的程序導向程式語言 (Procedure-oriented programming language),例如Fortran, Pascal, C 等等。當程式設計員使用這類型的程式語言來設計程式時,其主要撰寫方式是將實際的問題分解成一連串的程序前後連接起來而成。當程式設計員使用程序導向程式語言設計軟體程式時,常常在不久後就會遇到一個非常棘手的問題,那既是,每當程式碼越趨於龐大,程式的更改與維修也越加困難,程式設計員常為了增加軟體中的一個小小功能而必須絞盡腦汁更改許多程式碼才能達成目的,因此 成程式後續的維護費用遠遠超過其初始設計費用。

80年代中期起,物件導向程式語言的興起,適時地提供了許多非常有效的程式設計方式來解決前述的軟體設計危機問題,這一類型的程式語言主要包含smalltalk, C++, Java等,其中以 C++ 程式語言最為人廣泛使用。物件導向程式語言在程式設計上以類別(class)的設計為主,所謂的物件只不過是類別的一個實體(instance)而矣。其關係如同以下普通的C 程式碼一般:

int foo ;

這裡的整數 int 可以視為一 C++ 類別,而變數 foo 則可視為一物件。有別於程序導向程式語言將個別的程序與程序所處理的資料分開設計,物件導向程式語言認為資料與處理資料的程序是一體的,且應合併一起設計,資料的更動皆可透過程序完成。以C++ 程式語言為例,C++ 的類別由資料成員 (data member) 與成員函式 (member function) 所組成,資料成員代表著類別的最基本資料,其透過不同的成員函式顯現作用。資料成員在設計上常被加以不同層級的保護,使用者僅能透過成員函式才能更改或使用其值。使用物件導向程式語言,程式設計員在設計程式時首先須分析如何將實際問題分解成不同類別,如何清楚的界定在各個類別內的基本資料成員及其處理資料成員的成員函式介面。在這一切類別都設計完備後,主程式部份僅是由各類別所產生的物件的交互作用。至於其他物件導向程式語言的主要功能及優點將在課堂上詳細說明。

學習程式語言首重練習,學生必要在電腦前花時間實際的撰寫程式,獲得錯誤經驗才能有所進步。本課程在教學上特別強調實際的程式撰寫能力,除了正常每兩至三週的定期程式作業外,也將包含每週一次的上機演習,期中考試與期末考試也可能會安排線上考試,修課學生務必自己撰寫程式作業,熟練程式基本語法與設計技巧,否則將無法學好程式設計。


 

 
大學部課程介紹
 
微積分
線性代數
計算機概論
整數論
應用代數
高等微積分
代數
程式設計及其應用
資料結構
微分方程
組合語言
應用機率
數值分析
離散數學
數理統計
矩陣計算
圖論
數學規劃
幾何學
計算法則
計算富氏分析
微分方程數值解
古典變分學導論

 
研究所課程介紹
 
分析
微分幾何
統計推論
機率論
實變函數論
代數幾何
數值分析

   

 
 
 
Copyright © 2006 NCU Department of Mathematics All Rights Reserved. ~ 為求最好效果,建議以IE4.0以上之版本,1024*768 解析度瀏覽 ~ 網站建置於2005年12月 ~