亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于C語言的連加連積類問題的快速設(shè)計(jì)

        2015-05-29 12:24:51程起才周天彤王軍王洪元潘操
        電腦知識(shí)與技術(shù) 2015年10期
        關(guān)鍵詞:程序設(shè)計(jì)模板

        程起才+周天彤+王軍+王洪元+潘操

        摘要:從循環(huán)結(jié)構(gòu)的特點(diǎn)出發(fā)分析連加連積類問題,總結(jié)出數(shù)列中數(shù)據(jù)的構(gòu)造規(guī)律,給出該類問題的編程模板,列舉實(shí)例進(jìn)一步驗(yàn)證該類問題的編程方法。該教學(xué)設(shè)計(jì)在我校C語言教學(xué)中,效果非常明顯。

        關(guān)鍵詞:C語言;程序設(shè)計(jì);連加;連積;模板

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)10-0069-03

        C語言是目前使用最廣泛的高級(jí)程序設(shè)計(jì)語言之一。C語言表達(dá)能力強(qiáng)、使用方便靈活,目標(biāo)程序執(zhí)行效率高、可移植性好,既可用于編寫系統(tǒng)軟件,也可用于編寫應(yīng)用軟件[1-2]。因此很多高校把C語言作為理工類專業(yè)的計(jì)算機(jī)程序設(shè)計(jì)的入門語言。C語言包含了三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),其中循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)是最難的部分。筆者在講解時(shí),通常把問題進(jìn)行分類,如連加和連積類、窮舉類、迭代類、圖案打印類等等。其中,連加和連積類是最基本的,也是學(xué)生必須掌握的基本編程技巧。但是,學(xué)生們?cè)诼犂蠋熤v課的時(shí)候基本上能夠理解,但是自己動(dòng)手編程實(shí)現(xiàn)時(shí),往往就不能得到正確結(jié)果,有的問題甚至無從下手。究其原因,筆者認(rèn)為主要是學(xué)生們沒有真正理解循環(huán)結(jié)構(gòu)的本質(zhì)以及連加和連積類問題的特點(diǎn)。本文從循環(huán)結(jié)構(gòu)的特點(diǎn)出發(fā),多角度分析連加連積類問題,給出這類問題的編程模板,讓讀者能夠準(zhǔn)確快速地編程實(shí)現(xiàn)該類問題。

        1 連加與連積類問題分析

        連加與連積類問題核心是如何通過已知條件去構(gòu)造數(shù)列中第[n]個(gè)數(shù)[Jn,1≤n]。如果每個(gè)數(shù)都能構(gòu)造出來,那么把這個(gè)數(shù)進(jìn)行連加和連乘就變得相當(dāng)簡(jiǎn)單。已知條件通常是[Jn]的位序[n]以及[Jn]之前的數(shù)列[Jk,1≤k

        1)[Jn]僅僅與其位序[n]有關(guān),即[Jn=f(n)]。

        2)[Jn]僅僅通過前面已經(jīng)得到的序列[Jk]構(gòu)造,即[Jn=f(Jk),1≤k

        3)[Jn]不僅與其位序[n]有關(guān),而且還與前面已經(jīng)得到的序列[Jk]有關(guān),[Jn=f(n,Jk)]。

        4)[Jn]不能由上述三個(gè)式子構(gòu)造出來,但是[Jn]中的一部分[J'n]卻可以,而且[J'n]一旦得到,那么[Jn]也就得到了。

        2 連加與連積類問題模板代碼設(shè)計(jì)

        當(dāng)把數(shù)列的[Jn]項(xiàng)是如何構(gòu)造的分析出來之后,接下來就可以設(shè)計(jì)模板代碼了。

        首先以連加類問題為例分析編碼步驟:

        2.1連加類問題模板代碼設(shè)計(jì)步驟

        1)定義三個(gè)變量[i,j,sum]。其中[i]表示位序,即當(dāng)前進(jìn)行累加的數(shù)是數(shù)列中第幾項(xiàng),[j]表示參加累加的數(shù),[sum]是累加器。根據(jù)具體題目,為[i,j,sum]選擇合適的數(shù)據(jù)類型,并對(duì)其進(jìn)行如下初始化:[i=1],[ j=]數(shù)列中的首項(xiàng),[sum=0]。

        2)建立循環(huán)條件表達(dá)式。根據(jù)題目,判斷循環(huán)是基于“次數(shù)”已知的循環(huán),還是基于“一直連加,直到某一項(xiàng)滿足某個(gè)條件就停止”的循環(huán)。對(duì)于“次數(shù)”已知的循環(huán),則其循環(huán)條件表達(dá)式寫成[i≤=次數(shù)];對(duì)于“一直連加,直到某一項(xiàng)滿足某個(gè)條件就停止”的循環(huán),則其循環(huán)條件表達(dá)式寫成“[j]滿足的條件”。

        3)寫模板代碼。

        這段模板代碼中,最核心的是“如何構(gòu)造下一次運(yùn)算的[j]”。

        2.2連積類問題模板代碼設(shè)計(jì)

        連積類問題與連加類問題很相似,主要是把連加類問題的步驟(1)的[sum]改成[sum=1],把步驟(3)的[sum+=j]改成[sum*=j]。另外,因?yàn)檫B乘容易導(dǎo)致[sum]值超出int類型范圍,所以在連加類問題中定義成int類型的問題,在連乘類問題里,可能要改成double范圍。

        3 案例驗(yàn)證

        為了讓讀者更好地理解上述方法,本節(jié)列舉多個(gè)實(shí)例進(jìn)行講解。

        例1:求下列數(shù)列前10項(xiàng)和。

        分析:從題目中可以看出:[Jn=f(n)=Jn-1*10+a];因?yàn)槭乔笄?0個(gè)數(shù)之和,即循環(huán)次數(shù)是已知的,所以循環(huán)條件表達(dá)式寫成[i≤=10]。定義三個(gè)整型變量并且初始化[i,j,sum],依據(jù)模板代碼,本題的代碼如下:

        int i=1,j=2/*數(shù)列的首項(xiàng)是2*/,sum=0;

        [a+aa+…+a…a]

        分析:從題目中可以看出:[Jn=fn=Jn-1*10+a];因?yàn)槭乔笄皀個(gè)數(shù)之和,即循環(huán)次數(shù)是已知的,所以循環(huán)條件表達(dá)式寫成[i≤=n]。定義三個(gè)整型變量并且初始化[i,j,sum],依據(jù)模板代碼,本題的代碼如下:

        對(duì)于模板代碼中的核心j=j*10+a,讀者要清楚=右邊的j是當(dāng)前參加運(yùn)算的j,即它的位序是i,它與sum+=j的j一樣,=左邊的j是下一次參加運(yùn)算的j,即它的位序是i+1。這個(gè)式子可以簡(jiǎn)單表述為后一次的j等于前一次的j乘以10加首項(xiàng)。

        例3:求下列數(shù)列前n項(xiàng)和。

        [s=1+11+2+…+11+2+3+…+n]

        分析:從題目中可以看出[Jn]既不是n的函數(shù),也不是[Jk]的函數(shù),但是[Jn]的分母[Jn]=[Jn-1]的分母[Jn-1]+[Jn]的位序n。因?yàn)槭乔笄皀個(gè)數(shù)之和,即循環(huán)次數(shù)是已知的,所以循環(huán)條件表達(dá)式寫成[i≤=n]。定義三個(gè)變量并且初始化[i,j,sum],依據(jù)模板代碼,本題的代碼如下:

        例4:求[π ]的展開式,直到某一項(xiàng)小于0.0005時(shí)停止。

        [π2=1+13+1*23*5+…+1*2*…*n3*5*…*(2n+1)]

        分析:從通項(xiàng)公式[1*2*…*n3*5*…*(2n+1)]得出,當(dāng)n=1時(shí),結(jié)果是[13],當(dāng)n=2時(shí),結(jié)果是[1*23*5]。即[π2]展開式中,首項(xiàng)1不滿足通項(xiàng)公式的規(guī)律。所以若數(shù)列中首項(xiàng)或者前幾項(xiàng)不滿足整個(gè)數(shù)列的規(guī)律,可以將這些無規(guī)律項(xiàng)事先初始化到累加器里。很明顯[Jn=Jn-1*n2n+1],循環(huán)次數(shù)是未知的,所以循環(huán)條件表達(dá)式寫成[j≥0.0005]。定義三個(gè)變量[i,j,sum],并且初始化i=1,j初始化為有規(guī)律數(shù)列的首項(xiàng),本題j=1.0/3,sum初始化為無規(guī)律項(xiàng)的和,本題sum=1。依據(jù)模板代碼,本題的代碼如下:

        例5:求下列數(shù)列前n項(xiàng)之積。

        [1!*2!*…*n!]

        分析:很明顯[Jn=Jn-1*n],循環(huán)次數(shù)是已知的,所以循環(huán)條件表達(dá)式寫成[i≤n]。定義三個(gè)變量[i,j,sum],并且初始化i=1,j=1,因?yàn)槭沁B乘,所以 sum初始化=1,考慮到階乘和連乘的結(jié)果容易超出整數(shù)范圍,對(duì)j和sum都定義成double類型。依據(jù)模板代碼,本題的代碼如下:

        例6:求下列數(shù)列前10項(xiàng)和。

        [2-4+6-…+2n]

        分析:本題與例1很相似,僅僅需要考慮正負(fù)號(hào)處理。正負(fù)號(hào)處理通常有兩種方式:(1)定義整型變量f,視第一項(xiàng)是正數(shù)還是負(fù)數(shù)將f初始化為f=1,或f=-1,然后把sum+=j改成sum+=f*j,把sum*=j改為sum*=f*j;最后在循環(huán)體里加入一條f=-f。(2)若第一項(xiàng)是正數(shù),將sum+=j改為sum+=[-(-1)i*j],sum*=j改為sum*=[-(-1)i*j],若第一項(xiàng)是負(fù)數(shù),將sum+=j改為sum+=[(-1)i*j],sum*=j改為sum*=[(-1)i*j]。本題兩種解法的代碼如表1所示:

        4結(jié)束語

        連加和連積類是最基本的,也是學(xué)生必須掌握的基本編程技巧。本文從循環(huán)結(jié)構(gòu)的特點(diǎn)出發(fā),多角度分析連加連積類問題,給出這類問題的編程模板,讓讀者能夠準(zhǔn)確快速地編程實(shí)現(xiàn)該類問題,該方法在我校C語言教學(xué)中效果非常明顯。

        參考文獻(xiàn):

        [1]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2005.

        [2]程起才,王洪元,向艷,等.C語言教學(xué)改革與教學(xué)心得[J].電腦知識(shí)與技術(shù),2011(7):1694-1695.

        猜你喜歡
        程序設(shè)計(jì)模板
        鋁模板在高層建筑施工中的應(yīng)用
        鋁模板在高層建筑施工中的應(yīng)用
        基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        巧用思維模板 強(qiáng)化規(guī)律應(yīng)用
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        Estimation of irrigation requirements for drip-irrigated maize in a sub-humid climate
        高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
        OBE理念下基于Greenfoot的Java程序設(shè)計(jì)課程教學(xué)改革
        鋁模板在高層建筑施工中的應(yīng)用
        城市綜改 可推廣的模板較少
        免费人成视频网站在在线| 国产午夜亚洲精品不卡福利| mm在线精品视频| 日韩亚洲国产中文字幕| 亚洲一区二区二区视频| 国产乱子伦农村叉叉叉| 久久精品国产亚洲AⅤ无码| 爱情岛论坛亚洲品质自拍hd| 一区二区韩国福利网站| 日本久久黄色高清视频| 丝袜美腿一区二区国产| 国产一卡2卡3卡四卡国色天香 | 少妇高潮惨叫久久久久久| 欧美日韩国产高清| 一区二区人妻乳中文字幕| 色一情一乱一伦麻豆| 亚洲经典三级| 国产激情久久久久久熟女老人| 三级国产高清在线观看| 欧美性猛交xxxx三人| 成人免费ā片在线观看| 精品视频在线观看一区二区有| 国产精品性色av麻豆| 国语对白做受xxxxx在| 日韩A∨精品久久久久| 一区二区三区在线蜜桃| 国产一区二区视频免费在| 狠狠色噜噜狠狠狠狠米奇777| 精品亚洲午夜久久久久| 色偷偷亚洲精品一区二区| 真实的国产乱xxxx在线| 日韩精品无码久久久久久 | 无码一区二区三区老色鬼| 久久久精品国产视频在线| 日本美女性亚洲精品黄色| 体验区试看120秒啪啪免费| 亚洲中文字幕无码一区| 无码精品人妻一区二区三区98| 亚洲av毛片在线网站| 精品人妻中文无码av在线| 国产短视频精品区第一页|