面向?qū)ο缶幊虒?shí)踐 教學(xué)大綱_第1頁
面向?qū)ο缶幊虒?shí)踐 教學(xué)大綱_第2頁
面向?qū)ο缶幊虒?shí)踐 教學(xué)大綱_第3頁
面向?qū)ο缶幊虒?shí)踐 教學(xué)大綱_第4頁
面向?qū)ο缶幊虒?shí)踐 教學(xué)大綱_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、面向?qū)ο缶幊虒?shí)踐一、課程說明課程編號: 130225Z11課程名稱:面向?qū)ο缶幊虒?shí)踐/Practice for Object-Oriented Programming課程類別:專業(yè)課(實(shí)踐教育課程)學(xué)時/學(xué)分:32/2(2周)先修課程:數(shù)學(xué)分析(一)、(二),高等代數(shù)(一),(二)C+程序設(shè)計(jì),面向?qū)ο蟪绦蛟O(shè)計(jì),數(shù)據(jù)結(jié)構(gòu)。適用專業(yè): 信息與計(jì)算科學(xué)、應(yīng)用數(shù)學(xué)專業(yè)教材、教學(xué)參考書: Visual C+2010入門經(jīng)典(第5版),作者ivor horton,清華大學(xué)出版社, 2010。Visual C+.NET技術(shù)內(nèi)幕(第6版),作者George Shepherd,清華大學(xué)出版社,2004。二、課

2、程設(shè)置的目的意義面向?qū)ο笳n程設(shè)計(jì)以visual c+做為編程語言,visual studio2010版本或以后版本為開發(fā)平臺。是為學(xué)生深入掌握面向?qū)ο蟮木幊趟枷搿⒒局R、基本理論和基本方法和實(shí)驗(yàn)技能而設(shè)置的實(shí)踐課程。本課程設(shè)計(jì)的目的在于培養(yǎng)學(xué)生樹立起面向?qū)ο蟮乃枷耄悍庋b,繼承,多態(tài);掌握現(xiàn)代編程的消息驅(qū)動機(jī)制。理解界面制作,事件處理,數(shù)據(jù)i/o的基本思路,從而將實(shí)際問題轉(zhuǎn)化為計(jì)算機(jī)處理的模型,方法和技術(shù)。三、課程設(shè)計(jì)的基本要求面向?qū)ο笳n程設(shè)計(jì)具有很強(qiáng)的技術(shù)性。因此要求指導(dǎo)本課程的教師要有使用visal c+從事開發(fā)的實(shí)際經(jīng)驗(yàn),要精通程序調(diào)試,對常見問題具有解決能力。本課程設(shè)計(jì)所承載的知識、能

3、力和素質(zhì)培養(yǎng)的具體要求如下。知識要求:掌握一定工具性知識:掌握較多的信息科學(xué)方面的基礎(chǔ)知識和基本理論與方法;掌握計(jì)算機(jī)編程技能掌握信息工程應(yīng)用技能visal c+框架基礎(chǔ)知識消息處理機(jī)制的基本理論界面制作技術(shù)之菜單、工具欄、壯態(tài)欄、窗口客戶區(qū)協(xié)同。數(shù)據(jù)i/o基本方法面向?qū)ο蠼7椒╫pengl ,gdi+編程框架配置方法掌握文件讀寫方法能力要求:使用面向?qū)ο缶幊趟枷虢鉀Q實(shí)際問題的能力:建立問題模型、確立適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)算法、編程實(shí)現(xiàn)并能調(diào)試程序。學(xué)習(xí)能力:計(jì)算機(jī)能力是常用常新,常新常用。要培養(yǎng)學(xué)生自主學(xué)習(xí)能力。根據(jù)問題找到適合的工具并學(xué)習(xí)解決問題。資料查找能力:在實(shí)際問題的解決中,借助資料

4、和文獻(xiàn)是從事計(jì)算機(jī)工作的必備能力。素質(zhì)要求:面向?qū)ο笏枷氡旧硎窍到y(tǒng)論,整體論思想。學(xué)生要具備以系統(tǒng)論思想觀察,思考,解決問題的素養(yǎng)。培養(yǎng)學(xué)生它山之石,可以攻玉的解決問題思路。模仿和創(chuàng)新,繼承和發(fā)展并行不悖的計(jì)算機(jī)科學(xué)觀。四、教學(xué)內(nèi)容、重點(diǎn)難點(diǎn)及教學(xué)設(shè)計(jì)環(huán)節(jié)教學(xué)內(nèi)容總學(xué)時學(xué)時分配教學(xué)重點(diǎn)教學(xué)難點(diǎn)教學(xué)方案設(shè)計(jì)(含教學(xué)方法、教學(xué)手段)講課(含研討)實(shí)踐設(shè)計(jì)任務(wù)安排實(shí)習(xí)任務(wù)分組及安排4(小時)確定任務(wù)任務(wù)安排指導(dǎo)任務(wù)調(diào)研及分析各小組調(diào)研實(shí)習(xí)任務(wù),理解任務(wù)實(shí)質(zhì)天天調(diào)研方法分析方法指導(dǎo)方案設(shè)計(jì)給出方案設(shè)計(jì)或工作安排天天設(shè)計(jì)技術(shù)或工作計(jì)劃設(shè)計(jì)方法指導(dǎo)立案實(shí)現(xiàn)完成實(shí)習(xí)任務(wù)天天工具選擇工具使用指導(dǎo)報(bào)告總結(jié)及文檔

5、完善對實(shí)習(xí)任務(wù)進(jìn)行總結(jié)及歸檔天天文檔規(guī)范文檔寫作指導(dǎo)成績評定及就地放假給出成績,就地放假天2天成績評定細(xì)則解讀成績評定指導(dǎo)注:實(shí)踐包括實(shí)驗(yàn)、上機(jī)等.每天安排半天在機(jī)房指導(dǎo);半天學(xué)生自主實(shí)現(xiàn)。五、實(shí)踐教學(xué)內(nèi)容和基本要求服務(wù)器端聊天程序:基于MFC的SOCKET編程,利用CSocket實(shí)現(xiàn)一個基于TCP的服務(wù)器端聊天程序。其中使用到了API socket的基礎(chǔ)知識。聊天客戶端程序:相應(yīng)的客戶端必須能夠與服務(wù)器端相匹配才能進(jìn)行通信。客戶端聊天程序需要完成下列的幾個功能。a客戶端聊天程序要負(fù)責(zé)建立和維護(hù)與服務(wù)器的連接,通過獲取用戶的設(shè)置嘗試與服務(wù)器的連接并且隨時檢測連接的狀態(tài)。 b客戶端聊天程序要把用

6、戶輸入的信息及時發(fā)送到聊天服務(wù)器。一般情況下,讓用戶輸入一行信息并且按下回車鍵之后聊天程序就要把這一行信息發(fā)送出去,才能及時地滿足用戶的交互需求。c客戶端聊天程序要隨時準(zhǔn)備好接收來自服務(wù)器的信息,隨時把接收到的信息顯示出來,讓用戶及時的看到對方的響應(yīng)。 d在用戶退出聊天過程的時候要關(guān)閉與服務(wù)器的連接*比較好的做法是提前通知服務(wù)器,或者直接給服務(wù)器發(fā)送一條退出通知,使得服務(wù)器能夠及時掌握客戶端的連接狀態(tài),把對方客戶的退出信息及時發(fā)送到對等實(shí)體上。客戶端聊天程序需要使用一個通過CSocket類派生出來的類CChatSocket來實(shí)現(xiàn)。該套接字用來發(fā)動一個與服務(wù)器的連接請求和維持與服務(wù)器的連接,發(fā)送

7、和接收聊天信息,來完成上述的各種功能。操作調(diào)色板:利用操作調(diào)色板繪制火苗的不同部位的顏色,來達(dá)到火焰的效果。本程序的功能如下:在程序中,火焰的效果分為3種:Wood,Natural Gas和Kryptonite;利用Max滑動控件可以改變火焰的高度;在“Properties”組件欄中,可以選擇“Fire”和“Render”效果,單擊Apply按鈕實(shí)現(xiàn)選擇的效果。華容道游戲:本程序主要練習(xí)使用visual studio 2010設(shè)計(jì)一個華容道游戲界面,并練習(xí)使用事件監(jiān)聽器(鼠標(biāo)事件、鍵盤事件和焦點(diǎn)事件)實(shí)現(xiàn)按鈕的移動。編寫一個按鈕的子類,使用該子類創(chuàng)建的對象代表華容道中的人物。通過焦點(diǎn)事件控制人

8、物顏色,當(dāng)人物獲得焦點(diǎn)時顏色為紅色,當(dāng)失去焦點(diǎn)時顏色為黃色。通過鍵盤事件和鼠標(biāo)事件來實(shí)現(xiàn)曹操、關(guān)羽等人物的移動。當(dāng)人物上發(fā)生鼠標(biāo)事件或鍵盤事件時,如果鼠標(biāo)指針的位置是在人物的下方(也就是組件的下半部分)或按下鍵盤的“鍵,該人物向下移動。向左、向右和向上的移動原理類似。點(diǎn)擊“重新開始”可以使各個按鈕復(fù)位,重新開始游戲。通訊錄程序:將每個人的基本信息包括姓名,分類,聯(lián)系方式,電子郵件等存在數(shù)據(jù)庫表中,使用設(shè)計(jì)程序,利用一種數(shù)據(jù)訪問方式實(shí)現(xiàn)連接連接數(shù)據(jù)源,實(shí)現(xiàn)通訊錄的瀏覽,修改,增加,刪除的操作。藍(lán)天白云的模擬:設(shè)計(jì)基于Visual Studio 2010的軟件平臺,利用OpenGl,采用盒子(Bo

9、x)的方法,通過繪制云彩、變換紋理坐標(biāo)實(shí)現(xiàn)云彩流動、霧化云彩等技術(shù),以實(shí)現(xiàn)藍(lán)天白云的模擬。多媒體播放器:利用MFC強(qiáng)大而全面的類庫,結(jié)合ActiveX控件資源開發(fā)一款簡單而實(shí)用的多媒體播放軟件。本課程設(shè)計(jì)案例制作的多媒體播放器是利用Windows系統(tǒng)自帶的Windows Media Player控件,可以分別通過按鈕和菜單實(shí)現(xiàn)*.mp3、*.mid、*.avi、*.wmv、*.mpeg等媒體文件的打開、播放、暫停、全屏、音量調(diào)節(jié)、快進(jìn)、快退、關(guān)閉等功能。同時具備自制的播放列表,可以按照列表的順序?qū)崿F(xiàn)上一曲、下一曲的播放。計(jì)算器:主要功能如下:a 十進(jìn)制數(shù)的加、減、乘、除簡單計(jì)算。b.科學(xué)計(jì)算函

10、數(shù),包括正弦、余弦、正切、開方、指數(shù)等函數(shù)運(yùn)算。c能以角度和弧度兩種方式實(shí)現(xiàn)正弦、余弦、正切函數(shù)運(yùn)算。d能進(jìn)行科學(xué)型與標(biāo)準(zhǔn)型之間的轉(zhuǎn)化。瀏覽器設(shè)計(jì):使用mfc 的ChtmlView類實(shí)現(xiàn)一個瀏覽器,具備瀏覽器的基本功能。屏幕保護(hù)程序:Visual C+ 2010以上版本,利用MFC創(chuàng)建Windows兼容的屏幕保護(hù)程序。當(dāng)系統(tǒng)檢測到一段時間內(nèi)沒有鼠標(biāo)和鍵盤消息輸入時就自動進(jìn)入屏幕保護(hù)程序,一旦有鼠標(biāo)或鍵盤輸入,就自動關(guān)閉屏幕保護(hù)程序。簡單畫圖軟件:在本繪圖應(yīng)用程序中,我們將實(shí)現(xiàn)一般繪圖應(yīng)用程序所具有的絕大多數(shù)功能,并提供一些額外的輔助功能。具體而言,其實(shí)的功能主要包括如下方面。a繪制圖元直線圖元

11、,或者稱為線段圖元,應(yīng)許用戶使用鼠標(biāo)選擇直線頂點(diǎn)繪制。橢圓圖元, 應(yīng)許用戶使用鼠標(biāo)繪制橢圓,也可以繪制圓形。矩形圖元,使用鼠標(biāo)控制矩形的位置和外形。繪制文本,在用戶選定的位置輸出用戶指定的文本。b改變繪制條件在繪制圖元時,還要能夠改變繪制條件,包括:改變線條顏色,使用戶可以繪制出不同顏色的圖元。改變線條類型,使用戶可以繪制出不同線型的圖元。c圖元修改在繪制圖元時,常常需要對其進(jìn)行修改,例如改變顏色,尺寸等。在程序中能夠?qū)崿F(xiàn)圖元的修改功能包括:修改被選圖元顏色。改變被選圖元形狀。改變被選圖元線性。d文件持久性對于應(yīng)用程序來說文件的持久性十分重要,如果不能保證這一點(diǎn),應(yīng)用程序就沒有什么價(jià)值。在應(yīng)用

12、程序中能夠完成圖形文件的保存,打開,打印。龜兔賽跑游戲:有兩只兔子和兩只烏龜,分別位于4個角上,并可以相互追逐。假設(shè)第一只烏龜先移動,這樣第一只兔子和第一只烏龜間可用斜線連接,第一只兔子應(yīng)該在該斜線上追逐第一只烏龜。由于第一只兔子進(jìn)行了移動,因而第二只烏龜和第一只兔子也可以用斜線來連接,并且第二只烏龜應(yīng)該在此斜線上追逐第一只兔子,依次類推并如此往復(fù)。計(jì)算它們相互追逐的軌跡,建立相應(yīng)的模型,并用OpenGL來實(shí)現(xiàn)。算法設(shè)計(jì)時烏龜和兔子分別用一個點(diǎn)來代替,求新產(chǎn)生的斜線上烏龜和兔子的位置坐標(biāo)即可。指針式鐘表設(shè)計(jì):模擬指針式鐘表,主要使用timer 控件及獲取系統(tǒng)時鐘api函數(shù)及基本的gdi繪制技術(shù)

13、。一開始,程序繪制出一面旗幟,并不斷飄動。分別按下D、F、K、L、R、S、T各鍵,并進(jìn)行各種組合,看看畫面結(jié)果有什么變化。按下D鍵可以控制深度的測試;按下F鍵可以控制旗幟的繪制過程;按下K鍵則使旗幟停止飄動,再按一次則又飄起來;按下L鍵可以取消或允許光照;按下R鍵則可以使旗幟旋轉(zhuǎn)起來;按下S鍵則可以控制曲面是光滑的還是由刻板面組成的;按下T鍵則可以用紋理來控制旗幟的亮度。24點(diǎn)游戲:實(shí)現(xiàn)隨機(jī)發(fā)牌,根據(jù)所示的撲克牌,準(zhǔn)確的輸入相應(yīng)的數(shù)字,利用加、減、乘、除等算術(shù)運(yùn)算,進(jìn)行簡單的函數(shù)計(jì)算,判斷運(yùn)行結(jié)果是否等于24,顯示“正確”或“錯誤”,并添加計(jì)時器對游戲時間進(jìn)行限制,設(shè)置難度,累計(jì)積分等。滾動的

14、西瓜:用VS2010制作一個西瓜,運(yùn)行時按下空格鍵,西瓜停止?jié)L動,再按一次,又滾動了起來,按下s鍵,西瓜變成了一個線框球,再按一次,又變成了西瓜。假定這個西瓜正好是一個球狀。想一想西瓜皮:青黑相間,有經(jīng)線狀,有兩極。這就決定了我們應(yīng)該采用經(jīng)緯線劃分的方法來有限單元化這個球,因?yàn)橥粭l經(jīng)線上的紋理或顏色應(yīng)該大致相同,這就便于程序的實(shí)現(xiàn)。比如,怎么樣來創(chuàng)作一個球?球是曲面,按有限單元化的思想就是將它進(jìn)行曲面小片化。地理位置是通過經(jīng)緯線來標(biāo)定的,一個球同樣可以按這種方法來劃分。經(jīng)線和緯線的交點(diǎn)就是我們編程時要利用的幾何頂點(diǎn)。相鄰緯線之間的帶狀表面可以通過四邊形片來構(gòu)成。這就會遇到一個問題:南極和北極

15、怎么處理?可以通過三角形扇來完成兩極表面的構(gòu)造。法線向量則很好辦,球在每一點(diǎn)的法線向量均過球心,指向觀察者。紋理坐標(biāo)則值得考究。地震SEGY數(shù)據(jù)讀取及二維顯示:Segy格式的地震數(shù)據(jù)文件,屬于典型的流式文件,它的信息和數(shù)據(jù)都是按字節(jié)順序一個個地存放的,每個字節(jié)都有其特定的含義。這種格式的文件,由文件頭部的3600字節(jié)以及地震道組成。文件頭前部的3200字節(jié)共分為40行,每行80個字符,但這些字符不是ascii碼,是一種稱為ebcdic的編碼。一般這部分都不去讀,或者只能顯示出來查看其中的內(nèi)容。接下來是400字節(jié)的二進(jìn)制部分。這里面有長整型數(shù)和短整型數(shù)。每個地震道由道頭240字節(jié)和地震數(shù)據(jù)組成。

16、地震數(shù)據(jù)的個數(shù)和類型(指它是浮點(diǎn)數(shù)整數(shù)還是什么)文件頭中有定義。此處我們假定所有的數(shù)據(jù)都是微機(jī)的四字節(jié)浮點(diǎn)數(shù)。了解文件頭,道頭,和數(shù)據(jù)的數(shù)據(jù)格式,及相關(guān)文件參數(shù),正確讀取后進(jìn)行數(shù)據(jù)顯示和波形顯示?;趍fc的gdi+數(shù)字圖像處理之圖像顯示案例制作。研究gdi+實(shí)現(xiàn)各種圖像格式的圖像顯示。基于mfc的gdi+數(shù)字圖像處理之小波域的小波閾值去噪案例制作:小波萎縮法是目前研究最為廣泛的方法,小波萎縮法又分成如下兩類:第1類是閾值萎縮,由于閾值萎縮主要基于如下事實(shí),即比較大的小波系數(shù)一般都是以實(shí)際信號為主,而比較小的系數(shù)則很大程度是噪聲。因此可通過設(shè)定合適的閾值,首先將小于閩值的系數(shù)置零,而保留大于閉

17、值的小波系數(shù);然后經(jīng)過閾值函數(shù)映射得到估計(jì)系數(shù);最后對估計(jì)系數(shù)進(jìn)行逆變換,就可以實(shí)現(xiàn)去噪和重建;而另外一種萎縮方法則不同,它是通過判斷系數(shù)被噪聲污染的程度,并為這種程度引入各種度量方法(例如概率和隸屬度等),進(jìn)而確定萎縮的比例,所以這種萎縮方法又被稱為比例萎縮。閾值萎縮方法中的兩個基本要素是閾值和閾值函數(shù)。查找參考文獻(xiàn),對其中的方法進(jìn)行實(shí)現(xiàn)及案例制作。本案例可擴(kuò)展為其它圖像去噪案例。閾值的選擇:閾值的確定在閾值萎縮中是最關(guān)鍵的。目前使用的閾值可以分成全局閾值和局部適應(yīng)閾值兩類。其中,全局閾值對各層所有的小波系數(shù)或研究同一層內(nèi)的小波系數(shù)都是統(tǒng)一的;而局部適應(yīng)閾值是根據(jù)當(dāng)前系數(shù)周圍的局部情況來確定

18、閾值。基于mfc的gdi+數(shù)字圖像處理之圖像重建反走樣案例制作:計(jì)算機(jī)生成圖像時通常存在三種走樣現(xiàn)象中的兩種:鋸齒形邊以及圖形細(xì)節(jié)或紋理繪制失真。第三種現(xiàn)象出現(xiàn)在顯示非常微小對象的場合?;旧戏醋邩臃椒煞譃閮深?。第一類是提高分辨率 即增加采樣點(diǎn)(提高采樣頻率)。然而,CRT光柵掃描設(shè)備顯示非常精細(xì)光柵的能力是有限的,因此人們通常是在較高分辨率上對光柵進(jìn)行計(jì)算,然后采用某種平均算法(濾除高頻分量)得到較低分辨率的象素的屬性,并顯示在分辨率較低的顯示器上 。這種方法稱為超采樣或后置濾波。另一類反走樣是把像素作為一個有限區(qū)域,對區(qū)域采樣來調(diào)整像素的亮度,以光順邊界來減小鋸齒現(xiàn)象。這種方法等價(jià)于圖像的前置濾波。本案例可擴(kuò)展為其它圖像重建案例?;谀0寮夹g(shù)的C+數(shù)據(jù)結(jié)構(gòu)封裝及MFC測試平臺構(gòu)建:對一種常用數(shù)據(jù)結(jié)構(gòu)采用模板類封裝,并應(yīng)用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論