第一篇:自來水管道鋪設(shè)協(xié)議書
自來水管道鋪設(shè)協(xié)議書
甲方:
乙方:
簽約地點(diǎn):
簽訂日期: 年 月 日
根據(jù)《中華人民共和國合同法》及國家其他有關(guān)法律、法規(guī)的規(guī)定,甲、乙雙方在平等、自愿、等價(jià)有償、公平、誠實(shí)信用的基礎(chǔ)上,經(jīng)友好協(xié)商,就甲方委托乙方鋪設(shè)自來水管道達(dá)成一致意見,特簽訂本合同,以資信守。
一、工程概況
(1)工程名稱:關(guān)集小學(xué)自來水管道鋪設(shè)
(2)工程地點(diǎn): 關(guān)集小學(xué)院內(nèi)
二、承包方式及安裝要求
(1)本工程采用包稅費(fèi)、包工包料、包工期。包質(zhì)量方式執(zhí)行:
1)雙方審定工程造價(jià)由乙方進(jìn)行一次性包干。
2)工程量:140米
3)管道質(zhì)量標(biāo)準(zhǔn):32mmPEC水管
4)價(jià)格:甲方以綜合價(jià)沒米25元價(jià)格承包一方,工程總價(jià)為3500.00元(大寫:叁仟伍佰元整)
(2)安裝要求:達(dá)到國家自來水供水管及水表安裝要求。
三:工期
3天 四:工程質(zhì)量
(1)乙方必須嚴(yán)格甲方指定路線鋪設(shè)管道并按期完工。
(2)乙方在水管接頭上必須接受甲方的監(jiān)督,做到不漏水
五、驗(yàn)收: 乙方應(yīng)提前1 日書面通知甲方進(jìn)行竣工驗(yàn)收,工程質(zhì)量及工程內(nèi)容符合要求的,雙方在“竣工工程驗(yàn)收證明書”上簽章。
六、付款方式 :甲方提供驗(yàn)收證明,乙方開具國家法定票據(jù),由甲方報(bào)中心校轉(zhuǎn)賬。
本協(xié)議一式三份,甲乙雙方各執(zhí)一份,報(bào)中心校一份。
甲方簽字蓋章:
乙方簽字:
****年**月**日
年
月 日
自來水管道鋪設(shè)驗(yàn)收證明
由李超同志為我校鋪設(shè)的自來水管道共140米,經(jīng)我校驗(yàn)收小組驗(yàn)收,數(shù)量屬實(shí),管道質(zhì)量、直徑與協(xié)議要求一致,上下水路接口嚴(yán)密,無漏水現(xiàn)象,認(rèn)定合格。工程總價(jià)款為3500.00元(大寫:叁仟伍佰元整),特此證明,同意開票付款。驗(yàn)收人:
關(guān)集鎮(zhèn)中心小學(xué) 年
月
日
第二篇:自來水管道安裝協(xié)議書
自來水管道安裝協(xié)議書
甲方:賀州市廣興房地產(chǎn)開發(fā)有限公司
乙方:桂嶺鎮(zhèn)自來水廠
甲、乙雙方就桂嶺商住中心自來水管道安裝人工及部分材料購銷事宜,為明確雙方的權(quán)利、責(zé)任義務(wù)等的原則,經(jīng)雙方友好協(xié)商一致達(dá)成以下協(xié)議:
1、安裝地點(diǎn):桂嶺商住中心
2、安裝范圍:桂嶺商住中心每分戶的主水管道
1、管道的土石方(路砼)開挖、回填(路砼恢
3、安裝人工內(nèi)容及單價(jià):○
2、PE管安裝¢100復(fù))。石方及道路砼破挖60元/米,土方開挖18元/米。○
管18米、¢160管23米(包括三通的焊接)。砌井及安裝閘閥250/只,消防栓100元/只,配件由甲方負(fù)責(zé)。
4、商住中心2#、3#、13#、14#、15#、16#樓所用的PE¢100主管材料由乙方采購50元/米主管長約300米,三通等配件由甲方采購,安裝由乙方負(fù)責(zé)不再計(jì)工款。以后安裝的主材及配件由甲方采購。
1、5、安裝勞務(wù)費(fèi)及材料款的支付方式:○勞務(wù)費(fèi)按工程進(jìn)度量的80%支付,2、材料運(yùn)至現(xiàn)場經(jīng)共完工后經(jīng)有關(guān)部門驗(yàn)收試壓合格后10天內(nèi)支付清?!?/p>
同驗(yàn)收合格并提供完廠家有關(guān)產(chǎn)品合格等資料后一次性付清款。
6、自來水開戶費(fèi)由甲方代乙方收取。甲方統(tǒng)一支付到乙方帳戶,發(fā)票由乙方提供。
7、合同一式貳份,自雙方簽字后生效。
甲方:賀州市廣興房地產(chǎn)開發(fā)有限公司乙方:桂嶺鎮(zhèn)自來水廠簽字:簽字:
日期:2010年 月 日日期:2010年 月 日
第三篇:管道鋪設(shè)問題
實(shí)驗(yàn)三:管道鋪設(shè)施工的最佳方案
一.問題描述 1.實(shí)驗(yàn)題目:
需要在某個城市n個居民小區(qū)之間鋪設(shè)煤氣管道,則在這n個居民小區(qū)之間只需要鋪設(shè)n-1條管道鋪設(shè)n-1條管道即可。假設(shè)任意兩個小區(qū)之間則可以鋪設(shè)管道,但由于地理環(huán)境不同,所需要的費(fèi)用也不盡相同。選擇最優(yōu)的方案能使總投資盡可能小,這個問題即為求無向網(wǎng)的最小生成樹。2.基本要求:
在可能假設(shè)的m條管道中,選取n-1條管道,使得既能連通n個小區(qū),又能使總投資最小。每條管道的費(fèi)用以網(wǎng)中該邊的權(quán)值形式給出,網(wǎng)的存儲采用鄰接表的結(jié)構(gòu)。3.測試數(shù)據(jù):
使用下圖給出的無線網(wǎng)數(shù)據(jù)作為程序的輸入,求出最佳鋪設(shè)方案。
A38.244.618.28.7112.IB5.9CH52.541.1.379.256.4G10.585.667.3D參考解: 21E98.7F
AI.32B5.988.H7C41.1EGD二.需求分析
1.程序所能達(dá)到的基本可能: 2110.5F
在某個城市n個居民小區(qū)之間鋪設(shè)煤氣管道,則在這n個居民小區(qū)之間只需要鋪設(shè)n-1條管道鋪設(shè)n-1條管道即可。假設(shè)任意兩個小區(qū)之間則可以鋪設(shè)管道,但由于地理環(huán)境不同,所需要的費(fèi)用也不盡相同。選擇最優(yōu)的方案能使總投資盡可能小,在可能假設(shè)的m條管道中,選取n-1條管道,使得既能連通n個小區(qū),又能使總投資最小。
2.輸入輸出形式及輸入值范圍:程序運(yùn)行后,顯示提示信息:請輸入頂點(diǎn)數(shù)和邊數(shù)(輸入格式為:頂點(diǎn)數(shù),邊數(shù))之后程序從文件名為”C:data.txt讀入頂點(diǎn)信息和邊的信息,之后顯示提示信息輸入開始節(jié)點(diǎn),執(zhí)行生成最小樹程序,輸出生成的最小樹信息。
3.測試數(shù)據(jù)要求:頂點(diǎn)數(shù)邊數(shù)為整數(shù),頂點(diǎn)信息為大寫字母,邊的權(quán)值為浮點(diǎn)型,C:data.txt文件內(nèi)容為:ABCDEFGHI 1 2 32.8 2 3 5.9 1 3 44.6 3 4 21.3 4 5 67.3 4 6 98.7 5 6 85.6 5 7 10.5 3 7 56.4 6 9 79.2 7 8 52.5 1 8 12.1 8 9 8.7 1 9 18.2 3 5 41.1 三.概要設(shè)計(jì)
1.所用到得數(shù)據(jù)結(jié)構(gòu)及其ADT typedef struct node //邊表結(jié)點(diǎn) { int NO;//鄰接點(diǎn)域;vertexType adjvex;.379.2.112 EdgeType info;//權(quán)值
struct node *next;//指向下一個鄰接點(diǎn)的指針域
}EdgeNode;
typedef struct vnode //頂點(diǎn)表節(jié)點(diǎn) { vertexType vertex;//頂點(diǎn)域 EdgeNode *firstedge;//編表頭指針
}VertexNode;
typedef struct //鄰接表 { VertexNode adjlist[MaxVertexNum];int n,e;//頂點(diǎn)數(shù)和邊數(shù)
}ALGraph;// ALGraph是以鄰接表方式存儲的圖類型 基本操作:ALGraph * CreateALGraph()//建表 2.主程序流程及其模塊調(diào)用關(guān)系 1)主程序模塊
開始顯示主界面建表生成最小樹結(jié)束
建表模塊ALGraph * CreateALGraph()開始打開文件fp=fopen(“C:data.txt”,“r”);fp==NULL讀取G->n,G->e頂點(diǎn)數(shù)邊數(shù)printf(“Cann't open the file!n”);打開文件失敗i=1i<=G->nYG->adjlist[i].vertex=fgetc(fp);G->adjlist[i].firstedge=NULL;visited[i]=i;Nk=1k<=G->eYfscanf(fp,“%d”,&i);fscanf(fp,“%d”,&j);fscanf(fp,“%f”,&m);輸入邊的信息N關(guān)閉文件結(jié)束i++;將邊的信息存儲到鄰接表中k++最小生成樹模塊void tree(ALGraph *G,int m)開始sum=0;low[m]=0;visited[m]=0;i=1Ni<=G->nYlow[i]=1000;teed[i]=m;s=G->adjlist[m].firstedge;Ns!=NULLi=1結(jié)束Ylow[s->NO]=s->info;s=s->next;Ni
函數(shù)調(diào)用關(guān)系圖
CreateALGraph();建表main()主函數(shù)tree(G,i);生成最小樹
四、詳細(xì)設(shè)計(jì)
1.實(shí)現(xiàn)每個操作的偽碼,重點(diǎn)語句加注釋 1)建表模塊
ALGraph * CreateALGraph()//建表 {
int i,j,k;float m;FILE *fp;EdgeNode *s,*t;ALGraph *G;fp=fopen(“C:data.txt”,“r”);//打開文件 if(fp==NULL)//未找到文件 {
} printf(“Cann't open the file!n”);exit(1);G=(ALGraph *)malloc(sizeof(ALGraph));
printf(“請輸入頂點(diǎn)數(shù)和邊數(shù)(輸入格式為:頂點(diǎn)數(shù),邊數(shù))n”);scanf(“%d,%d”,&G->n,&G->e);for(i=1;i<=G->n;i++)//建立頂點(diǎn)信息 { G->adjlist[i].vertex=fgetc(fp);G->adjlist[i].firstedge=NULL;visited[i]=i;
} for(k=1;k<=G->e;k++){ // printf(“請輸入第%d條邊的兩個端點(diǎn)序號,輸入格式為:i,jn”,k);// scanf(“%d,%d”,&i,&j);
fscanf(fp,“%d”,&i);fscanf(fp,“%d”,&j);s=(EdgeNode *)malloc(sizeof(EdgeNode));t=(EdgeNode *)malloc(sizeof(EdgeNode));// printf(“請輸入第%d條邊的對應(yīng)權(quán)值n”,k);
t->NO=i;t->adjvex=G->adjlist[i].vertex;
fscanf(fp,“%f”,&m);//保存邊信息,以無向網(wǎng)方式 s->NO=j;s->adjvex=G->adjlist[j].vertex;s->info=m;s->next=G->adjlist[i].firstedge;G->adjlist[i].firstedge=s;t->info=m;
t->next=G->adjlist[j].firstedge;G->adjlist[j].firstedge=t;
} } fclose(fp);//關(guān)閉文件 return G;2)生成最小生成樹模塊 void tree(ALGraph *G,int m){
float low[100];int teed[100];int k,i,j;float min,sum=0;EdgeNode *s;low[m]=0;visited[m]=0;for(i=1;i<=G->n;i++)
{
} s=G->adjlist[m].firstedge;while(s!=NULL)//數(shù)組初始化 {
} for(i=1;i
min=1000;for(j=1;j<=G->n;j++){ low[s->NO]=s->info;s=s->next;low[i]=1000;teed[i]=m;
}
} if(visited[j]>0&&low[j] } min=low[j];k=j;//標(biāo)記節(jié)點(diǎn) sum+=min;visited[k]=0;s=G->adjlist[k].firstedge;while(s!=NULL){ } if(visited[s->NO]>0&&s->info } s=s->next;low[s->NO]=s->info;teed[s->NO]=k;printf(“最佳鋪設(shè)方案n”); } 3)主函數(shù)模塊 void main(){ ALGraph *G;int i;for(i=1;i<=G->n;i++)//輸出最小生成樹信息 if(i!=m)printf(“(%d,%d)%.2ft”,i,teed[i],low[i]);printf(“最小權(quán)值為:%.2fn”,sum);time_t rawtime;struct tm * timeinfo;time(&rawtime);timeinfo = localtime(&rawtime);printf(“ 實(shí)驗(yàn)名稱:實(shí)驗(yàn)三:管道鋪設(shè)施工的最佳方案n”);printf(“ 學(xué)號:031350102n”);printf(“ 姓名:王亞文n”);printf(“=============================================n”); printf(“程序運(yùn)行開始,”);printf(“Current local time and date:%s”,asctime(timeinfo));G=CreateALGraph();//建表 printf(“輸入開始節(jié)點(diǎn)n”);scanf(“%d”,&i);tree(G,i);//生成最小樹 //printfALGraph(G);printf(“n”); } 五、調(diào)試分析 1.設(shè)計(jì)與調(diào)試過程中遇到的問題分析、體會 1)一開始對文件讀寫操作不熟,采用從鍵盤輸出的方式驗(yàn)證正確與否,對應(yīng)程序如下: int i,j,k; float m;EdgeNode *s,*t;ALGraph *G;printf(“Current local time and date:%s”,asctime(timeinfo));G=(ALGraph *)malloc(sizeof(ALGraph)); printf(“請輸入頂點(diǎn)數(shù)和邊數(shù)(輸入格式為:頂點(diǎn)數(shù),邊數(shù))n”);scanf(“%d,%d”,&G->n,&G->e);for(i=1;i<=G->n;i++)//建立頂點(diǎn)信息 { G->adjlist[i].vertex=fgetc(fp);G->adjlist[i].firstedge=NULL;visited[i]=i; } for(k=1;k<=G->e;k++){ printf(“請輸入第%d條邊的兩個端點(diǎn)序號,輸入格式為:i,jn”,k); scanf(“%d,%d”,&i,&j);s=(EdgeNode *)malloc(sizeof(EdgeNode));t=(EdgeNode *)malloc(sizeof(EdgeNode));printf(“請輸入第%d條邊的對應(yīng)權(quán)值n”,k); } 對應(yīng)截屏如下:發(fā)現(xiàn)這種方式輸入耗時長,而且在生成樹程序不正確時修改程序需要重復(fù)輸入,較為麻煩 t->NO=i;t->adjvex=G->adjlist[i].vertex; scanf(“%f”,&m);//保存邊信息,以無向網(wǎng)方式 s->NO=j;s->adjvex=G->adjlist[j].vertex;s->info=m;s->next=G->adjlist[i].firstedge;G->adjlist[i].firstedge=s;t->info=m; } return G;t->next=G->adjlist[j].firstedge;G->adjlist[j].firstedge=t; 2)為檢驗(yàn)所建立的無向網(wǎng),編寫了一個輸出函數(shù),輸出各個頂點(diǎn)以及與該頂點(diǎn)相鄰的其他頂點(diǎn)以及對應(yīng)權(quán)值,輸出函數(shù)為void printfALGraph(ALGraph *G)//輸出表 { int i;EdgeNode *s;printf(“輸出信息n”);for(i=1;i<=G->n;i++) } 輸出測試截屏如下證明從文件讀寫的與所需要建立的無向網(wǎng)相符 { } printf(“%c的鄰接點(diǎn)及權(quán)值:n”,G->adjlist[i].vertex);s=G->adjlist[i].firstedge;while(s!=NULL){ } printf(“n”);printf(“%c %.2f ”,s->adjvex,s->info);s=s->next; 2.主要算法的時間復(fù)雜度分析 六、使用說明 程序運(yùn)行后,顯示提示信息:請輸入頂點(diǎn)數(shù)和邊數(shù)(輸入格式為:頂點(diǎn)數(shù),邊數(shù))之后程序從文件名為”C:data.txt讀入頂點(diǎn)信息和邊的信息,之后顯示提示信息輸入開始節(jié)點(diǎn),執(zhí)行生成最小樹程序,輸出生成的最小樹信息。 七、測試結(jié)果 3)這個程序遇到的第一個主要問題是在建表過程,因?yàn)檫叺捻旤c(diǎn)信息是大寫英文字母,一開始我是用的ASCLL碼值,使用不方便,后來采用在定義時考慮多定義一個量,原程序: typedef struct node //邊表結(jié)點(diǎn) { vertexType adjvex; //鄰接點(diǎn)域;EdgeType info;//權(quán)值 struct node *next;//指向下一個鄰接點(diǎn)的指針域 }EdgeNode;修正后的程序?yàn)椋?/p> typedef struct node //邊表結(jié)點(diǎn) { int NO;//鄰接點(diǎn)域;vertexType adjvex;EdgeType info;//權(quán)值 struct node *next;//指向下一個鄰接點(diǎn)的指針域 }EdgeNode;這樣多定義了一個量在后面的過程中會簡單許多,其次書上給的程序是生成有向網(wǎng)的,一開始我是考慮的將邊輸入兩邊,就是在循環(huán)時的終止條件設(shè)為k<=2*G->e;這樣雖然能解決無向網(wǎng)問題,但是一條邊重復(fù)輸入兩邊,較為麻煩,后期修正為: s->NO=j; s->adjvex=G->adjlist[j].vertex;s->info=m; s->next=G->adjlist[i].firstedge;G->adjlist[i].firstedge=s;t->NO=i;t->adjvex=G->adjlist[i].vertex;t->info=m;t->next=G->adjlist[j].firstedge;G->adjlist[j].firstedge=t;修正后的函數(shù)雖然語句較之前的多了5句但在輸入時少輸了一半的邊信息。其次解決耗時最長的一個錯誤是在建表中,原程序: typedef VertexNode Adjlist[MaxVertexNum]; typedef struct //鄰接表 { Adjlist adjlist;//int n,e;//頂點(diǎn)數(shù)和邊數(shù) int n;int e;}ALGraph;// ALGraph是以鄰接表方式存儲的圖類型 這個程序是抄的書上的,一開始不覺得書上的程序會是錯的,結(jié)果一直沒有看這個定義,在輸入邊的信息時循環(huán)次數(shù)總是不對,一直嘗試著改動寫的輸入信息,弄了一下午也沒有搞定這個問題,于是去求助研究生學(xué)長,下面是研究生學(xué)長發(fā)過來的郵件幫我指出錯誤所在,看了學(xué)長的這封郵件后,重新改了一下自己的程序,修正后的程序?yàn)?typedef struct //鄰接表 { VertexNode adjlist[MaxVertexNum];int n,e;//頂點(diǎn)數(shù)和邊數(shù) }ALGraph;// ALGraph是以鄰接表方式存儲的圖類型 程序修正后輸入正常了,就開始進(jìn)入下一個階段生成最小樹的程序。 3)在生成最小樹這個程序的編寫中,開始因?yàn)榫幊绦蚴窃诶蠋熤v解生成樹之前,所以一開始是完全沒有地方下手,網(wǎng)上百度了一下如何生成最小樹,發(fā)現(xiàn)有兩種方法,Kruskal和prim算法,但研究生學(xué)長這個適合用prim算法,Kruskal算法適合與邊稀疏的連通圖求解最小生成樹,所以在編寫時主要研究的是用prim算法,在編寫prim算法時除了很多問題,例如一開始我并沒有在循環(huán)中寫teed[i]=m;這句話,導(dǎo)致在最后輸出邊的信息時會有隨機(jī)數(shù)產(chǎn)生,截圖如下: 想到隨機(jī)數(shù)產(chǎn)生可能是因?yàn)闆]有賦值,所以加上teed[i]=m;這句話果然最后就輸出正確了,再次在輸出時,產(chǎn)生的結(jié)果中有重復(fù)的一個節(jié)點(diǎn),<1,1>1000.00這個不應(yīng)該被輸出,所以考慮在輸出時加一個限制條件 if(i!=m)再次輸出就沒有了,中間編寫時問題不大,之前有看過prim算法的詳細(xì)介紹,所以在主思路上沒有太大的錯誤,相對寫起來也比較順利。 2)建立鄰接表的復(fù)雜度為O(n+e);Prim算法的時間復(fù)雜度為O(elogn); 八、附錄 #include int NO;//鄰接點(diǎn)域;vertexType adjvex;EdgeType info;//權(quán)值 struct node *next;//指向下一個鄰接點(diǎn)的指針域 }EdgeNode; typedef struct vnode //頂點(diǎn)表節(jié)點(diǎn) { vertexType vertex;//頂點(diǎn)域 EdgeNode *firstedge;//編表頭指針 }VertexNode; typedef struct //鄰接表 { VertexNode adjlist[MaxVertexNum];int n,e;//頂點(diǎn)數(shù)和邊數(shù) }ALGraph;// ALGraph是以鄰接表方式存儲的圖類型 ALGraph * CreateALGraph()//建表 { int i,j,k;float m;FILE *fp;EdgeNode *s,*t;ALGraph *G;fp=fopen(“C:data.txt”,“r”);//打開文件 if(fp==NULL)//未找到文件 { } printf(“Cann't open the file!n”);exit(1);G=(ALGraph *)malloc(sizeof(ALGraph)); printf(“請輸入頂點(diǎn)數(shù)和邊數(shù)(輸入格式為:頂點(diǎn)數(shù),邊數(shù))n”);scanf(“%d,%d”,&G->n,&G->e);for(i=1;i<=G->n;i++)//建立頂點(diǎn)信息 { G->adjlist[i].vertex=fgetc(fp);G->adjlist[i].firstedge=NULL;visited[i]=i; } for(k=1;k<=G->e;k++){ // printf(“請輸入第%d條邊的兩個端點(diǎn)序號,輸入格式為:i,jn”,k);// scanf(“%d,%d”,&i,&j); fscanf(fp,“%d”,&i);fscanf(fp,“%d”,&j);s=(EdgeNode *)malloc(sizeof(EdgeNode));t=(EdgeNode *)malloc(sizeof(EdgeNode));// printf(“請輸入第%d條邊的對應(yīng)權(quán)值n”,k); } fscanf(fp,“%f”,&m);//保存邊信息,以無向網(wǎng)方式 s->NO=j;s->adjvex=G->adjlist[j].vertex;s->info=m;s->next=G->adjlist[i].firstedge;G->adjlist[i].firstedge=s;t->NO=i;t->adjvex=G->adjlist[i].vertex;t->info=m; } fclose(fp);//關(guān)閉文件 return G;t->next=G->adjlist[j].firstedge;G->adjlist[j].firstedge=t;void tree(ALGraph *G,int m){ float low[100];int teed[100];int k,i,j;float min,sum=0;EdgeNode *s;low[m]=0;visited[m]=0;for(i=1;i<=G->n;i++) { low[i]=1000;teed[i]=m; } s=G->adjlist[m].firstedge;while(s!=NULL)//數(shù)組初始化 { } for(i=1;i min=1000;for(j=1;j<=G->n;j++){ } sum+=min;visited[k]=0;s=G->adjlist[k].firstedge;while(s!=NULL){ } if(visited[s->NO]>0&&s->info } s=s->next;low[s->NO]=s->info;teed[s->NO]=k;if(visited[j]>0&&low[j] } min=low[j];k=j;//標(biāo)記節(jié)點(diǎn) low[s->NO]=s->info;s=s->next;} printf(“最佳鋪設(shè)方案n”); } /*void printfALGraph(ALGraph *G)//輸出表 { int i;EdgeNode *s;printf(“輸出信息n”);for(i=1;i<=G->n;i++)//輸出最小生成樹信息 if(i!=m)printf(“(%d,%d)%.2ft”,i,teed[i],low[i]);printf(“最小權(quán)值為:%.2fn”,sum);for(i=1;i<=G->n;i++) } */ void main(){ ALGraph *G;int i;time_t rawtime;{ } printf(“%c的鄰接點(diǎn)及權(quán)值:n”,G->adjlist[i].vertex);s=G->adjlist[i].firstedge;while(s!=NULL){ } printf(“n”);printf(“%c %.2f ”,s->adjvex,s->info);s=s->next;struct tm * timeinfo;time(&rawtime);timeinfo = localtime(&rawtime);printf(“ 實(shí)驗(yàn)名稱:實(shí)驗(yàn)三:管道鋪設(shè)施工的最佳方案n”);printf(“ 學(xué)號:031350102n”);printf(“ 姓名:王亞文n”);printf(“=============================================n”); printf(“程序運(yùn)行開始,”);printf(“Current local time and date:%s”,asctime(timeinfo));G=CreateALGraph();//建表 printf(“輸入開始節(jié)點(diǎn)n”);scanf(“%d”,&i);tree(G,i);//生成最小樹 //printfALGraph(G);printf(“n”); } 九、實(shí)驗(yàn)收獲和感想 在這個管道鋪設(shè)問題的程序設(shè)計(jì)中,弄懂題意后發(fā)現(xiàn)其實(shí)這個題需要解決兩個問題,一個是建立無向網(wǎng)的問題,另一個就是最小生成樹的求解,所以這個程序設(shè)計(jì)還是需要模塊化設(shè)計(jì)這個思路,首先需要解決的是如何建立無向網(wǎng),在這個過程中我編寫了一個輸出函數(shù)以檢驗(yàn)所建立的無向網(wǎng)是否是我們所需要的,建立無向網(wǎng)這個過程是我編寫這個程序耗時最長的,因?yàn)殚_始一味的相信書上的程序是正確的所以吃了不少苦,最后還是多虧了研究生學(xué)長才得以解決這個問題,這個教訓(xùn)也告誡我不能一味的相信書本,最后能輸出正確結(jié)果的才是正確的程序,在之后的程序編寫時不要再因?yàn)槭菚镜脑绦蚓驮獠粍拥某显诤罄m(xù)出錯時也不檢查是否是這個抄的程序的錯誤,再次是要善于用自己所學(xué)的知識簡化問題而不是只用一種方法解決這個問題,在這個程序中建立邊表信息時再多建立一個NO信息就可以大大簡化問題,所以編寫程序時還是要多想想其他辦法,還有就是這個測試數(shù)據(jù)有9個頂點(diǎn)信息,15條邊的信息,在測試時挨個輸入顯然會很麻煩,所以善于運(yùn)用文件操作會很方便的,但printf(“Current local time and date:%s”,asctime(timeinfo));是最開始我是使用的鍵盤輸入,并且將原語句保留在程序中,使用時可以使用鍵盤輸入,或者在定義的文件C:data.txt中改變邊和頂點(diǎn)信息,不管怎么說,使用文件操作后真的是方便很多,在經(jīng)歷了一次又一次要輸入9個頂點(diǎn)信息15條邊信息后第一次使用文件操作后感悟還是蠻大的,而且通過上面截圖對比發(fā)現(xiàn)界面也簡潔很多,所以還是要多學(xué)些東西這樣才可以在某些時候簡化問題,使問題解決的更加方便,還有就是要善于求助,例如在建立無向網(wǎng)時被一個問題坑了一下午,這個時候去求教學(xué)長,不僅可以解決問題,而且能更加清晰的記住這個問題,還有因?yàn)檫@個程序最開始編寫時老師沒有講到prim算法,書上也沒有相關(guān)知識,而自己又無從下手時,這個時候可以考慮上網(wǎng)查些資料,畢竟網(wǎng)上資源還是很豐富的。 總之,這個管道鋪設(shè)問題程序語句最后寫下來并沒有很多行,但還是暴露了自己的很多問題,在解決問題的過程中慢慢完善自己,希望自己的編程能力能有所提高。 自來水管道入戶改造協(xié)議書 甲方:※※※※※※※物業(yè)管理有限公司 乙方: 根據(jù)雙方協(xié)商,乙方將于 ****年**月**日對甲方管理的※※※※※小區(qū)進(jìn)行自來水管道改造,為確保施工有序、順利進(jìn)行,特立協(xié)議如下: 一、項(xiàng)目名稱:※※※※自來水表及管道改造工程 二、施工內(nèi)容:乙方對小區(qū)所有自來水表井及自來水表、管道進(jìn)行改造,由乙方包工包料。 三、工期:一個月(2012年 月 日---2012年 月 日) 四、雙方責(zé)任: 1、為了確保施工的安全進(jìn)行,乙方將按照原有供水管線進(jìn)行施工。 2、施工期間乙方所耗能源(包括停水放水的水耗),包括水、電,費(fèi)用乙方承擔(dān)。 3、施工過程中出現(xiàn)的人身財(cái)產(chǎn)事故由乙方承擔(dān)。因施工給他人造成損害的,可以修復(fù)的由乙方負(fù)責(zé)修復(fù),不可修復(fù)的由乙方負(fù)責(zé)解決。施工過程中對小區(qū)公共部位及公共設(shè)備設(shè)施、小區(qū)綠化造成損壞的,乙方在自來水表改造完畢后一個月內(nèi)負(fù)責(zé)修復(fù)和完善。 4、乙方拆換分戶水表應(yīng)提前做好計(jì)劃,提前二天告知甲方,以便甲方及時通知業(yè)主,做好抄表保留底數(shù)工作。 5、新更換的水表必須保證一次性正確率,杜絕出現(xiàn)岔表亂戶現(xiàn)象。 6、為保障因施工對小區(qū)造成的公共部位及公共設(shè)備設(shè)施、小區(qū)綠化造成損壞及時恢復(fù),乙方進(jìn)場施工前向甲方交納施工保證金人民幣 20000元整,乙方在約定的時限內(nèi)徹底修復(fù)、恢復(fù),甲方將保證金全額無息退還給乙方。如果在約定的時限內(nèi)未能按時完成恢復(fù),甲方有權(quán)視情況扣罰一定的保證金,并督促乙方及時完成,乙方不得已扣除保證金為由拒絕或延時修復(fù)因施工對小區(qū)造成的公共部位及公共設(shè)備設(shè)施、小區(qū)綠化造成損壞。 7、甲方配合乙方施工,做好協(xié)調(diào)工作。同時乙方人員必須遵守小區(qū)的物業(yè)管理規(guī)定,愛護(hù)小區(qū)環(huán)境和公共衛(wèi)生。 五、本協(xié)議雙方簽字蓋章后生效。 六、本協(xié)議正本一式兩份,雙方各執(zhí)一份,具有同等法律效力。 甲方:※※※※※※※物業(yè)管理有限公司 乙方: 簽訂日期: 自來水管道維修合同 建設(shè)單位(甲方): 施工單位(乙方): 根據(jù)《中華人民共和國合同法》的規(guī)定,以及有關(guān)法律、法規(guī),在自愿、平等的基礎(chǔ)上,合同雙方就南豐縣萊溪鄉(xiāng)管道維修工程事宜,經(jīng)協(xié)商,達(dá)成一致,簽訂本合同。 一、工程名稱:管道維修工程 二、工程地點(diǎn):南豐縣萊溪鄉(xiāng) 四、承包方式:乙方包工、包料。 五、工程合同造價(jià):造價(jià)為人民幣:伍仟陸佰元整(¥:5600元) 付款方式:工程竣工驗(yàn)收合格后,乙方提供正規(guī)發(fā)票后付款。 六、施工期限: 年 月 日至 年 月 日。工期為 天;工期每延期一天建設(shè)單位有權(quán)按合同總造價(jià)的 3‰ 扣罰施工單位工程款。工期如遇特殊情況不能按期完工,應(yīng)由施工單位書面向建設(shè)單位提出,雙方協(xié)商適當(dāng)延期。 七、工程質(zhì)量及驗(yàn)收:施工單位應(yīng)依照建設(shè)單位提供的要求,嚴(yán)格按國家頒發(fā)的有關(guān)技術(shù)規(guī)范標(biāo)準(zhǔn)和有關(guān)部門的審批方案施工,以確保施工質(zhì)量。施工期間建設(shè)單位應(yīng)委派現(xiàn)場監(jiān)督人員監(jiān)督施工質(zhì)量,并會同施工單位協(xié)商解決.八、違約責(zé)任:本合同自簽訂之日起生效,雙方因履行本合同發(fā)生爭議糾紛時協(xié)商解決;本合同一式二份,甲乙雙方各執(zhí)一份。 甲方(蓋章): 乙方(簽字): 年 月 日第四篇:自來水管道入戶改造協(xié)議書
第五篇:自來水管道維修合同