《《程序設(shè)計課程設(shè)計》參考題》由會員分享,可在線閱讀,更多相關(guān)《《程序設(shè)計課程設(shè)計》參考題(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、程序設(shè)計課程設(shè)計》參考題及要求
一、本課程設(shè)計的性質(zhì)、目的、任務(wù)
本課程設(shè)計的性質(zhì)是一門是計算機(jī)專業(yè)的實(shí)踐教學(xué)平臺課程,它是《程序設(shè)計基礎(chǔ)》、《面向?qū)ο蟪绦?設(shè)計》及其相關(guān)實(shí)驗課程的后繼課程。通過本課程的教學(xué)實(shí)踐,使學(xué)生達(dá)到加深對計算機(jī)高級語言程序設(shè) 計特點(diǎn)、結(jié)構(gòu)化程序設(shè)計方法和面向?qū)ο蟪绦蛟O(shè)計的理解、提高學(xué)生對可視化編程的動手能力之目的。
本課程將充分考慮程序設(shè)計課程設(shè)計的各個方面和特點(diǎn),特別重視探索設(shè)計過程中的可視化操作解決 方案,要求學(xué)生有一定的普通數(shù)學(xué)解題能力并能掌握將一般數(shù)學(xué)模型轉(zhuǎn)換為程序的步驟和設(shè)計方法,通過 本設(shè)計課程,熟悉計算機(jī)的基本操作和初步的設(shè)計能力,使學(xué)生既具備較全
2、面的計算機(jī)程序設(shè)計理論知識, 又掌握實(shí)際編程的應(yīng)用動手技能。
本課程設(shè)計的任務(wù)是結(jié)合《程序設(shè)計基礎(chǔ)》、《面向?qū)ο蟪绦蛟O(shè)計》理論課和實(shí)驗課教學(xué)以及課程的有 關(guān)知識,完成若干個綜合設(shè)計內(nèi)容,提交有關(guān)設(shè)計文檔、源程序代碼和總結(jié)報告。
二、本課程設(shè)計的基本理論(基礎(chǔ)理論和基本方法)
本課程設(shè)計的基本理論和基本方法為:1) C程序設(shè)計的基本語法,包括“分支語句” “循環(huán)語句” “排序語句”“數(shù)組語句”“指針語句”“讀和寫磁盤文件語句”等;2)結(jié)構(gòu)化程序設(shè)計方法、程序設(shè) 計的系統(tǒng)分析方法、一般的數(shù)學(xué)模型轉(zhuǎn)換為程序的步驟和設(shè)計方法;3)面向?qū)ο蠓椒▽W(xué)的基本概念(對 象、消息和方法、類、繼承性、封裝性、
3、多態(tài)性);4)面向?qū)ο罂梢暬绦蛟O(shè)計。
先導(dǎo)課程為《高等數(shù)學(xué)》、《計算機(jī)導(dǎo)論》、《程序設(shè)計基礎(chǔ)》、《面向?qū)ο蟪绦蛟O(shè)計》以及相關(guān)實(shí)驗等課 程,本課程為后續(xù)與程序設(shè)計有關(guān)的課程打下基礎(chǔ),是《面向?qū)ο蠓治雠c設(shè)計》、《面向?qū)ο蠓治雠c設(shè)計實(shí) 驗》和《高級數(shù)據(jù)庫應(yīng)用技術(shù)》、《網(wǎng)絡(luò)應(yīng)用軟件開發(fā)》等課程的先導(dǎo)課程。
三、程序與要求 課程設(shè)計的程序與要求主要內(nèi)容如下:【“內(nèi)容一”為必做,“內(nèi)容二”與“內(nèi)容三”選做其中一個內(nèi) 容?!?
內(nèi)容一:“簡單學(xué)生管理系統(tǒng)設(shè)計”
本設(shè)計內(nèi)容可用程序設(shè)計基礎(chǔ)方法完成。 系統(tǒng)功能簡介:本系統(tǒng)有包括7個主要功能供給用戶,用于管理學(xué)生信息。
1. 輸入和儲存學(xué)生信息
用戶
4、可以使用系統(tǒng)儲存學(xué)生信息,包括學(xué)生姓名,學(xué)號,性別,成績(物理,英語,數(shù)學(xué),計算機(jī)導(dǎo)
論,C程序)
2. 查看學(xué)生信息
通過使用系統(tǒng)可以查看已統(tǒng)計好的學(xué)生信息
3. 學(xué)生成績統(tǒng)計:
使用系統(tǒng)可以瀏覽學(xué)生已排好的成績統(tǒng)計,包括名次,總分,平均分,最高和最低分
4. 查找學(xué)生信息:
使用系統(tǒng)可以瀏覽單個學(xué)生的信息,分為按學(xué)號和姓名查找。
5. 修改學(xué)生信息:當(dāng)學(xué)生信息有誤時就可以通過系統(tǒng)來修改。
6. 刪除學(xué)生信息:使用系統(tǒng)可以要刪除某個學(xué)生信息。
7. 增加學(xué)生信息:不能在第一個功能上增加學(xué)生信息,只能在這個功能上實(shí)現(xiàn)
8. 退出。
系統(tǒng)主程序
輸入和儲存學(xué)生信息
查
5、 看 學(xué) 生
查 找 學(xué) 生
修 改 學(xué) 生
刪 除 學(xué) 生
增 加 學(xué) 生
內(nèi)容二:“簡單電梯運(yùn)行模擬系統(tǒng)設(shè)計”
本設(shè)計內(nèi)容可用面向?qū)ο蟪绦蛟O(shè)計方法完成。
某公司要建立一棟兩層的辦公大樓,并裝上1 部新的電梯,每個電梯限載1 人,要求開發(fā)一個面向?qū)?
象的模擬程序,模擬電梯的操作,以確定這個電梯能否滿足需要,對于發(fā)生的每個重要事件顯示一個消息 (例如:“1人到了2 樓”,“人進(jìn)入了電梯”等)。
為了省電,電梯每天在一樓關(guān)門等待。
模擬程序包括一個時鐘,每天從時間0 開始,每秒滴答一次,模擬程序隨機(jī)設(shè)置每一層第一個人到來 的時間,模擬程序生成一個新到的人并將人放在這一層,
6、然后這個人按下該層的按鈕,請求電梯開門。這 個人的目的地不能與他上電梯的樓層相同。電梯從一層到二層的時間需要5 秒。
擴(kuò)展 1:如果樓層為多層,程序應(yīng)作何改動?
擴(kuò)展 2:如果有多部電梯,程序應(yīng)如何實(shí)現(xiàn)電梯在每一層的載客和下客?而且最省電?
擴(kuò)展 3:如果電梯可搭載多位乘客,程序如何實(shí)現(xiàn)?
擴(kuò)展 4:(選做)用動畫圖形輸出,在屏幕上顯示電梯上下移動。
內(nèi)容三:“MFC可視化程序設(shè)計”
本設(shè)計內(nèi)容可用可視化程序設(shè)計方法完成。
每個學(xué)生可任選下列問題1-8中的不少于六個小問題,或問題7-10不少于三個小問題,用MFC類庫
方法編程設(shè)計(指導(dǎo)教師也可以要求選取其他組合的問題):
問
7、題 1:“球體積和球表面積計算設(shè)計”。設(shè)計一個對話框,可以輸入球的半徑,輸出球體積和球表面 積。
問題 2:“長方體體積和表面積計算設(shè)計”。設(shè)計一個對話框,可以輸入長方體的長、寬和高,輸出長 方體的體積和表面積。
問題 3:“袖珍計算器設(shè)計”。計算加、減、乘、除、乘方、開方。在用戶界面上設(shè)置兩個編輯框,分 別用于輸入左操作數(shù)和右操作數(shù),兩個靜態(tài)文本分別用于顯示“=”號和運(yùn)算結(jié)果,其中用六個單選按鈕 用于選擇運(yùn)算符。
要求能夠存儲操作數(shù)、操作碼和結(jié)果;執(zhí)行算術(shù)操作;實(shí)現(xiàn)控制功能,如清除、全部清除和改變符號; 根據(jù)需要產(chǎn)生在計算引擎中存儲的量;對外報告錯誤時,保存內(nèi)部狀態(tài)。
擴(kuò)展 1:接收
8、鍵盤輸入;識別操作和數(shù)字操作數(shù);從用戶輸入產(chǎn)生下一個操作和操作數(shù);顯示操作碼 操作數(shù)、結(jié)果、錯誤;限制錯誤的輸入。
擴(kuò)展2:建立合適大小的模擬LCD窗口;在LCD窗口中顯示給定的字符串;顯示給定的單一字符操 作碼;清除LCD窗口;恢復(fù)對用戶的正常I/O。
問題4:“數(shù)據(jù)記錄框設(shè)計”。編寫一個列表框應(yīng)用程序,可以進(jìn)行添加和刪除數(shù)據(jù)記錄:姓名、性別、 年齡、電話號碼、單位、住址、郵政編碼,列表框用于顯示對應(yīng)某數(shù)據(jù)記錄的姓名。
問題 5:“調(diào)色板設(shè)計”。三原色紅色、綠色、藍(lán)色參數(shù)分別可用四個單選按鈕選取為:0、80、160、
255 的其中一個值,三種原色的參數(shù)選定后,在編輯框內(nèi)顯示調(diào)色后的
9、顏色變化。
問題 6:創(chuàng)建單文檔應(yīng)用程序框架,可在菜單的各欄目分別調(diào)出上述題1 到題5功能的各對話框。
問題 7:設(shè)計一個數(shù)制轉(zhuǎn)換類:實(shí)現(xiàn)十進(jìn)制—二進(jìn)制,十進(jìn)制—八進(jìn)制轉(zhuǎn)換。輸入十進(jìn)制數(shù),轉(zhuǎn)換后 分別顯示二進(jìn)制,八進(jìn)制數(shù)。(不能調(diào)用庫函數(shù))
問題 8:設(shè)計一個文本加密類:文本包含26 個字母和數(shù)字0--9。接受用戶輸入文本,按加密按鈕輸 出加密后的文本;對于加密后的文本,按解密按鈕可以得到原文。(通過簡單的字符替換)
問題 9:
(1)、構(gòu)造一個分?jǐn)?shù)類CFractions,它有兩個整數(shù)型數(shù)據(jù)成員,分別用來表示分?jǐn)?shù)的分子和分母。類
的構(gòu)造函數(shù)在沒有指定初始值時,將類的兩個成員變量初始
10、化為1。構(gòu)造函數(shù)必須禁止將分母初始化為0。
類能夠按照下面的公式完成加、減、乘和除運(yùn)算。
(a) 分?jǐn)?shù)相加:
ac
+ =
bd
ad + be
bd
(b) 分?jǐn)?shù)相減:
a e ad - be
b d bd
(c) 分?jǐn)?shù)相乘:
(d) 分?jǐn)?shù)相除
a e ae
X — —
b d bd a e ad
? — — b d be
(2)、將類CFractions加入到一個對話框程序中,并測試該類的每一個成員函數(shù)及友元函數(shù)。
問題 10:
(1)、構(gòu)造一個分?jǐn)?shù)類CVector3D,它有三個浮點(diǎn)型數(shù)據(jù)成員,分別用來表示該向量的x、y、和
11、z分
量。類的構(gòu)造函數(shù)在沒有指定初始值時,將類的三個成員變量初始化為0.0。。類能夠按照下面的公式完成
向量加、減、數(shù)乘和內(nèi)積運(yùn)算。
(a) 向量相加:(x1, y1, z1) + (x2, y2, z2) = (x1+x2, y1+y2, z1+z2)
(b) 向量相減: (x1, y1, z1) - (x2, y2, z2) = (x1-x2, y1-y2, z1-z2)
(c) 向量數(shù)乘: k(x1, y1, z1) = (kx1, ky1, kz1)
(d) 向量內(nèi)積: (x1, y1, z1) * (x2, y2, z2) = x1x2+y1y2+z1z2
(2)、將類
12、CVector3D加入到一個對話框程序中,并測試該類的每一個成員函數(shù)及友元函數(shù)。
課程設(shè)計要求:
1) 提供《程序設(shè)計課程設(shè)計》說明文檔文件(其中包括各功能模塊算法說明、功能說明和總結(jié)報告等)
2) 提供源程序(完整的工程文件);
將上述 1) -2)內(nèi)容刻光盤,文檔文件內(nèi)容(除源程序代碼)打印上交【注:全班都刻在一張光盤內(nèi)】。
四、考核方式與評分標(biāo)準(zhǔn)
考核方式:考查
評分標(biāo)準(zhǔn):五分制,分優(yōu)、良、中、及格、不及格。要求獨(dú)立完成(若有兩位或以上的同學(xué)采用完全 相同的解決方案或有相同源代碼的模塊,則這些同學(xué)全部不合格)。
參照教學(xué)基本要求,程序設(shè)計相關(guān)文檔和總結(jié)報告占25%,設(shè)計質(zhì)
13、量即設(shè)計的完整性、合理性、正確 性方面(具體材料包括功能模塊結(jié)構(gòu)說明、原代碼、程序運(yùn)行結(jié)果等)占 60%,學(xué)生學(xué)習(xí)態(tài)度及出勤情況 等占 15%。
注意:如果想要得到優(yōu)等成績。必須在最后讓我當(dāng)場檢查程序,并回答我的提問。提問內(nèi)容包括:設(shè) 計思路、代碼作用(你的程序里的任何一段代碼)以及其它和程序相關(guān)的任何問題。
五、配套教材
參考教材:
1)《C 程序設(shè)計(第三版)》,譚浩強(qiáng)著 清華大學(xué)出版社出版,2005 年版
2) 《C++程序設(shè)計基礎(chǔ)》(第2版),周靄如編著,電子工業(yè)出版社,2008年版。
3) 實(shí)驗指導(dǎo)書:《程序設(shè)計基礎(chǔ)實(shí)驗指導(dǎo)書》、《面向?qū)ο蟪绦蛟O(shè)計實(shí)驗指導(dǎo)書》,廣州大學(xué)計算機(jī)科 學(xué)與教育軟件學(xué)院編。
程以下序是課程設(shè)設(shè)計統(tǒng)一計封面格式
課程設(shè)計報告
學(xué) 院:計算機(jī)科學(xué)與教育軟件
專業(yè)班級: 計算機(jī)大類09 ()班
學(xué) 號:
姓 名:
完成日期: 2010年 月 日