資源描述:
《軟件技術(shù)基礎(chǔ)》實(shí)驗(yàn)指導(dǎo)書》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、《軟件技術(shù)基礎(chǔ)》實(shí)驗(yàn)指導(dǎo)書太原理工大學(xué)信息工程學(xué)院信息與通信工程系2004-2005學(xué)年第1學(xué)期《軟件技術(shù)基礎(chǔ)》實(shí)驗(yàn)教學(xué)大綱一、實(shí)驗(yàn)課程的性質(zhì)、目的和任務(wù)1.培養(yǎng)學(xué)生利用所學(xué)數(shù)據(jù)結(jié)構(gòu)、查找排序技術(shù)及數(shù)據(jù)庫(kù)技術(shù)解決問(wèn)題的能力,掌握對(duì)問(wèn)題分析建模、設(shè)計(jì)算法、編程調(diào)試并實(shí)現(xiàn)的方法與技術(shù)。2.對(duì)教材上所給出的算法,用C語(yǔ)言編程并上機(jī)調(diào)試,必要時(shí)做改進(jìn)并在計(jì)算機(jī)上實(shí)現(xiàn)?!盾浖夹g(shù)基礎(chǔ)》實(shí)驗(yàn)教學(xué)大綱一、實(shí)驗(yàn)課程的內(nèi)容、要求及學(xué)時(shí)分配1.內(nèi)容及學(xué)時(shí)分配實(shí)驗(yàn)一線性順序表的插入與刪除(2學(xué)時(shí))實(shí)驗(yàn)二順序棧的入棧與退棧及讀棧頂元素(2學(xué)時(shí))實(shí)驗(yàn)三規(guī)
2、則矩陣的壓縮存儲(chǔ)(2學(xué)時(shí))實(shí)驗(yàn)四有序表的對(duì)分查找(2學(xué)時(shí))實(shí)驗(yàn)五順序表的冒泡排序(2學(xué)時(shí))《軟件技術(shù)基礎(chǔ)》實(shí)驗(yàn)教學(xué)大綱基本要求學(xué)生最后提交實(shí)驗(yàn)報(bào)告和程序源碼。實(shí)驗(yàn)報(bào)告應(yīng)包含以下內(nèi)容:(1)問(wèn)題描述、分析。(2)解決問(wèn)題的算法描述。(3)程序源碼,且必須有必要的注釋語(yǔ)句。實(shí)驗(yàn)報(bào)告可以提交電子版或書面版,程序源碼提交電子版(磁盤)?!盾浖夹g(shù)基礎(chǔ)》實(shí)驗(yàn)教學(xué)大綱三、考核以學(xué)生的《實(shí)驗(yàn)報(bào)告》、程序源碼以及上機(jī)出勤作為考核依據(jù)。四、參考資料教材、《C語(yǔ)言程序設(shè)計(jì)》、《數(shù)據(jù)結(jié)構(gòu)》等參考書。實(shí)驗(yàn)一線性順序表的插入與刪除實(shí)驗(yàn)?zāi)康呐c要求:理解和掌
3、握線性表的順序存儲(chǔ)結(jié)構(gòu),使用C語(yǔ)言根據(jù)相應(yīng)算法編寫一個(gè)程序,實(shí)現(xiàn)線性順序表的插入與刪除。要求仔細(xì)閱讀下面的內(nèi)容,編寫C程序,上機(jī)通過(guò),并觀察其結(jié)果,寫出實(shí)驗(yàn)報(bào)告書。實(shí)驗(yàn)內(nèi)容:建立一個(gè)長(zhǎng)度為n的線性表,在第i個(gè)元素前面插入一個(gè)新元素b,得到一個(gè)長(zhǎng)度為(n+1)的線性表;然后再刪除第i個(gè)元素,得到長(zhǎng)度為n的線性表。實(shí)驗(yàn)一線性順序表的插入與刪除具體要求:l根據(jù)線性順序表的插入與刪除的算法編寫C程序,并上機(jī)調(diào)試。l編寫的C程序要求建立一個(gè)長(zhǎng)度不小于10的線性表,輸出原始線性表,輸出完成插入運(yùn)算后的線性表,輸出刪除某個(gè)元素后的線性表。l實(shí)
4、驗(yàn)完成后,寫出實(shí)驗(yàn)報(bào)告書。實(shí)驗(yàn)一線性順序表的插入與刪除算法:1.建立一個(gè)空線性表的順序存儲(chǔ)空間的C語(yǔ)言描述:#include“stdlib.h”voidinitsl(v,m,n)ET*v;intm,*n;{v=malloc(m*sizeof(ET));*n=0;return;}實(shí)驗(yàn)一線性順序表的插入與刪除2.在長(zhǎng)度為n的線性表中的第i個(gè)元素前插入新元素bvoidinsl(v,m,n,i,b)intv[];intm,*n,i;{intj;if(*n==m)printf(“overflow”;return;}if(i>*n)i=
5、*n+1;If(i<1)i=1;For(j=*n;j>=i;j--)v[j]=v[j-1];v[i-1]=b;*n=*n+1;return;}實(shí)驗(yàn)一線性順序表的插入與刪除3.在長(zhǎng)度為n的線性表中刪除第i個(gè)元素voiddesl(v,m,n,i)intv[];intm,*n,i;{intj;if(*n==0)printf(“Underflow”;return;}if((i<1)
6、
7、(i>*n))printf(“Notthiselementinthelist”);return;}for(j=i;j<=*n-1;j++)v[j-
8、1]=v[j];*n=*n-1;return;}#include"stdio.h"#include"stdlib.h"#include"conio.h"voidinsl(intv[],intm,int*n,inti,intb)/*shangji1,xianxingbiaocharuP32*/{intj;if(*n==m){printf("overflow!");return;}if(i>*n)i=*n+1;if(i<1)i=1;for(j=*n;j>=i;j--)v[j]=v[j-1];v[i-1]=b;*n=*n+1;re
9、turn;}main(){inta[15]={1,2,3,4,5,6,7,8,9,10};intn=6;inti;insl(a,15,&n,4,99);/*zhuyi&dizhiyunsuanfu*/printf("");for(i=0;i10、讀下面的內(nèi)容,編寫一個(gè)C程序,上機(jī)調(diào)試通過(guò),并觀察其結(jié)果,寫出實(shí)驗(yàn)報(bào)告書。實(shí)驗(yàn)二順序棧的入棧與退棧及讀棧頂元素實(shí)驗(yàn)內(nèi)容:建立一個(gè)容量為m的順序棧,首先在其中壓入5個(gè)元素,然后作退棧運(yùn)算和讀棧頂元素。實(shí)驗(yàn)二順序棧的入棧與退棧及讀棧頂元素具體要求:l根據(jù)順序棧的入棧