2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  計(jì)算機(jī)科學(xué)與技術(shù)系 </p><p>  課程設(shè)計(jì)項(xiàng)目研究報(bào)告</p><p><b>  目 錄</b></p><p>  第 1 章 項(xiàng)目簡(jiǎn)介3</p><p>  1.1 項(xiàng)目名稱

2、3</p><p>  1.2 開發(fā)人員3</p><p>  1.3 指導(dǎo)教師3</p><p>  第 2 章 項(xiàng)目研究意義3</p><p>  2.1 課程設(shè)計(jì)概述3</p><p>  2.2 需求分析及研究意義3</p><p>  2.3 研究意義3</p>

3、;<p>  第 3 章 采用的技術(shù)4</p><p>  3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證4</p><p>  3.2 重要算法的設(shè)計(jì)、流程描述或偽代碼描述4</p><p>  第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表6</p><p>  第5 章 課程設(shè)計(jì)任務(wù)分配表6</p><p>  第6

4、 章 達(dá)到的效果7</p><p>  6.1 程序設(shè)計(jì)思想7</p><p>  6.2 程序最終實(shí)現(xiàn)結(jié)果8</p><p>  第7 章 源程序8</p><p>  7.1 源代碼8</p><p>  第8 章 設(shè)計(jì)心得11</p><p>  第9章 參考

5、文獻(xiàn)11</p><p>  第 1 章 項(xiàng)目簡(jiǎn)介</p><p><b>  1.1 項(xiàng)目名稱</b></p><p><b>  稀疏矩陣加法運(yùn)算器</b></p><p><b>  1.2 開發(fā)人員</b></p><p><b>

6、  1.3 指導(dǎo)教師</b></p><p>  第 2 章 項(xiàng)目研究意義</p><p>  2.1 課程設(shè)計(jì)概述</p><p>  稀疏矩陣是指多數(shù)元素為0的矩陣,利用系數(shù)特點(diǎn)進(jìn)行存儲(chǔ)和計(jì)算可以大大節(jié)省存儲(chǔ)空間,提高計(jì)算效力。實(shí)現(xiàn)一個(gè)能進(jìn)行稀疏加法的運(yùn)算。</p><p>  2.2 需求分析及研究意義</p>

7、<p>  (1)首先輸入矩陣的行數(shù)和列數(shù),并判別給出的兩個(gè)矩陣的行數(shù),列數(shù)對(duì)于所需求的運(yùn)算是否匹配。</p><p>  (2)程序存儲(chǔ)用三元組存儲(chǔ)表表示,按行優(yōu)先表示。</p><p> ?。?)在三元組表示稀疏矩陣,矩陣的相加所得結(jié)果矩陣另生成。 </p><p><b>  2.3 研究意義</b></p>

8、<p>  矩陣加法了解:矩陣之間也可以相加。把兩個(gè)矩陣對(duì)應(yīng)位置的單個(gè)元素相加,得到的新矩陣就是矩陣加法的結(jié)果。由其運(yùn)算法則可知,只有行數(shù)和列數(shù)完全相同的矩陣才能進(jìn)行加法運(yùn)算。</p><p>  矩陣之間相加沒有順序,假設(shè)A、B都是矩陣,則A+B=B+A。通常認(rèn)為矩陣沒有減法,若要與一個(gè)矩陣相減,在概念上是引入一個(gè)該矩陣的負(fù)矩陣,然后相加。A-B是A+(-B)的簡(jiǎn)寫</p><

9、p><b>  3………………..</b></p><p>  第 3 章 采用的技術(shù)</p><p>  3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證</p><p> ?。?)輸入存儲(chǔ)矩陣的算法。</p><p> ?。?)存儲(chǔ)稀疏矩陣用三元組表示。</p><p> ?。?)稀疏矩陣的加法算法編寫

10、。</p><p><b>  (4)輸出稀疏矩陣</b></p><p>  3.2 重要算法的設(shè)計(jì)描述</p><p>  矩陣的加法算法設(shè)計(jì)思路,描述</p><p>  void add(TriTable *A,TriTable *B,TriTable *C)</p><p>  { in

11、t i,j,k;</p><p>  if(A->m!=B->m||A->n!=B->n)</p><p>  { printf("these two arrey unable to add"); return;}</p><p>  C->m=A->m;C->n=A->n;</p>

12、<p><b>  C->t=0;</b></p><p>  if(A->t==0&&B->t==0) return;</p><p><b>  i=j=k=1;</b></p><p>  while(i<=A->t&&j<=B->t

13、)</p><p>  { if(A->data[i].row<B->data[j].row)</p><p>  { C->data[k]=A->data[i];</p><p><b>  i++;k++;</b></p><p><b>  }</b></p

14、><p><b>  else</b></p><p>  { if(A->data[i].row>B->data[j].row)</p><p>  { C->data[k]=B->data[j];</p><p><b>  j++;k++;</b></p>

15、<p><b>  }</b></p><p><b>  else</b></p><p>  { if(A->data[i].col<B->data[j].col)</p><p>  { C->data[k]=A->data[i];</p><p>

16、<b>  i++;k++;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  4 { if(A->data[i].col>B->data[j].col)</p><p>  {

17、C->data[k]=B->data[j];</p><p><b>  j++;k++;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  { if(A->data[i].v+B->da

18、ta[j].v!=0)</p><p>  { C->data[k].row=A->data[i].row;</p><p>  C->data[k].col=A->data[i].col;</p><p>  C->data[k].v=A->data[i].v+B->data[j].v;</p><

19、p><b>  k++;</b></p><p><b>  }</b></p><p><b>  i++;j++;</b></p><p><b>  }</b></p><p><b>  }</b></p>

20、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  while(i<A->t)</p><p>  { C->data[k]=A->data[i];</p

21、><p><b>  i++;k++;</b></p><p><b>  }</b></p><p>  while(j<B->t)</p><p>  { C->data[k]=B->data[j];</p><p><b>  j++;k+

22、+;</b></p><p><b>  }</b></p><p><b>  C->t=k;</b></p><p><b>  }</b></p><p>  5

23、

24、 </p><p>  第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表</p><p>  第5 章 課程設(shè)計(jì)任務(wù)分配表</p><p><b>  6</b></p><p>  第6 章 達(dá)到的效果</p><p>  6.1 程序設(shè)計(jì)思想</p&

25、gt;<p> ?。?)輸入存儲(chǔ)矩陣的算法。</p><p> ?。?)存儲(chǔ)稀疏矩陣用三元組表示。</p><p> ?。?)稀疏矩陣的加法算法編寫。</p><p><b> ?。?)輸出稀疏矩陣</b></p><p>  6.2 程序最終實(shí)現(xiàn)結(jié)果</p><p><b&

26、gt;  第7 章 源程序</b></p><p><b>  7.1 源代碼</b></p><p>  #include "stdio.h"</p><p>  #define MAXSIZE 1000</p><p>  typedef int ElemType;</p>

27、;<p>  typedef struct</p><p>  { int row,col;</p><p>  ElemType v;</p><p><b>  }Triple;</b></p><p>  typedef struct</p><p>  { Triple da

28、ta[MAXSIZE];</p><p>  int m,n,t;</p><p>  }TriTable;</p><p>  /*add part*/</p><p>  void add(TriTable *A,TriTable *B,TriTable *C)</p><p>  { int i,j,k;<

29、/p><p>  if(A->m!=B->m||A->n!=B->n)</p><p>  8 { printf("these two arrey unable to add"); return;}</p><p>  C->m=A->m;C->n=A->n;</p><p>&

30、lt;b>  C->t=0;</b></p><p>  if(A->t==0&&B->t==0) return;</p><p><b>  i=j=k=1;</b></p><p>  while(i<=A->t&&j<=B->t)</p>

31、;<p>  { if(A->data[i].row<B->data[j].row)</p><p>  { C->data[k]=A->data[i];</p><p><b>  i++;k++;</b></p><p><b>  }</b></p><

32、p><b>  else</b></p><p>  { if(A->data[i].row>B->data[j].row)</p><p>  { C->data[k]=B->data[j];</p><p><b>  j++;k++;</b></p><p>

33、;<b>  }</b></p><p><b>  else</b></p><p>  { if(A->data[i].col<B->data[j].col)</p><p>  { C->data[k]=A->data[i];</p><p><b> 

34、 i++;k++;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  { if(A->data[i].col>B->data[j].col)</p><p>  { C->data[k]=B->

35、data[j];</p><p><b>  j++;k++;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  { if(A->data[i].v+B->data[j].v!=0)</p>

36、;<p>  { C->data[k].row=A->data[i].row;</p><p>  C->data[k].col=A->data[i].col;</p><p>  C->data[k].v=A->data[i].v+B->data[j].v;</p><p><b>  k++;

37、</b></p><p><b>  }</b></p><p><b>  i++;j++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

38、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  while(i<A->t)</p><p>  { C->data[k]=A->data[i];</p><p><b

39、>  i++;k++;</b></p><p><b>  }</b></p><p>  while(j<B->t)</p><p>  { C->data[k]=B->data[j];</p><p><b>  j++;k++;</b></p&g

40、t;<p><b>  9 }</b></p><p><b>  C->t=k;</b></p><p><b>  }</b></p><p>  /*creat part*/</p><p>  void creatarrey(TriTable *

41、A)</p><p>  { int i,j;</p><p>  printf("please input the number of row:");</p><p>  scanf("%d",&A->m);</p><p>  printf("please input the

42、 number of col:");</p><p>  scanf("%d",&A->n);</p><p>  printf("please input the number of data:");</p><p>  scanf("%d",&A->t);</

43、p><p>  for(i=1;i<=A->t;i++)</p><p>  {printf("please input the %d data:",i);</p><p>  scanf("%d,%d,%d",&A->data[i].row,&A->data[i].col,&A-&

44、gt;data[i].v);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*output part*/</p><p>  void output(TriTable *A)</p><p>  { int i,j,t

45、,k=0;</p><p><b>  t=1;</b></p><p>  printf(" the arrey is: \n");</p><p>  for(i=1;i<=A->m;i++)</p><p>  {for(j=1;j<=A->n;j++)</p&g

46、t;<p>  { if(A->data[t].row==i&&A->data[t].col==j)</p><p>  { printf("%4d",A->data[t].v);t++;}</p><p>  else printf("%4d",k);</p><p><

47、;b>  }</b></p><p>  printf("\n");</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*main part*/</p><p>  void main(

48、 )</p><p>  { int i=0;</p><p>  TriTable A,B,C;</p><p>  while(i<3)</p><p>  {printf("1 add arrey,A+B=C\n");</p><p>  printf("2 quit prog

49、ram\n");</p><p>  printf("please select item to operarting:");</p><p>  scanf("%d",&i);</p><p><b>  switch(i)</b></p><p>  {cas

50、e 1: creatarrey(&A);output(&A);creatarrey(&B);output(&B);add(&A,&B,&C);output(&C);break;</p><p>  case 2: break;</p><p><b>  10 }</b></p><

51、p><b>  }</b></p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  第8章 設(shè)計(jì)心得</b></p><p>  設(shè)計(jì)心得(本次課程設(shè)計(jì)的心得、收獲等)</p&

52、gt;<p>  首先必須了解稀疏矩陣概念,存儲(chǔ)及矩陣的加法運(yùn)算,三元組順序表的存儲(chǔ)表示。其次對(duì)三元組的輸入運(yùn)算,加法算法的輸入算法,必須認(rèn)真上網(wǎng)了解,認(rèn)真分析。最后,在對(duì)輸入程序的運(yùn)行情況做認(rèn)真的錯(cuò)誤分析,總結(jié)出錯(cuò)原因。通過這次實(shí)踐,自己對(duì)軟件有更深的了解,對(duì)計(jì)算機(jī)的硬件運(yùn)算也有一定的認(rèn)識(shí)。</p><p>  第9 章 參考文獻(xiàn)</p><p>  [1] 吳偉民,數(shù)據(jù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論