




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上算法設(shè)計(jì)與分析課程設(shè)計(jì)報(bào)告題 目: 循環(huán)賽日程表 院 (系): 信息科學(xué)與工程學(xué)院 專業(yè)班級(jí): 軟工 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 2018 年 1 月 8 日至 2018 年 1 月 19 日 算法設(shè)計(jì)與分析 課程設(shè)計(jì)任務(wù)書一、設(shè)計(jì)題目循環(huán)賽日程表問題描述:設(shè)有n=2k個(gè)運(yùn)動(dòng)員要進(jìn)行網(wǎng)球循環(huán)賽?,F(xiàn)要設(shè)計(jì)一個(gè)滿足一下要求的比賽日程表。(1) 每個(gè)選手必須與其他n-1個(gè)選手各賽一次。(2) 每個(gè)選手一天只能參賽一次。(3) 循環(huán)賽在n-1天內(nèi)結(jié)束。請(qǐng)按此要求將比賽日程表設(shè)計(jì)成有n行和n-1列的一個(gè)表格。在表中的第i行,第j列處填入第i個(gè)選手在第j天所遇到的選手,其中
2、1in,1jn-1。例如:當(dāng)n=4時(shí),其比賽日程表如下: 1 2 3 (天)2341434123211 2 3 4當(dāng)n=8時(shí),其比賽日程表如下: 1 2 3 4 5 6 7 (天)23456781436587412785632187656781234587214385634127654321 1 2 3 4 5 6 7 8二、設(shè)計(jì)主要內(nèi)容具體要求如下:(1) 使用分治策略遞歸算法實(shí)現(xiàn)。(2) 使用分治策略非遞歸算法實(shí)現(xiàn)。(3) 使用遞推算法實(shí)現(xiàn)。(4) 對(duì)各種算法的時(shí)間復(fù)雜度進(jìn)行分析和比較。(5) 設(shè)計(jì)出相應(yīng)的菜單,通過菜單的選擇實(shí)現(xiàn)各個(gè)功能三、原始資料無四、要求的設(shè)計(jì)成果(1) 實(shí)現(xiàn)該系統(tǒng)功
3、能的程序代碼(2) 撰寫符合規(guī)范要求的課程設(shè)計(jì)報(bào)告五、進(jìn)程安排序號(hào)課程設(shè)計(jì)內(nèi)容學(xué)時(shí)分配備注1選題與搜集資料1天2分析與設(shè)計(jì)1天3模塊實(shí)現(xiàn)4天4系統(tǒng)調(diào)試與測(cè)試2天5撰寫課程設(shè)計(jì)報(bào)告2天合計(jì)10天六、主要參考資料1呂國英算法設(shè)計(jì)與分析第2版北京:清華大學(xué)出版社,20112 王曉東算法設(shè)計(jì)與分析 北京,清華大學(xué)出版社,20093 徐士良計(jì)算機(jī)常用算法第2版北京,清華大學(xué)出版社出版,2010指導(dǎo)教師(簽名): 20 年 月 日目 錄專心-專注-專業(yè)1 常用算法1.1分治算法基本概念: 在計(jì)算機(jī)科學(xué)中,分治法是一種很重要的算法。字面上的解釋是“分而治之”,就是把一個(gè)復(fù)雜的問題分成兩個(gè)或更多的相同或相似的
4、子問題,再把子問題分成更小的子問題直到最后子問題可以簡單的直接求解,原問題的解即子問題的解的合并。這個(gè)技巧是很多高效算法的基礎(chǔ),如排序算法(快速排序,歸并排序),傅立葉變換(快速傅立葉變換) 任何一個(gè)可以用計(jì)算機(jī)求解的問題所需的計(jì)算時(shí)間都與其規(guī)模有關(guān)。問題的規(guī)模越小,越容易直接求解,解題所需的計(jì)算時(shí)間也越少。例如,對(duì)于n個(gè)元素的排序問題,當(dāng)n=1時(shí),不需任何計(jì)算。n=2時(shí),只要作一次比較即可排好序。n=3時(shí)只要作3次比較即可,。而當(dāng)n較大時(shí),問題就不那么容易處理了。要想直接解決一個(gè)規(guī)模較大的問題,有時(shí)是相當(dāng)困難的?;舅枷爰安呗? 分治法的設(shè)計(jì)思想是:將一個(gè)難以直接解決的大問題,分割成一些規(guī)模
5、較小的相同問題,以便各個(gè)擊破,分而治之。 分治策略是:對(duì)于一個(gè)規(guī)模為n的問題,若該問題可以容易地解決(比如說規(guī)模n較?。﹦t直接解決,否則將其分解為k個(gè)規(guī)模較小的子問題,這些子問題互相獨(dú)立且與原問題形式相同,遞歸地解這些子問題,然后將各子問題的解合并得到原問題的解。這種算法設(shè)計(jì)策略叫做分治法。 如果原問題可分割成k個(gè)子問題,1<kn,且這些子問題都可解并可利用這些子問題的解求出原問題的解,那么這種分治法就是可行的。由分治法產(chǎn)生的子問題往往是原問題的較小模式,這就為使用遞歸技術(shù)提供了方便。在這種情況下,反復(fù)應(yīng)用分治手段,可以使子問題與原問題類型一致而其規(guī)模卻不斷縮小,最終使子問題縮小到很容易
6、直接求出其解。這自然導(dǎo)致遞歸過程的產(chǎn)生。分治與遞歸像一對(duì)孿生兄弟,經(jīng)常同時(shí)應(yīng)用在算法設(shè)計(jì)之中,并由此產(chǎn)生許多高效算法。分治法適用的情況:分治法所能解決的問題一般具有以下幾個(gè)特征: 1) 該問題的規(guī)模縮小到一定的程度就可以容易地解決 2) 該問題可以分解為若干個(gè)規(guī)模較小的相同問題,即該問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。 3) 利用該問題分解出的子問題的解可以合并為該問題的解; 4) 該問題所分解出的各個(gè)子問題是相互獨(dú)立的,即子問題之間不包含公共的子子問題。1.2遞推算法 遞推算法是一種根據(jù)遞推關(guān)系進(jìn)行問題求解的方法。遞推關(guān)系可以抽象為一個(gè)簡單的數(shù)學(xué)模型,即給定一個(gè)數(shù)的序列a0,a1.,an若存在整數(shù)n0,
7、使當(dāng)n>n0時(shí)可以用等號(hào)將an與其前面的某些項(xiàng)ai聯(lián)系起來,這樣的式子成為遞推公式。遞推算法是一種簡單的算法,通過已知條件利用特點(diǎn)的遞推關(guān)系可以得出中間推論,直至得到問題的最終結(jié)果,遞推算法分為順推法和逆推法兩種,順推法則是在不知道初始條件的情況下,從問題的結(jié)果除非經(jīng)遞推關(guān)系逐步推算出問題的解,這個(gè)問題的解也是問題的初始條件。 遞歸法是從已知條件出發(fā),一步步地遞推出未知項(xiàng),直到問題的解。遞歸也是遞推的一種,只不過它是對(duì)待解問題的遞推,知道把一個(gè)負(fù)責(zé)的問題遞推為簡單的易解問題,然后再一步步返回,從而得到原問
8、題的解。嚴(yán)格來講,遞歸不僅僅是一種問題求解方法,更是一種編程技術(shù),許多算法可以通過遞歸技術(shù)來編程實(shí)現(xiàn)。在計(jì)算機(jī)科學(xué)中,人們把程序直接或間接調(diào)用自身的過程稱為遞歸。過程或函數(shù)直接調(diào)用自身的遞歸成為直接遞歸,間接調(diào)用自身的遞歸稱為間接遞歸。在問題求解中,采用遞歸算法有兩個(gè)重要的好處:一是容易證明算法有兩個(gè)重要的好處,其次是代碼實(shí)現(xiàn)簡潔,代碼編程量少。不足是程序運(yùn)行效率較低。 遞推算法的基本思想是把一個(gè)復(fù)雜龐大的計(jì)算過程轉(zhuǎn)化為簡單過程的多次重復(fù)。該算法利用了計(jì)算機(jī)速度快和自動(dòng)化的特點(diǎn)。 而遞歸
9、法的思想是從已知條件出發(fā),一步步地遞推出未知項(xiàng),直到問題的解。五種典型的遞推關(guān)系: 1.Fibonacci數(shù)列 在所有的遞推關(guān)系中,F(xiàn)ibonacci數(shù)列應(yīng)該是最為大家所熟悉的。在最基礎(chǔ)的程序設(shè)計(jì)語言 Logo語言中,就有很多這類的題目。而在較為復(fù)雜的Basic、Pascal、C語言中,F(xiàn)ibonacci數(shù)列類的題目因?yàn)榻夥ㄏ鄬?duì)容易一些,逐漸退出了競賽的舞臺(tái)??墒沁@不等于說Fibonacci數(shù)列沒有研究價(jià)值,恰恰相反,一些此類的題目還是能給我們一定的啟發(fā)的。 Fibonacci數(shù)列的代表問題是由意大利著名數(shù)學(xué)家Fibonacci于1202年提出的“兔子繁殖問題”(又稱“Fibonacci問題”
10、)。 問題的提出:有雌雄一對(duì)兔子,假定過兩個(gè)月便可繁殖雌雄各一的一對(duì)小兔子。問過n個(gè)月后共有多少對(duì)兔子? 解:設(shè)滿x個(gè)月共有兔子Fx對(duì),其中當(dāng)月新生的兔子數(shù)目為Nx對(duì)。第x-1個(gè)月留下的兔子數(shù)目設(shè)為Fx-1對(duì)。則: Fx=Nx+ Fx-1 Nx=Fx-2 (即第x-2個(gè)月的所有兔子到第x個(gè)月都有繁殖能力) Fx=Fx-1+Fx-2 邊界條件:F0=0,F(xiàn)1=1 由上面的遞推關(guān)系可依次得到: F2=F1+F0=1,F(xiàn)3=F2+F1=2,F(xiàn)4=F3+F2=3,F(xiàn)5=F4+F3=5,。 Fabonacci數(shù)列常出現(xiàn)在比較簡單的組合計(jì)數(shù)問題中,例如以前的競賽中出現(xiàn)的“骨牌覆蓋”問題。在優(yōu)選法中,F(xiàn)ib
11、onacci數(shù)列的用處也得到了較好的體現(xiàn)。2.Hanoi塔問題 問題的提出:Hanoi塔由n個(gè)大小不同的圓盤和三根木柱a,b,c組成。開始時(shí),這n個(gè)圓盤由大到小依次套在a柱上,如圖3-11所示。 要求把a(bǔ)柱上n個(gè)圓盤按下述規(guī)則移到c柱上: (1)一次只能移一個(gè)圓盤; (2)圓盤只能在三個(gè)柱上存放; (3)在移動(dòng)過程中,不允許大盤壓小盤。 問將這n個(gè)盤子從a柱移動(dòng)到c柱上,總計(jì)需要移動(dòng)多少個(gè)盤次? 解:設(shè)hn為n個(gè)盤子從a柱移到c柱所需移動(dòng)的盤次。顯然,當(dāng)n=1時(shí),只需把a(bǔ) 柱上的盤子直接移動(dòng)到c柱就可以了,故h1=1。當(dāng)n=2時(shí),先將a柱上面的小盤子移動(dòng)到b柱上去;然后將大盤子從a柱移到c 柱
12、;最后,將b柱上的小盤子移到c柱上,共記3個(gè)盤次,故h2=3。以此類推,當(dāng)a柱上有n(n2)個(gè)盤子時(shí),總是先借助c柱把上面的n-1個(gè)盤子移動(dòng)到b柱上,然后把a(bǔ)柱最下面的盤子移動(dòng)到c柱上;再借助a柱把b柱上的n-1個(gè)盤子移動(dòng)到c柱上;總共移動(dòng)hn-1+1+hn-1個(gè)盤次。 hn=2hn-1+1 邊界條件:h1=13.平面分割問題問題的提出:設(shè)有n條封閉曲線畫在平面上,而任何兩條封閉曲線恰好相交于兩點(diǎn),且任何三條封閉曲線不相交于同一點(diǎn),問這些封閉曲線把平面分割成的區(qū)域個(gè)數(shù)。 解:設(shè)an為n條封閉曲線把平面分割成的區(qū)域個(gè)數(shù)。 由圖3-13可以看出:a2-a1=2;a3-a2=4;a4-a3=6。 從
13、這些式子中可以看出an-an-1=2(n-1)。當(dāng)然,上面的式子只是我們通過觀察4幅圖后得出的結(jié)論,它的正確性尚不能保證。下面不妨讓我們來試著證明一下。當(dāng)平面上已有n-1條曲線將平面分割成an-1個(gè)區(qū)域后,第n-1條曲線每與曲線相交一次,就會(huì)增加一個(gè)區(qū)域,因?yàn)槠矫嫔弦延辛薾-1條封閉曲線,且第n條曲線與已有的每一條閉曲線恰好相交于兩點(diǎn),且不會(huì)與任兩條曲線交于同一點(diǎn),故平面上一共增加2(n-1)個(gè)區(qū)域,加上已有的an-1個(gè)區(qū)域,一共有an-1+2(n-1)個(gè)區(qū)域。所以本題的遞推關(guān)系是an=an-1+2(n-1),邊界條件是a1=1。4.Catalan數(shù) Catalan數(shù)首先是由Euler在精確計(jì)
14、算對(duì)凸n邊形的不同的對(duì)角三角形剖分的個(gè)數(shù)問題時(shí)得到的,它經(jīng)常出現(xiàn)在組合計(jì)數(shù)問題中。 問題的提出:在一個(gè)凸n邊形中,通過不相交于n邊形內(nèi)部的對(duì)角線,把n邊形拆分成若干三角形,不同的拆分?jǐn)?shù)目用hn表示,hn即為Catalan數(shù)。例如五邊形有如下五種拆分方案(圖3-14),故h5=5。求對(duì)于一個(gè)任意的凸n邊形相應(yīng)的hn。5.第二類Stirling數(shù) n個(gè)有區(qū)別的球放到m個(gè)相同的盒子中,要求無一空盒,其不同的方案數(shù)用S(n,m)表示,稱為第二類Stirling數(shù)。 根據(jù)定義來推導(dǎo)帶兩個(gè)參數(shù)的遞推關(guān)系第二類Stirling數(shù)。 解:設(shè)有n個(gè)不同的球,分別用b1,b2,bn表示。從中取出一個(gè)球bn,bn的
15、放法有以下兩種: bn獨(dú)自占一個(gè)盒子;那么剩下的球只能放在m-1個(gè)盒子中,方案數(shù)為S2(n-1,m-1); bn與別的球共占一個(gè)盒子;那么可以事先將b1,b2,bn-1這n-1個(gè)球放入m個(gè)盒子中,然后再將球bn可以放入其中一個(gè)盒子中,方案數(shù)為mS2(n-1,m)。 綜合以上兩種情況,可以得出第二類Stirling數(shù)定理: 【定理】S2(n,m)=mS2(n-1,m)+S2(n-1,m-1) (n>1,m1) 邊界條件可以由定義2推導(dǎo)出: S2(n,0)=0;S2(n,1)=1;S2(n,n)=1;S2(n,k)=0(k>n)。2 問題分析及算法設(shè)計(jì)2.1分治策略遞歸算法的設(shè)計(jì)從本問
16、題的具體情況出發(fā),根據(jù)分治算法思想,設(shè)計(jì)出本問題的分治遞歸算法按分治策略,可將所有選手分成兩組。n個(gè)選手的比賽日程表,可以通過n/2個(gè)選手的比賽日程表,可以通過n/4個(gè)選手設(shè)計(jì)日程表來決定;直到為2個(gè)選手的比賽日程表。這樣比賽日程表的設(shè)計(jì)就變得很簡單,這時(shí)只要讓兩個(gè)選手互相比賽即可,這樣可以形成n/2組2個(gè)選手的比賽日程表(如表1、表2)。然后再反過來在兩個(gè)選手的日程表上為4個(gè)選手設(shè)計(jì)比賽日程表(如表3)。然后再類推到8個(gè)、16個(gè)、2k個(gè)選手。對(duì)所有運(yùn)動(dòng)員的賽程進(jìn)行安排,并將其存入數(shù)組內(nèi):12345678對(duì)于第一部分,將其劃分為四個(gè)小的單元,即對(duì)第二行進(jìn)行如下劃分:同理,對(duì)第二部分(即三四行)
17、,劃分為兩部分,第三部分同理由初始化的第一行填充第二行:( 填充原則是對(duì)角線填充)1234567821436587由 s控制的第一部分填完。然后是s+,進(jìn)行第二部分的填充12345678214365873412785643218765最后是第三部分的填充1234567821436587341278564321876556781234658721437856341287654321這樣循環(huán),直到填充完畢遞歸算法解:2.2 分治策略非遞歸算法的設(shè)計(jì)分治策略同上。非遞歸算法解:2.3 遞推策略算法的設(shè)計(jì)遞推策略:3 算法實(shí)現(xiàn)3.1分治策略遞歸算法的實(shí)現(xiàn)#include <stdio.h>
18、#include <stdlib.h>#include <time.h>const int MAX = 1024;/int aMAXMAX;/二位數(shù)組int Number=2,g_K=1;clock_t start, finish;/開始和結(jié)束時(shí)間double duration;/程序運(yùn)行時(shí)間void Test1(int k,int m);/分治策略 遞歸實(shí)現(xiàn)int main(void) printf("請(qǐng)輸入指數(shù)kn");while(scanf("%d",&g_K)=0)fflush(stdin);for (int y=
19、1;y<g_K;y+) Number*=2;printf("參賽人員");for(int z=1;z<Number;z+)printf(" day%d",z); system("cls");start=clock();for(int i=0;i<10000;i+)Test1(1,Number);finish=clock();duration=finish-start;/Menu();for( i=1;i<=Number;i+)/for(int j=1;j<=Number;j+)/第一列為參賽人員print
20、f(" %d",aij);printf("n");printf("程序循環(huán)10000次所用的時(shí)間:%lfmsn",duration);return 0;void Test1(int k,int m)/采用分治策略遞歸實(shí)現(xiàn)int i,j;if(m=2)/只有兩個(gè)人的時(shí)候ak1=k;ak+11=k+1;elseTest1(k,m/2);Test1(k+m/2,m/2);for(i=k;i<k+m/2;i+)/一次填充半個(gè)子表 上半部分的表格for(j=m/2+1;j<=m;j+)/左右對(duì)稱填充aij=ai+m/2j-m/2;/
21、填充表格for(i=k+m/2;i<k+m;i+)for(j=m/2+1;j<=m;j+)aij=ai-m/2j-m/2;3.2 分治策略非遞歸算法的實(shí)現(xiàn)#include <stdio.h>#include <stdlib.h>#include <time.h>const int MAX = 1024;/int aMAXMAX;/二位數(shù)組int Number=2,g_K=1;clock_t start, finish;/開始和結(jié)束時(shí)間 double duration;/程序運(yùn)行時(shí)間void Test2(int k);/分治策略 非遞歸實(shí)現(xiàn)int
22、main(void) printf("請(qǐng)輸入指數(shù)kn");while(scanf("%d",&g_K)=0)fflush(stdin);printf("請(qǐng)輸入“整數(shù)”kn");for (int y=1;y<g_K;y+) Number*=2; printf("參賽人員");for(int z=1;z<Number;z+)printf(" day%d",z); system("cls"); start=clock();for(int i=0;i<100
23、00;i+)Test2(g_K);finish=clock();duration=finish-start;for( i=1;i<=Number;i+)for(int j=1;j<=Number;j+)/第一列為參賽人員printf(" %d",aij);printf("n");printf("程序循環(huán)10000次所用的時(shí)間:%lfmsn",duration);return 0;void Test2(int k)/分治策略非遞歸方式實(shí)現(xiàn) int i,j; int n; n=Number;/拷貝參賽選手人數(shù) for(i=1;
24、i<=n;i+) a1i=i; int m=1; /填充初始位置 for(int s=1;s<=k;s+) n/=2; for(int t=1;t<=n;t+) for(i = m+1 ; i <= 2*m ; i+) for(j = m+1 ; j <=2*m ; j+) aij+(t-1)*m*2 = ai-mj+(t-1)*m*2-m; aij+(t-1)*m*2-m = ai-mj+(t-1)*m*2; m*=2; 3.3 遞推策略算法的實(shí)現(xiàn)#include <stdio.h>#include <stdlib.h>#include
25、<time.h>const int MAX = 1024;/int aMAXMAX;/二位數(shù)組int Number=2,g_K=1;clock_t start, finish;/開始和結(jié)束時(shí)間 double duration;/程序運(yùn)行時(shí)間void Test3(int k);/對(duì)推策略實(shí)現(xiàn)int main(void) printf("請(qǐng)輸入指數(shù)kn");while(scanf("%d",&g_K)=0)fflush(stdin);printf("請(qǐng)輸入“整數(shù)”kn");for (int y=1;y<g_K;y
26、+) Number*=2; printf("參賽人員");for(int z=1;z<Number;z+)printf(" day%d",z); system("cls");start=clock();for(int i=0;i<10000;i+)Test3(Number);finish=clock();duration=finish-start;for( i=1;i<=Number;i+)for(int j=1;j<=Number;j+)/第一列為參賽人員printf(" %d",aij)
27、;printf("n");printf("程序循環(huán)10000次所用的時(shí)間:%lfmsn",duration);return 0;void Test3(int num)/遞推算法實(shí)現(xiàn)a11=1;int n,n0,i,j,k,k0;n0=1;n=2;k=g_K;/人數(shù)for (k0=1;k0<=k;k0+)for (i=n0+1;i<=n;i+)for (j=1;j<=n;j+)aij=ai-n0j+n0;for (j=n0+1;j<=n;j+)for (i=1;i<=n0;i+)aij=aij-n0+n0;for (j=n0+
28、1;j<=n;j+)for (i=n0+1;i<=n;i+)aij=aij-n0-n0;n0=n;n=n*2;4 測(cè)試和分析4.1分治策略遞歸算法測(cè)試給出輸入情況:得到輸出結(jié)果:4.2分治策略遞歸算法時(shí)間復(fù)雜度的分析遞歸算法的優(yōu)點(diǎn)是結(jié)構(gòu)清晰,可讀性強(qiáng),而且容易用數(shù)學(xué)歸納法來證明算法的正確性,贏此為設(shè)計(jì)算法、調(diào)試程序帶來很大的方便。遞歸算法的運(yùn)行效率較低,無論是耗費(fèi)計(jì)算時(shí)間的還是占用存儲(chǔ)空間的都比非遞歸算法要多。時(shí)間復(fù)雜度分析:迭代處理的循環(huán)體內(nèi)部3個(gè)循環(huán)語句,每個(gè)循環(huán)語句都是一個(gè)嵌套的for循環(huán),且它們的執(zhí)行次數(shù)相同,基本語句是最內(nèi)層循環(huán)體的賦值語句,即填寫比賽日程表的元素?;緢?zhí)
29、行語句的執(zhí)行次數(shù)是:T(n)= 21*21=41所以時(shí)間復(fù)雜度為O(4k)4.3 分治策略非遞歸算法測(cè)試給出輸入情況:得到輸出結(jié)果:4.4分治策略非遞歸算法時(shí)間復(fù)雜度的分析時(shí)間復(fù)雜度為:O(5(n-1) 4.5 遞推策略算法測(cè)試給出輸入情況:得到輸出結(jié)果:4.6 遞推策略算法時(shí)間復(fù)雜度的分析時(shí)間復(fù)雜度為:O(n3) 4.7 三種算法的比較分治遞歸:適用于分解后的小規(guī)模問題很好解決的問題分治非遞歸:適用于分治遞歸算法設(shè)計(jì)過于復(fù)雜的問題遞推:適用于可根據(jù)已有結(jié)果推出結(jié)果的問題通過對(duì)比可知分治非遞歸效率最高。分治遞歸更簡便,效率差些,遞推的時(shí)間復(fù)雜度最大,效率最低。5 總結(jié)在這次課程設(shè)計(jì)當(dāng)中,我了解到了我的不足,如算法的不完善、不細(xì)心和耐心不是很好等等。不細(xì)心的我在調(diào)試程序時(shí),老是因?yàn)槟硞€(gè)書寫錯(cuò)誤導(dǎo)致錯(cuò)誤;對(duì)這些錯(cuò)誤,我不得不花大量的時(shí)間去更正,并且還要重復(fù)檢查是否出現(xiàn)雷同的錯(cuò)誤而導(dǎo)致程序不能運(yùn)行。但是通過這次課程設(shè)計(jì),我的這些缺點(diǎn)有些改善。我在寫新的程序時(shí),首先要考慮的深入一點(diǎn)、仔細(xì)一點(diǎn),這樣要修改程序的時(shí)間就會(huì)少很多。并且也不會(huì)因?yàn)樽约翰患?xì)心而導(dǎo)致的浪費(fèi)時(shí)間的情況出現(xiàn)。 在進(jìn)行程序設(shè)計(jì)時(shí),要注意想好思路。即要有恰當(dāng)模塊名、變量名、常量名、子程序名等。將每個(gè)功能的模塊,即函數(shù)名要清晰的表述出來,使用戶能夠一目了然此
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 年中國建筑節(jié)能行業(yè)市場專項(xiàng)調(diào)研及投資前景可行性預(yù)測(cè)報(bào)告
- 中國電池液比重計(jì)行業(yè)市場規(guī)模及未來投資方向研究報(bào)告
- 2025至2030年中國燒烤洞庭魚行業(yè)投資前景及策略咨詢研究報(bào)告
- IFE-威奧軌道車輛門系統(tǒng)(青島)有限公司(企業(yè)信用報(bào)告)
- 2025至2030年中國兔羊毛紗線行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國中阮包行業(yè)投資前景及策略咨詢研究報(bào)告
- 汽車電子技術(shù)與人工智能實(shí)習(xí)報(bào)告
- 2025年膜分離裝置項(xiàng)目提案報(bào)告模范
- 河道治理工程檢測(cè)與評(píng)估計(jì)劃
- 加快防治,白色污染,的步伐的研究性學(xué)習(xí)課題研究報(bào)告書,范文
- 珍奇觀賞植物智慧樹知到期末考試答案章節(jié)答案2024年西南大學(xué)
- 工業(yè)園區(qū)環(huán)保管家技術(shù)方案
- (正式版)QBT 8006-2024 年糕 標(biāo)準(zhǔn)
- 備貨合同協(xié)議書范本
- 部編版(2016) 七年級(jí)下冊(cè) 第五單元整體備課 教學(xué)設(shè)計(jì)
- 轉(zhuǎn)化英語后進(jìn)生之我見
- 長城:一部世界文化遺產(chǎn)的史詩
- 2023年文印服務(wù)實(shí)施方案
- 2023年醫(yī)學(xué)高級(jí)職稱-眼科(醫(yī)學(xué)高級(jí))考試沖刺-歷年真題演練帶答案
- 財(cái)務(wù)崗位筆試試題附有答案
- 醫(yī)務(wù)科依法執(zhí)業(yè)自查表
評(píng)論
0/150
提交評(píng)論