欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)結(jié)構(gòu)圖的遍歷實驗報告

      時間:2019-05-12 01:12:25下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)據(jù)結(jié)構(gòu)圖的遍歷實驗報告》,但愿對你工作學(xué)習(xí)有幫助,當然你在寫寫幫文庫還可以找到更多《數(shù)據(jù)結(jié)構(gòu)圖的遍歷實驗報告》。

      第一篇:數(shù)據(jù)結(jié)構(gòu)圖的遍歷實驗報告

      實驗報告

      課程名:數(shù)據(jù)結(jié)構(gòu)(實驗名:圖的遍歷姓

      名:班

      級:學(xué)

      號:時

      間:

      C語言版)

      2014.11.15

      一 實驗?zāi)康呐c要求

      1.掌握圖的遍歷的方法

      2.利用 C 語言實現(xiàn)圖的遍歷

      二 實驗內(nèi)容

      ? 將一個圖存儲起來

      ? 對該圖分別進行先深和先廣遍歷

      三 實驗結(jié)果與分析

      程序:

      #include #include #define INFINITY 32767 #define MAX_VEX 20 //最大頂點個數(shù)

      #define QUEUE_SIZE(MAX_VEX+1)//隊列長度 //using namespace std;bool *visited;//訪問標志數(shù)組,避免同一頂點多次訪問 /****圖的鄰接矩陣存儲結(jié)構(gòu)******/ typedef struct{ char *vexs;//頂點向量

      int arcs[MAX_VEX][MAX_VEX];//鄰接矩陣

      int vexnum,arcnum;//圖的當前頂點數(shù)和弧數(shù) }Graph;/*********隊列類************/ class Queue{ public: void InitQueue(){ base=(int *)malloc(QUEUE_SIZE*sizeof(int));front=rear=0;} void EnQueue(int e){ base[rear]=e;rear=(rear+1)%QUEUE_SIZE;} void DeQueue(int &e){ e=base[front];front=(front+1)%QUEUE_SIZE;} public: int *base;int front;int rear;};/*圖G中查找元素c的位置*/ int Locate(Graph G,char c){ for(int i=0;i

      G.vexs=(char *)malloc(G.vexnum*sizeof(char));//分配頂點數(shù)目

      printf(“輸入%d個頂點.n”,G.vexnum);for(i=0;i

      printf(“輸入頂點%d:”,i);scanf(“%c”,&G.vexs[i]);temp=getchar();//接收回車

      } for(i=0;i

      for(j=0;j

      printf(“輸入弧%d:”,i);scanf(“%c %c %d”,&a,&b,&w);//輸入一條邊依附的頂點和權(quán)值

      temp=getchar();//接收回車

      s1=Locate(G,a);s2=Locate(G,b);G.arcs[s1][s2]=G.arcs[s2][s1]=w;} } /*****圖G中頂點k的第一個鄰接頂點***********/ int FirstVex(Graph G,int k){ if(k>=0 && k

      for(int i=0;i=0 && i=0 && j

      for(int k=j+1;k

      visited[k]=true;printf(“%c ”,G.vexs[k]);//訪問第k個頂點

      for(i=FirstVex(G,k);i>=0;i=NextVex(G,k,i))if(!visited[i])DFS(G,i);//對k的尚未訪問的鄰接頂點i遞歸調(diào)用DFS } } /****************廣度優(yōu)先遍歷***************/ void BFS(Graph G){ int k;Queue Q;//輔助隊列Q Q.InitQueue();for(int i=0;i

      visited[i]=true;printf(“%c ”,G.vexs[i]);Q.EnQueue(i);//i入列

      while(Q.front!=Q.rear){ Q.DeQueue(k);//隊頭元素出列并置為k for(int w=FirstVex(G,k);w>=0;w=NextVex(G,k,w))if(!visited[w]){ //w為k的尚未訪問的鄰接頂點

      visited[w]=true;printf(“%c ”,G.vexs[w]);Q.EnQueue(w);} } } }

      /***********主函數(shù)***************/ void main(){ int i;Graph G;CreateUDN(G);visited=(bool *)malloc(G.vexnum*sizeof(bool));

      printf(“n廣度優(yōu)先遍歷: ”);for(i=0;i

      圖1.圖的遍歷程序運行結(jié)果

      第二篇:數(shù)據(jù)結(jié)構(gòu)-二叉樹的遍歷實驗報告

      實驗報告

      課程名:數(shù)據(jù)結(jié)構(gòu)(C語言版)實驗名:二叉樹的遍歷 姓名:

      班級:

      學(xué)號:

      時間:2014.11.03

      一 實驗?zāi)康呐c要求

      1.掌握二叉樹的存儲方法 2.掌握二叉樹的三種遍歷方法

      3.實現(xiàn)二叉樹的三種遍歷方法中的一種 二 實驗內(nèi)容

      ? 接受用戶輸入一株二叉樹

      ? 輸出這株二叉樹的前根, 中根, 后根遍歷中任意一種的順序 三 實驗結(jié)果與分析

      //*********************************************************** //頭文件

      #include #include //*********************************************************** //宏定義

      #define OK 1 #define ERROR 0 #define OVERFLOW 0

      //***********************************************************

      typedef struct BiTNode { //二叉樹二叉鏈表存儲結(jié)構(gòu) char data;struct BiTNode *lChild,*rChild;}BiTNode,*BiTree;//*********************************************************** int CreateBiTree(BiTree &T){ //按先序次序輸入二叉中樹結(jié)點的值,空格表示空樹 //構(gòu)造二叉鏈表表示的二叉樹T char ch;fflush(stdin);scanf(“%c”,&ch);if(ch==' ')T=NULL;else{ if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))return(OVERFLOW);T->data=ch;CreateBiTree(T->lChild);CreateBiTree(T->rChild);} return(OK);} //********************************************************* void PreOrderTraverse(BiTree T){ //采用二叉鏈表存儲結(jié)構(gòu),先序遍歷二叉樹的遞歸算法 if(T){ printf(“%c”,T->data);PreOrderTraverse(T->lChild);PreOrderTraverse(T->rChild);} } /***********************************************************/ void InOrderTraverse(BiTree T){ //采用二叉鏈表存儲結(jié)構(gòu),中序遍歷二叉樹的遞歸算法 if(T){ InOrderTraverse(T->lChild);printf(“%c”,T->data);InOrderTraverse(T->rChild);} }

      //*********************************************************** void PostOrderTraverse(BiTree T){ //采用二叉鏈表存儲結(jié)構(gòu),后序遍歷二叉樹的遞歸算法 if(T){ PostOrderTraverse(T->lChild);PostOrderTraverse(T->rChild);printf(“%c”,T->data);} }

      //*********************************************************** void main(){ //主函數(shù)分別實現(xiàn)建立并輸出先、中、后序遍歷二叉樹

      printf(“please input your tree follow the PreOrder:n”);BiTNode *Tree;CreateBiTree(Tree);printf(“n先序遍歷二叉樹:”);PreOrderTraverse(Tree);printf(“n中序遍歷二叉樹:”);InOrderTraverse(Tree);printf(“n后序遍歷二叉樹:”);PostOrderTraverse(Tree);}

      圖1:二叉樹的遍歷運行結(jié)果

      第三篇:數(shù)據(jù)結(jié)構(gòu)實驗報告——中序遍歷二叉樹

      班級:380911班

      學(xué)號:57000211 姓名:徐敏

      實驗報告

      一,實驗?zāi)康模?/p>

      ·掌握二叉樹的鏈式存儲結(jié)構(gòu); ·掌握構(gòu)造二叉樹的方法;

      ·加深對二叉樹的中序遍歷的理解; 二,實驗方法:

      ·用遞歸調(diào)用算法中序遍歷二叉樹。三,實驗步驟:

      ·通過鏈式存儲建立一顆二叉樹。

      ·設(shè)計一個算法實現(xiàn)中序遍歷二叉樹。四,具體實驗步驟:

      #include #include #define LEFT 0 #define RIGHT 1 #define TRUE 1 #define FALSE 0

      typedef struct _BTNODE{ char c;struct _BTNODE *lchild;struct _BTNODE *rchild;}BTNODE,*PBTNODE;

      void PrintBTree(PBTNODE p,int depth);void ConstructBTree(PBTNODE p);void InorderTraverse(PBTNODE p);

      void main(){ PBTNODE p;p=(PBTNODE)calloc(1,sizeof(BTNODE));printf(“Input the data:”);ConstructBTree(p);PrintBTree(p,0);printf(“Now InorderTraverse:”);InorderTraverse(p);printf(“nPress any key to continue...”);getchar();}

      void PrintBTree(PBTNODE p,int depth){

      班級:380911班

      學(xué)號:57000211 姓名:徐敏

      int i;if(p==NULL){

      return;}else{ for(i=0;i

      printf(“--”);} printf(“>”);

      printf(“%cn”,p->c);

      PrintBTree(p->lchild,depth+1);

      PrintBTree(p->rchild,depth+1);} }

      void ConstructBTree(PBTNODE p){ int side;char c;side=LEFT;while(TRUE){

      scanf(“%c”,&c);

      if(c=='n'){

      //printf(“EOFn”);

      return;

      } // printf(“%dn”,c);

      switch(c){

      case '|':

      break;

      case')':

      return;

      case',':

      side=RIGHT;

      break;

      case'(':

      if(side==LEFT){

      if(p->lchild==NULL){

      p->lchild=(PBTNODE)calloc(1,sizeof(BTNODE));

      }

      ConstructBTree(p->lchild);

      }else{

      if(p->rchild==NULL){

      p->rchild=(PBTNODE)calloc(1,sizeof(BTNODE));

      }

      班級:380911班

      學(xué)號:57000211 姓名:徐敏

      ConstructBTree(p->rchild);

      }

      break;

      default:

      if(side==LEFT){

      p->lchild=(PBTNODE)calloc(1,sizeof(BTNODE));

      p->lchild->c=c;

      }else{

      p->rchild=(PBTNODE)calloc(1,sizeof(BTNODE));

      p->rchild->c=c;

      }

      } } }

      void InorderTraverse(PBTNODE p){ if(p==NULL){

      return;}else{

      InorderTraverse(p->lchild);

      printf(“[%c] ”,p->c);

      InorderTraverse(p->rchild);} return;} 五,實驗過程:

      ·輸出:Input the date;

      ·輸入:1(2(3,4),5(6,7));

      ·輸出:Now InorderTraverse:【3】【2】【4】【1】【6】【5】【7】;六,上機實驗體會:

      ·體會到熟練掌握各種程序算法的重要性;

      ·通過上機練習(xí),充分理解了鏈式建立二叉樹的算法;

      ·形象的了解二叉樹的結(jié)構(gòu),能夠熟練的進行先序,中序,后序遍歷二叉樹。

      第四篇:數(shù)據(jù)結(jié)構(gòu)實驗報告-二叉樹的實現(xiàn)與遍歷

      《數(shù)據(jù)結(jié)構(gòu)》 第六次實驗報告

      學(xué)生姓名 學(xué)生班級 學(xué)生學(xué)號 指導(dǎo)老師

      重慶郵電大學(xué)計算機學(xué)院 計算機專業(yè)實驗中心

      一、實驗內(nèi)容

      1)采用二叉樹鏈表作為存儲結(jié)構(gòu),完成二叉樹的建立,先序、中序和后序以及按層次遍歷的操作,求所有葉子及結(jié)點總數(shù)的操作。2)輸出樹的深度,最大元,最小元。

      二、需求分析

      遍歷二叉樹首先有三種方法,即先序遍歷,中序遍歷和后序遍歷。遞歸方法比較簡單,首先獲得結(jié)點指針如果指針不為空,且有左子,從左子遞歸到下一層,如果沒有左子,從右子遞歸到下一層,如果指針為空,則結(jié)束一層遞歸調(diào)用。直到遞歸全部結(jié)束。下面重點來講述非遞歸方法: 首先介紹先序遍歷:

      先序遍歷的順序是根 左 右,也就是說先訪問根結(jié)點然后訪問其左子再然后訪問其右子。具體算法實現(xiàn)如下:如果結(jié)點的指針不為空,結(jié)點指針入棧,輸出相應(yīng)結(jié)點的數(shù)據(jù),同時指針指向其左子,如果結(jié)點的指針為空,表示左子樹訪問結(jié)束,棧頂結(jié)點指針出棧,指針指向其右子,對其右子樹進行訪問,如此循環(huán),直至結(jié)點指針和棧均為空時,遍歷結(jié)束。

      再次介紹中序遍歷:

      中序遍歷的順序是左 根 右,中序遍歷和先序遍歷思想差不多,只是打印順序稍有變化。具體實現(xiàn)算法如下:如果結(jié)點指針不為空,結(jié)點入棧,指針指向其左子,如果指針為空,表示左子樹訪問完成,則棧頂結(jié)點指針出棧,并輸出相應(yīng)結(jié)點的數(shù)據(jù),同時指針指向其右子,對其右子樹進行訪問。如此循環(huán)直至結(jié)點指針和棧均為空,遍歷結(jié)束。最后介紹后序遍歷:

      后序遍歷的順序是左 右 根,后序遍歷是比較難的一種,首先需要建立兩個棧,一個用來存放結(jié)點的指針,另一個存放標志位,也是首先訪問根結(jié)點,如果結(jié)點的指針不為空,根結(jié)點入棧,與之對應(yīng)的標志位也隨之入標志位棧,并賦值0,表示該結(jié)點的右子還沒有訪問,指針指向該結(jié)點的左子,如果結(jié)點指針為空,表示左子訪問完成,父結(jié)點出棧,與之對應(yīng)的標志位也隨之出棧,如果相應(yīng)的標志位值為0,表示右子樹還沒有訪問,指針指向其右子,父結(jié)點再次入棧,與之對應(yīng)的標志位也入棧,但要給標志位賦值為1,表示右子訪問過。如果相應(yīng)的標志位值為1,表示右子樹已經(jīng)訪問完成,此時要輸出相應(yīng)結(jié)點的數(shù)據(jù),同時將結(jié)點指針賦值為空,如此循環(huán)直至結(jié)點指針和棧均為空,遍歷結(jié)束。

      三、詳細設(shè)計

      源代碼:

      #include #define MAX 100 //表示棧的最大容量 #define FULL 99//表示棧滿 #define EMPTY-1//表示???/p>

      typedef struct Tnode //定義結(jié)點 {

      char data;//存儲結(jié)點數(shù)據(jù)

      struct Tnode *left;//定義結(jié)點左子指針 struct Tnode *right;//定義右子指針

      }Tnode,*Pnode;//聲明Tnode類型的變量和指針 typedef struct Stack//定義棧 { Pnode pnode[MAX];//存放數(shù)據(jù) int p;//棧頂指針

      }Stack,*Pstack;//定義Stack類型的變量和指針 void Push(Pstack pstack,Pnode pnode)//入棧 {

      } Pnode Pop(Pstack pstack)//出棧 { } Pnode Top(Pstack pstack)//看棧頂元素 { } int Isempty(Pstack pstack)//棧判空 {

      } int Isfull(Pstack pstack)//棧滿 {

      } void Initstack(Pstack pstack)//初始化棧 if(pstack->p==FULL)else return 0;return 1;if(pstack->p==EMPTY)else return 0;;return 1;return pstack->pnode[pstack->p];return pstack->pnode[pstack->p--];pstack->p ++;pstack->pnode[pstack->p] = pnode;//賦值

      { } void Inittnode(Pnode root,Pnode left,Pnode right,char data)//初始化結(jié)點 {

      } void PreorderR(Pnode proot)//遞歸先序遍歷算法 {

      } void InorderR(Pnode proot)//遞歸中序遍歷算法 {

      } void PostorderR(Pnode proot)//遞歸后序遍歷算法 {

      } void PreorderI(Pnode proot,Pstack pstack)//非遞歸先序遍歷算法 {

      Initstack(pstack);//初始化棧

      while(proot||!Isempty(pstack))//如果棧空并且結(jié)點指針空,則結(jié)束循環(huán) {

      if(proot){ printf(“%2c”,proot->data);if(proot){

      } PostorderR(proot->left);PostorderR(proot->right);printf(“%2c”,proot->data);if(proot){

      }

      InorderR(proot->left);printf(“%2c”,proot->data);InorderR(proot->right);if(proot){

      } printf(“%2c”,proot->data);PreorderR(proot->left);PreorderR(proot->right);root->left=left;root->right = right;root->data = data;pstack->p=EMPTY;

      }

      }

      } else {

      } if(Isfull(pstack))//如果棧滿不能執(zhí)行入棧操作 {

      } Push(pstack,proot);//入棧 proot=proot->left;//指針指向左子 printf(“棧滿,不能執(zhí)行入棧操作!”);return;if(Isempty(pstack))//??諘r不能出棧 {

      } proot = Pop(pstack);//執(zhí)行出棧操作 proot=proot->right;//指針指向右子 printf(“???,不能執(zhí)行出棧操作!”);return;void InorderI(Pnode proot,Pstack pstack)//非遞歸中序遍歷算法 {

      Initstack(pstack);//初始化棧

      while(proot||!Isempty(pstack))//循環(huán)結(jié)束條件 {

      if(proot){

      } else {

      if(Isempty(pstack)){

      } proot = Pop(pstack);//出棧

      printf(“%2c”,proot->data);//打印數(shù)據(jù) printf(“??眨荒軋?zhí)行出棧操作!”);return;if(Isfull(pstack)){

      } Push(pstack,proot);//執(zhí)行入棧操作 proot = proot->left;//指針指向左子 printf(“棧滿,不能執(zhí)行入棧操作!”);return;

      }

      } } proot=proot->right;//指針指向右子

      void PostorderI(Pnode proot,Pstack pstack)//非遞歸后續(xù)遍歷算法 {

      } void main(){ int flags[MAX];//定義標志位棧 int p =-1;//初始化標志位棧 int flag;//存放標志位 Initstack(pstack);//初始化棧

      while(proot||!Isempty(pstack))//循環(huán)結(jié)束條件 {

      } if(proot){

      } else {

      } proot = Pop(pstack);//指針出棧 flag = flags[p--];//相應(yīng)標志位出棧

      if(flag==0)//如果標志位為0表示右子還未訪問過 {

      } else {

      } printf(“%2c”,proot->data);//打印數(shù)據(jù) proot = NULL;//將結(jié)點指針置空 flag =1;//將標志位置1,右子已訪問 flags[++p] = flag;//標志位入棧 Push(pstack,proot);//結(jié)點入棧 if(Isfull(pstack)){

      } flags[++p] = 0;//標志位置0,并入棧 Push(pstack,proot);//結(jié)點入棧 proot=proot->left;//指針指向左子 printf(“棧滿,不能執(zhí)行入棧操作!”);return;

      proot = proot->right;//指針指向右子

      Tnode A,B,C,D,E,F,G;//聲明結(jié)點變量 Stack stack;//聲明棧

      Inittnode(&A,&B,&C,'A');//初始化結(jié)點 Inittnode(&B,NULL,&D,'B');Inittnode(&C,&E,&F,'C');Inittnode(&D,NULL,NULL,'D');Inittnode(&E,NULL,NULL,'E');Inittnode(&F,&G,NULL,'F');Inittnode(&G,NULL,NULL,'G');printf(“你定義的樹的結(jié)構(gòu)是:n”);printf(“A(B(D)C(E F(G)))n”);printf(“=====================下面是遍歷結(jié)果====================n”);printf(“=====================遞歸先序遍歷:====================n”);PreorderR(&A);printf(“n”);printf(“=====================非遞歸先序遍歷:==================n”);PreorderI(&A,&stack);printf(“n”);printf(“=====================遞歸中序遍歷:====================n”);InorderR(&A);printf(“n”);printf(“=====================非遞歸中序遍歷:==================n”);InorderI(&A,&stack);printf(“n”);PostorderR(&A);printf(“n”);PostorderI(&A,&stack);

      printf(“n”);

      /*一下是調(diào)用相應(yīng)的函數(shù)輸出遍歷結(jié)果*/

      }

      printf(“=====================遞歸后序遍歷:====================n”);

      printf(“=====================非遞歸后序遍歷:==================n”);

      五、遇到的問題及解決辦法

      這部分我主要遇到如下兩個問題,其內(nèi)容和解決方法如下所列:

      執(zhí)行程序時程序停止運行,其效果如圖:

      解決方法:看到程序停止運行,推測可能的原因:遇到死循環(huán)、參數(shù)設(shè)置不合理或者結(jié)構(gòu)體沒有造好。首先對結(jié)構(gòu)體進行了檢查,各個成員聲明正常無誤,在對程序進行調(diào)試,程序正常跳出循環(huán),因此最可能是自定義函數(shù)的參數(shù)設(shè)置的不合理,因此對調(diào)用的自定義函數(shù)進行相應(yīng)的改動,將參數(shù)由具體類型改為指針類型后,程序正常運行。

      程序不停的輸出同一個結(jié)點的數(shù)據(jù),其效果入圖:

      解決方法:分析運行結(jié)果可知,第一不停的輸出證明遇到了死循環(huán),第二輸出的是同一個結(jié)點的數(shù)據(jù),表示指針沒有按預(yù)期進行指向,首先對程序進行調(diào)試,發(fā)現(xiàn)程序沒有添加循環(huán)結(jié)束條件,添加循環(huán)結(jié)束條件后,只能輸出樹的部分結(jié)點的數(shù)據(jù),對標志位進行修改后,程序運行正常,也能正確輸出遍歷結(jié)果。

      六、心得體會

      通過這次作業(yè)真的受益匪淺,感觸良多:

      首先,要提高編程能力,必須多動手,多實踐,而不是僅僅局限在書本上,更不能眼高手低。眼高手低,懶得動手,這就犯了編程人員的大忌。大一我們開始接觸C語言,這是我們接觸到的第一種編程語言,但是當時徒有對編程的興趣,卻沒有付諸行動,動手少,結(jié)果考試險過,通過這次作業(yè),我再次看了C語言課本,邊看邊寫代碼,理解快,印象深刻,思維也活躍許多,狀態(tài)也好,真正的意識到,編程能力需要靠實踐來提升。當自己寫出意想的程序后,真的有些成就感。再者,在吳老師的指導(dǎo)和要求下,我們改掉了很多的編程壞習(xí)慣的同時也養(yǎng)成了良好的編程習(xí)慣,另一方面我們態(tài)度端正了很多,認真完成好每一項任務(wù),這樣無形中提高了對自己的要求,同時也增強了我們的動手能力和編程能力。

      七、附錄 運行結(jié)果截圖。

      第五篇:數(shù)據(jù)選擇器實驗報告

      實驗三 數(shù)據(jù)選擇器 實驗人員:

      班號:

      學(xué)號:

      一、實驗?zāi)康?(1)熟悉并掌握數(shù)據(jù)選擇器得功能.(2)

      用雙 4 選 1 數(shù)據(jù)選擇器 74LS153 設(shè)計出一個 16 選 1 得數(shù)據(jù)選擇器。

      (3)用雙 4 選 1 數(shù)據(jù)選擇器 74LS153 設(shè)計出一個全加法器。

      二、實驗設(shè)備 數(shù)字電路實驗箱,74LS00,74LS153.三、實驗內(nèi)容(1)

      測試雙 4 選 1 數(shù)據(jù)選擇器74LS153 得邏輯功能。

      74LS153 含有兩個 4 選 1 數(shù)據(jù)選擇器,其中 與 為芯片得公共地址輸入端,與 分別為芯片得公共電源端與接地端.Figure1 為其管腳圖:

      Figure 錯誤 錯誤!未定義書簽。

      未定義書簽。

      :路電接連圖下按? Figure 錯誤 錯誤!未定義書簽。

      (2)設(shè)某一導(dǎo)彈發(fā)射控制機構(gòu)有兩名司令員 A、B 與兩名操作員C、D,只有當兩名司令員均同意發(fā)射導(dǎo)彈攻擊目標且有操作員操作,則發(fā)射導(dǎo)彈 F.利用所給得實驗儀器設(shè)計出一個符合上述要求得16選1數(shù)據(jù)選擇器,并用數(shù)字電路實驗箱上得小燈與開關(guān)組合表達實驗結(jié)果。

      思路 :

      由于本實驗需要有四個地址輸入端來選中 16 個數(shù)據(jù)輸入端得地址之中得一個,進而實現(xiàn)選擇該數(shù)據(jù)輸入端中得數(shù)據(jù)得功能,即 16選1。而公共得、兩

      個地址輸入端與 使能端(用于片選,已達到分片工作得目得,進而擴展了一位輸入)一共可以提供三個地址輸入端,故需要采用降維得方法,將一個地址輸入隱藏到一個數(shù)據(jù)輸入端 中。本實驗可以降一維,也可以降兩位。由于兩位比較復(fù)雜,本實驗選擇使用降一維得方式。

      做法 :

      :圖諾卡得能功需所現(xiàn)實中題用應(yīng)如出畫?

      00

      01

      11

      10 00 01 0 0 0 0 0 0 1 0 11 0 0 1 0 10 0 0 1 0 將 D 降到數(shù)據(jù)輸入端中。對應(yīng)得卡諾圖如下:

      00

      01

      1 0 0 D 0 0 0 1 0 按上述卡諾圖連接電路,用開關(guān)控制送給各輸入高低電平。其中,“1”表示高電平,“0”表低電平,均由開關(guān)上下?lián)軇觼砜刂?;A、B、C、D分別為題中得兩個司令員得同意情況與兩個操作員得操作情況;F 為導(dǎo)彈發(fā)射情況,將F接到小燈上即可。電路如 Figure 1 所示(圖中 即,后面得圖均為如此):

      Figure 3

      AB CD C AB

      (3)用 74LS00與 74LS153 設(shè)計一位全加器,并用數(shù)字電路實驗箱上得小燈與開關(guān)組合表達實驗結(jié)果。

      一位全加器得功能如下面兩個卡諾圖所示。其中 A、B 分別表示被加數(shù)與加數(shù),CI 表示低位向本位得進位,S 表示運算結(jié)果,CO 表示向高位得進位。

      CO: S:

      00

      經(jīng)分析,此全加器有三個輸入,而公共得、兩個地址輸入端與 使能端(用于片選,已達到分片工作得目得,進而擴展了一位輸入)剛好一共可以提供三個地址輸入端。故按上面得卡諾圖,分析后應(yīng)采用下面得端口解法:

      按上面得接法連接電路。用開關(guān)控制送給各輸入高低電平,“1“表示高電平,“0”表低電平,均由開關(guān)上下?lián)軇觼砜刂疲?表示低位送進來得進位信號,A、B分別表示被加數(shù)與加數(shù);S 與 分別表示加法結(jié)果與向高位得進位信號。電路如Figure 4 所示:

      Figure 4 四、實驗結(jié)果(1)

      測試雙 4 選 1 數(shù)據(jù)選擇器74LS153 得邏輯功能:

      :下如錄記果結(jié)將,)亮燈小或(平電高示表”1“,)滅燈小或(平電低示表”0“用?

      0

      0 1 0

      1 B A A B

      1Q 0 0 0

      0 0 1

      0 1 0

      0 1 10 0 0 1 0 1 0 1 1 0 0 1 1 1 0

      2Q 0 0 0

      0 0 1

      0 1 0

      0 1 1

      1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0(2)

      設(shè)計出一個符合題目要求得 16 選 1 數(shù)據(jù)選擇器

      :下如錄記果結(jié)將,)亮燈小或(平電高示表”1“,)滅燈小或(平電低示表”0“用?A B C D F 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1

      1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1

      。能功輯邏得出計設(shè)求要所足滿以可路電此,得可表值真得面上由?(3)

      設(shè)計一位全加器

      :下如錄記果結(jié)將,)亮燈小或(平電高示表“1“,)滅燈小或(平電低示表"0“用?A B CI S CO 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

      由上面得真值表可得,此電路可以滿足所要求設(shè)計出得邏輯功能。

      五、故障排除

      在實驗(1)中,發(fā)現(xiàn)所連接電路與預(yù)期得邏輯功能不一致.在檢驗了導(dǎo)線與小燈都正常后,發(fā)現(xiàn)將芯片得管腳接錯了,誤將 Q 與 接錯地方。分析原因,就是由于芯片管腳設(shè)置得位置與管腳圖上面不一致,兩側(cè)均有兩個管腳接口.六、心得體會

      連了道知中除排得障故在且并,計設(shè)得路電輯邏了握掌地好更我,驗實次這過通?接時要瞧引腳上面得標號而不能一味地只認準位置。

      我還學(xué)會了降維得方法.本來以為只能用使能端擴展出一位輸入,結(jié)果卻可以通過降維擴展出更多。我感覺非常做電路實驗。

      下載數(shù)據(jù)結(jié)構(gòu)圖的遍歷實驗報告word格式文檔
      下載數(shù)據(jù)結(jié)構(gòu)圖的遍歷實驗報告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)據(jù)挖掘?qū)嶒瀳蟾妫ňx5篇)

        大數(shù)據(jù)理論與技術(shù)讀書報告—-- — -K 最近鄰分類算法 指導(dǎo)老師 : 陳 莉 學(xué)生姓名:李陽帆 學(xué) 學(xué)號 號:: 201531 46 7 專 專業(yè) :計算機技術(shù)日期::20 16年 8月 月 31 日 摘 摘要 數(shù)據(jù)挖掘就......

        無線數(shù)據(jù)采集模塊實驗報告

        無線數(shù)據(jù)采集模塊 實驗報告 姓名:張兆偉班級:13 班學(xué)號:2015042130 日期:2016年8月25日 無線數(shù)據(jù)采集模塊實驗報告 一、實驗背景 數(shù)據(jù)是指用來描述客觀事物的數(shù)字、字母和符號......

        地震數(shù)據(jù)采集實驗報告參考材料[精選]

        實驗一 地震數(shù)據(jù)采集實驗 紅色字體部分根據(jù)具體實驗參數(shù)自行修改 一 實驗?zāi)康暮鸵?通過實驗了解地震數(shù)據(jù)的采集方法和觀測系統(tǒng)的設(shè)計方法。 二 實驗內(nèi)容 1、了解地震數(shù)據(jù)......

        二叉樹遍歷課程設(shè)計】

        數(shù)據(jù)結(jié)構(gòu)程序設(shè)計報告 學(xué)院: 班級: 學(xué)號:姓名: 實驗名稱:二叉樹的建立與遍歷 一、 實驗?zāi)康模?1.掌握二叉樹的二叉鏈表存儲結(jié)構(gòu); 2.掌握二叉樹創(chuàng)建方法; 3.掌握二叉樹的先序、中序、......

        SQL數(shù)據(jù)的定義實驗報告

        實驗1、數(shù)據(jù)定義班級:計自班姓名:學(xué)號:1、實驗?zāi)康氖煜QL的數(shù)據(jù)定義語言,能夠熟練地使用SQL語句來創(chuàng)建和更改基本表,創(chuàng)建和取消索引。2、實驗內(nèi)容l用SSMS創(chuàng)建數(shù)據(jù)庫University_M......

        SPSS數(shù)據(jù)統(tǒng)計軟件實驗報告

        SPSS數(shù)據(jù)統(tǒng)計軟件實驗報告專業(yè)信息與計算科學(xué)班級級班組別指導(dǎo)教師姓名同組人實驗時間2018年月日實驗地點實驗名稱方差分析實驗?zāi)康耐ㄟ^對數(shù)據(jù)的分析,使其掌握用方差分析的方......

        數(shù)據(jù)分析實驗報告冊(最終五篇)

        《數(shù)據(jù)分析》 實驗報告冊 20 15 - 20 16 學(xué)年 第 一 學(xué)期班 級: 學(xué) 號: 姓 名: 授課教師: 實驗教師:第 1 頁 共 52 頁 目錄 實驗一 網(wǎng)上書店的數(shù)據(jù)庫創(chuàng)建及其查詢 實驗 1-1......

        組織結(jié)構(gòu)圖

        組織結(jié)構(gòu)組織結(jié)構(gòu)圖(Organization Chart),是最常見的表現(xiàn)雇員、職稱和群體關(guān)系的一種圖表,它形象地反映了組織內(nèi)各機構(gòu)、崗位上下左右相互之間的關(guān)系。組織結(jié)構(gòu)圖是組織結(jié)構(gòu)的直......