[論文精品] 基于嵌入式系統(tǒng)的手持終端界面_第1頁(yè)
[論文精品] 基于嵌入式系統(tǒng)的手持終端界面_第2頁(yè)
[論文精品] 基于嵌入式系統(tǒng)的手持終端界面_第3頁(yè)
[論文精品] 基于嵌入式系統(tǒng)的手持終端界面_第4頁(yè)
[論文精品] 基于嵌入式系統(tǒng)的手持終端界面_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、現(xiàn)場(chǎng)答辯成績(jī): 實(shí)驗(yàn)報(bào)告成績(jī): 總成績(jī): 自 動(dòng) 化 學(xué) 院綜合實(shí)驗(yàn)報(bào)告 題目:基于嵌入式系統(tǒng)的手持終端界面單位(二級(jí)學(xué)院): 自 動(dòng) 化 學(xué) 院 學(xué) 生 姓 名: 專(zhuān) 業(yè): 自動(dòng)化 班 級(jí): 學(xué) 號(hào): 指 導(dǎo) 教 師: 設(shè)計(jì)時(shí)間: 2010 年 11 月自動(dòng)化學(xué)院 制實(shí)驗(yàn)一:線(xiàn)性表的操作實(shí)驗(yàn)?zāi)康模簠⒄战o定的線(xiàn)性表順序表類(lèi)和鏈表類(lèi)的程序樣例,驗(yàn)證給出的線(xiàn)性表的常見(jiàn)算法實(shí)驗(yàn)內(nèi)容:參照給定的線(xiàn)性表順序表類(lèi)和鏈表類(lèi)的程序樣例,驗(yàn)證給出的線(xiàn)性表的常見(jiàn)算法設(shè)計(jì)一個(gè)靜態(tài)數(shù)組存儲(chǔ)結(jié)構(gòu)的順序表類(lèi),要求編程實(shí)現(xiàn)如下任務(wù):1)建立一個(gè)線(xiàn)性表,首先依次輸人整數(shù)數(shù)據(jù)元素(個(gè)數(shù)根據(jù)自己的需要鍵盤(pán)給定)2)刪除指定位置的

2、數(shù)據(jù)元素(指定元素位置通過(guò)鍵盤(pán)輸入)再依次顯示刪除后的線(xiàn)性表中的數(shù)據(jù)元素。3)查找指定數(shù)據(jù)的數(shù)據(jù)元素(指定數(shù)據(jù)的大小通過(guò)鍵盤(pán)輸入),若找到則顯示位置,若沒(méi)有找到就顯示0。實(shí)驗(yàn)原理1.刪除指定元素當(dāng)線(xiàn)性表為空時(shí)為上溢錯(cuò)誤,不能進(jìn)行刪除操作,算法結(jié)束。當(dāng)或者時(shí),順序表中沒(méi)有這個(gè)元素,輸出提示用戶(hù)錯(cuò)誤。然后從第個(gè)元素開(kāi)始,直到最后一個(gè)元素,其中每一個(gè)元素均依次往前移動(dòng)一個(gè)位置,最后將線(xiàn)性表的長(zhǎng)度減1。2.查找當(dāng)線(xiàn)性表為空時(shí),無(wú)法進(jìn)行查找操作,算法結(jié)束。從第一個(gè)元素開(kāi)始,把線(xiàn)性表中的元素與需要查找的元素比較,相等輸出其下標(biāo),并返回。3.檢測(cè)順序表狀態(tài)利用先行表的長(zhǎng)度為0還是等于其容量,判斷其是否為空和

3、滿(mǎn),輸出信息提示用花上溢或者下溢。4.輸出表中元素利用循環(huán),語(yǔ)句順序輸出表中元素5.插入或者表中元素初始化當(dāng)存儲(chǔ)空間滿(mǎn)時(shí),輸出上溢錯(cuò)誤,不能進(jìn)行插入操作,算法結(jié)束。當(dāng)實(shí),認(rèn)為在最后一個(gè)元素之后插入。當(dāng)時(shí),認(rèn)為在第一個(gè)元素之前插入。從最后一個(gè)元素開(kāi)始,直到第個(gè)元素,其中每一個(gè)元素均往后移動(dòng)一個(gè)位置,將新元素插入到第個(gè)位置,并將線(xiàn)性表的長(zhǎng)度加1。實(shí)驗(yàn)問(wèn)題存在的問(wèn)題查找指定數(shù)據(jù)的元素時(shí),當(dāng)元素存在的時(shí)候就顯示該元素位子,不存在就什么也不顯示。實(shí)驗(yàn)結(jié)果附:源程序#includeusing namespace std;#include#define list_init_size 100#define l

4、istincrement 10#define overflow -1#define ok 1#define error 0typedef int status;typedef int elemtype;typedef int keytype;typedef struct elemtype *elem; keytype *key; int length; int listsize;sqlist;typedef struct keytype key;selemtype;status initlist (sqlist &l)/*創(chuàng)建順序表*/ int length1; printf(請(qǐng)確定順序表的長(zhǎng)

5、度:); scanf(%d,&length1); l.listsize=length1; l.elem=(elemtype*)malloc(length1*sizeof(elemtype); if(!l.elem) printf(out of space); exit(overflow); l.length=0; return ok; status listinsert (sqlist &l,int i, elemtype e)elemtype *p,*q,*newbase; if(il.length+1) return error; if(l.lengthl.listsize) newbas

6、e=(elemtype*)realloc(l.elem,(l.listsize+listincrement)*sizeof(elemtype); if (newbase=null) printf(out of space); return (overflow); l.listsize+=listincrement; p=&( l.elemi-1); for (q=&(l.eleml.length-1) ;q=p;q-) *(q+1)=*q; l.elemi-1=e; l.length+; return ok;/*在i元素的前面插入元素e*/status deletelist (sqlist &

7、l,int i) elemtype *q ,*p; if(il.length) return error; q = &(l.elemi-1); p = l.elem+l.length-1; for (q+; q = p; q+) *(q-1) = *q; l.length-; return ok;/*刪除i個(gè)元素*/status listsearch(sqlist &l,int w)int i,j,k;i=1;j=l.length;while(iw)j=k-1;else i=k+1;return(0);/*查找元素,找到顯示位置,找不到不進(jìn)行操作(這里想不到怎么實(shí)現(xiàn)返回0)*/int main

8、() sqlist l; int i,e,w; initlist (l); printf(請(qǐng)輸入元素:n); for(i=0;il.listsize;i+) scanf(%d,&(l.elemi); l.length+; printf(創(chuàng)建線(xiàn)性表為:n); for(i=0;il.listsize;i+) printf(%4d,l.elemi); printf(n); printf(n); printf(請(qǐng)輸入要?jiǎng)h除的元素的位置:) ; scanf(%d,&i); deletelist(l, i ) ; printf(刪除后的線(xiàn)性表為:n); for(i=0;il.length;i+) prin

9、tf(%4d,l.elemi); printf(n); printf(n); printf(請(qǐng)輸入要插入的位置和元素:) ; scanf(%d%d,&i,&e); listinsert (l,i,e); printf(插入元素后的線(xiàn)性表為:n); for(i=0;il.length;i+) printf(%4d,l.elemi); printf(n); printf(n);printf(請(qǐng)輸入要查找的元素:n);scanf(%d,&w);listsearch(l,w); printf(n); printf(n); return ok; /*主函數(shù)部分*/實(shí)驗(yàn)二 棧、隊(duì)列的操作一、實(shí)驗(yàn)?zāi)康模簠⒄?/p>

10、給定的棧類(lèi)和隊(duì)列類(lèi)的程序樣例,驗(yàn)證給出的棧和隊(duì)列的常見(jiàn)算法,并結(jié)合線(xiàn)性表類(lèi)實(shí)現(xiàn)有關(guān)串的操作。二、實(shí)驗(yàn)要求:1、掌握棧、隊(duì)列、串的特點(diǎn)。掌握特殊線(xiàn)性表的常見(jiàn)算法。2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說(shuō)明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。三、實(shí)驗(yàn)內(nèi)容: 1. 堆棧類(lèi)測(cè)試和應(yīng)用問(wèn)題。要求: 定義數(shù)據(jù)元素的數(shù)據(jù)類(lèi)型為如下形式的結(jié)構(gòu)體:typedef struct char taskname10;/任務(wù)名 int taskno;/任務(wù)號(hào) datatype; .2. 隊(duì)列類(lèi)測(cè)試和應(yīng)用問(wèn)題。要求: 設(shè)計(jì)一個(gè)主函數(shù)對(duì)循環(huán)隊(duì)列類(lèi)和鏈?zhǔn)疥?duì)列類(lèi)代碼進(jìn)行測(cè)試.測(cè)試方法為:依

11、次把數(shù)據(jù)元素1,2,3,4,5入隊(duì),然后出隊(duì)中的數(shù)據(jù)元素并在屏幕上顯示。四、要求1)棧和隊(duì)列的長(zhǎng)度都由自己定;2)寫(xiě)出完整的程序并能調(diào)試通過(guò)即可。3)重點(diǎn)理解棧、隊(duì)列和串的算法思想,能夠根據(jù)實(shí)際情況選擇合適的存儲(chǔ)結(jié)構(gòu)。 4)棧、隊(duì)列的算法是后續(xù)實(shí)驗(yàn)的基礎(chǔ)(樹(shù)、圖、查找、排序等)。實(shí)驗(yàn)三 排序綜合實(shí)驗(yàn)(2學(xué)時(shí))實(shí)驗(yàn)類(lèi)型:綜合性 實(shí)驗(yàn)要求:必修實(shí)驗(yàn)學(xué)時(shí): 2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模簠⒄崭鞣N排序算法程序樣例,驗(yàn)證給出的排序常見(jiàn)算法。 二、實(shí)驗(yàn)要求:1、掌握各種排序算法的特點(diǎn),測(cè)試并驗(yàn)證排序的常見(jiàn)算法。2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說(shuō)明、程序清單、調(diào)試情況、設(shè)計(jì)技巧

12、、心得體會(huì)。三、實(shí)驗(yàn)內(nèi)容:1、直接插入排序2、冒泡排序3、快速排序(遞歸)4、快速排序(非遞歸)5、堆排序?qū)嶒?yàn)結(jié)果:源程序:#include #define maxsize 10#define null 0int amaxsize=0;/*直接插入排序*/void directinsertionsort(int *p,int num)/指針p用來(lái)指向要排序的數(shù)組的第一元素,num用來(lái)表示要排序數(shù)組的大小int temp;for(int i=num-1;i=0;i-)for(int j=0;ji;j+)if(pipj)temp=pi;pi=pj;pj=temp;/*int i,j,temp;fo

13、r(i=1;inum;i+)if(pipi-1)temp=pi;pi=pi-1;for(j=i-1;p0pj;j-)pj+1=pj; pj+1=temp;*/*冒泡排序*/void bubblesort(int *p,int num)int temp;for(int i=0;i0;j-) if(pjright) return; while(i!=j) while(aj=temp & ji) j-; if(ji) ai+=aj; while(aii) i+; if(ji) aj-=ai; ai=temp; quicksort(a,left,i-1);/遞歸左邊 quicksort(a,i+1,r

14、ight);/遞歸右邊/*快速排序非遞歸*/void non_recurcive_quicksort(int *p,int num)int i,j,low,high,temp,top=-1;struct node int low,high; st100;top+;sttop.low=0;sttop.high=num-1;while(top-1) low=sttop.low;high=sttop.high;top-;i=low;j=high;if(lowhigh) temp=plow;while(i!=j) while(itemp)j-;if(ij)pi=pj;i+;while(ij&pitem

15、p)i+;if(ij)pj=ai;j-;pi=temp;top+;sttop.low=low;sttop.high=i-1;top+;sttop.low=i+1;sttop.high=high;/*堆排序*/void shift(int *p, int i , int m)/建堆int k,t; t = pi; k=2*i+1; while (km) if (km-1)&(pkpk+1)k+; if (t=0;i-) shift(p,i,num); for (i=num-1; i=1;i-) k=p0;p0=pi;pi=k;shift(p,0,i); /*主函數(shù)*/void main(void

16、)int choose=0;int *p=null;printf(請(qǐng)輸入數(shù)據(jù):n);for(int i=0;imaxsize;i+)scanf(%d,&ai);printf(排序前:n);for(i=0;imaxsize;i+)printf(%d ,ai);p=a;printf(請(qǐng)選擇執(zhí)行命令:n);printf(1 直接插入排序 2 冒泡排序 3 快速排序 4 快速排序非遞歸 5 堆排序n);scanf(%d,&choose);switch(choose)case 1:directinsertionsort(p,maxsize);break;case 2:bubblesort(p,maxsize);break;case 3:quicksort(p,0,maxsize-1);break;case 4:non_recurcive_quicksort(p,maxsize);break;case 5:heapsort(p,maxsize);break;default:break;printf(排序后:n);for(i=0;imaxsize;i+)printf(%d ,ai);printf(n);/*void main()int *p;printf(請(qǐng)輸入數(shù)據(jù):n);for(in

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論