版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
資料內容僅供您學習參考,如有不當或者侵權,請聯系改正或者刪除。《專業(yè)基礎實訓(C案例)》實
驗
指
導
書
余兆釵
編寫
適用專業(yè):計算機科學與技術
閩江學院_計算機系年
月前
言
本課程是計算機科學與技術專業(yè)的重要實踐性課程。目的在于使學生加深對C程序設計的理解,鞏固學習內容,熟悉C程序設計思想,培養(yǎng)學生分析問題和解決問題的能力,為學生提供了一個既動手又動腦,獨立實踐的機會。將課本上的理論知識和實際應用問題進行有機結合,提高學生程序設計、程序調試及項目開發(fā)能力。為后續(xù)課程:C++,VisualC++,數據結構,軟件工程,軟件技術基礎等奠定必要的實踐基礎。實驗一教材管理程序實驗學時:6學時實驗類型:綜合 實驗要求:必做一、實驗目的 掌握數組、函數、指針、鏈表、文件的應用學會使用C語言編寫規(guī)模稍大的應用程序二、實驗內容教材管理程序1功能要求: 能經過鍵盤輸入數據,存到文件中。 提供教材信息顯示功能,要求能提供以下顯示方式: 按自然順序顯示,即按文件的保存順序顯示。 按教材名稱順序顯示教材信息。 按出版社排序順序顯示教材信息。 要求能提供以下兩種查詢方式: 按教材名稱查詢 按使用專業(yè)查詢 能對教材記錄進行修改。要求提供按照教材編號對教材數據庫進行修改的功能。 提供初始化功能。該功能能夠將教材文件中的數據清空。 能夠向文件添加新的教材數據 能夠按照教材編號刪除教材數據2技術要求 每條教材記錄至少包含以下信息:編號,名稱,價格,數量,專業(yè),作者,出版社,備注。 教材數據用文件形式保存,存儲位置、文件名、文件格式自定 教材管理程序的各項功能要求編寫獨立的函數或主控函數予以實現,而且,其所屬的各項子功能盡量由獨立的函數實現。 以菜單方式實現功能選擇控制。(界面能夠不用圖形顯示方式) 初始化數據文件要求輸入密碼驗證功能。 能保存100條記錄的管理.三、實驗原理、方法和手段 參考案例、課件和教材相關內容。上機操作四、實驗組織運行要求 集中授課五、實驗條件軟件配置:WindowsXPProfessional、vc++6.0硬件配置:CPUP42.0G以上、內存512MB以上六、實驗步驟 1.程序功能模塊劃分2.設計教材數據結構3.規(guī)劃程序結構、各個函數名稱,公共變量定義2.設計系統各個函數3.設計主函數進行測試七、思考題八、實驗報告 要求實驗報告的內容包括實驗目的、實驗設備、實驗內容、實驗結果、思考題五個部分。九、其它說明實驗二文本編輯器實驗學時:6學時實驗類型:綜合 實驗要求:必做一、實驗目的 1.掌握TC環(huán)境下文本屏幕輸出、鍵盤輸入2.掌握在TC環(huán)境下制作菜單3.掌握圖形交互式應用程序的開發(fā)與設計二、實驗內容制作文本編輯器系統。具備插入、刪除行/字符的功能,能查找、替換字符串,能把文本保存到文件,能從文件里讀出文本,制作三個下拉式菜單:file,edit,help實現鍵盤按鍵功能:退格、刪除、回車、上下左右File菜單下至少包含loadfile,savefileEdit菜單下至少包含查找替換功能三、實驗原理、方法和手段 認真學習教材內容:文本窗口的定義、文本窗口顏色和其它屬性的設置、窗口內文本的輸入輸出函數、有關屏幕操作的函數、鍵盤輸入、菜單顯示四、實驗組織運行要求 集中授課五、實驗條件軟件配置:WindowsXPProfessional、TC2.0硬件配置:CPUP42.0G以上、內存512MB以上六、實驗步驟 1.程序功能模塊劃分2.文本編輯器數據結構3.規(guī)劃程序結構、各個函數名稱,公共變量定義2.設計系統各個函數3.設計主函數進行測試七、思考題八、實驗報告 要求實驗報告的內容包括實驗目的、實驗設備、實驗內容、實驗結果、思考題五個部分。九、其它說明實驗三圖形顯示方式和鼠標輸入、漢字顯示技術實驗學時:4學時實驗類型:綜合 實驗要求:必做一、實驗目的掌握圖形顯示方式和鼠標輸入、漢字顯示技術二、實驗內容繪制柱狀圖根據下列表中的數據繪制下圖的柱狀圖數據能夠轉換為整型在屏幕上制作一個退出按鈕,鼠標單擊這個按鈕,程序運行結束實現鼠標功能,實現漢字顯示三、實驗原理、方法和手段所需要的函數能夠在書本或者開發(fā)環(huán)境里查。使用圖形顯示方式柱狀圖使用三維立體直方圖函數voidfarbar3d(intx1,inty1,intx2,inty2intdepth,inttopflag);圖形下面的文本顯示能夠使用outtextxy(intx,inty,charfar*textstring);畫線的函數顏色控制函數setcolor(intcolor)四、實驗組織運行要求 集中授課五、實驗條件軟件配置:WindowsXPProfessional、tc2.0硬件配置:CPUP42.0G以上、內存512MB以上六、實驗步驟 1.程序功能模塊劃分2.設計數據結構3.規(guī)劃程序結構、各個函數名稱,公共變量定義2.設計系統各個函數3.設計主函數進行測試七、思考題八、實驗報告 要求實驗報告的內容包括實驗目的、實驗設備、實驗內容、實驗結果、思考題五個部分。九、其它說明實驗四動畫設計實驗學時:4學時實驗類型:驗證 實驗要求:必做一、實驗目的 掌握TC環(huán)境下圖像顯示技術與動畫技術二、實驗內容編寫程序,該程序將在繁星點綴的黑色背景中顯示一個經緯線為藍色的并圍繞著一紅色光環(huán)的地球,光環(huán)時隱時現,地球也在自西向東轉動,一藍色宇宙飛船從左自右緩緩飛過,周而復始。屏幕下方顯示AROUNDTHEWORLD字樣三、實驗原理、方法和手段 在上面的問題中,我們已能解決的是在圖形模式下畫靜態(tài)的圖形,例如產生星空背景。當然,若地球、光環(huán)甚至宇宙飛船不是動態(tài)的,我們同樣能夠完成。一旦一個圖形畫在了屏幕上就成為整個屏幕圖象的一部分。那么如何產生動態(tài)的畫面呢?我們知道電影或動畫片是由一張張圖象組成的,利用人眼不能夠分辨出時間間隔在25毫秒內的動態(tài)圖象變化這一特性,當這些連續(xù)圖象被放映時,從視覺效果上給人以動的感覺。因此在計算機屏幕上產生運動的效果需要動畫技術。利用cleardevice()和delay()函數相互配合,先畫一幅圖形,讓它延遲一個時間,然后清屏,再畫另一幅,如此重復,形成動態(tài)效果。利用圖視口設置技術,能夠實現圖視口動畫效果,例如可在不同圖視口中設置同樣的圖象,而讓圖視口沿x軸方向移動設置,這次出現前要清除上次圖視口的內容,這樣就會出現圖象沿x軸移動的效果。也就是說,在位置動態(tài)變化,但大小不變的圖視口中(用setviewpot()函數),設置固定圖形(也可是微小變化的圖象),這樣雖呈現在觀察者面前的是當前圖視口位置在動態(tài)變化,但視覺上卻象是看到圖象在屏幕上動態(tài)變化一樣。四、實驗組織運行要求 集中授課五、實驗條件軟件配置:WindowsXPProfessional、tc2.0硬件配置:CPUP42.0G以上、內存512MB以上六、實驗步驟首先用outtextx()函數在屏幕下方顯示了AROUNDTHEWORLD字樣,然后調用draw_image(x,y)函數畫出尾部帶有三個72天線的飛船,用imagesize()函數求出了該函數所占字節(jié)數,然后用pt_add指針指向存放該圖形的緩沖區(qū),并將飛船圖形存在該緩沖區(qū),接著調用putstar()函數畫星星,該函數用了初始化隨機數發(fā)生器函數srand(),和隨機數發(fā)生器random(r),srand使得random()每次重新產生新起點的隨機數,該隨機數為0~r-1,這樣就將在畫面隨機地產生由小圓點和象素點構成的夜空小星星畫面。在while循環(huán)中,當不按鍵時,就重復產生一個紅色光環(huán),接著又是黑色光環(huán),這實際上使得產生的紅色光環(huán)時隱時現,因而給人以動的感覺,接著的for循環(huán)則用來產生地球的經緯線,它們實際上是由不同長短半徑的橢圓組成,給人以立體感。為了造成動的感覺,使當i為偶數時為淺藍色,奇數時為黑色,這樣看起來就象地球自西向東轉一樣。緯線則不動。接著用putimage()將飛船圖象以每次x方向增加6復現在屏幕上,當x達到最大邊界max時,便重新從x=2處開始。這個while循環(huán)中的第一個putimage()將飛船畫面與原來的畫面進行異或操作,從而實現原畫面的恢復工作,第二個putimage()將在新位置讓飛船出現,下一輪循環(huán)時,將由第一個putimage將其覆蓋并恢復原屏幕圖象,這樣就實現了飛船的飛行。七、思考題八、實驗報告 要求實驗報告的內容包括實驗目的、實驗設備、實驗內容、實驗結果、思考題五個部分。九、其它說明實驗五制作中斷處理程序實驗學時:2學時實驗類型:驗證 實驗要求:必做一、實驗目的 掌握如何用TurboC實現自己的中斷服務二、實驗內容1)從鍵盤I/O端口60H讀取一個字節(jié)的掃描碼,并將它存入一個全局變量中供main程序處理,或者將它存入一個數據表中。2)讀取控制寄存器61H,并用80H完成一個OR操作。3)將結果寫回控制寄存器端口61H。4)在控制寄存器上用7fh完成一個AND操作,以便復位鍵盤觸發(fā)器,告訴硬件一個按鍵已被處理,能夠讀下一個鍵了。5)復位中斷控制器,向端口20h寫一個20h。三、實驗原理、方法和手段 用TurboC實現編寫中斷程序的方法可用三部分來實現:即編寫中斷服務程序、安裝中斷服務程序、激活中斷服務程序TurboC為此提供了一種新的函數類型interrupt,它將保存由該類型函數參數指出的各寄存器的值,而在退出該函數,即中斷恢復時,再復原這些寄存器的值,因而用戶的中斷服務程序必須定義成這種類型的函數。如中斷服務程序名定為myp,則必須將這個函數說明成這樣:voidinterruptmyp(unsignedbp,unsieneddi,unsignedsi,unsignedds,unsignedes,unsigneddx,unsignedcx,unsignedbx,unsignedax,unsignedip,unsignedcs,un3ignedflags);若是在小模式下的程序,只有一個段,在中斷服務程序中用戶就能夠像用無符號整數變量一樣,使用這些寄存器。若中斷服務程序中不使用上述的寄存器,也就不會改變這些寄存器原來的值,因而也就不需保存它們,這樣在定義這種中斷類型的函數時,可不寫這些寄存器參數,如可寫成:voidinterruptmyp(){…}對于硬中斷,則在中斷服務程序結束前要送中斷結束命令字給系統的中斷控制寄存器,其口地址為0x20,中斷結束命令字也為0x20,即outportb(0x20,0x20);在中斷服務程序中,若不允許別的優(yōu)先級較高的中斷打斷它,則要禁止中斷,可用函數disable()來關閉中斷。若允許中斷,則可用開中斷函數enable()來開放中斷。四、實驗組織運行要求 集中授課五、實驗條件軟件配置:WindowsXPProfessional、IE5.5以上、tc2.0硬件配置:CPUP42.0G以上、內存512MB以上六、實驗步驟利用每秒18.2次的定時硬中斷每秒要調用18.2次的軟中斷0xlc,將中斷0xlc中斷服務程序改寫為對進入該中斷的次數進行計數的程序,每到18次時,在屏幕的右上角開一個窗口(window(50,1,54,3)),在窗口的中間位置顯示0~9十個數字中的一個,頻率接近于秒表數(不過只顯示十個數)。由于這是一個硬中斷演示程序,計時并不準確,若要精確計時,則應91次0xlc中斷為5秒。七、思考題八、實驗報告 要求實驗報告的內容包括實驗目的、實驗設備、實驗內容、實驗結果、思考題五個部分。九、其它說明實驗六聲音播放技術實驗學時:2學時實驗類型:驗證 實驗要求:必做一、實驗目的掌握TC環(huán)境下的聲音播放技術 二、實驗內容樂譜的1、2、3、4、5、6、7,加上高低音能夠譜出動聽的曲子,請編寫程序,使計算機能夠播放歌曲。三、實驗原理、方法和手段 在PC機的系統板上裝有定時與計數器8253芯片,還有8255可編程并行接口芯片,由它們組成的硬件電路可用來產生PC機內揚聲器的聲音,對于286、386、486、586等PC微機,由于采用了超大規(guī)模集成電路,因而看不到這些芯片,它們均集成在外圍電路芯片上了。當我們操作計算機時,常常聽到的發(fā)聲,就是由軟件控制這些電路而產生的。聲音的長短和音調的高低,均可由程序進行控制。在揚聲器電路中,定時器的頻率決定了揚聲器發(fā)音的頻率,因此可經過設定定時器電路的頻率來使揚聲器發(fā)出不同的聲音。對定時器電路進行頻率設定時,首先對其命令寄存器(口地址為0x43)寫命令字,如寫入0xb6,這可用outporb(0x43,0xb6);來實現,則表示選擇該定時器的第二個通道,計數頻率先送低8位(二進制),后送高8位。接著用口地址0x42送頻率計數值,先送低8位,后送高8位,即用outportb(0x42,低8位頻率計數值)和outportb(0x42,高8位頻率計數值)來實現。經過這兩步使定時器電路產生一系列方波信號,此信號是否能推動揚聲器發(fā)音,還要看由8255產生的門控信號和送數信號是否為1,而它們也可編程,口地址為0x61。為了不影響8255口地址61H中的其它高位,應先輸入口地址6lH的現有值bits,即用bits=inportb(0x61)來實現,然后就可用outportb(0x61,bits|3)來允許發(fā)聲,而用outportb(0x61,bits&0xfc)來禁止發(fā)聲,且不改變8255其它位原來的值,關于這方面的詳細內容能夠參閱IBMPC/XT接口技術方面書籍有關內容。四、實驗組織運行要求 集中授課五、實驗條件軟件配置:WindowsXPProfessional、IE5.5以上、tc2.0硬件配置:CPUP42.0G以上、內存512MB以上六、實驗步驟開辟兩個數組freq[96]和dely[96]分別用于存儲聲音的頻率和延時。采用圖形方式,利用printtext()函數在屏幕上分別顯示字符串Welcome!","Pleasepressanykeytostart......","Enjoyyourself!”,"Pressanykeytoend!"和"Thankyou!ByeBye......"
printtext()定義如下:
voidprinttext(unsignedchar*temp[],inti)
{
setcolor(4);//設置顏色為red
settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);//設置字符的字體,方向和大小
outtextxy(100,40+i*50,temp[i]);//
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科學技術職業(yè)學院《中學政治學科教學法與微格實訓》2023-2024學年第一學期期末試卷
- 廣東金融學院《體育場館智能化運營》2023-2024學年第一學期期末試卷
- 廣東工業(yè)大學《路面工程》2023-2024學年第一學期期末試卷
- 廣東工程職業(yè)技術學院《NoSQL數據庫系統》2023-2024學年第一學期期末試卷
- 廣東創(chuàng)新科技職業(yè)學院《園林設計初步Ⅱ》2023-2024學年第一學期期末試卷
- 廣東財經大學《醫(yī)學課程》2023-2024學年第一學期期末試卷
- 小學生計算能力提升課件
- 廣東財經大學《高級通信系統》2023-2024學年第一學期期末試卷
- 廣東白云學院《素描人體》2023-2024學年第一學期期末試卷
- 贛州職業(yè)技術學院《餐飲運營管理1(菜肴酒水)》2023-2024學年第一學期期末試卷
- 2024年員工簡單個人總結
- 2024年南京市第一醫(yī)院分院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 鄧州市龍理鄉(xiāng)第一初級中學-2025年春節(jié)寒假跨學科主題實踐作業(yè)模板【課件】
- 電力改造電力安裝施工合同
- (新疆一模)2025屆高三高考適應性檢測分學科第一次模擬考試 生物試卷(含答案解析)
- 【大學課件】文物數字化技術及數字化文物系統初探
- 高一數學上學期期末模擬試卷03-【中職專用】2024-2025學年高一數學上學期(高教版2023基礎模塊)(解析版)
- 2024年中央經濟工作會議精神解讀
- 熱電站汽輪機發(fā)電安全操作規(guī)程(2篇)
- 2025年中考物理復習資料專題18 生活用電(知識梳理+典例+練習)(原卷版)
- 2024衛(wèi)星遙感應用服務平臺建設與運營合同
評論
0/150
提交評論