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

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

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

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

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

      循環(huán)知識(shí)小結(jié)

      時(shí)間:2019-05-12 14:42:47下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《循環(huán)知識(shí)小結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《循環(huán)知識(shí)小結(jié)》。

      第一篇:循環(huán)知識(shí)小結(jié)

      循環(huán)知識(shí)小結(jié)

      一、有關(guān)循環(huán)的語(yǔ)法

      1.while語(yǔ)句 2.do~while語(yǔ)句 3.for語(yǔ)句 4.break語(yǔ)句 5.continue語(yǔ)句

      ? 循環(huán)方式

      ? while語(yǔ)句和do~while語(yǔ)句多采用標(biāo)記式循環(huán)

      ? 用于循環(huán)次數(shù)不定的情況

      ? for語(yǔ)句更方便對(duì)于循環(huán)次數(shù)確定的情況

      ?

      循環(huán)結(jié)構(gòu)

      ? for語(yǔ)句和while語(yǔ)句先判斷循環(huán)控制條件,后執(zhí)行循環(huán)體

      ? 可能一次也不執(zhí)行循環(huán)體

      ? do~while語(yǔ)句是先執(zhí)行循環(huán)體,后進(jìn)行循環(huán)控制條件的判斷

      ? do~while語(yǔ)句至少執(zhí)行一次循環(huán)體

      ? do~while語(yǔ)句更適合于第一次循環(huán)肯定執(zhí)行的場(chǎng)合

      ? 實(shí)現(xiàn)功能

      ? do~while和while語(yǔ)句只有一個(gè)表達(dá)式,用于控制循環(huán)是否進(jìn)行 ? for語(yǔ)句有三個(gè)表達(dá)式

      ? 可以控制循環(huán)是否進(jìn)行,并能為循環(huán)變量賦初值及不斷修改循環(huán)變量的值 ? for語(yǔ)句比while和do~while語(yǔ)句功能更強(qiáng),更靈活

      ? 語(yǔ)句形式

      ? 初始值

      ? while、do~while循環(huán)時(shí),循環(huán)變量的初始值操作應(yīng)放在while和do~while

      語(yǔ)句之前完成

      ? for語(yǔ)句通常在表達(dá)式1中實(shí)現(xiàn)循環(huán)控制變量的初始化

      ? while和for表達(dá)式的括號(hào)后面沒(méi)有“;” ? do~while表達(dá)式的括號(hào)后面有“;”

      ? 循環(huán)語(yǔ)句的選用原則

      ? 循環(huán)次數(shù)是否確定

      ? 循環(huán)次數(shù)已知,一般用for語(yǔ)句

      ? 循環(huán)次數(shù)由循環(huán)體的執(zhí)行情況來(lái)確定,一般采用while語(yǔ)句或do~while語(yǔ)句

      ? 循環(huán)體是否一定執(zhí)行

      ? 循環(huán)體至少要執(zhí)行一次時(shí),采用do~while語(yǔ)句

      ? 循環(huán)體可能一次也不執(zhí)行,則選用while語(yǔ)句或for語(yǔ)句

      二、循環(huán)語(yǔ)句的比較

      三、關(guān)于嵌套循環(huán)

      1.在嵌套的各層循環(huán)中,應(yīng)使用復(fù)合語(yǔ)句保證邏輯上的正確性 2.嵌套循環(huán)的內(nèi)層和外層的循環(huán)控制變量不應(yīng)同名,以免造成混亂 3.嵌套循環(huán)最好采用右縮進(jìn)格式書(shū)寫(xiě),以保證層次的清晰性

      4.循環(huán)嵌套不能交叉,即在一個(gè)循環(huán)體內(nèi)必須完整地包含另一個(gè)循環(huán)

      5.在多層循環(huán)中,應(yīng)將最忙(循環(huán)次數(shù)最多)的循環(huán)放在最內(nèi)層,以減少CPU切入循環(huán)的次數(shù)

      1、國(guó)王的許諾。相傳國(guó)際象棋是古印度舍罕王的宰相達(dá)依爾發(fā)明的。舍罕王十分喜歡象棋,決定讓

      四、有關(guān)循環(huán)應(yīng)用的討論

      宰相自己選擇何種賞賜。這位聰明的宰相指著8×8共64格的象棋盤(pán)說(shuō):陛下,請(qǐng)您賞給我一些下麥子吧,就在棋盤(pán)的第1格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完64個(gè)格子,我就感恩不盡了。舍罕王讓人扛來(lái)一袋麥子,他要兌現(xiàn)他的許諾。請(qǐng)問(wèn):國(guó)王他能兌現(xiàn)他的許諾嗎?請(qǐng)編程計(jì)算舍罕王共要多少麥子賞賜他的宰相,這些麥子合多少立方米(已知1立方米麥子約為1.42e8粒)?

      問(wèn)題分析:這是一個(gè)典型的循環(huán)次數(shù)已知的等比數(shù)列求和問(wèn)題。第1格放1粒,第2格放2粒,第3格放4=22?!趇格放2i-1粒。所以,總粒數(shù)為sum=1+2+22+23+……+263。對(duì)于這樣的問(wèn)題,我們采取的策略是每次加一個(gè)累加項(xiàng),用循環(huán)語(yǔ)句重復(fù)執(zhí)行64次累加運(yùn)算,即可求出累加和sum。在累加求和問(wèn)題中,尋找累加項(xiàng)的構(gòu)成規(guī)律是問(wèn)題求解的關(guān)鍵。一般地,尋找累加項(xiàng)構(gòu)成規(guī)律有兩種方法:一種是尋找統(tǒng)一的累加項(xiàng)表示規(guī)律,即用一個(gè)通式來(lái)表示累加項(xiàng);另一種是尋找前后項(xiàng)之間的統(tǒng)一的變化規(guī)律,即利用前項(xiàng)得到后項(xiàng)的表示。

      該題用第一種方法,可得累加項(xiàng)的通式為term=2n-1,即term=pow(2,n-1),n從1變化到64,即從第一項(xiàng)開(kāi)始計(jì)算累加和,所以有sum=sum+term,sum的初始值為0。因此得源代碼如下:

      # include # include # define CONST 1.42e8 void main(){ int n;double term,sum=0;for(n=1;n<=64;n++){ term=pow(2,n-1);sum=sum+term;} printf(“麥子總粒數(shù)sum=%en”,sum);printf(“麥粒體積volum=%e(立方米)n”,sum/CONST);} 用第二種方法分析得知,后項(xiàng)總是前項(xiàng)的兩倍,于是得到累加項(xiàng)通式為:term=term*2,term的初值為1,即從第二項(xiàng)開(kāi)始計(jì)算累加項(xiàng)term,并進(jìn)行63次累加計(jì)算,所以有sum=sum+term,sum初值為1。一般情況下,sum的初值都置0,在此是因?yàn)槭孪葘⒗奂拥牡谝豁?xiàng)加到sum中,所以才有sum=1。用累乘trem=term*2計(jì)算通項(xiàng),顯然比直接計(jì)算2n-1的效率高得多,在程序設(shè)計(jì)中可經(jīng)常使用這種技巧。用第二種方法設(shè)計(jì)的源代碼如下:

      # include # define CONST 1.42e8 void main(){ int n;double term=1,sum=1;for(n=2;n<=64;n++){ term=term*2;sum=sum+term;} printf(“麥子總粒數(shù)sum=%en”,sum);printf(“麥粒體積volum=%e(立方米)n”,sum/CONST);}

      以上程序運(yùn)行的結(jié)果為:

      這種數(shù)值如此龐大,是舍罕王絕對(duì)沒(méi)有預(yù)料到的,它相當(dāng)于全世界若干世紀(jì)的全部小麥,看來(lái)舍罕王是無(wú)法兌現(xiàn)自己的諾言了!

      2、馬克思手稿中的數(shù)學(xué)問(wèn)題。馬克思手稿中有一道趣味數(shù)學(xué)題:有30個(gè)人,其中有男人、女人和小孩,在一家飯館里吃飯共花了30先令,每個(gè)男從各花3先令,每個(gè)女人各花2先令,每個(gè)小孩各花1先令,問(wèn)男人、女人和小孩各有幾個(gè)人?

      問(wèn)題分析:設(shè)男人、女人和小孩各x、y、z人,按題目要求可得到下面的方程: x+y+z=30 3x+2y+z=50 兩個(gè)方程有三個(gè)未知數(shù),因此這是一個(gè)不定方程,有多組解,用代數(shù)方法很難求解,一般采用“窮舉法”求解該類問(wèn)題。所以“窮舉法”(也稱“枚舉法”)就是將所有可能的方案都逐一測(cè)試,從中找出符合指定要求的答案。如果由人工來(lái)進(jìn)行這樣的求解過(guò)程,工作量不可想象,而由計(jì)算機(jī)來(lái)完成卻十分簡(jiǎn)單。窮舉法是計(jì)算機(jī)程序設(shè)計(jì)中最簡(jiǎn)單、最常用的一種方法,它充分利用了計(jì)算機(jī)處理速度高的特性。使用窮舉

      法的關(guān)鍵是要確定正確的窮舉范圍,過(guò)分?jǐn)U大會(huì)導(dǎo)致程序運(yùn)行效率的降低,過(guò)分縮小會(huì)遺漏正確的結(jié)果而導(dǎo)致錯(cuò)誤。

      方法一 采用三重循環(huán)窮舉x、y、z的全部可能的組合。源代碼如下:

      # include void main(){ int x,y,z;printf(“ Man t Women tChildrenn”);for(x=0;x<=30;x++)for(y=0;y<=30;y++)for(z=0;z<=30;z++)if((x+y+z==30)&&(3*x+2*y+z==50))printf(“%3dt %5d t %8dn”,x,y,z);} 實(shí)際上,由于每個(gè)男人花3先令,所以在只花50先令的情況下,最多只有16個(gè)男人;同樣,在只花50先令的情況下,最多只有25個(gè)女人,而小孩的人數(shù)可以由方程式x+y+z=30得到,因此可將需要窮舉的范圍縮小。

      方法2 改進(jìn)算法。

      # include void main(){ int x,y,z;printf(“ Man t Women tChildrenn”);for(x=1;x<=16;x++)for(y=1;y<=25;y++){ z=30-x-y;if(3*x+2*y+z==50)printf(“%3dt %5d t %8dn”,x,y,z);} } 以上程序運(yùn)行的結(jié)果為:

      3、編程計(jì)算一元二次方程ax2+bx+c=0的根,a,b,c由鍵盤(pán)輸入,其中a≠0。程序設(shè)計(jì)時(shí),根據(jù)一元二次方程求根公式把所有的可能考慮進(jìn)來(lái),設(shè)計(jì)算法如下: # include # include # include # define EPS 1e-6 void main(){ float a,b,c,disc,p,q;printf(“Please input a,b,c:”);scanf(“%f,%f,%f”,&a,&b,&c);if(fabs(a)<=EPS)//測(cè)試a是否為0,避免發(fā)生除0錯(cuò)誤

      { printf(“不是一元二次方程n”);

      exit(0);

      //終止整個(gè)程序的執(zhí)行,強(qiáng)制返回操作系統(tǒng)

      } disc=b*b-4*a*c;if(fabs(disc)<=EPS)

      //實(shí)數(shù)disc與0相比較

      printf(“該方程有兩個(gè)相等的實(shí)根:x1=x2=%.2fn”,-b/(2*a));else { p=-b/(2*a);

      q=sqrt(fabs(disc))/(2*a);

      if(disc>1e-6)

      printf(“該方程有兩個(gè)不等的實(shí)根:x1=%.2f,x2=%.2fn”,p+q,p-q);

      else

      { printf(“該方程有兩個(gè)共軛復(fù)根:n”);

      printf(“x1=%.2f+%.2fin”,p,q);

      printf(“x2=%.2f-%.2fin”,p,q);

      } } } 程序運(yùn)行的結(jié)果測(cè)試如下: 測(cè)試1:測(cè)試2:測(cè)試3:

      測(cè)試4:

      補(bǔ)充說(shuō)明: 1)函數(shù)exit()其作用是終止整個(gè)程序的執(zhí)行,強(qiáng)制返回操作系統(tǒng)。和goto,break,continue等控制語(yǔ)句類似,可以用于控制程序的流程。當(dāng)程序執(zhí)行的必需條件不能滿足時(shí),常用exit()函數(shù)終止程序的執(zhí)行。調(diào)用該函數(shù)需要包含頭文件。函數(shù)exit()的一般調(diào)用格式為:

      exit(code);參數(shù)code為int型。當(dāng)code值為0或?yàn)楹瓿A縀XIT_SUCCESS時(shí),表示程序正常退出;當(dāng)code值為非0或?yàn)楹瓿A縀XIT_FAILURE,表示程序出現(xiàn)某種錯(cuò)誤后退出。

      2)實(shí)數(shù)不能直接和0比較相等與否

      本例中由于a是用戶輸入的原始數(shù)據(jù),不存在計(jì)算誤差,因此a與0的比較也可以用a==0代替。但因disc變量是經(jīng)過(guò)計(jì)算得到的浮點(diǎn)數(shù),而絕大多數(shù)計(jì)算機(jī)中表示的浮點(diǎn)數(shù)都只是它們?cè)跀?shù)學(xué)上表示的數(shù)據(jù)的近似值,因此disc與0的比較不能用disc==0來(lái)代替,必須用fabs(disc)<=EPS表示。

      3)有關(guān)實(shí)型數(shù)據(jù)的輸入格式 實(shí)型變量若定義為float類型,則在用scanf()函數(shù)輸入時(shí)應(yīng)用%f格式;若定義為double類型,則應(yīng)用%lf格式輸入。實(shí)際從鍵盤(pán)輸入的數(shù)據(jù)可以是整數(shù)、小數(shù)或指數(shù)形式,存入變量對(duì)應(yīng)的存儲(chǔ)空間均為指數(shù)形式。在C中所有實(shí)型常量的類型默認(rèn)為double類型,若將一個(gè)實(shí)型常量賦值給float型變量時(shí),系統(tǒng)會(huì)出現(xiàn)警告,提醒用戶由于兩種類型的有效數(shù)字位數(shù)不同,容易產(chǎn)生精度損失問(wèn)題,如果所處理的數(shù)據(jù)有效數(shù)字位數(shù)在7位以內(nèi),此警告可忽略。

      4、從鍵盤(pán)輸入一個(gè)正整數(shù),編程判斷它是否是素?cái)?shù)。若是素?cái)?shù),輸出“Yes!”,否則輸出“No!”

      問(wèn)題分析:所謂“素?cái)?shù)”即質(zhì)數(shù),是只能被1和本身整除的數(shù)。所以判素?cái)?shù)的方法:把m作為被除數(shù),窮舉2~m-1之間的數(shù)作為除數(shù),若其中有一個(gè)能整除,即可確定m不是素?cái)?shù),否則是素?cái)?shù)。事實(shí)上,根本用不著除那么多次,用數(shù)學(xué)的方法可以證明:只需要用2~m之間的整數(shù)去除m,即可得到正確的判定結(jié)果。

      方法一 用goto語(yǔ)句實(shí)現(xiàn)的程序如下:

      # include # include void main(){ int m,i,k;printf(“請(qǐng)從鍵盤(pán)輸入一個(gè)正整數(shù):”);scanf(“%d”,&m);k=(int)sqrt(m);for(i=2;i<=k;i++){ if(m%i==0)

      { printf(“%d不是素?cái)?shù)!n”,m);

      goto end;

      } } printf(“%d是素?cái)?shù)!n”,m);end: printf(“程序結(jié)束!n”);} 方法二

      用break語(yǔ)句實(shí)現(xiàn)的程序如下:

      # include

      # include void main(){ int m,i,k;printf(“請(qǐng)從鍵盤(pán)輸入一個(gè)正整數(shù):”);scanf(“%d”,&m);k=(int)sqrt(m);for(i=2;i<=k;i++)

      if(m%i==0)

      break;if(i>k)

      printf(“%d是素?cái)?shù)!n”,m);else

      printf(“%d不是素?cái)?shù)!n”,m);} 分析:goto語(yǔ)句可以控制流程跳轉(zhuǎn)到程序中任意某個(gè)指定的語(yǔ)句處去執(zhí)行,而break語(yǔ)句的作用是終止整個(gè)循環(huán)的執(zhí)行,從循環(huán)體內(nèi)中途退出,接著去執(zhí)行循環(huán)語(yǔ)句之后的第一條語(yǔ)句。break語(yǔ)句的使用使循環(huán)的控制更靈活了。使用break語(yǔ)句的副作用是它會(huì)使循環(huán)體本身形成兩個(gè)出口,同goto語(yǔ)句相比,只不過(guò)break語(yǔ)句跳轉(zhuǎn)的距離和方向受到了嚴(yán)格的限制,而不像goto語(yǔ)句那樣可以向任意方向跳轉(zhuǎn)。因此,無(wú)論使用goto語(yǔ)句還是break語(yǔ)句,都不是一種好的選擇,所以應(yīng)盡量少用或不用它們。很多情況下,可以采用標(biāo)志變量并加強(qiáng)循環(huán)測(cè)試的方法是完全可以避免使用break語(yǔ)句的。方法三 通過(guò)設(shè)置標(biāo)志變量并加強(qiáng)循環(huán)測(cè)試的方法實(shí)現(xiàn)程序如下:

      # include # include void main(){ int m,i,k,flag=1;printf(“請(qǐng)從鍵盤(pán)輸入一個(gè)正整數(shù):”);scanf(“%d”,&m);k=(int)sqrt(m);if(m<2)//2以下的數(shù)不是素?cái)?shù) flag=0;for(i=2;i <= k && flag;i++)

      if(m%i==0)

      flag=0;if(flag)

      printf(“%d是素?cái)?shù)!n”,m);else

      printf(“%d不是素?cái)?shù)!n”,m);} 結(jié)論:從程序的可讀性方面看,方法三比方法一和方法二都好!

      5、從鍵盤(pán)輸入一個(gè)正整數(shù)m,若m不是素?cái)?shù),則打印其所有因子;否則,打印“沒(méi)有因子,是素?cái)?shù)!”

      問(wèn)題分析:能被m整除的數(shù)i就是m的因子,因此當(dāng)m%i==0時(shí),不退出循環(huán)而打印當(dāng)時(shí)的i值即可。為了得到m的所有因子,循環(huán)變量i應(yīng)從2一直變化到m-1,即無(wú)論m是否是素?cái)?shù)都要檢驗(yàn)所有的i值。

      # include void main(){ int m,i,flag=1;

      } printf(“請(qǐng)從鍵盤(pán)輸入一個(gè)正整數(shù):”);scanf(“%d”,&m);for(i=2;i<=m-1;i++)//此處的m-1可否改為m/2或sqrt(m)?

      if(m%i==0){ flag=0;

      printf(“%dn”,i);} if(flag)printf(“%d是素?cái)?shù),沒(méi)有因子!n”,m);

      五、有關(guān)getchar()、getche()和getch()的討論

      ? getchar()函數(shù)采用緩沖輸入方式,即輸入字符先被放到緩沖隊(duì)列中,直到鍵入回車鍵時(shí)才返回,getcahr()每次從輸入緩沖隊(duì)列中讀取第一個(gè)字符進(jìn)行相應(yīng)的處理。

      ? getch()函數(shù)在擊鍵之后立即返回,無(wú)需輸入回車鍵,且不向屏幕回顯鍵入的字符。? getche()函數(shù)功能同getch()函數(shù),只是前者要向屏幕回顯鍵入的字符。? getch()和getche()是Turbo C特有的庫(kù)函數(shù),在頭文件conio.h中定義。

      例1:從鍵盤(pán)輸入一個(gè)班學(xué)生(人數(shù)不確定)一門(mén)課程的五分制成績(jī),編程要求每輸入一個(gè)五分成績(jī),就顯示其所在的分?jǐn)?shù)段,同時(shí),統(tǒng)計(jì)并打印每種成績(jī)的人數(shù)。

      問(wèn)題分析:對(duì)于這類輸入數(shù)據(jù)個(gè)數(shù)不確定的問(wèn)題,常常采用輸入一個(gè)特殊的數(shù)作為程序判斷循環(huán)結(jié)束標(biāo)志的方法。例如,輸入百分制成績(jī)時(shí),用負(fù)數(shù)作為輸入結(jié)束的標(biāo)志,輸入五分制成績(jī)里,則可用一個(gè)特殊的符號(hào)作為輸入結(jié)束的標(biāo)志。

      程序如下:

      # include void main(){ int aCount=0,bCount=0,cCount=0,dCount=0,eCount=0;//定義5個(gè)計(jì)數(shù)器并置0 char grade;printf(“請(qǐng)輸入成績(jī)等級(jí)字母,并以'#' 號(hào)結(jié)束:n”);grade=getchar();while(grade!='#'){

      switch(grade)

      { case 'A': case 'a': printf(“90--100n”);

      aCount++;

      break;case 'B': case 'b': printf(“80--89n”);

      bCount++;

      break;case 'C': case 'c': printf(“70--79n”);

      cCount++;

      break;case 'D': case 'd': printf(“60--69n”);

      dCount++;

      break;case 'E': case 'e': printf(“<60n”);

      }

      eCount++;

      break;

      default: printf(“輸入錯(cuò)誤!n請(qǐng)重新輸入:n”);} grade=getchar();} printf(“統(tǒng)計(jì)結(jié)果: A: %d, B: %d, C:%d, D:%d, E:%dn”,aCount,bCount,cCount,dCount,eCount);運(yùn)行結(jié)果如下:

      測(cè)試1:

      問(wèn)題:只有輸入#并回車才能真正結(jié)束程序,#沒(méi)有直到預(yù)期的目的。測(cè)試2:

      問(wèn)題:以回車或空格作為每個(gè)等級(jí)的分隔符,統(tǒng)計(jì)結(jié)果雖然正確,但都會(huì)提示出錯(cuò)信息,解決方法一:在switch語(yǔ)句中增加一個(gè)case分支:

      case ' ': case 'n': break;解決方法二:將接收字符的操作改用scanf函數(shù)實(shí)現(xiàn),并在%c格式前增加一個(gè)空格,將前面輸入數(shù)據(jù)輸入時(shí)存于緩沖區(qū)的回車符讀入,避免被后面的字符型變量作為有效字符讀入。scanf(“ %c”,&grade);例2:設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器程序,要求用戶可以連續(xù)做多次算術(shù)運(yùn)算,每次運(yùn)算結(jié)束后,程序都會(huì)給出提示: Do you want to continue(Y /N or y/n)? 如果用戶輸入Y或y時(shí),程序繼續(xù)執(zhí)行其他運(yùn)算,否則退出程序。程序如下:

      # include void main(){ int d1,d2;

      } char op,reply;do { printf(“請(qǐng)輸入計(jì)算表達(dá)式:”);scanf(“%d %c %d”,&d1,&op,&d2);switch(op){ case '+': printf(“%d%c%d=%dn”,d1,op,d2,d1+d2);break;

      case '-': printf(“%d%c%d=%dn”,d1,op,d2,d1-d2);break;

      case '*': printf(“%d%c%d=%dn”,d1,op,d2,d1*d2);break;

      case '/': if(d2==0)

      printf(“除數(shù)不能為0n”);

      else

      printf(“%d%c%d=%dn”,d1,op,d2,d1/d2);

      break;

      default: printf(“運(yùn)算符錯(cuò)誤!n”);} printf(“Do you want to continue(Y /N or y/n)? ”);reply=getchar();}while(reply=='Y'||reply=='y');printf(“程序結(jié)束!n”);問(wèn)題:測(cè)試不能得到預(yù)期的結(jié)果,原因在于函數(shù)getchar的行緩沖問(wèn)題導(dǎo)致getchar()把用戶輸入表達(dá)最后的回車符作為其讀入字符。

      解決辦法:將語(yǔ)句reply=getchar();改為reply=getch();或reply=getche();或scanf(“ %c”,&reply);都可以。

      六、結(jié)構(gòu)化程序設(shè)計(jì)的核心思想

      結(jié)構(gòu)化程序設(shè)計(jì)是一種進(jìn)行程序設(shè)計(jì)的原則和方法,按照這種原則和方法設(shè)計(jì)的程序具有結(jié)構(gòu)清晰、容易閱讀、容易修改、容易驗(yàn)證等特點(diǎn)。因此,人們把“結(jié)構(gòu)清晰、容易閱讀、容易修改、容易驗(yàn)證”作為衡量程序質(zhì)量的首要條件。也就是說(shuō),所謂“好”的程序是指“好結(jié)構(gòu)”的程序,一旦效率與“好結(jié)構(gòu)”發(fā)生矛盾時(shí),那么寧可在可容忍的范圍內(nèi)降低效率,也要確保好的結(jié)構(gòu)。

      結(jié)構(gòu)化程序設(shè)計(jì)的基本核心思想歸納起來(lái)為以下3點(diǎn):

      (1)采用順序、選擇、循環(huán)三種基本結(jié)構(gòu)作為程序設(shè)計(jì)的基本單元。

      (2)盡量不要使用多于一個(gè)的goto語(yǔ)句標(biāo)號(hào),同時(shí)只允許在一個(gè)“單入口單出口”的模塊內(nèi)用goto語(yǔ)句向前跳轉(zhuǎn),不允許回跳。

      (3)采用“自頂向下、逐步求精”和模塊化方法進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)。

      七、循環(huán)的應(yīng)用

      (一)遞推算法

      1.編程計(jì)算1+2+3+……100的值。

      2.編程計(jì)算1×2×3+3×4×5+5×6×7+……+99×100×101的值

      [提示:用累加和算法,通項(xiàng)公式為term=i*(i+1)*(i+2)(i=1,3,5,…,99),或者公式為term=(i-1)*i*(i+1)(i=2,4,6,…,100),步長(zhǎng)為2。] 2.編程計(jì)算n!=1×2×3×……×n的值。

      3.編程計(jì)算1!+2!+3!+……+10!的值。

      [提示:用累加和算法,累加項(xiàng)為term=term*i(i=1,2,3,…,10),term的初始值為1。] 4.編程計(jì)算a+aa+aaa+……+aa…a(n個(gè)a)的值,n和a由鍵盤(pán)輸入。

      [提示:用累加和算法,累加項(xiàng)為term=term*10+a(i=1,2,3,…,n),term初始值為0。]

      5.編程計(jì)算分?jǐn)?shù)數(shù)列6.編程計(jì)算s7.編程計(jì)算s?1?12221,,235358138,2113,?前20項(xiàng)之和。

      111?2?342?11?2?3562???1?2?3??n直到,n由鍵盤(pán)輸入。如n為11時(shí),s=1.83333。

      ?10?3?????(2?n?1)(2?n)2(2?n?1)(2?n)2。

      8.編程計(jì)算xn,其中x和n均由鍵盤(pán)輸入。

      9.一球從200米高度自由落下,每次落地后反跳回原高度的一半,再落下。編程求它第10次落地時(shí)共經(jīng)過(guò)的路程及第10次落地后反彈的高度。10.猴子吃桃問(wèn)題。11.求∏的近似值。12.求Fibonacci數(shù)列。

      (二)窮舉算法

      1.請(qǐng)編程判斷一個(gè)正整數(shù)m(m>=3)是否是素?cái)?shù)。

      2.編程實(shí)現(xiàn)從鍵盤(pán)上輸入整數(shù)m和k,輸出大于且緊靠m的k個(gè)素?cái)?shù)。3.請(qǐng)編程找出1至99之間的全部同構(gòu)數(shù)。所謂同構(gòu)數(shù)是這樣的一組數(shù):它出現(xiàn)在它平方數(shù)的右邊。(例如:4是25右邊的數(shù),25是625右邊的數(shù),5和25都是同構(gòu)數(shù)。)5.輸入兩個(gè)正整數(shù),求其最大公約數(shù)和最小公倍數(shù)。

      6.輸出所有的水仙花數(shù)。所謂“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。7.從鍵盤(pán)輸入任意一個(gè)整數(shù),編程計(jì)算該整數(shù)各位數(shù)字的累加和(忽略整數(shù)前的正負(fù)號(hào))。

      8.韓信點(diǎn)兵。韓信有一隊(duì)兵,他想知道有多少人,便讓士兵排隊(duì)反報(bào)數(shù)。按從1到5報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為1;按從1到6報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為5;按從1到7報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為4;最后再按從1到11報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為10。編程計(jì)算韓信一共有多少士兵?

      [提示:設(shè)兵數(shù)為x,則按題意x應(yīng)滿足以下關(guān)系:

      x%5==1&&x%6==5&&x%7==4&&x%11==10 用窮舉法對(duì)x從1開(kāi)始試驗(yàn),可得結(jié)果。

      ] 9.雞兔同籠,共有98個(gè)頭,386只腳,編程求雞、兔各多少只?

      [提示:設(shè)雞數(shù)為x,兔數(shù)為y,根據(jù)題意有x+y=98,2x+4y=386,采用窮舉法,x從1變化到97,y取98-x,如果x,y同時(shí)滿足條件2x+4y=386,則打印x,y的值。] 10.百錢(qián)買(mǎi)百雞問(wèn)題。取自《張丘建算經(jīng)》:“雞翁一,值錢(qián)五;雞母一,值錢(qián)三;雞雛三,值錢(qián)一。百錢(qián)買(mǎi)百雞,問(wèn)雞翁、母、雛各幾何?”

      [提示:設(shè)公雞、母雞、小雞數(shù)各為x,y,z,依題意有x+y+z=100, 5x+3y+z/3=100。采用窮舉法求解,因100元買(mǎi)公雞最多20只,買(mǎi)母雞最多33只,所以只要x從0變化到20,y從0變化到33,則z=100-x-y,若同時(shí)滿足5x+3y+z/3=100,即得解。]

      第二篇:Shell 循環(huán)語(yǔ)句用法小結(jié)

      在寫(xiě)shell腳本時(shí),常常會(huì)用到循環(huán)語(yǔ)句。這里簡(jiǎn)單總結(jié)下常用的3種循環(huán)語(yǔ)句,以便以后能快速地參考寫(xiě)出,廢話不說(shuō),開(kāi)始demo:

      1、for

      主要用于:在以知序列里遍歷元素

      [plain] view plaincopy #!/bin/sh

      for i in `seq 1 9` do echo $i done注意:for in 可以和 `` 與 $()合用

      再給一個(gè)for的用法示例:

      [plain] view plaincopy #!/bin/sh

      for((i=1; i<=10; i++))

      do echo $i done提醒:這個(gè)主要是用了(())

      2、while

      主要用于:當(dāng)某條件成立時(shí),一直執(zhí)行

      [plain] view plaincopy #!/bin/shcnt=9 until [ $cnt-lt 0 ] do echo $cnt cnt=$((cnt-1))done 注意:給變量賦值時(shí),前面不要加$

      第三篇:知識(shí)競(jìng)賽小結(jié)

      “迎國(guó)慶”知識(shí)競(jìng)賽活動(dòng)小結(jié)

      “迎國(guó)慶”員工知識(shí)競(jìng)賽活動(dòng)于9月29日成功舉辦并圓滿結(jié)束?,F(xiàn)將具體情況小結(jié)如下:

      一、競(jìng)賽目的明確。

      本次競(jìng)賽主要目的是全面宣貫省市公司半年會(huì)議精

      神,認(rèn)真落實(shí)“兩情系、一轉(zhuǎn)變”項(xiàng)目推進(jìn),成體系抓好戰(zhàn)略策略落地執(zhí)行,切實(shí)加快轉(zhuǎn)變發(fā)展方式,在公司內(nèi)部掀起一個(gè)“趕、幫、超”的學(xué)習(xí)熱潮。同時(shí)為深入進(jìn)行愛(ài)國(guó)主義教育,激發(fā)廣大員工愛(ài)國(guó)熱情,為慶祝新中國(guó)成立61周年?duì)I造喜慶熱烈、文明和諧的社會(huì)氛圍。

      二、競(jìng)賽內(nèi)容豐富。

      競(jìng)賽內(nèi)容著眼點(diǎn)是堅(jiān)持理論聯(lián)系實(shí)際的原則,注重實(shí)踐鍛煉,將精神理念與業(yè)務(wù)知識(shí)緊密結(jié)合起來(lái),以賽促學(xué),力求上下同頻共振。競(jìng)賽內(nèi)容主要包括省市公司半年工作會(huì)精神、“兩情系一轉(zhuǎn)變”治企理念、3G業(yè)務(wù)新知識(shí)、公司重大制度及管理辦法、愛(ài)國(guó)主義教育基本知識(shí)。

      三、參與人員全面。

      競(jìng)賽分兩個(gè)階段,一是全員參與階段,公司統(tǒng)一出題,統(tǒng)一時(shí)間,統(tǒng)一方式,在9月28日9點(diǎn)至18點(diǎn)和29日12點(diǎn)至18點(diǎn),組織在職員工全員在OA系統(tǒng)知識(shí)管理平臺(tái)上進(jìn)行網(wǎng)上答題。二是集中競(jìng)賽階段。于9月29日晚上7點(diǎn)舉行,全市分公司編組共有12支隊(duì)伍參加。由各縣(市)分公司、市分公司各部門(mén)組建代表隊(duì),每隊(duì)3人。其組成為:各縣市分公司各組一隊(duì)由公司領(lǐng)導(dǎo)、部門(mén)主管、基層員工各一名組成;市分公司政企部、公眾部、農(nóng)客部、網(wǎng)絡(luò)部、客戶服務(wù)部等部門(mén)各組一隊(duì),市場(chǎng)部、經(jīng)支中心、號(hào)百中心由市場(chǎng)部牽頭共同組隊(duì),由中層干部、管理員、基層員工各一名組成;管控部門(mén)共同組隊(duì)由綜合辦牽頭,由部門(mén)正副職和管理員各一名組成。

      四、組織領(lǐng)導(dǎo)充分。

      為確保本次競(jìng)賽活動(dòng)順利進(jìn)行,成立了以市分公司總經(jīng)理伍虎為組長(zhǎng)的競(jìng)賽活動(dòng)領(lǐng)導(dǎo)小組,下設(shè)了競(jìng)賽組織

      組、競(jìng)賽試題組、競(jìng)賽監(jiān)督組、競(jìng)賽評(píng)審組和競(jìng)賽宣傳組,并由綜合辦、工會(huì)辦、人力資源部、號(hào)百中心等相關(guān)部門(mén)領(lǐng)導(dǎo)擔(dān)任組長(zhǎng)。競(jìng)賽試題組抓緊編寫(xiě)了競(jìng)賽參考100題,精煉學(xué)習(xí)內(nèi)容,公開(kāi)發(fā)布,明確競(jìng)賽范圍。競(jìng)賽組織組與監(jiān)督、評(píng)審組多次討論細(xì)化競(jìng)賽規(guī)則,確保了競(jìng)賽活動(dòng)公平、公正。

      五、現(xiàn)場(chǎng)氣氛良好。

      夜晚的西八樓會(huì)議室,張燈結(jié)彩,洋溢著歡樂(lè)祥和的氣氛。晚7時(shí)許,競(jìng)賽開(kāi)始。競(jìng)賽答題方式分為個(gè)人必答題、小組必答題和搶答題。其間,還穿插進(jìn)行了觀眾互動(dòng)搶答題,既緩解比賽的緊張氣氛,又為比賽增添娛樂(lè)性和趣味性。整個(gè)比賽氛圍,緊張而又激烈,各代表隊(duì)都進(jìn)

      行充分的準(zhǔn)備,信心十足,各啦啦隊(duì)也精心設(shè)計(jì),橫幅、標(biāo)牌應(yīng)有盡有,口號(hào)也是豐富多樣。

      最終市分公司政企隊(duì)榮獲一等獎(jiǎng),市分公司市場(chǎng)隊(duì)、網(wǎng)絡(luò)隊(duì)獲二等獎(jiǎng),市分公司客服隊(duì)、大竹分公司隊(duì)、萬(wàn)源分公司隊(duì)分獲三等獎(jiǎng)。

      六、網(wǎng)上答題踴躍

      本次知識(shí)競(jìng)賽組織到位,答題踴躍。全市共有819人上網(wǎng)答題,全市在崗在冊(cè)員工上網(wǎng)答題率為93%,上網(wǎng)答題及格以上人員共712人,及格率為90%(剔除因出故未答卷完畢等近30人,如工會(huì)辦李一丁等剛從成都返回上網(wǎng)答題10多分鐘網(wǎng)站關(guān)閉),其中100分的57人,90分以上436人,優(yōu)秀率為70%。

      部分出差、休假等人員或其部門(mén)領(lǐng)導(dǎo)等都電話向組委會(huì)人員進(jìn)行請(qǐng)假,部分人員因工作原因沒(méi)能及時(shí)答題或未答題完成都及時(shí)進(jìn)行了通報(bào)或解釋。

      七、整體效果顯著

      本次知識(shí)競(jìng)賽,各單位和全體員工都非常重視,達(dá)到了知識(shí)競(jìng)賽全面普及和集中效應(yīng)的預(yù)期目的。通過(guò)本次競(jìng)賽,激發(fā)了廣大員工自覺(jué)學(xué)習(xí)的熱情,促進(jìn)了廣大員工對(duì)3G業(yè)務(wù)知識(shí)的了解和掌握,增強(qiáng)了企業(yè)內(nèi)部凝聚力和員工的集體榮譽(yù)感,對(duì)宣貫省市公司半年會(huì)議精神有了更進(jìn)一步的認(rèn)識(shí),對(duì)于其內(nèi)涵有了更加全面的了解和領(lǐng)會(huì),對(duì)重

      點(diǎn)工作落實(shí)有了深層次的責(zé)任意識(shí),為下半年工作開(kāi)展與完成起到了一個(gè)動(dòng)員和加油站的積極作用。

      第四篇:ansys知識(shí)小結(jié)

      (一)ASEL, Type, Item, Comp, VMIN, VMAX, VINC, KSWP

      asel是選擇面;type是選擇方式,S是選擇,A是補(bǔ)選,U是不選,ALL是全選,INV是反選,item是選擇的原則,比如,loc就是按坐標(biāo)來(lái)選,area是按面體標(biāo)號(hào)來(lái)選,后面的vmin,vmax,就是根據(jù)選擇原則的最小最大值,vinc就是增量(默認(rèn)為1),kswp有兩個(gè)值0和1,0就是只選擇面,1是選擇面和組成面的線和點(diǎn),舉個(gè)例子,比如,asel,s,area,3,,0,就是選擇編號(hào)為3的面,如asel,s,area,3,9,2,0就是選擇3,5,7,9面,增量為2,3為所選面編號(hào)的最小值,9為所選面編號(hào)的最大值,0為只選擇面,(二)AATT,MAT,REAL,TYPE,ESYS,SECN

      MAT代表材料代號(hào),REAL是實(shí)常數(shù),TYPE代表的是單元類型,例如solid45等,EYES代表的是單元坐標(biāo)系號(hào),命令

      ET,1,SOLID45

      MP,EX,1,155E9

      MP,PRXY,1,0.3

      MP,DENS,1,7228

      AATT,1,1,1,12的意思就是說(shuō)材料是 材料

      1、實(shí)常數(shù)號(hào)是1(上面的程序沒(méi)有),單元類型是solid45,單元坐標(biāo)系為局部坐標(biāo)11。

      (三)LSEL, Type, Item, Comp, VMIN, VMAX, VINC, KSWP

      LSEL是line select,選擇線

      S是指選擇

      LOC是location,坐標(biāo)

      Y是指Y軸坐標(biāo)

      1是指Y坐標(biāo)值

      LSEL,S,LOC,Y,1是指選擇中點(diǎn)在Y軸坐標(biāo)為1的線

      R是指重新選擇,即放棄上一步的選擇

      LSEL,R,LOC,X,0.25是指重新選擇中點(diǎn)在X軸坐標(biāo)為0.25的線

      第五篇:黨的基本知識(shí)小結(jié)

      韓坊明德學(xué)校黨的基本知識(shí)小結(jié)

      通過(guò)宣傳黨的基本知識(shí),使全體學(xué)生加強(qiáng)了對(duì)黨的認(rèn)識(shí),中國(guó)共產(chǎn)黨作為中國(guó)的執(zhí)政黨,作為為中華民族努力奮斗不息的黨,在抗日戰(zhàn)爭(zhēng),解放戰(zhàn)爭(zhēng)中作了巨大的貢獻(xiàn),它們的付出與努力使中國(guó)走上了發(fā)展社會(huì)主義社會(huì)的道路,雖然這其中走了許多的彎路,但是中國(guó)共產(chǎn)黨一直以人民的利益為出發(fā)點(diǎn),積極為人民利益服務(wù),認(rèn)識(shí)到中國(guó)共產(chǎn)黨是中國(guó)工人階級(jí)的先鋒隊(duì),是中國(guó)各族人民利益的忠實(shí)代表,是中國(guó)社會(huì)主義事業(yè)的領(lǐng)導(dǎo)核心年滿十八歲的中國(guó)工人、農(nóng)民、軍人、知識(shí)分子和其他革命分子,承認(rèn)黨的綱領(lǐng)和章程,愿意參加黨的一個(gè)組織并在其中積極工作,執(zhí)行黨的決議和按期交納黨費(fèi)的,可以申請(qǐng)加入中國(guó)共產(chǎn)黨。

      ? 中國(guó)特色社會(huì)主義是新時(shí)期以來(lái)我們黨繼續(xù)推進(jìn)馬克思主義中國(guó)化的偉大歷史性創(chuàng)造。體現(xiàn)在實(shí)踐上,就是開(kāi)辟了中國(guó)特色社會(huì)主義道路;體現(xiàn)在理論上,就是形成了中國(guó)特色社會(huì)主義理論體系;體現(xiàn)在政治上,就是要高舉中國(guó)特色社會(huì)主義偉大旗幟.? 1.中國(guó)特色社會(huì)主義是當(dāng)代中國(guó)發(fā)展進(jìn)步的旗幟

      ? 中國(guó)特色社會(huì)主義,是改革開(kāi)放歷史新時(shí)期中國(guó)共產(chǎn)黨人的正確選擇和偉大創(chuàng)造,它不斷探索和發(fā)展我國(guó)社會(huì)主義經(jīng)濟(jì)建設(shè)、政治建設(shè)、文化建設(shè)、社會(huì)建設(shè)的有效途徑和方法,不斷探索和回答什么是社會(huì)主義、怎樣建設(shè)社會(huì)主義,建設(shè)什么樣的黨、怎樣建設(shè)黨,實(shí)現(xiàn)什么樣的發(fā)展、怎樣發(fā)展等重大理論和實(shí)際問(wèn)題,不斷開(kāi)創(chuàng)中國(guó)特色社會(huì)主義事業(yè)新局面。? 2.中國(guó)特色社會(huì)主義是全黨全國(guó)各族人民團(tuán)結(jié)奮斗的旗幟

      ? 在當(dāng)代中國(guó),只有中國(guó)特色社會(huì)主義旗幟而不是別的什么旗幟能夠最大限度地團(tuán)結(jié)和凝聚不同社會(huì)階層、不同利益群體人們的智慧和力量,只有中國(guó)特色社會(huì)主義能夠解決當(dāng)代中國(guó)的前途命運(yùn)問(wèn)題。高舉中國(guó)特色社會(huì)主義旗幟,是歷史的選擇、時(shí)代的選擇、人民的選擇。

      ? 使全體學(xué)生加強(qiáng)了對(duì)黨的認(rèn)識(shí),中國(guó)共產(chǎn)黨作為中國(guó)的執(zhí)政黨,作為為中華民族努力奮斗不息的黨,在抗日戰(zhàn)爭(zhēng),解放戰(zhàn)爭(zhēng)中作了巨大的貢獻(xiàn),它們的付出與努力使中國(guó)走上了發(fā)展社會(huì)主義社會(huì)的道路,雖然這其中走了許多的彎路,但是中國(guó)共產(chǎn)黨一直以人民的利益為出發(fā)點(diǎn),積極為人民利益服務(wù),韓坊明德學(xué)校

      二0一二年五月

      下載循環(huán)知識(shí)小結(jié)word格式文檔
      下載循環(huán)知識(shí)小結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


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

      相關(guān)范文推薦

        知識(shí)競(jìng)賽小結(jié)

        知識(shí)競(jìng)賽小結(jié) 為了開(kāi)展好全國(guó)第十三個(gè)安全生產(chǎn)活動(dòng)月,建設(shè)公司認(rèn)真制定活動(dòng)方案,周密部署、精心策劃。首先落實(shí)本鋼安委辦發(fā) [2014]21號(hào)文件工作要求,于2014年5月29日下午舉辦......

        MatLab 知識(shí)小結(jié)

        MatLab 知識(shí)小結(jié) matlab常用到的永久變量。 ans:計(jì)算結(jié)果的默認(rèn)變量名。 i j:基本虛數(shù)單位。 eps:系統(tǒng)的浮點(diǎn)(F10a9Bg個(gè)oht): inf: 無(wú)限大,例1/0 nan NaN:非數(shù)值(N航a nmnb謝) pi......

        安全知識(shí)小結(jié)

        安全知識(shí)小結(jié) 一、HSE相關(guān)知識(shí) 1、HSE管理體系是指實(shí)施安全,環(huán)境與健康管理的組織機(jī)構(gòu)、職責(zé)、做法、程序、過(guò)程和資源等而構(gòu)成的整體。 2、HSE中的“S”(安全)是指在勞動(dòng)生產(chǎn)......

        初中化學(xué)知識(shí)小結(jié)

        初中化學(xué)總復(fù)習(xí)資料基本概念: 1、化學(xué)變化:生成了其它物質(zhì)的變化2、物理變化:沒(méi)有生成其它物質(zhì)的變化 3、物理性質(zhì):不需要發(fā)生化學(xué)變化就表現(xiàn)出來(lái)的性質(zhì) (如:顏色、狀態(tài)、密......

        編碼器知識(shí)小結(jié)

        編碼器知識(shí)小結(jié) 一、關(guān)于編碼器 1、名詞解釋 編碼器(encoder),是一種對(duì)運(yùn)動(dòng)中的機(jī)械位移變化信息(包括位置、速度、角度、力矩等)進(jìn)行檢測(cè),并以數(shù)字化的形式將采集到的信息進(jìn)行編......

        藍(lán)牙知識(shí)小結(jié)

        藍(lán)牙協(xié)議知識(shí)總結(jié)藍(lán)牙設(shè)備 和 主機(jī)進(jìn)行連接和數(shù)據(jù)通信的 流程如下:1 外部設(shè)備發(fā)出廣告 (帶有UUID信息等其他信息); 2 主機(jī)(集中器設(shè)備)收到廣告信息,進(jìn)而發(fā)送掃描請(qǐng)求;表示我掃描......

        變頻器常用知識(shí)小結(jié)[精選]

        變頻器常用知識(shí)小結(jié) 一.端子接線圖 1.3相400V電源輸入 2.單相200V電源輸入 二.電源和電機(jī)的連接 1.3相電源輸入 2.單相電源輸入 三.控制回路接線 1.端子排的排列 2.接線說(shuō)明......

        第一章知識(shí)小結(jié)

        高一物理教案第一章力 第一章知識(shí)小結(jié) 一、力:⑴力的概念 ⑵物體間的作用規(guī)律 ⑶任何力都有________物體。飛在空中的鉛球受__個(gè)力作用。它們的施力物體分別是________。 ⑷測(cè)量力的工具是______;測(cè)......