DNA操作(數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告)_第1頁
DNA操作(數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告)_第2頁
DNA操作(數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告)_第3頁
DNA操作(數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告)_第4頁
DNA操作(數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、設(shè)計(jì)性綜合性實(shí)驗(yàn)實(shí)驗(yàn)課題名稱: DNA生物學(xué)操作 院系:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 課程: 數(shù)據(jù)結(jié)構(gòu) 教師: 學(xué)號(hào): 姓名: 2013 至 2014 學(xué)年度 1 學(xué)期實(shí)驗(yàn)名稱:生物學(xué)操作實(shí)驗(yàn)性質(zhì):設(shè)計(jì)性(*)綜合性(*)實(shí)驗(yàn)器材:PC機(jī)并裝有VC+6.0環(huán)境實(shí)驗(yàn)?zāi)康模航鉀Q生物學(xué)DNA操作實(shí)驗(yàn)任務(wù):設(shè)計(jì)函數(shù)實(shí)現(xiàn)DNA的以下生物學(xué)操作:實(shí)驗(yàn)內(nèi)容、過程及結(jié)果:一 問題描述脫氧核糖核酸(DNA)承載著生命的遺傳代碼,它是由4種核苷酸(又稱為堿基)組成:腺嘌呤(A)、胸腺嘧啶(T)、鳥嘌呤(G)和胞嘧啶(C)。這4種堿基有無窮種組合,形成一條堿基單鏈,而DNA是由等長的兩條相互纏繞的堿

2、基單鏈所構(gòu)成,在兩條鏈上位置相同的堿基相互連接,稱為堿基對(duì)。但是構(gòu)成堿基對(duì)必須遵循一定的原則,其中A只能連接T,G只能和C連接,這稱為WC兼容性。二 設(shè)計(jì)思路實(shí)行生物學(xué)上DNA的操作,要涉及到DNA的混合,溶合,匹配,輸出。我們可以通過鏈表來形成一個(gè)DNA,利用DNA的堿基互補(bǔ)配對(duì)來完成相應(yīng)的操作。三 解決問題 堿基的互補(bǔ)配對(duì)如下: 腺嘌呤(A)胸腺嘧啶(T) 鳥嘌呤(G)和胞嘧啶(C) 1) 混合:互為WC補(bǔ)體的2條單鏈橫向配對(duì)連接,形成一條完整的DNA雙鏈。2) 溶合:一條DNA雙鏈,通過加熱使得堿基對(duì)斷裂,形成2條DNA單鏈。3) 匹配:輸入任何一條DNA單鏈,輸出其匹配的WC補(bǔ)體單鏈。

3、4) 輸出:輸出任何一條DNA單鏈或雙鏈。四實(shí)現(xiàn)1 功能函數(shù)設(shè)計(jì)dna *chuangjian()此函數(shù)的作用是常見一個(gè)DNA單鏈,通過輸入來確定DNA的長度與DNA的堿基void xianshia(dna *head)此函數(shù)的作用是用來顯示DNA的第一條鏈void xianshib(dna *head)此函數(shù)的作用是用來顯示DNA的另外一條鏈void pd(dna *head)此函數(shù)的作用是用來通過堿基互補(bǔ)配對(duì)利用第一條鏈生成另外一條互補(bǔ)鏈void bijiao(dna *head,dna *bmax,int i)此函數(shù)的作用是用來比較兩個(gè)DNA單鏈?zhǔn)欠窕パa(bǔ)形成一個(gè)DNA單鏈void men

4、u()此函數(shù)的作用是打印出用戶操作菜單void main()此函數(shù)是該程序的主函數(shù)下面是源代碼:#include <stdio.h>#include <stdlib.h>#include <memory.h>#include<string.h>#include<conio.h>#define max 200typedef struct DNAchar a,b;int len;struct DNA*next;dna;dna *head;dna *Lmax;dna *chuangjian()/初始化鏈表dna *r,*t;int j,a;

5、char i;r=head=(dna *)malloc(sizeof(dna);printf(" 待創(chuàng)建DNA的長度:");scanf("%d",&a);for(j=1;j<=a;j+)printf(" 第%d個(gè)核苷酸:",j);getchar();scanf("%c",&i);if(i='A' | i='C' | i='T' | i='G')t=(dna *)malloc(sizeof(dna);t->a=i;r->

6、next=t;r=t;elseprintf("輸入錯(cuò)誤!n");j-; head->len=a;r->next=NULL;return head;/chuangjianvoid xianshia(dna *head)/遍歷鏈表dna *p;p=head->next;while(p)printf("%c ",p->a);p=p->next;printf("n");/xianshivoid pd(dna *head)dna *p;p=head->next;while(p)switch(p->a)c

7、ase 'A':p->b='T'break;case 'T':p->b='A'break;case 'C':p->b='G'break;case 'G':p->b='C'break;p=p->next;void xianshib(dna *head)dna *p;p=head->next;pd(head);while(p)printf("%c ",p->b);p=p->next;printf(&quo

8、t;n");void bijiao(dna *head,dna *bmax,int i)int m;dna *p,*q;p=head->next;for(m=1;m<=i;m+)q=bm->next;if(head->len!=bm->len)continue;elsepd(bm);while(p)if(p->a=q->b)p=p->next;q=q->next;elsebreak;if(!p)break;if(m<=i)printf("找到與之配對(duì)的單鏈!n配對(duì)后的DNA為:n");xianshia(h

9、ead);for(int c=0;c<head->len;c+)printf("| ");printf("n");xianshia(bm);elseprintf("沒有找到與之配對(duì)的單鏈!n");void menu()printf("nnnn");printf(" DNA的生物學(xué)操作nn");printf(" 1. 混 合 n");printf(" 2. 溶 合 n");printf(" 3. 匹 配 n");printf(

10、" 4. 輸 出 n");printf(" 0. 退 出 nn");printf("nn");void main()int i,n,m;while(1)system("cls");menu();printf(" 請(qǐng)輸入您的選擇:");scanf("%d",&i);printf("n");if(i=0)break;switch(i)case 1:printf("請(qǐng)先輸入要配對(duì)的DNA單鏈!n"); chuangjian(); L0

11、=head;printf("要輸入幾條要進(jìn)行配對(duì)的單鏈:");scanf("%d",&m);for(n=1;n<=m;n+)chuangjian();Ln=head;printf("n");bijiao(L0,L,m);break;case 2:printf("請(qǐng)先創(chuàng)建一個(gè)DNA!n");chuangjian();printf("您創(chuàng)建的DNA為:n");xianshia(head);for(n=0;n<head->len;n+)printf("| "

12、;);printf("n");xianshib(head);printf("加熱成功.n");printf("加熱后的第一條單鏈為:");xianshia(head);printf("加熱后的第二條單鏈為:");xianshib(head);break;case 3:chuangjian();printf(" 您輸入的DNA單鏈為:");xianshia(head);printf(" 與之匹配的單鏈為:");xianshib(head);break;case 4:printf("請(qǐng)先創(chuàng)建一個(gè)DNA!n");chuangjian();printf("您創(chuàng)建的DNA為:n");xianshia(head);for(n=0;n<head->len;n+)printf("| ");printf("n");xianshib(head);break;getch();五 運(yùn)行與測(cè)試運(yùn)行結(jié)果:算法分析:DNA的結(jié)構(gòu)體中含有兩條鏈上的堿基a,b 還有指向下一個(gè)堿基對(duì)的指針next,通過用戶輸入堿基a,通過函數(shù)pd生成與a互補(bǔ)的堿

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論