第一篇:恩吉爾曼實(shí)驗(yàn)說(shuō)明
1880年,恩吉爾曼的實(shí)驗(yàn)
恩吉爾曼用水綿進(jìn)行了光合作用的實(shí)驗(yàn)。(1)把載有水綿和好氧細(xì)菌的臨時(shí)裝片放在沒有空氣的黑暗環(huán)境中,然后用極細(xì)的光束照射水綿。通過(guò)顯微鏡觀察,發(fā)現(xiàn)好氧細(xì)菌只集中在葉綠體被光照到的部位附近;(2)如果上述臨時(shí)裝片完全暴露在陽(yáng)光下,好氧細(xì)菌則集中在葉綠體所有受光部位的周圍。
:①一是選用水綿作為實(shí)驗(yàn)材料。水綿不僅具備細(xì)而長(zhǎng)的帶狀葉綠體,而且葉綠體螺旋狀地分布在細(xì)胞中,便于觀察和分析研究。(教師介紹水綿的特征)②二是將臨時(shí)裝片放在黑暗并且沒有空氣的環(huán)境中,排除了環(huán)境中光線和氧的影響,從而確保實(shí)驗(yàn)?zāi)軌蛘5剡M(jìn)行。③三是選用極細(xì)的光束照射,并且用好氧細(xì)菌(教師介紹好氧細(xì)菌)進(jìn)行檢測(cè),從而能夠準(zhǔn)確地判斷出水綿細(xì)胞中釋放氧的部位。④四是進(jìn)行黑暗(局部光照)和曝光的對(duì)比實(shí)驗(yàn),從而明確實(shí)驗(yàn)結(jié)果完全
證明了植物光合作用的放氧結(jié)構(gòu)是葉綠體并且是由光照引起的。
得出結(jié)論植物光合作用的場(chǎng)所是葉綠體,條件是光。
第二篇:M16C62P實(shí)驗(yàn)說(shuō)明
嵌入式課程設(shè)計(jì)實(shí)驗(yàn)說(shuō)明
本文提到的資料均可在ftp上下載
ftp 211.69.206.158:
21用戶名 m16c
密碼 m16c
M16C/62P教學(xué)平臺(tái)實(shí)驗(yàn)項(xiàng)目
基礎(chǔ)性實(shí)驗(yàn)
1.2.3.4.5.LED跑馬燈實(shí)驗(yàn) 按鍵輸入實(shí)驗(yàn) LCD顯示實(shí)驗(yàn) 定時(shí)器實(shí)驗(yàn) 串口通信實(shí)驗(yàn)
關(guān)于這些實(shí)驗(yàn)的說(shuō)明《實(shí)驗(yàn)手冊(cè)》有詳細(xì)的說(shuō)明,該手冊(cè)可以在ftp上下載:211.69.206.158:21,用戶名和密碼都為m16c。通過(guò)這些實(shí)驗(yàn)學(xué)習(xí)M16C芯片,熟悉M16C/61P開發(fā)板的使用。
擴(kuò)展性實(shí)驗(yàn)
1.2.3.4.在uCOS-II平臺(tái)下的程序開發(fā) 嵌入式文件系統(tǒng)應(yīng)用實(shí)驗(yàn) 嵌入式文件系統(tǒng)移植 嵌入式以太網(wǎng)實(shí)驗(yàn)
在uCOS-II平臺(tái)下的程序開發(fā)
實(shí)驗(yàn)?zāi)康模?/p>
學(xué)習(xí)uCOS-II操作系統(tǒng),并學(xué)會(huì)在uCOS-II下編程
實(shí)驗(yàn)內(nèi)容:
學(xué)習(xí)在uCOS-II平臺(tái)下的程序開發(fā),在uCOS-II下創(chuàng)建任務(wù),完成基礎(chǔ)性實(shí)驗(yàn)中實(shí)現(xiàn)的功能??梢栽谶@基礎(chǔ)上結(jié)合開發(fā)板的硬件做更綜合性的開發(fā)工作。提供移植好uCOS-II的完整的工程文件,并創(chuàng)建了一個(gè)簡(jiǎn)單的任務(wù)點(diǎn)亮LED,作為參考的實(shí)驗(yàn)案例。在附錄中提供了關(guān)于這個(gè)實(shí)驗(yàn)案例的簡(jiǎn)單說(shuō)明。
嵌入式文件系統(tǒng)應(yīng)用實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康模?/p>
學(xué)習(xí)文件系統(tǒng)的知識(shí),并應(yīng)用于嵌入式系統(tǒng)
實(shí)驗(yàn)內(nèi)容:
學(xué)習(xí)文件系統(tǒng)知識(shí),主要針對(duì)FAT(File Allocation Table)系列。了解SD卡的結(jié)構(gòu)。采用實(shí)驗(yàn)套件提供的EFSL(Embedded Filesystem Library),以SD卡為存儲(chǔ)介質(zhì),在嵌入式系統(tǒng)中實(shí)現(xiàn)文件的相關(guān)操作。
實(shí)驗(yàn)套件提供移植好的EFSL工程文件,在此基礎(chǔ)上調(diào)用EFSL提供的API接口函數(shù)實(shí)現(xiàn)文件操作。關(guān)于這個(gè)工程文件在《實(shí)驗(yàn)手冊(cè)》有相關(guān)說(shuō)明,至于EFSL的API接口函數(shù)請(qǐng)參考《EFSL接口及編程指南》。
實(shí)驗(yàn)設(shè)備:
需要自己準(zhǔn)備一張SD卡
嵌入式文件系統(tǒng)移植
實(shí)驗(yàn)?zāi)康模?/p>
學(xué)習(xí)文件系統(tǒng)的知識(shí),主要針對(duì)FAT(File Allocation Table)系列;了解SD卡結(jié)構(gòu);學(xué)習(xí)SPI通信。
實(shí)驗(yàn)內(nèi)容:
目前有許多用于嵌入式系統(tǒng)的文件系統(tǒng),很多是開源的,比如FatFs,可以在網(wǎng)上下載源碼。選擇其中一款文件系統(tǒng),移植到開發(fā)板上。主要工作是編寫SD卡的驅(qū)動(dòng)。
實(shí)驗(yàn)設(shè)備:
需要自己準(zhǔn)備一張SD卡
嵌入式以太網(wǎng)實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康模?/p>
學(xué)習(xí)嵌入式以太網(wǎng),學(xué)會(huì)使用LwIP(Light Weight IP,一個(gè)開源的TCP/IP堆棧)
實(shí)驗(yàn)內(nèi)容:
實(shí)驗(yàn)套件提供了移植好的LwIP工程文件,調(diào)用LwIP的RAW API函數(shù)實(shí)現(xiàn)以太網(wǎng)通信。更近一步,實(shí)現(xiàn)http協(xié)議,在PC機(jī)的瀏覽器上顯示開發(fā)板輸出的信息。有關(guān)LwIP工程文件在《實(shí)驗(yàn)手冊(cè)》有相關(guān)說(shuō)明,對(duì)與LwIP的RAW API函數(shù)請(qǐng)參考《LwIP接口RAW API介紹》。
實(shí)驗(yàn)設(shè)備:
需要自己準(zhǔn)備一條網(wǎng)線,如果與PC機(jī)相連,請(qǐng)使用交叉網(wǎng)線。
附錄
M16C62P教學(xué)平臺(tái)ucos實(shí)驗(yàn)
在UCOS-II平臺(tái)下編程
實(shí)驗(yàn)?zāi)康?.2.3.4.初步了解M16C/62P實(shí)驗(yàn)板的基本結(jié)構(gòu) 學(xué)習(xí)M16C/62P的I/O端口編程 熟悉UCOS-ii的工作原理 掌握UCOS-ii平臺(tái)下的編程方法
實(shí)驗(yàn)內(nèi)容
利用UCOS-II實(shí)現(xiàn)開發(fā)平臺(tái)的程序控制,提供范例程序?qū)崿F(xiàn)4個(gè)LED的閃爍控制。
實(shí)驗(yàn)設(shè)備
1.M16C/62P實(shí)驗(yàn)開發(fā)板
2.High-performance Embedded Workshop 集成開發(fā)環(huán)境
3.串口連接線,電源
實(shí)驗(yàn)原理
系統(tǒng)平臺(tái)I/O的控制原理和方法在基本實(shí)驗(yàn)中的說(shuō)明已經(jīng)很詳細(xì),這里就不作說(shuō)明。
UCOS-ii的工作原理是上課的基本內(nèi)容,大家應(yīng)該掌握,這里提供移植好的工程范例??梢愿鶕?jù)自己的興趣實(shí)現(xiàn)其他I/O的控制。
編程實(shí)例
APP.c源程序代碼
#include
staticOS_STKAppTaskStartStk[APP_TASK_START_STK_SIZE];staticvoidAppTaskStart(void *p_arg);void main(void)
{
MCU_Init();//開發(fā)板的一些初始化操作,這個(gè)可以根據(jù)需要改動(dòng)
OSInit();//ucos初始化
OSTaskCreateExt(AppTaskStart,//創(chuàng)建開始任務(wù)(void *)0,(OS_STK*)&AppTaskStartStk[APP_TASK_START_STK_SIZE-1],APP_TASK_START_PRIO,APP_TASK_START_PRIO,(OS_STK *)&AppTaskStartStk[0],APP_TASK_START_STK_SIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSStart();//多任務(wù)開始調(diào)度}
staticvoidAppTaskStart(void *p_arg)
{
INT16Ui = 0;
INT16Udelay = 0;
(void)p_arg;
Tmr_TickInit();//節(jié)拍初始化
while(1){
delay++;
i = delay % 2;
LedSignalOut(LEDALL,i);//這個(gè)函數(shù)就是你們基本實(shí)驗(yàn)中的控制函數(shù),//放在BSP.C中,可以添加其他控制函數(shù)提供給UCOS來(lái)調(diào)度
OSTimeDlyHMSM(0, 0, 0, 100);//100ms執(zhí)行一次
}
實(shí)驗(yàn)過(guò)程與實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)過(guò)程
參考《程序調(diào)試過(guò)程》技術(shù)文檔
1.實(shí)驗(yàn)板準(zhǔn)備工作:使用串口線將COM1口和PC機(jī)連接,確認(rèn)右下角的4個(gè)撥碼開關(guān)已全部撥至OFF,并接上電源線。檢查無(wú)誤后,撥動(dòng)右上角的電源開關(guān),此時(shí)能觀察到電源指示燈亮,否則應(yīng)斷開電源開關(guān)并檢查連線。
2.啟動(dòng)High-performance Embedded Workshop集成開發(fā)環(huán)境,按指定步驟創(chuàng)建新的工作區(qū)與工程。這里建議使用提供的范例工程,因?yàn)橛嘘P(guān)編譯器的一些設(shè)置比較復(fù)雜,很容易出錯(cuò)。
3.源文件都放在SOURCE文件夾下面,跟UCOS相關(guān)的代碼放在SOURCE文件夾下的Ucos-II下,這里的文件不要改動(dòng)。跟M16C平臺(tái)相關(guān)的代碼放在BSP文件夾下面,跟自己的應(yīng)用相關(guān)的程序放在APP文件夾下面。
文件夾里面的“sect30.inc”、“ncrt0.a30”和基本實(shí)驗(yàn)中的文件內(nèi)容不一樣,不要隨意更換,否則UCOS跑不起來(lái)。
4.參考《程序調(diào)試過(guò)程》技術(shù)文檔進(jìn)行相關(guān)調(diào)試工作。特別注意:在調(diào)試的時(shí)候全速運(yùn)行GO了以后遇到OS_EXIT_CRITICAL()的時(shí)候會(huì)停下來(lái),這個(gè)時(shí)候再按
一下go就可以看到LED的閃爍了。實(shí)驗(yàn)結(jié)果
開發(fā)板上的LED1、LED2、LED3、LED4閃爍點(diǎn)亮。
第三篇:說(shuō)明及實(shí)驗(yàn)方法-離子交換
離子交換實(shí)驗(yàn)裝置使用說(shuō)明
本實(shí)驗(yàn)裝置由四根柱子組成,從左到右第一根為沙濾柱,第二根為陽(yáng)離子交換柱,第三根為陰離子交換柱,第四根為陰、陽(yáng)樹脂混合交換柱。采用上進(jìn)下出的進(jìn)水方式進(jìn)行處理實(shí)驗(yàn)。圖中反沖洗管路沒有畫出。
使用本實(shí)驗(yàn)裝置可以對(duì)自來(lái)水進(jìn)行脫鹽份處理;或者采用純凈水加鹽的方法人工配制水進(jìn)行處理實(shí)驗(yàn);或者采用純凈水加重金屬離子的方法,人工配制模擬重金屬?gòu)U水進(jìn)行處理實(shí)驗(yàn)。
注意,由于本實(shí)驗(yàn)裝置中的離子交換樹脂量有限,為了延長(zhǎng)樹脂的使用壽命,故在配制實(shí)驗(yàn)用水時(shí)的濃度不宜過(guò)高,一般控制在10~50ppm之間。交換樹脂的再生采用體外再生的方法進(jìn)行,由于交換樹脂的總量有限,再生又比較麻煩,故建議直接購(gòu)買再生好的交換樹脂進(jìn)行更換(價(jià)格低廉)。
第一步:實(shí)驗(yàn)前的準(zhǔn)備
1.檢查關(guān)閉以下閥門
①進(jìn)水箱和出水箱的排空閥門。
②進(jìn)水流量計(jì)的調(diào)節(jié)閥。
2.將實(shí)驗(yàn)水倒入進(jìn)水箱。
第二步:進(jìn)行離子交換實(shí)驗(yàn)
1.首先制定好您的實(shí)驗(yàn)方案
①如果采用自來(lái)水或純水加鹽的方法來(lái)進(jìn)行脫鹽處理實(shí)驗(yàn),則要準(zhǔn)備好鹽度計(jì)。②如果采用配制重金屬離子的實(shí)驗(yàn)水進(jìn)行實(shí)驗(yàn),則要準(zhǔn)備好檢測(cè)重金屬的分析方法和手段。
③制定好進(jìn)水流量和交換時(shí)間等一系列實(shí)驗(yàn)條件。
2.插上進(jìn)水泵電源插頭,水泵開始工作,慢慢打開流量計(jì)調(diào)節(jié)閥,讓流量計(jì)轉(zhuǎn)子處于1/3位高度。慢慢打開最后一根離子交換柱的下端出水閥(不要開大),開至出水流量與進(jìn)水流量基本平衡(流量計(jì)轉(zhuǎn)子基本上處于1/3位高度)。然后再調(diào)節(jié)流量計(jì)至您所需要的實(shí)驗(yàn)流量,并開始計(jì)時(shí)。
3.實(shí)驗(yàn)水動(dòng)態(tài)流經(jīng)三根離子交換柱一定時(shí)間后(實(shí)驗(yàn)時(shí)間),慢慢打開陽(yáng)柱和陰柱的下端出水閥,分別取陽(yáng)柱、陰柱和混合柱的出水,去測(cè)定相應(yīng)的檢測(cè)項(xiàng)目(如鹽度、重金屬離子濃度等)。陽(yáng)柱和陰柱取完水樣后要立即關(guān)閉出水閥。
4.在整個(gè)實(shí)驗(yàn)過(guò)程中,如果出現(xiàn)離子交換柱的上端積累空氣太多的現(xiàn)象,則可打開上端的排積氣閥,排除多余的空氣后關(guān)閉排積氣閥門。
第三步:實(shí)驗(yàn)完畢后的整理
1.實(shí)驗(yàn)結(jié)束,關(guān)閉最后一根混合柱的出水閥,關(guān)閉進(jìn)水流量計(jì)的調(diào)節(jié)閥。
2.拔掉進(jìn)水泵電源插頭。
3.放空進(jìn)水箱和出水箱。
4.用自來(lái)水清洗進(jìn)水箱和出水箱。
5.放空進(jìn)水箱和出水箱的積水(沙濾柱和離子交換柱內(nèi)始終保持滿水狀態(tài)),待下次實(shí)驗(yàn)備用。
注意事項(xiàng):
當(dāng)設(shè)備長(zhǎng)期不使用后重新開始使用,由于水泵的泵體中留有空氣,可能會(huì)引起水泵的泵水情況不正常,或沒有水被泵出。此時(shí)要立即關(guān)閉水泵,因?yàn)樗玫娜彼\(yùn)轉(zhuǎn)很容易損壞水泵。請(qǐng)采用擠、捏皮管和一會(huì)兒開啟水泵、一會(huì)兒關(guān)閉水泵的方法來(lái)排除空氣,直至水泵正常工作為止。
離子交換實(shí)驗(yàn)指導(dǎo)
一、實(shí)驗(yàn)?zāi)康?.通過(guò)本實(shí)驗(yàn)來(lái)加深理解離子交換樹脂交換處理正負(fù)離子的原理。
2.測(cè)定該離子交換設(shè)備動(dòng)態(tài)處理某種實(shí)驗(yàn)廢水時(shí)的處理效果。
3.通過(guò)本實(shí)驗(yàn)讓學(xué)生了解工業(yè)化離子交換樹脂交換處理設(shè)備的工藝流程。
二、實(shí)驗(yàn)原理
1.陰、陽(yáng)離子交換樹脂的離子交換原理。
2.利用離子交換樹脂的離子交換特性,結(jié)合相應(yīng)的交換柱結(jié)構(gòu),開展動(dòng)態(tài)的離子交換處理實(shí)驗(yàn)。通過(guò)人工配制模擬廢水或采用實(shí)際的工業(yè)廢水,進(jìn)行動(dòng)態(tài)的離子交換處理實(shí)驗(yàn)。通過(guò)相應(yīng)的檢測(cè)手段,得到離子交換處理結(jié)果。
三、實(shí)驗(yàn)器材
1.動(dòng)態(tài)處理的離子交換樹脂實(shí)驗(yàn)設(shè)備
2.實(shí)驗(yàn)用水
由于整個(gè)實(shí)驗(yàn)設(shè)備內(nèi)的交換樹脂量有限,為了延長(zhǎng)樹脂的使用時(shí)間,我們建議采用低濃度的實(shí)驗(yàn)水進(jìn)行離子交換實(shí)驗(yàn)。可以有以下幾種方法配制實(shí)驗(yàn)用水開展實(shí)驗(yàn):
(1)使用純凈水+自來(lái)水進(jìn)行脫鹽份處理實(shí)驗(yàn)
自來(lái)水的總鹽度一般在100——300ppm,采用純凈水將自來(lái)水稀釋至30ppm左右的鹽度開展離子交換實(shí)驗(yàn),用鹽度計(jì)或電導(dǎo)率儀來(lái)測(cè)定離子濃度的變化情況。
(2)使用純凈水+固體鹽(NaCl)進(jìn)行脫鹽份處理實(shí)驗(yàn)
純凈水中加固體鹽其鹽份濃度的控制就比較方便,濃度可以控制在10——30ppm范圍,用鹽度計(jì)或電導(dǎo)率儀來(lái)測(cè)定離子濃度的變化情況。
(3)使用純凈水+重金屬離子進(jìn)行脫重金屬離子處理實(shí)驗(yàn)
純凈水中加重金屬離子(Cu)的濃度控制也很方便,濃度可以控制在3——10ppm
范圍,用原子吸收儀來(lái)測(cè)定重金屬離子濃度的變化情況。
附:可以采用電滲析器生產(chǎn)的脫鹽份水來(lái)作為本實(shí)驗(yàn)的純凈配水。
3.檢測(cè)設(shè)備
(1)根據(jù)選擇的實(shí)驗(yàn)內(nèi)容來(lái)選擇,起碼要有鹽度計(jì)和電導(dǎo)儀。
(2)如果能開展交換脫除重金屬離子的實(shí)驗(yàn),則更加能說(shuō)明離子交換樹脂的選擇性交換特
性,經(jīng)過(guò)陽(yáng)離子交換柱的處理后,實(shí)驗(yàn)水中就應(yīng)該檢測(cè)不到重金屬離子。因此,就需要有原子吸收儀來(lái)測(cè)定重金屬離子。
4.玻璃器皿
100ml的燒杯5個(gè)。
四、實(shí)驗(yàn)步驟
1.配制相應(yīng)的實(shí)驗(yàn)用水。
2.準(zhǔn)備相應(yīng)的儀器。
3.選擇一定的實(shí)驗(yàn)進(jìn)水流量(推薦40升/小時(shí))通入實(shí)驗(yàn)設(shè)備,流經(jīng)10分鐘后從各個(gè)不同實(shí)驗(yàn)柱的出水口取水樣,進(jìn)行相應(yīng)的實(shí)驗(yàn)項(xiàng)目測(cè)定(如:鹽濃度、電導(dǎo)率、重金屬離子濃度)。
五、實(shí)驗(yàn)報(bào)告
2.分析實(shí)驗(yàn)數(shù)據(jù),計(jì)算相應(yīng)的去除率。
3.回答思考題。
例如:(1)為什么經(jīng)過(guò)陽(yáng)離子和陰離子交換樹脂交換處理后,出水的鹽度計(jì)讀數(shù)和電導(dǎo)率
讀數(shù)還是比較大?而經(jīng)過(guò)混合交換樹脂處理后,出水的鹽度計(jì)讀數(shù)和電導(dǎo)率讀
數(shù)明顯減?。?/p>
(2)為了防止鍋爐積垢,常常要對(duì)鍋爐用水進(jìn)行軟化處理,如果采用離子交換樹脂
來(lái)處理鍋爐用水,你認(rèn)為需要采用什么類型的離子交換樹脂,為什么?
附:離子交換樹脂的鑒定方法(也可以作為實(shí)驗(yàn)的內(nèi)容之一)
第一步:
1.取試樣樹脂約2g,置于20ml試管中,用吸管吸去樹脂的附著水。
2.加入1molL-1HCl5ml,搖動(dòng)1~2min,將上部清液吸去,重復(fù)操作2~3次。
3.加入純水,搖動(dòng)后將上部清液吸去,重復(fù)操作2~3次。
4.加入10%CuSO45ml,搖動(dòng)1min,按3充分用純水清洗。
第二步:
經(jīng)第一步處理,如樹脂變?yōu)闇\綠色,加入5molL-1 NH4OH2ml,搖動(dòng)1min,用純水充分清洗。如樹脂經(jīng)處理后,顏色加深(深藍(lán))則為強(qiáng)酸性陽(yáng)離子交換樹脂。如樹脂淺綠顏色不變,則為弱堿性陰離子交換樹脂。
第三步:
經(jīng)第一步處理后,如樹脂不變色,則:
1.加入1molL-1NaOH5ml,搖動(dòng)1min后用純水充分清洗干凈。
2.加入酚酞5滴,搖動(dòng)1min,用純水充分清洗。
3.經(jīng)此處理后,樹脂呈紅色,則為強(qiáng)堿性陰樹脂。
第四步:
1. 加入1 molL-1HCl5ml,搖動(dòng)1min,然后用純水清洗2~3次。
2. 加入5滴甲基紅,搖動(dòng)1min,用純水充分清洗。
3. 經(jīng)處理后,樹脂呈桃紅色,則為弱酸性陽(yáng)樹脂。經(jīng)處理后如樹脂不變色,則該樹脂
無(wú)離子交換能力。
第四篇:機(jī)能實(shí)驗(yàn)考試說(shuō)明
機(jī)能實(shí)驗(yàn)考核說(shuō)明
一、機(jī)能實(shí)驗(yàn)考核成績(jī)構(gòu)成機(jī)能實(shí)驗(yàn)考核是為了檢測(cè)課本教學(xué)效果,評(píng)價(jià)學(xué)生學(xué)業(yè)成績(jī)而設(shè)立的。考核分為3個(gè)方面,實(shí)驗(yàn)過(guò)程考核(課堂成績(jī))占30%、實(shí)驗(yàn)報(bào)告成績(jī)占30%、理論考試(筆試)占40%。在此基礎(chǔ)上扣除考勤分(遲到、曠課),得出最終成績(jī)(以100分計(jì))。其中,遲到一次扣2分、曠課一次扣5分,均由預(yù)約系統(tǒng)自動(dòng)完成。
二、理論考試(筆試)范圍
1.“BL-410生物信號(hào)分析記錄系統(tǒng)”的原理和操作要點(diǎn),以及通道選擇、參數(shù)設(shè)置、數(shù)據(jù)剪輯和打印等。
2.生物信號(hào)的特點(diǎn),壓力換能器、張力換能器的工作原理,換能器應(yīng)用注意事項(xiàng)等。
3.哺乳動(dòng)物手術(shù)的基本操作,如器械的應(yīng)用和手術(shù)操作步驟,爾緣靜脈注射和靜脈麻醉注意事項(xiàng),氣管插管、動(dòng)脈插管、神經(jīng)分離的操作要點(diǎn),離體標(biāo)本的制作、灌流裝置的使用和各種營(yíng)養(yǎng)液的選用等。
4.曾經(jīng)做過(guò)的各個(gè)具體生理、病理生理和藥理實(shí)驗(yàn)項(xiàng)目,其實(shí)驗(yàn)?zāi)康?、原理、操作步驟、注意事項(xiàng),實(shí)驗(yàn)結(jié)果的討論與分析等。注:沒做過(guò)的實(shí)驗(yàn)項(xiàng)目不在考試之列。
5.實(shí)驗(yàn)報(bào)告的基本格式及書寫要點(diǎn)
三、理論考試(筆試)的題型
分簡(jiǎn)述題、問答題和論述題三種,簡(jiǎn)述每題5分、共25分,問答沒題10分、共60分,討論
第五篇:數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三哈夫曼樹實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器
題目:哈夫曼編/譯碼器
一、題目要求:
寫一個(gè)哈夫曼碼的編/譯碼系統(tǒng),要求能對(duì)要傳輸?shù)膱?bào)文進(jìn)行編碼和解碼。構(gòu)造哈夫曼樹時(shí),權(quán)值小的放左子樹,權(quán)值大的放右子樹,編碼時(shí)右子樹編碼為1,左子樹編碼為0.二、概要設(shè)計(jì):
數(shù)據(jù)結(jié)構(gòu):
typedef struct { int bit[MAXBIT];int start;} HCodeType;/* 編碼結(jié)構(gòu)體 */
typedef struct { int weight;int parent;int lchild;int rchild;char value;} HNode;/* 結(jié)點(diǎn)結(jié)構(gòu)體 */ 函數(shù):
void DEMONHuffmanTree(HNode HuffNode[MAXNODE], int n)作用:構(gòu)造一個(gè)哈夫曼樹,并循環(huán)構(gòu)建 int main()作用:運(yùn)用已經(jīng)構(gòu)建好的哈弗曼樹,進(jìn)行節(jié)點(diǎn)的處理,達(dá)到成功解碼編譯
三、詳細(xì)設(shè)計(jì): 哈夫曼樹的建立:
void DEMONHuffmanTree(HNode HuffNode[MAXNODE], int n){
int i = 0, j, m1, m2, x1, x2;
char x;
/* 初始化存放哈夫曼樹數(shù)組 HuffNode[] 中的結(jié)點(diǎn) */
while(i { HuffNode[i].weight = 0;//權(quán)值 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 HuffNode[i].parent =-1; HuffNode[i].lchild =-1; HuffNode[i].rchild =-1; scanf(“%c”,&x); scanf(“%c”,&HuffNode[i].value);//實(shí)際值,可根據(jù)情況替換為字母 i++; } /* 輸入 n 個(gè)葉子結(jié)點(diǎn)的權(quán)值 */ scanf(“%c”,&x);for(i=0;i { scanf(“%d”, &HuffNode[i].weight); } for(i=n;i<2*n-1;i++) { HuffNode[i].weight = 0;//權(quán)值 HuffNode[i].parent =-1; HuffNode[i].lchild =-1; HuffNode[i].rchild =-1; HuffNode[i].value=i; } /* 循環(huán)構(gòu)造 Huffman 樹 */ for(i=0;i { m1=m2=MAXQZ; // m1、m2中存放兩個(gè)無(wú)父結(jié)點(diǎn)且結(jié)點(diǎn)權(quán)值最小的兩個(gè)結(jié)點(diǎn) x1=x2=0;//找出所有結(jié)點(diǎn)中權(quán)值最小、無(wú)父結(jié)點(diǎn)的兩個(gè)結(jié)點(diǎn),并合并之為一顆二叉樹 for(j=0;j { if(HuffNode[j].weight < m1 && HuffNode[j].parent==-1) { m2=m1;//m1中是最小 x2=x1; m1=HuffNode[j].weight; x1=j; } else if(HuffNode[j].weight < m2 && HuffNode[j].parent==-1) { m2=HuffNode[j].weight; x2=j; } 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 } /* end for */ /* 設(shè)置找到的兩個(gè)子結(jié)點(diǎn) x1、x2 的父結(jié)點(diǎn)信息 */ HuffNode[x1].parent = n+i; HuffNode[x2].parent = n+i; HuffNode[n+i].weight = HuffNode[x1].weight + HuffNode[x2].weight; HuffNode[n+i].lchild = x1; HuffNode[n+i].rchild = x2; } } 葉子節(jié)點(diǎn)的哈夫曼編碼的保存: for(j=cd.start+1;j HuffCode[i].bit[j] = cd.bit[j]; HuffCode[i].start = cd.start; 主函數(shù)展示: int main(){ HNode HuffNode[MAXNODE]; HCodeType HuffCode[MAXLEAF],cd; int i, j, c, p, n,k=0; char wen[100]; char z; scanf(“%d”, &n); HuffmanTree(HuffNode, n); for(i=0;i < n;i++) { cd.start = n-1; c = i; p = HuffNode[c].parent; while(p!=-1) /* 父結(jié)點(diǎn)存在 */ { if(HuffNode[p].lchild == c) cd.bit[cd.start] = 0; else cd.bit[cd.start] = 1; cd.start--; /* 求編碼的低一位 */ c=p; p=HuffNode[c].parent; /* 設(shè)置下一循環(huán)條件 */ } /* end while */ 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 for(j=cd.start+1;j HuffCode[i].bit[j] = cd.bit[j]; HuffCode[i].start = cd.start; } /* end for */ z=getchar(); z=getchar(); for(;z!='n';z=getchar()){ wen[k++]=z; for(i=0;i { if(z==HuffNode[i].value) { for(j=HuffCode[i].start+1;j < n;j++) printf(“%d”, HuffCode[i].bit[j]); break; } else; } } printf(“n”);for(i=0;i { printf(“%c”,wen[i]); } printf(“n”); return 0;} 四、調(diào)試分析與心得體會(huì): 雖然哈夫曼樹的建立有書上的參考,但是實(shí)際寫整個(gè)代碼的時(shí)候還是問題重重。首先就是哈弗曼樹忘記了初始的賦值,導(dǎo)致最后出現(xiàn)了問題。這樣的錯(cuò)誤還是很容易解決,但是之后就出現(xiàn)了WA的情況。在同學(xué)的幫助下,最后發(fā)現(xiàn)是因?yàn)樵谶x取節(jié)點(diǎn)的時(shí)候,循環(huán)出現(xiàn)了問題,雖然看起來(lái)編譯沒有錯(cuò),但是邊緣情況就會(huì)出現(xiàn)數(shù)據(jù)錯(cuò)誤,這個(gè)還是很令人警醒,而這種思考的不全面的問題,在debug的過(guò)程中會(huì)耗去大量的時(shí)間,這是要注意的。 五、用戶操作說(shuō)明: 輸入表示字符集大小為n(n <= 100)的正整數(shù),以及n個(gè)字符和n個(gè)權(quán)值(正整數(shù),值 越大表示該字符出現(xiàn)的概率越大); 輸入串長(zhǎng)小于或等于100的目標(biāo)報(bào)文。實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 六、運(yùn)行結(jié)果: 附帶自己的算法完成的結(jié)果圖,可以通過(guò)Prt Sc和圖片編輯器獲得; 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 七、附錄: #include #define MAXBIT 100 #define MAXLEAF 30 #define MAXNODE MAXLEAF*2-1 #define MAXQZ 10000 //權(quán)值 typedef struct { int bit[MAXBIT];int start;} HCodeType;/* 編碼結(jié)構(gòu)體 */ 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 typedef struct { int weight;int parent;int lchild;int rchild;char value;} HNode;/* 結(jié)點(diǎn)結(jié)構(gòu)體 */ /* 構(gòu)造一顆哈夫曼樹 */ void HuffmanTree(HNode HuffNode[MAXNODE], int n){ int i = 0, j, m1, m2, x1, x2;char x;/* 初始化存放哈夫曼樹數(shù)組 HuffNode[] 中的結(jié)點(diǎn) */ while(i scanf(“%c”,&x);scanf(“%c”,&HuffNode[i].value);//實(shí)際值,可根據(jù)情況替換為字母 i++;} /* 輸入 n 個(gè)葉子結(jié)點(diǎn)的權(quán)值 */ scanf(“%c”,&x);i = 0;while(i for(i=n;i<2*n-1;i++){ HuffNode[i].weight = 0;//權(quán)值 HuffNode[i].parent =-1;HuffNode[i].lchild =-1;HuffNode[i].rchild =-1;HuffNode[i].value=i;} 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 /* 循環(huán)構(gòu)造 Huffman 樹 */ for(i=0;i x1=x2=0;//找出所有結(jié)點(diǎn)中權(quán)值最小、無(wú)父結(jié)點(diǎn)的兩個(gè)結(jié)點(diǎn),并合并之為一顆二叉樹 for(j=0;j } } int main(){ HNode HuffNode[MAXNODE];/* 定義一個(gè)結(jié)點(diǎn)結(jié)構(gòu)體數(shù)組 */ HCodeType HuffCode[MAXLEAF],cd;/* 定義一個(gè)編碼結(jié)構(gòu)體數(shù)組,同時(shí)定義一個(gè)臨時(shí)變量來(lái)存放求解編碼時(shí)的信息 */ int i, j, c, p, n,k=0;char wen[100];char z;scanf(“%d”, &n);HuffmanTree(HuffNode, n);8 3:哈夫曼編/譯碼器 for(i=0;i < n;i++){ cd.start = n-1;c = i;p = HuffNode[c].parent;while(p!=-1)/* 父結(jié)點(diǎn)存在 */ { if(HuffNode[p].lchild == c)cd.bit[cd.start] = 0;else cd.bit[cd.start] = 1;cd.start--;/* 求編碼的低一位 */ c=p;p=HuffNode[c].parent;/* 設(shè)置下一循環(huán)條件 */ } /* end while */ /* 保存求出的每個(gè)葉結(jié)點(diǎn)的哈夫曼編碼和編碼的起始位 */ for(j=cd.start+1;j z=getchar();z=getchar();for(;z!='n';z=getchar()){ wen[k++]=z; for(i=0;i { if(z==HuffNode[i].value) { for(j=HuffCode[i].start+1;j < n;j++) printf(“%d”, HuffCode[i].bit[j]); break; } else; } } printf(“n”);i = 0;while(i { printf(“%c”,wen[i]);實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 } printf(“n”);return 0;} ? i++; 實(shí)驗(yàn)報(bào)告3:哈夫曼編/譯碼器 上機(jī)實(shí)習(xí)要求: 1、認(rèn)真準(zhǔn)備,按時(shí)參加上機(jī)實(shí)習(xí),不得無(wú)故缺席,抽查不到者扣分; 2、獨(dú)立完成老師布置的題目,上機(jī)完成程序并調(diào)試正確,課后完成實(shí)驗(yàn)報(bào)告的編寫,將上機(jī)程序和實(shí)驗(yàn)報(bào)告打包后交給輔導(dǎo)老師評(píng)定分?jǐn)?shù),實(shí)驗(yàn)報(bào)告要求和評(píng)分標(biāo)準(zhǔn)見后面; 3、提倡創(chuàng)新,可對(duì)課本上提供的算法進(jìn)行改進(jìn); 4、上機(jī)程序必須在程序中提供足夠的注釋,詳細(xì)為好。 5、實(shí)驗(yàn)報(bào)告不用寫出算法,只要寫出對(duì)課程設(shè)計(jì)的見解,如對(duì)某一算法的改進(jìn)思想,算法設(shè)計(jì)思想,調(diào)試算法過(guò)程中出現(xiàn)的問題及改進(jìn)方法,調(diào)試程序的體會(huì)等。只要是自己編程和調(diào)試就會(huì)寫出相應(yīng)的報(bào)告。 考核標(biāo)準(zhǔn) 1、機(jī)試程序和結(jié)果、設(shè)計(jì)報(bào)告缺一不可,機(jī)試程序和結(jié)果壓縮打包后上交給輔導(dǎo)老師,設(shè)計(jì)報(bào)告主要是自己的設(shè)計(jì)過(guò)程和調(diào)試心得,報(bào)告中不必附帶全部的源程序)。機(jī)試成績(jī)占總成績(jī)60%,設(shè)計(jì)報(bào)告占40%。 2、上機(jī)程序和設(shè)計(jì)報(bào)告必須獨(dú)立完成,嚴(yán)禁抄襲,若發(fā)現(xiàn)雷同,原創(chuàng)者視上機(jī)結(jié)果最多60分,抄襲者按0分計(jì),若找不到原創(chuàng),都按0分計(jì)。 所以原創(chuàng)同學(xué)注意,我們的檢查專門針對(duì)抄襲情況,一旦發(fā)現(xiàn)將嚴(yán)肅處理??!