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

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

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

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

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

      楊輝三角說(shuō)課稿

      時(shí)間:2019-05-14 03:17:13下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《楊輝三角說(shuō)課稿》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《楊輝三角說(shuō)課稿》。

      第一篇:楊輝三角說(shuō)課稿

      一、教材分析

      楊輝三角是人教B版選修2-3第一章的內(nèi)容,是在學(xué)生學(xué)習(xí)過(guò)二項(xiàng)式定理后,進(jìn)一步學(xué)習(xí)其性質(zhì)的一個(gè)課例。楊輝三角所蘊(yùn)含的豐富的數(shù)學(xué)規(guī)律、數(shù)學(xué)思想、方法給學(xué)生提供了一個(gè)很好的數(shù)學(xué)探究的課題。

      根據(jù)楊輝三角在整個(gè)教材內(nèi)容中的地位與作用,本節(jié)課教學(xué)應(yīng)實(shí)現(xiàn)如下教學(xué)目標(biāo): 知識(shí)與技能:了解楊輝三角的簡(jiǎn)單歷史,掌握楊輝三角的基本性質(zhì);過(guò)程與方法: 通過(guò)探究過(guò)程培養(yǎng)學(xué)生觀察問(wèn)題、分析問(wèn)題、概括與歸納問(wèn)題、解決問(wèn)題能力;情感態(tài)度與價(jià)值觀:通過(guò)了解有關(guān)楊輝三角的簡(jiǎn)史,體會(huì)我國(guó)古代數(shù)學(xué)家的偉大成就,進(jìn)行愛(ài)國(guó)主義教育,從而激發(fā)學(xué)生學(xué)習(xí)和探究楊輝三角的熱情;通過(guò)小組討論,培養(yǎng)學(xué)生發(fā)現(xiàn)問(wèn)題、探究問(wèn)題、建構(gòu)知識(shí)的研究型學(xué)習(xí)習(xí)慣以及合作化學(xué)習(xí)的團(tuán)隊(duì)精神。

      二、重難點(diǎn)分析:

      根據(jù)上述教學(xué)目標(biāo),確定本節(jié)課的教學(xué)重點(diǎn)是:楊輝三角中數(shù)字的規(guī)律的探究二項(xiàng)式系數(shù)的性質(zhì);本節(jié)課的學(xué)習(xí)難點(diǎn)是:楊輝三角中數(shù)字規(guī)律的發(fā)現(xiàn)和總結(jié)

      三、學(xué)情分析:

      本節(jié)課是在學(xué)生學(xué)習(xí)了組合的有關(guān)知識(shí)和研究數(shù)列的規(guī)律的方法上進(jìn)行學(xué)習(xí)的,在知識(shí)上和研究的方法上都做好了準(zhǔn)備。

      四、教學(xué)學(xué)法

      教法:為了實(shí)現(xiàn)本節(jié)課的教學(xué)目標(biāo),在教法上我采取了:“觀察、探究、發(fā)現(xiàn)、合作交流”的方法。采用問(wèn)題導(dǎo)引的方式,讓學(xué)生通過(guò)對(duì)低階楊輝三角的觀察,再到n階楊輝三角的猜想。探究時(shí)采用先個(gè)人思考后小組合作交流,重點(diǎn)在于發(fā)現(xiàn)規(guī)律,不要求在課堂上證明。

      學(xué)法:根據(jù)本節(jié)課的教學(xué)目標(biāo)和教學(xué)方法,主張多給學(xué)生一點(diǎn)空間、時(shí)間,把角色還給學(xué)生,先由學(xué)生觀察、探索,再發(fā)現(xiàn)與交流.引導(dǎo)學(xué)生逐步提高,發(fā)展學(xué)生有條理的思考與表達(dá)的能力,提高歸納猜想能力,使學(xué)生獲得較全面的發(fā)展。

      五、教學(xué)過(guò)程

      為了實(shí)現(xiàn)本節(jié)課的教學(xué)目標(biāo),突出教學(xué)重點(diǎn),突破教學(xué)難點(diǎn),在教學(xué)設(shè)計(jì)上采用了以下六個(gè)教學(xué)環(huán)節(jié),分三個(gè)探究層次來(lái)完成本節(jié)課的教學(xué)任務(wù)。

      教學(xué)環(huán)節(jié)(一):創(chuàng)設(shè)情境,提出問(wèn)題

      (復(fù)習(xí)舊知)1:二項(xiàng)式定理及其特例:

      (1)Cmn= C0nn-m,(2)n

      C+C= Cn+1.2m

      nm-1n

      m2:二項(xiàng)展開(kāi)式的通項(xiàng)公式:(a+b)n=Ca+Cnab+ Cnab+…+Cab+…+Cab.1rn

      nn

      nnn-11n-22 n-rr 0n提出問(wèn)題)3:提出問(wèn)題:(a+b)展開(kāi)式的二項(xiàng)式系數(shù)有什么規(guī)律? 課件演示:當(dāng)n依此取1,2,3,?,時(shí),二項(xiàng)式系數(shù)的列表,該列表叫做二項(xiàng)式系數(shù)表,因?yàn)樗稳缛切?并且我國(guó)南宋的數(shù)學(xué)家楊輝對(duì)其有過(guò)深入的研究,所以又稱它為楊輝三角。

      簡(jiǎn)單介紹楊輝三角的發(fā)展歷史(目的是對(duì)學(xué)生進(jìn)行愛(ài)國(guó)主義教育)到了南宋,我國(guó)數(shù)學(xué)家楊輝在《詳解九章算數(shù)》(1261)中記載并保存了“賈憲三角”,故稱楊輝三角;再后來(lái)我國(guó)元朝數(shù)學(xué)家朱世杰在《四元玉鑒》(1303年)擴(kuò)充了“賈憲三角”成為“古法七成方圖”;而在歐洲一般認(rèn)為是該圖形是由法國(guó)數(shù)學(xué)家帕斯卡(Pascal)于1654年發(fā)現(xiàn)的,并稱這個(gè)圖形為“帕斯卡三角”,由此可見(jiàn),對(duì)于楊輝三角的研究,我國(guó)比西方在了大約600年;到了近代又有許多數(shù)學(xué)家對(duì)“楊輝三角”有過(guò)深入研究,特別是華羅庚在他的科普著作《從楊輝三角談起》中,對(duì)楊輝三角的構(gòu)成,提出了一些有趣的看法,并將研究成果應(yīng)用于其他工作。

      三、教學(xué)過(guò)程

      為了實(shí)現(xiàn)本節(jié)課的教學(xué)目標(biāo),突出教學(xué)重點(diǎn),突破教學(xué)難點(diǎn),在教學(xué)設(shè)計(jì)上采用了以下六個(gè)教學(xué)環(huán)節(jié),分三個(gè)探究層次來(lái)完成本節(jié)課的教學(xué)任務(wù)。今天,我們?cè)谇叭搜芯康幕A(chǔ)上,來(lái)探究楊輝三角中蘊(yùn)含的一些有趣的數(shù)量關(guān)系。

      [設(shè)計(jì)意圖]通過(guò)了解有關(guān)楊輝三角的簡(jiǎn)史,體會(huì)我國(guó)古代數(shù)學(xué)家的偉大成就,進(jìn)行愛(ài)國(guó)主義教育,從而激發(fā)學(xué)生學(xué)習(xí)和探究楊輝三角的熱情。

      教學(xué)環(huán)節(jié)(二):自主探究,揭示性質(zhì)(源于教材,重在完成教材內(nèi)要求的教學(xué)任務(wù))讓學(xué)生觀察上面給出的楊輝三角圖示(或更多階的楊輝三角圖),并且探究以下問(wèn)題: 探究1:觀察楊輝三角你能發(fā)現(xiàn)那些數(shù)量關(guān)系?由此得到二項(xiàng)式系數(shù)具有哪些性質(zhì)?(提示學(xué)生:觀察方法:橫看各行數(shù)字間的大小關(guān)系,組合數(shù)間的關(guān)系,以及不同橫行間的數(shù)字間的關(guān)系)學(xué)生先自己觀察(主要工作在于課前),后小組交流觀察結(jié)果(主要工作在于課堂)。[ 設(shè)計(jì)意圖]通過(guò)對(duì)楊輝三角的觀察,引導(dǎo)學(xué)生發(fā)現(xiàn)其規(guī)律,培養(yǎng)學(xué)生的觀察能力,由特殊到一般的歸納、猜想能力。

      學(xué)生分小組展示探究結(jié)果(幻燈片展示),歸納出二項(xiàng)式系數(shù)的幾條基本性質(zhì):

      1、對(duì)稱性:每一行中,與首末兩端“等距離”的兩個(gè)數(shù)相等,即:

      2、最值:在(a+b)n的展開(kāi)式中,當(dāng)n是偶數(shù)時(shí),中間一項(xiàng) 的二項(xiàng)式系數(shù)最大,最大系數(shù)為:;當(dāng)n奇數(shù)時(shí),中間兩項(xiàng) 與的二項(xiàng)式系數(shù)最大,最大系數(shù)為:

      3、遞推規(guī)律:每一行兩端的數(shù)字都是1,而其余數(shù)字都等于其肩上的兩個(gè)數(shù)字之和,即:

      4、二項(xiàng)式系數(shù)的和:二項(xiàng)展開(kāi)式各二項(xiàng)式系數(shù)的和為2n;即:。

      [設(shè)計(jì)意圖]以上四條數(shù)量關(guān)系是二項(xiàng)式系數(shù)的基本性質(zhì),也是本節(jié)課教學(xué)的重點(diǎn),是解決后面問(wèn)題的基礎(chǔ),學(xué)生展示自主探究的結(jié)論,讓學(xué)感受到自主探究的成就,同時(shí)激發(fā)繼續(xù)探究的熱情(特別說(shuō)明,在這里學(xué)生可能提出一些與教材內(nèi)容不相符的探究結(jié)果,可以留待下一環(huán)節(jié)進(jìn)行解決)。

      教學(xué)環(huán)節(jié)(三):拓展探究,開(kāi)闊視野(高于教材,重在培養(yǎng)學(xué)生的求異思維和創(chuàng)新能力)引導(dǎo)學(xué)生繼續(xù)探究,看看還能發(fā)現(xiàn)那些有趣的數(shù)量關(guān)系? 拓展探究1:觀察第1,3,7行各個(gè)數(shù)的特點(diǎn),你能發(fā)現(xiàn)什么規(guī)律?你能否總結(jié)一個(gè)一般性的結(jié)論? 結(jié)論:第2n-1行的所有數(shù)都是奇數(shù),即: 為奇數(shù)(m=0,1,2,3,L,2k-1);拓展探究2:觀察第2,4,8行各個(gè)數(shù)的特點(diǎn),你能發(fā)現(xiàn)什么規(guī)律?你能用一個(gè)

      式子表示嗎? 結(jié)論:第2n的所有數(shù)(除兩端的1)都是偶數(shù),即: 為偶數(shù)(m=1,2,3,? 2k-1),(用基本性質(zhì)3和拓展探究1的結(jié)論可以解釋這個(gè)結(jié)論);拓展探究3:每一行的各數(shù),從左到右按順序形成一個(gè)數(shù),試歸納一下有何特點(diǎn)? 第0行:1=110;第1行:11=111 第2行:121=112;?, 猜想一般規(guī)律:第n行的各數(shù),從左到右按順序形成一個(gè)數(shù),其結(jié)果為:11n(進(jìn)一步體現(xiàn)本節(jié)課的探究思路:由特殊問(wèn)題,過(guò)渡到一般結(jié)論,這是我們研究數(shù)學(xué)問(wèn)題的常用思路);拓展探究4:第m條斜線上的前n個(gè)數(shù)的和與第m+1條斜線上的第n個(gè)數(shù)有什么關(guān)系? 特例:1+1+1+1+1+1+1=? 提問(wèn):這是第一條斜線上的前幾個(gè)數(shù)?這是第二條斜線上第幾個(gè)數(shù)呢? 答案:第一條斜線上的前七個(gè)數(shù)的和=第二條斜線上的第七個(gè)數(shù) 同理可以解釋1+2+3+4+5+6=? 和1+3+6+10+15=???(讓學(xué)生回答)第2條斜線上的前6個(gè)數(shù)的和=第3條斜線上的第6個(gè)數(shù);追問(wèn)一下:能否用文字語(yǔ)言將這個(gè)規(guī)律推廣嗎? 結(jié)論:第m條斜線上前n個(gè)數(shù)字的和=第m+1條斜線上第n個(gè)數(shù);[設(shè)計(jì)意圖]對(duì)于楊輝三角的進(jìn)一步探究,既可以加深學(xué)生對(duì)楊輝三角基本性質(zhì)的理解,又可激發(fā)學(xué)生更大的學(xué)習(xí)熱情,提高學(xué)生的思維水平,發(fā)展學(xué)生的創(chuàng)新能力。

      教學(xué)環(huán)節(jié)(四):創(chuàng)新探究,橫向聯(lián)系(探究與其他知識(shí)的聯(lián)系,培養(yǎng)學(xué)生聯(lián)想創(chuàng)新能力)創(chuàng)新探究1: 萊布尼茲三角形: 萊布尼茨三角形有許多跟楊輝三角類似的性質(zhì),請(qǐng)根據(jù)前面推理方法,給出結(jié)論。

      創(chuàng)新探究2:請(qǐng)寫出斜線上各個(gè)數(shù)字的和,再觀察這些和,你能發(fā)現(xiàn)什么規(guī)律? 1,1,2,3,5,8,13,21,34,? 此數(shù)列an滿足:a1=1,a2=1, 且an=an-1+an-2(n≥3)。這就是著名的斐波那契數(shù)列。這是中世紀(jì)意大利數(shù)學(xué)家斐波那契的傳世之作。教學(xué)環(huán)節(jié)(五):歸納小結(jié),體驗(yàn)方法

      1、知識(shí)方面:自主探究的基本性質(zhì);創(chuàng)新探究的數(shù)字規(guī)律;

      2、方法方面:認(rèn)識(shí)事物的一般方法“觀察-分析-猜想-證明”;從特殊到一般的思想方法;

      3、情感方面:愛(ài)國(guó)主義精神,合作學(xué)習(xí),團(tuán)隊(duì)精神;[設(shè)計(jì)意圖]讓學(xué)生自己歸納本節(jié)課的內(nèi)容,從知識(shí)、方法及情感體驗(yàn)等方面進(jìn)行總結(jié),使學(xué)生在掌握知識(shí)的同時(shí),提高歸納總結(jié)的能力。進(jìn)一步培養(yǎng)學(xué)生自主探究知識(shí),建構(gòu)知識(shí)的研究型學(xué)習(xí)習(xí)慣。教學(xué)環(huán)節(jié)(六):布置作業(yè),學(xué)以致用 1.必做題:P30A組、B組;2.選做題:探索結(jié)論的證明方法。

      六、教學(xué)評(píng)價(jià)

      本節(jié)課例的教學(xué)過(guò)程設(shè)計(jì)力求體現(xiàn)探究性課題的主要特征:問(wèn)題性、探究性、自主性、過(guò)程性、體驗(yàn)性。

      教學(xué)過(guò)程的設(shè)計(jì),尊重教材,挖掘教材,但又高于了教材。情境的設(shè)計(jì)、探究?jī)?nèi)容的設(shè)計(jì),多數(shù)是以教材內(nèi)容為主,充分開(kāi)發(fā)教材的功能。

      在問(wèn)題探究環(huán)節(jié)設(shè)計(jì)方面分了三個(gè)層次,第一個(gè)層次:是對(duì)二項(xiàng)式系數(shù)規(guī)律的探究,引導(dǎo)學(xué)生從楊輝三角橫行的數(shù)字規(guī)律橫行各數(shù)字之間的大小關(guān)系、組合關(guān)系以及不同橫行數(shù)字之間的關(guān)系,發(fā)現(xiàn)并總結(jié)二項(xiàng)式系數(shù)的基本規(guī)律,也是本節(jié)課的重點(diǎn);第二個(gè)層次是拓展探究,高于課本內(nèi)容,其主要目的是培養(yǎng)學(xué)生的求異思維,拓展學(xué)生的視野為今后的研究學(xué)習(xí)打下基礎(chǔ);第三個(gè)層次是探究楊輝三角與其他知識(shí)的聯(lián)系,讓學(xué)生體會(huì)探究方法的應(yīng)用。七 參考資料: 普通高中實(shí)驗(yàn)教科書數(shù)學(xué)(人教B版選修2—3)

      名師課堂(山東人民出版社)

      第二篇:實(shí)驗(yàn)三 隊(duì)列實(shí)現(xiàn)楊輝三角

      實(shí)驗(yàn)3隊(duì)列實(shí)現(xiàn)楊輝三角

      一、實(shí)驗(yàn)?zāi)康?/p>

      1.熟悉隊(duì)列的邏輯結(jié)構(gòu)。2.回顧常用的存儲(chǔ)結(jié)構(gòu)。

      3.掌握System.Collection.Queue類的使用方法。

      4.熟悉隊(duì)列的幾種典型應(yīng)用,用隊(duì)列來(lái)解決一些編程問(wèn)題。5.用循環(huán)隊(duì)列實(shí)現(xiàn)楊輝三角并測(cè)試。

      二、實(shí)驗(yàn)內(nèi)容

      楊輝三角是除了每一行的第一個(gè)元素和最后一個(gè)元素是1,其他元素的值是上一行與之相鄰的兩個(gè)元素之和。

      1.實(shí)現(xiàn)循環(huán)隊(duì)列類 a)兩個(gè)構(gòu)造函數(shù) b)入隊(duì) c)出隊(duì)

      2.用順序循環(huán)隊(duì)列實(shí)現(xiàn)楊輝三角(一)程序分析 2.1存儲(chǔ)結(jié)構(gòu)

      用一片連續(xù)的存儲(chǔ)空間來(lái)存儲(chǔ)循環(huán)隊(duì)列中的數(shù)據(jù)元素,即采用順序存儲(chǔ)的方式。2.2 關(guān)鍵算法分析 1.出隊(duì)

      1)自然語(yǔ)言描述: a.判斷隊(duì)列是否空 b.如果隊(duì)列空,拋出異常 c.如果隊(duì)列不空,則

      i.ii.iii.元素出隊(duì) 移動(dòng)對(duì)頭指針 隊(duì)列長(zhǎng)度減1 代碼描述:

      publicvirtualobjectDequeue()//出隊(duì) {

      } if(this._size == 0){ //隊(duì)下溢

      } object obj2 = this._array[this._head];//出隊(duì) this._array[this._head] = null;//刪除出隊(duì)元素 //移動(dòng)隊(duì)頭指針

      this._head =(this._head + 1)% this._array.Length;this._size--;return obj2;thrownewInvalidOperationException(“隊(duì)列為空”);時(shí)間復(fù)雜度:O(1)2.入隊(duì)

      自然語(yǔ)言描述:

      d.判斷隊(duì)列是否滿 e.如果隊(duì)列滿,則擴(kuò)容 f.如果隊(duì)列不滿,則

      a)元素入隊(duì) b)移動(dòng)隊(duì)尾指針 c)隊(duì)列長(zhǎng)度加1 代碼描述:

      publicvirtualvoidEnqueue(objectobj)//入隊(duì) {

      } if(this._size == this._array.Length)//當(dāng)數(shù)組滿員時(shí) { //計(jì)算新容量

      } this._array[this._tail] = obj;//入隊(duì)

      this._tail =(this._tail + 1)% this._array.Length;//移動(dòng)隊(duì)尾指針 this._size++;int capacity =(int)((this._array.Length * this._growFactor)/ 100L);if(capacity <(this._array.Length + _MinimumGrow)){ //最少要增長(zhǎng)4個(gè)元素

      } this.SetCapacity(capacity);//調(diào)整容量 capacity = this._array.Length + _MinimumGrow;時(shí)間復(fù)雜度:O(1)3.打印楊輝三角

      自然語(yǔ)言描述: 要定義的變量:

      1)行:n

      2)列:

      i.ii.空格 j 數(shù)值

      k 3)左肩:left 4)右肩:right 代碼描述:

      三、程序運(yùn)行結(jié)果

      四、實(shí)驗(yàn)心得

      1.調(diào)試時(shí)出現(xiàn)的問(wèn)題及解決的方法

      2.心得體會(huì)

      3.下一步的改進(jìn)

      第三篇:微機(jī)原理課程設(shè)計(jì)——輸出楊輝三角

      目錄

      第一章 緒論...................................................................................................................................1 第二章 分析與設(shè)計(jì).......................................................................................................................2 2.1 題目.......................................................................................................................................................2 2.2 要求.......................................................................................................................................................2 2.3 方案設(shè)計(jì)與論證...................................................................................................................................3 2.3.1 整體設(shè)計(jì)思路...........................................................................................................................3 2.3.2 方案選擇...................................................................................................................................3 2.4 結(jié)構(gòu)框圖...............................................................................................................................................4 3.1 宏定義換行...........................................................................................................................................5 3.2 階數(shù)輸入過(guò)程.......................................................................................................................................5 3.3 數(shù)據(jù)判斷功能.......................................................................................................................................6 3.4 詢問(wèn)繼續(xù)模塊...................................................................7 3.5 數(shù)值計(jì)算模塊.......................................................................................................................................7 3.6 顯示模塊...............................................................................................................................................9 3.6.1 數(shù)據(jù)顯示.................................................................9 3.6.2 空格顯示................................................................10

      第四章 實(shí)驗(yàn)結(jié)果及問(wèn)題處理.....................................................................................................12 4.1 實(shí)驗(yàn)結(jié)果.............................................................................................................................................12 4.2出現(xiàn)的問(wèn)題以及解決的方案..............................................................................................................13 4.2.1 數(shù)據(jù)輸入問(wèn)題.........................................................................................................................13 4.2.2 除法溢出問(wèn)題.........................................................................................................................13 4.2.3 數(shù)據(jù)計(jì)算問(wèn)題.........................................................................................................................14 第五章 總結(jié)與體會(huì).....................................................................................................................15 參考文獻(xiàn).......................................................................................................................................17 附錄...............................................................................................................................................18

      第一章 緒論

      隨著電子計(jì)算機(jī)技術(shù)的不斷發(fā)展,微型計(jì)算機(jī)系統(tǒng)的功能越來(lái)越強(qiáng),而關(guān)于計(jì)算機(jī)的程序設(shè)計(jì)語(yǔ)言也經(jīng)歷了一個(gè)發(fā)展的過(guò)程。從最基本的機(jī)器語(yǔ)言到匯編語(yǔ)言,并發(fā)展到高級(jí)的智能化語(yǔ)言,如visual C++、Visual Basic等。

      匯編語(yǔ)言(Assembly Language)是一種采用助記符表示的程序設(shè)計(jì)語(yǔ)言,即用助記符來(lái)表示指令的操作碼和操作數(shù),用符號(hào)或標(biāo)號(hào)代表地址、常量或變量。助記符一般都是英文單詞的縮寫,便于識(shí)別和記憶。使用匯編語(yǔ)言編寫的程序稱為匯編語(yǔ)言源程序。匯編語(yǔ)言源程序不能由機(jī)器直接執(zhí)行,而必須翻譯成有機(jī)器代碼組成的目標(biāo)程序,這個(gè)翻譯的過(guò)程稱為匯編。把匯編語(yǔ)言源程序翻譯成目標(biāo)程序的軟件稱為匯編程序。

      匯編語(yǔ)言與機(jī)器語(yǔ)言密切相關(guān),它們之間有明顯的對(duì)應(yīng)關(guān)系。一條匯編語(yǔ)言指令對(duì)應(yīng)一條機(jī)器語(yǔ)言代碼,所以匯編語(yǔ)言和機(jī)器語(yǔ)言一樣都是面向機(jī)器的語(yǔ)言。使用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)能充分利用機(jī)器的硬件功能和結(jié)構(gòu)特點(diǎn),從而有效地加快程序的執(zhí)行速度,減少程序占用的存儲(chǔ)空間。所以匯編語(yǔ)言大量用于編寫計(jì)算機(jī)系統(tǒng)程序、實(shí)時(shí)通信程序和實(shí)時(shí)控制程序等。

      匯編語(yǔ)言作為最基本的編程語(yǔ)言之一,匯編語(yǔ)言雖然應(yīng)用的范圍不算很廣,但重要性卻勿庸置疑,因?yàn)樗軌蛲瓿稍S多其它語(yǔ)言所無(wú)法完成的功能。就拿Linux內(nèi)核來(lái)講,雖然絕大部分代碼是用C語(yǔ)言編寫的,但仍然不可避免地在某些關(guān)鍵地方使用了匯編代碼,其中主要是在Linux的啟動(dòng)部分。由于這部分代碼與硬件的關(guān)系非常密切,即使是C語(yǔ)言也會(huì)有些力不從心,而匯編語(yǔ)言則能夠很好揚(yáng)長(zhǎng)避短,最大限度地發(fā)揮硬件的性能。

      第二章 分析與設(shè)計(jì)

      2.1 題目

      匯編顯示楊輝三角

      2.2 要求

      基本內(nèi)容:在提示信息下,從計(jì)算機(jī)鍵盤輸入一個(gè)滿足要求的數(shù)據(jù),在輸出提示信息后顯示相應(yīng)的楊輝三角。

      具體要求如下:

      (1)要有提示信息的輸出顯示,例如程序執(zhí)行時(shí)直接顯示輸出提示信息“Please input a number:”然后等待用戶從計(jì)算機(jī)鍵盤輸入具體數(shù)值,例如輸入“4”,然后換行顯示下一步提示信息,例如“The YangHui triangle:”最后顯示通過(guò)程序獲得的楊輝三角如下:

      (2)分析楊輝三角具體算法,計(jì)算結(jié)果要求正確。輸出的楊輝三角要求上下左右對(duì)稱顯示,上下分別為兩個(gè)等腰三角形的形式,即要求分析總結(jié)每行行首空格數(shù)量,及三角中各個(gè)數(shù)之間空格的安排方法;(3)要求最少要能夠輸出10階的楊輝三角;

      (4)提高要求:增大階數(shù)(最少到20階),可任意選擇正反三角顯示。

      2.3 方案設(shè)計(jì)與論證

      2.3.1 整體設(shè)計(jì)思路

      本課題要求用匯編顯示楊輝三角形,首先得了解什么是楊輝三角形。楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項(xiàng)式系數(shù)在三角形中的一種幾何排列。其每一行的數(shù)據(jù)都有其特定的規(guī)律,楊輝三角形又有其獨(dú)特的性質(zhì):

      1、每行數(shù)字左右對(duì)稱,由1開(kāi)始逐漸變大,然后變小,最后回到1。

      2、第n行的數(shù)字個(gè)數(shù)為n個(gè)。

      3、第n行數(shù)字和為2^(n-1)。

      4、每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和,故可用此性質(zhì)寫出整個(gè)帕斯卡三角形。

      5、第n行的第1個(gè)數(shù)為1,第二個(gè)數(shù)為1×(n-1),第三個(gè)數(shù)為1×(n-1)×(n-2)/2,第四個(gè)數(shù)為1×(n-1)×(n-2)/2×(n-3)/3···依此類推。

      在熟悉了楊輝三角形的產(chǎn)生原理,楊輝三角形內(nèi)各數(shù)據(jù)的計(jì)算方法之后,再在掌握了相關(guān)匯編知識(shí)以及一定編程能力的基礎(chǔ)上,我們對(duì)課題進(jìn)行了相關(guān)分析,總體來(lái)說(shuō),這個(gè)課題的關(guān)鍵點(diǎn)分為以下部分,厘清這些關(guān)鍵點(diǎn)也是作為明確整體設(shè)計(jì)思路的重要過(guò)程:

      (1)、提示信息的顯示。題目明確要求顯示中要有提示信息,實(shí)際上,根據(jù)需要,在本課題中我們又加了一些功能,當(dāng)然也必須要增加額外的提示信息。

      (2)、階數(shù)的輸入功能。通過(guò)DOS系統(tǒng)功能調(diào)用,確定需要顯示楊輝三角形的行數(shù)與大小,能夠?qū)崿F(xiàn)簡(jiǎn)單的人機(jī)交互。

      (3)、編程得到需要在楊輝三角中顯示的數(shù)?;谝韵滤枷耄旱趎行的第1個(gè)數(shù)為1,第二個(gè)數(shù)為1×(n-1),第三個(gè)數(shù)為1×(n-1)×(n-2)/2,第四個(gè)數(shù)為1×(n-1)×(n-2)/2×(n-3)/3···依此類推。

      (4)、某數(shù)的顯示及換行。為了顯示的規(guī)范和美觀,必須考慮到數(shù)與數(shù)之間的空格數(shù),當(dāng)然,某數(shù)的顯示是能夠完整輸出楊輝三角形的基礎(chǔ)和前提。

      (5)、新增功能,判斷輸入數(shù)據(jù)是否滿足條件,判斷是否繼續(xù)執(zhí)行??紤]到本程序的使用范圍及使用者能連續(xù)使用顯示楊輝三角形的方便性,特增加了數(shù)據(jù)判斷和詢問(wèn)繼續(xù)功能,使用者想要繼續(xù)執(zhí)行即輸入“Y”,程序自動(dòng)從頭開(kāi)始執(zhí)行,若輸入“N”,則退出。2.3.2 方案選擇

      1.對(duì)于階數(shù)輸入功能,我們想到兩種方案。

      方案(1):參考相關(guān)文獻(xiàn)上得知,可以通過(guò)DOS系統(tǒng)功能調(diào)用:鍵盤輸入單字符——

      號(hào)系統(tǒng)功能調(diào)用,同時(shí)實(shí)現(xiàn)字符的輸入與顯示。

      調(diào)用格式:MOV INT

      AH,1 21H 說(shuō)明:1號(hào)功能調(diào)用無(wú)入口參數(shù),執(zhí)行時(shí)系統(tǒng)首先等待鍵盤輸入,待程序員按下任何一鍵,系統(tǒng)先檢查是否是Ctrl-Break鍵。如果是則退出,否則將鍵入的字符的ASCII碼置入AL寄存器,并在屏幕上顯示該字符。

      方案(2):同樣是DOS系統(tǒng)功能調(diào)用,鍵盤輸入字符串——0AH號(hào)系統(tǒng)功能調(diào)用。說(shuō)明:其功能是將鍵盤輸入的字符串寫入到內(nèi)存緩沖區(qū),因此調(diào)用之前必須事先定義一個(gè)緩沖區(qū)。緩沖區(qū)的第一個(gè)字節(jié)給出用來(lái)存放鍵入的字符數(shù),第二個(gè)留給系統(tǒng)填寫實(shí)際鍵入的字符個(gè)數(shù),從第三字節(jié)開(kāi)始用來(lái)存放鍵入的字符串,最后鍵入回車(↙)鍵表示字符結(jié)束。

      對(duì)于方案(1),格式簡(jiǎn)單,使用方便,易于理解,但是對(duì)于輸入多位數(shù),相對(duì)有點(diǎn)復(fù)雜。對(duì)于方案(2),從實(shí)際編程水平出發(fā),不太能夠嫻熟的使用該系統(tǒng)功能,調(diào)用格式復(fù)雜,而且鑒于該程序輸入的位數(shù)不超過(guò)兩位,所以我們最后選擇了方案(1)。

      2.4 結(jié)構(gòu)框圖

      在編寫程序之前,明確其整個(gè)思路的流程圖是相當(dāng)重要的,所以我們花了一些時(shí)間來(lái)畫出流程圖,根據(jù)流程圖來(lái)寫實(shí)際程序。如圖2.4.1為本程序的總體匯編思路圖。

      圖2.4.1 程序總體流程圖

      第三章 實(shí)驗(yàn)程序及分析

      3.1 宏定義換行

      為了簡(jiǎn)化匯編語(yǔ)言源程序,可以把一些頻繁出現(xiàn)的程序段定義為“宏指令”,當(dāng)遇到這段程序時(shí),只要按宏指令名調(diào)用即可,不必重復(fù)寫許多指令,匯編程序在遇到宏指令時(shí)將其期待成相應(yīng)的代碼,這樣就有效地縮短匯編語(yǔ)言源程序的長(zhǎng)度,使源程序易讀,也減少了由于重復(fù)書寫而引起的錯(cuò)誤。在本課題中,為了顯示楊輝三角,必然需要多次使用換行代碼,故將換行代碼定義為“宏指令”,有以上所述的諸多好處。宏定義如下:

      HUANH

      MACRO

      ;宏名為HUANH

      ;使用2號(hào)功能,顯示器輸出字符;13即ASCII為0DH是回車符

      ;DOS系統(tǒng)功能調(diào)用

      ;10即ASCII為0AH是換行符;DOS系統(tǒng)功能調(diào)用;宏定義結(jié)束

      MOV AH, 2

      MOV DL, 13 INT 21H

      MOV DL, 10 INT 21H ENDM

      3.2 階數(shù)輸入過(guò)程

      過(guò)程是程序的一部分,它可以被程序調(diào)用。每次可調(diào)用一個(gè)過(guò)程,當(dāng)過(guò)程中的指令執(zhí)行之后,控制返回調(diào)用它的地方。過(guò)程的定義是用過(guò)程定義偽指令完成的。過(guò)程的定義有三個(gè)注意點(diǎn):①、過(guò)程名是自定義符,定義開(kāi)始和結(jié)束時(shí)的過(guò)程名必須相同。②、過(guò)程名有三個(gè)屬性:段地址,偏移量和距離屬性(NEAR和FAR),匯編程序在匯編時(shí)根據(jù)過(guò)程類型生成段內(nèi)或段間的調(diào)用或返回指令代碼。③、在一個(gè)過(guò)程中,可以有多個(gè)RET指令。一個(gè)過(guò)程總是通過(guò)RET指令返回,RET常作為過(guò)程的最后一條指令。在了解以上說(shuō)明及注意點(diǎn)的基礎(chǔ)上,我們根據(jù)實(shí)際需要定義了一個(gè)實(shí)現(xiàn)階數(shù)輸入功能的過(guò)程。具體定義如下:

      SHURU

      PROC XOR

      BP,BP MOV BX,10 MOV CX,3

      ;控制輸入位數(shù),外加一位回車

      ;輸入過(guò)程定義,數(shù)字存在BP

      input:

      MOV AH,1 INT CMP JZ

      SUB 21H

      ;DOS功能調(diào)用,鍵盤輸入和顯示數(shù)據(jù)

      AL,0DH OK AL,30H

      ;判斷是否以回車結(jié)束輸入

      ;將ASCII碼轉(zhuǎn)為16進(jìn)制數(shù)

      ;字節(jié)擴(kuò)展為字,為了下一條交換指令 CBW

      XCHG AX,BP MUL ADD BX

      ;擴(kuò)大10倍;加一位 BP,AX

      LOOP input RET

      ;返回調(diào)用過(guò)程的地方;過(guò)程定義結(jié)束 OK: SHURU

      ENDP

      3.3 數(shù)據(jù)判斷功能

      在第一套程序編寫完畢,試運(yùn)行時(shí),我們發(fā)現(xiàn),本程序能夠支持輸入的數(shù)據(jù)最大值為14,當(dāng)數(shù)據(jù)大于等于15時(shí),則程序出現(xiàn)除法溢出問(wèn)題,并且自動(dòng)關(guān)閉,所以為了能讓使用者不至于輸入不合法的數(shù)據(jù),我們特增加了數(shù)據(jù)判斷功能,輸入數(shù)據(jù)滿足條件,允許執(zhí)行。否則,提示輸入數(shù)據(jù)超過(guò)范圍,要求重新輸入。程序段如下:

      MAIN: MOV

      DX,OFFSET MSG

      ;輸出字符串,請(qǐng)輸入一個(gè)數(shù);9號(hào)功能調(diào)用,輸出字符串 MOV AH,9 INT 21H CALL SHURU CMP JB BP,15 MZTJ

      ;調(diào)用輸入函數(shù),顯示輸入的數(shù);輸入的數(shù)存在BP,與15比較;滿足條件,允許執(zhí)行;否則換行 HUANH MOV DX,OFFSET ERROR;準(zhǔn)備顯示錯(cuò)誤信息

      MOV AH,9

      INT 21H

      HUANH

      ;繼續(xù)換行

      JMP MAIN

      ;無(wú)條件跳轉(zhuǎn)到MAIN,重新開(kāi)始 6

      MZTJ: HUANH

      ··· ··· ···

      3.4 詢問(wèn)繼續(xù)模塊

      在首套程序編寫完畢運(yùn)行時(shí),每次我們只能運(yùn)行一次顯示楊輝三角的程序,以后還得重新鍵入相關(guān)命令,才能運(yùn)行,如此調(diào)試程序,效率低下,且可能混亂我們對(duì)現(xiàn)象的記錄。所以考慮到我們調(diào)試程序的高效性及對(duì)于使用者的便利性,我們又增加了一個(gè)詢問(wèn)繼續(xù)模塊,當(dāng)?shù)谝淮螚钶x三角顯示完畢,提示是否繼續(xù),如果鍵入“Y”,則程序自動(dòng)重新開(kāi)始執(zhí)行;如果鍵入“N”,則程序運(yùn)行結(jié)束,退出。程序段如下:

      input1: HUANH MOV DX,OFFSET CON

      ;顯示提問(wèn)字符串,繼續(xù)?

      MOV AH,9

      INT

      21H

      ;判斷是否繼續(xù);鍵盤輸入數(shù)據(jù) MOV AH,1 INT CMP JNZ HUANH JMP 21H AL,59H exit1

      ;判斷輸入的是否是Y NEAR PTR MAIN

      ;段內(nèi)直接近轉(zhuǎn)移,可以轉(zhuǎn)移到段內(nèi)的任何一個(gè)位置;結(jié)束程序,返回DOS exit1:

      MOV AH,4CH

      INT 21H 3.5 數(shù)值計(jì)算模塊

      本段數(shù)值計(jì)算,是正確顯示楊輝三角的關(guān)鍵,所以能否找到一種既簡(jiǎn)便又能保證計(jì)算正確性的方法,是我們本階段工作的中心,我們參閱了很多資料,從幾種計(jì)算方法中,選取了最符合我們實(shí)際編程水平的,又在保證計(jì)算正確性的基礎(chǔ)上,寫出了如下的程序段,它的思想是基于:第n行的第1個(gè)數(shù)為1,第二個(gè)數(shù)為1×(n-1),第三個(gè)數(shù)為1×(n-1)×

      (n-2)/2,第四個(gè)數(shù)為1×(n-1)×(n-2)/2×(n-3)/3···依此類推。

      如圖3.5.1為本段程序的流程圖,文字描述即為上段。

      Calculate:DEC

      MUL

      DIV

      INC

      CMP

      JZ

      PUSH

      MOV

      CALL

      MOV

      SUB

      CALL

      POP

      CALL ok1:RET

      圖3.6.1

      數(shù)值計(jì)算流程圖

      b;b每次減1相乘

      b c;除以c,再加1 c b,0;b是否為0 ok1 AX;保存所得數(shù)據(jù)

      d,0;此處d為位數(shù),為了顯示后面的空格 ShowNum AX,6;預(yù)設(shè),總共顯示的空格數(shù)為6個(gè)單位 AX,d;還需顯示多少空格

      Showspace1 AX

      Calculate;繼續(xù)執(zhí)行 8

      3.6 顯示模塊

      3.6.1 數(shù)據(jù)顯示

      得到楊輝三角中的某一個(gè)數(shù)后,接下來(lái)的任務(wù)就是如何將它顯示出來(lái)。不能完成這項(xiàng)工作,就不能完成整個(gè)課題。我們小組在參考平時(shí)微機(jī)實(shí)驗(yàn)的基礎(chǔ)上,自己分析,找到了一種正確的顯示方法:可以將某數(shù)不斷除以10,取出余數(shù)顯示,直到商為0,停止除法。例如:要顯示的數(shù)是345,除以10后,商為34,余數(shù)為5,5壓入堆棧。然后將34除以10,商為3,余數(shù)為4,4壓入堆棧。最后將3除以10,商為0,余數(shù)為3,3壓入堆棧。彈出堆棧,依次顯示,在匯編中,使用無(wú)符號(hào)數(shù)除法指令DIV OP。指令DIV BL,被除數(shù)存在AX中,整數(shù)商存在AL,余數(shù)存在AH。所以在除以10后,只需將AH中的值取出,下一次除法,可以用邏輯指令A(yù)ND將其高八位屏蔽,調(diào)用2號(hào)功能,依次顯示。

      為了能充分體現(xiàn)我們編程的思想,如圖3.6.1是數(shù)據(jù)顯示部分的流程圖,以下編寫的程序也是基于這種思想。

      圖3.6.1

      數(shù)據(jù)顯示流程圖

      具體程序段如下:

      ShowNum: MOV BX, 10

      ;BX中存除數(shù)10

      CMP AX, 0 JZ

      INC d ok2

      ;除法運(yùn)算是否完畢

      ;此處d為位數(shù),以確定輸出的空格數(shù);除以10,整數(shù)商存在AL,余數(shù)存在AH DIV BL PUSH AX

      AND AX, 00FFH;屏蔽高八位,取商 CALL

      SHOWNum POP DX

      ;取出高八位,即為要顯示的余數(shù);轉(zhuǎn)為ASCII碼

      MOV DL, DH OR DL, 30H

      MOV AH, 2 INT RET 21H ok2: 3.6.2 空格顯示

      空格的顯示,是為了調(diào)整整體楊輝三角的布局,使其輸出為美觀的等腰三角形。前期,我們采用在方格紙上試書寫的方式,確定需要顯示的空格數(shù)。實(shí)際編程中,使用到了3中空格形式,第一種是首數(shù)字1之前的空格,定義為AHEAD,第二種是首數(shù)字1后面的空格,定義為BETWEEN,第三種是和需顯示的數(shù)字位數(shù)相關(guān)的空格,定義為BACK,具體在程序中定義如下:AHEAD

      DB

      BETWEEN DB

      BACK

      DB

      '

      $' '

      $' ' $' 定義了這三種空格后,需要將其顯示,這里我們使用DOS功能調(diào)用,9號(hào)系統(tǒng)功能調(diào)用——輸出字符串。功能是將指定的內(nèi)存緩沖區(qū)中的字符串在屏幕上顯示出來(lái),緩沖區(qū)的字符串以“$”為結(jié)束標(biāo)志。

      Showspace: MOV BX, AX

      nexts: MOV AH, 9 MOV DX,OFFSET AHEAD CMP BX, 0

      ;BX減1,控制輸出的空格數(shù)

      ;首行顯示空格,空格數(shù)即為輸入的階數(shù)

      JZ dones

      dones: INT DEC JMP RET 21H BX nexts

      ;完成顯示,返回;AX為6-數(shù)據(jù)位數(shù) Showspace1: MOV BX, AX

      MOV AH, 9

      MOV DX,OFFSET BACK next: CMP BX, 0

      JZ done

      INT 21H

      DEC BX

      JMP next done: RET

      第四章 實(shí)驗(yàn)結(jié)果及問(wèn)題處理

      4.1 實(shí)驗(yàn)結(jié)果

      通過(guò)對(duì)程序的多次完善,現(xiàn)在能夠達(dá)到的要求為:最小輸出1階,最大輸出14階的正反楊輝三角形,能夠判斷輸入數(shù)據(jù)是否合法,能夠詢問(wèn)是否繼續(xù)輸出,當(dāng)輸入階數(shù)較小時(shí),也能夠很好的顯示輸出,輸出的正反楊輝三角形美觀、清晰,實(shí)現(xiàn)了題目所提出的基本要求,對(duì)于遇到的一些問(wèn)題,將在下節(jié)討論,下面附上一些運(yùn)行調(diào)試圖片。

      如圖4.1.1和圖4.1.2為正反楊輝三角顯示圖,圖4.1.3為當(dāng)輸入階數(shù)超出范圍時(shí)的提示錯(cuò)誤信息,并要求重新輸入數(shù)據(jù)。

      圖4.1.1

      11階楊輝三角

      圖4.1.2

      繼續(xù)輸出的4階和6階楊輝三角

      圖4.1.3

      輸入階數(shù)不合法的提示界面

      4.2出現(xiàn)的問(wèn)題以及解決的方案

      4.2.1 數(shù)據(jù)輸入問(wèn)題

      對(duì)于數(shù)據(jù)輸入,我們當(dāng)初考慮到了兩種方法,在方案選擇中已論證了兩種方法各自的優(yōu)缺點(diǎn),本來(lái)想使用0AH號(hào)系統(tǒng)功能調(diào)用,因?yàn)樗苤苯拥玫捷斎氲淖址幌?號(hào)系統(tǒng)功能調(diào)用那樣,只能夠輸入單字符,但是使用0AH號(hào)系統(tǒng)功能調(diào)用實(shí)際編寫程序時(shí),卻不清楚輸入的字符串存放在內(nèi)存的哪個(gè)區(qū)域,雖然參考文獻(xiàn)上有相關(guān)說(shuō)明,但是我們還是未能取出輸入的字符串,這對(duì)于我們是極大的打擊,因?yàn)殡A數(shù)輸入是完成整個(gè)課題的第一步,這一步基礎(chǔ)不做好,更不要提后面的計(jì)算、顯示了。

      在要求首先能實(shí)現(xiàn)功能的情況下,我們還是選擇了1號(hào)系統(tǒng)功能調(diào)用,但是要加一個(gè)循環(huán)控制,控制輸入最大位數(shù)和ENTER的ASCII碼判斷輸入結(jié)束語(yǔ)句,因?yàn)槭禽斎氲膯巫址銩SCII碼存在AL寄存器中,所以對(duì)于2位數(shù),必須要先將其ASCII碼轉(zhuǎn)為16進(jìn)制數(shù),將首先輸入的數(shù)乘以10,再加上第二次輸入的數(shù),得到實(shí)際鍵入的數(shù)值。基于以上思想,我們寫出了上述3.2節(jié)的階數(shù)輸入功能程序。4.2.2 除法溢出問(wèn)題

      由查閱資料可知,對(duì)于高階的楊輝三角形,其內(nèi)部的數(shù)據(jù)會(huì)變得相當(dāng)大,當(dāng)階數(shù)為15階時(shí),其最大的數(shù)已經(jīng)超過(guò)65536,在數(shù)學(xué)上65536并不是一個(gè)特殊的數(shù),但是在計(jì)算機(jī)系統(tǒng)中,65536=2^16,在8086CPU內(nèi)部,有8個(gè)16為的內(nèi)部寄存器,當(dāng)然累加器AX

      也為16位,AX中能存放的最大的數(shù)為65536,分為高八位(AH)和低八位(AL),使用匯編的無(wú)符號(hào)數(shù)除法指令DIV OP,指令中給出的操作數(shù)是除數(shù),它可以是8位/16位通用寄存器及存儲(chǔ)器;被除數(shù)隱含在AX(字節(jié)除)或DX、AX(字除法)中。

      查閱資料得到,可以使用特定指令,實(shí)現(xiàn)整數(shù)商存至AX,余數(shù)存至DX中,這樣能夠提高數(shù)值的上限,但是隨之而來(lái)的問(wèn)題是,對(duì)于編程的復(fù)雜度的提高,楊輝三角的顯示格式問(wèn)題,數(shù)據(jù)除以10取余數(shù)的顯示問(wèn)題,從而影響到整個(gè)課題。所以考慮到限定的時(shí)間,輸出的美觀等因素,取折中選擇,我們只做到了14階,對(duì)于大于等于15階的階數(shù)輸入,我們?cè)黾恿伺袛嗾Z(yǔ)句,避免除法溢出問(wèn)題。4.2.3 數(shù)據(jù)計(jì)算問(wèn)題

      眾所周知,楊輝三角形中的數(shù)據(jù)是有規(guī)律排列的,在上文整體設(shè)計(jì)思路中已經(jīng)闡述了一些規(guī)律。對(duì)于數(shù)據(jù)的計(jì)算,我們一開(kāi)始考慮到的是某數(shù)等于其上一行左右兩數(shù)之和,依照此規(guī)律也可以寫出整個(gè)楊輝三角形,而且不需要進(jìn)行乘除法運(yùn)算,不會(huì)出現(xiàn)除法溢出問(wèn)題。但是如何得到這個(gè)數(shù)的上一行的左右兩數(shù),這兩個(gè)數(shù)該存在哪里,卻是一個(gè)不容忽視的問(wèn)題,而且會(huì)占用很大的內(nèi)存空間。

      后來(lái)我們查閱資料,又得到一些規(guī)律,即第n行的第1個(gè)數(shù)為1,第二個(gè)數(shù)為1×(n-1),第三個(gè)數(shù)為1×(n-1)×(n-2)/2,第四個(gè)數(shù)為1×(n-1)×(n-2)/2×(n-3)/3···依此類推。這樣可以用DEC n和INC c,用乘除法指令就可運(yùn)算出正確結(jié)果,但是前提是輸入的階數(shù)有限制,上一節(jié)已經(jīng)論證。為了能知道這一行到底要運(yùn)算多少次,我們又加了一個(gè)CX控制其運(yùn)算次數(shù),在計(jì)算前,對(duì)某一行的n,都要進(jìn)行壓棧保護(hù)。綜上所述,我們寫出了上節(jié)結(jié)束輸入模塊的程序。事實(shí)表明,這樣的方法能夠計(jì)算出正確的數(shù)值。

      第五章 總結(jié)與體會(huì)

      微機(jī)原理與接口技術(shù),是我們電子科學(xué)與技術(shù)專業(yè)學(xué)生的專業(yè)課,由此可知,這門課對(duì)于我們的意義是多么重大。所以,在做這次微機(jī)的課程設(shè)計(jì)時(shí),更是不敢怠慢。唯恐不能正確得到設(shè)計(jì)效果。

      這次我們的課程設(shè)計(jì)的題目是:匯編顯示楊輝三角。剛拿到這個(gè)題目的時(shí)候,確實(shí)不知道從何下手,但是有句話說(shuō)得好:不逼自己一把,怎么知道自己不可以?我們首先從什么是楊輝三角下手,查閱了相關(guān)資料,總結(jié)體會(huì)了楊輝三角的一些規(guī)律,這些規(guī)律能夠在我們編程過(guò)程中得以體現(xiàn),所以這個(gè)過(guò)程是必須的。

      接下來(lái),在熟悉了楊輝三角的基礎(chǔ)上,我們結(jié)合編程,總結(jié)了有幾個(gè)工作要做,一是:字符串的顯示;二是:楊輝三角值得計(jì)算;三是:這些數(shù)值的顯示;四是:輸出的排版問(wèn)題,保證輸出美觀正確。把整個(gè)課題,分為以上四個(gè)部分后,各個(gè)擊破,從而高效的完成整個(gè)課題是一種很實(shí)用、有效的方法。雖然在這個(gè)過(guò)程中遇到了不少問(wèn)題,但是我們小組成員都很積極的討論解決問(wèn)題的方法。最后通過(guò)整合,得到了整個(gè)程序??傮w來(lái)說(shuō),這個(gè)程序雖然還不完美,但是代表著我們這一段時(shí)間以來(lái)的成果,我們都很欣慰,能夠?qū)崿F(xiàn)題目的要求。

      這次微機(jī)原理課程設(shè)計(jì)歷時(shí)兩個(gè)星期,在整整兩星期的日子里,可以說(shuō)苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。以前在上課的時(shí)候,老師經(jīng)常強(qiáng)調(diào)在寫一個(gè)程序的時(shí)候,一定要事先把程序原理方框圖化出來(lái),但是我開(kāi)始總覺(jué)得這樣做沒(méi)必要,很浪費(fèi)時(shí)間。但是,這次課程設(shè)計(jì)完全改變了我以前的那種錯(cuò)誤的認(rèn)識(shí),以前我接觸的那些程序都是很短、很基礎(chǔ)的,但是在課程設(shè)計(jì)中碰到的那些需要很多代碼才能完成的任務(wù),畫程序方框圖是很有必要的。因?yàn)橥ㄟ^(guò)程序方框圖,在做設(shè)計(jì)的過(guò)程中,我們每一步要做什么,每一步要完成什么任務(wù)都有一個(gè)很清楚的思路,而且在程序測(cè)試的過(guò)程中也有利于查錯(cuò)。

      其次,以前對(duì)于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過(guò)一段上機(jī)的實(shí)踐,對(duì)于怎么去排錯(cuò)、查錯(cuò),怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個(gè)寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高。

      通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服

      務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。

      這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí)學(xué)得到很多實(shí)用的知識(shí),在此我表示感謝!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)表示忠心的感謝!

      參考文獻(xiàn)

      [1] 朱金鈞,麻新旗,等.微型計(jì)算機(jī)原理及應(yīng)用技術(shù).機(jī)械工業(yè)出版社,第2版.附錄

      匯編輸出楊輝三角程序代碼: HUANH MACRO

      ;宏定義5句代碼實(shí)現(xiàn)換行

      MOV

      AH, 2

      DL, 13 21H DL, 10 21H

      MOV

      INT

      MOV

      INT ENDM

      DATA SEGMENT

      MSG

      RESULT CON DB DB DB

      'Please input a number: $' 'The YiangHui triangle:$'

      'Do you want to continue?(Y/N): $' 'Data out of range!$' ERROR

      DB

      AHEAD

      DB

      '

      $' BETWEEN DB BACK a

      DB DW DW DW DW

      '

      $' ' $' ? ? ? ?

      ;記錄位數(shù),控制空格數(shù)

      ;a為階數(shù);b是行數(shù) b c

      d

      DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA

      ;輸入子程序,數(shù)字存在BP SHURU PROC

      XOR

      MOV

      MOV BP,BP BX,10 CX,3

      ;控制輸入位數(shù),外加一位回車

      input:

      MOV

      INT AH,1

      21H

      ;鍵盤輸入數(shù)據(jù)

      CMP

      JZ AL,0DH

      OK AL,30H

      ;以回車結(jié)束輸入

      SUB

      CBW

      ;化ASCII為HEX;字節(jié)擴(kuò)展為字

      OK:

      SHURU START:

      MAIN:

      MZTJ:

      XCHG MUL

      ADD

      LOOP

      RET ENDP MOV

      MOV

      MOV

      MOV

      INT

      CALL

      CMP JB

      HUANH MOV MOV

      INT

      HUANH JMP

      HUANH MOV

      MOV AX,BP BX

      ;擴(kuò)大10倍 BP,AX

      ;加一位

      input AX,DATA DS,AX

      DX,OFFSET MSG;輸出字符串,請(qǐng)輸入一個(gè)數(shù) AH,9 21H SHURU

      ;調(diào)用輸入函數(shù),顯示輸入的數(shù)BP,15

      ;輸入的數(shù)在BP里 MZTJ

      ;滿足條件

      DX,OFFSET ERROR

      ;準(zhǔn)備顯示錯(cuò)誤信息

      AH,9

      21H

      MAIN DX,OFFSET RESULT;顯示提示字符串

      AH,9

      INT

      HUANH

      MOV

      CALL

      MOV

      MOV

      INT

      CMP

      JZ

      MOV

      MOV

      MOV

      DEC

      CALL

      exit: HUANH MOV

      CALL

      MOV

      MOV

      INT

      JMP

      yhsj: MOV

      HUANH

      DEC

      MOV

      CALL

      MOV

      MOV

      INT

      MOV 21H

      AX,BP

      ;準(zhǔn)備顯示楊輝三角,AX=BP=階數(shù)

      Showspace DL,'1'

      ;第一行顯示空格完畢,輸出'1' AH,2 21H BP,1

      ;階數(shù)BP與1比較

      exit b,2

      ;b=2 CX,BP;CX為階數(shù) a,BP;a為階數(shù) a

      yhsj AX,BP

      ;準(zhǔn)備顯示楊輝三角,AX=BP=階數(shù)

      Showspace DL,'1'

      ;第一行顯示空格完畢,輸出'1' AH,2 21H NEAR PTR input1 c,1

      ;楊輝三角

      BP AX,BP Showspace

      ;控制首數(shù)字前面的空格數(shù) DL,'1'

      ;首數(shù)字必為1

      AH,2 21H DX,OFFSET BETWEEN

      MOV

      INT

      MOV

      PUSH

      CALL

      POP

      INC

      DEC

      CMP

      JA

      DEC

      CMP

      JZ

      CALL

      ok3:

      HUANH

      INC

      MOV

      CALL

      MOV

      MOV

      INT

      input1: HUANH MOV

      MOV

      INT

      MOV

      INT

      CMP

      JNZ

      HUANH AH,9 21H AX,1 b Calculate b b

      ;b為行數(shù)

      CX CX,1 yhsj b b,2 ok3 fyhsj a AX,a Showspace DL,'1' AH,2 21H

      ;判斷是否繼續(xù)

      DX,OFFSET CON;顯示提問(wèn)字符串,繼續(xù)? AH,9 21H AH,1

      ;鍵盤輸入數(shù)據(jù)

      21H AL,59H

      ;以回車結(jié)束輸入 exit1

      JMP exit1: MOV

      INT

      fyhsj: MOV

      HUANH

      INC

      MOV

      CALL

      MOV

      MOV

      INT

      MOV

      MOV

      INT

      MOV

      DEC

      PUSH

      CALL

      POP

      INC

      CMP

      JB

      RET Showspace:

      MOV

      MOV

      MOV

      nexts:

      CMP

      JZ NEAR PTR MAIN AH,4CH 21H c,1

      ;反楊輝三角

      BP AX,BP Showspace DL,'1' AH,2 21H

      DX,OFFSET BETWEEN AH,9 21H AX,1 b b Calculate b CX CX,a fyhsj BX, AX;首行顯示空格,空格數(shù)即為輸入的階數(shù)AH, 9 DX,OFFSET AHEAD BX, 0;BX減1,控制輸出的空格數(shù)

      dones

      INT

      DEC

      JMP

      dones:

      RET Calculate: DEC

      MUL

      DIV

      INC

      CMP

      JZ

      PUSH

      MOV

      CALL

      MOV

      SUB

      CALL

      POP

      CALL

      ok1:

      RET ShowNum: MOV

      CMP

      JZ

      INC

      DIV

      PUSH

      AND

      CALL

      POP 21H BX nexts b b c c b,0 ok1 AX;保存所得數(shù)據(jù)

      d,0 ShowNum AX,6 AX,d Showspace1 AX Calculate BX, 10;顯示某數(shù),并記錄位數(shù)AX, 0 ok2 d BL AX AX, 00FFH SHOWNum DX

      ok2:

      MOV

      OR DL, DH DL, 30H AH, 2 21H MOV

      INT

      RET BX, AX AH, 9 DX,OFFSET BACK BX, 0 done 21H BX next Showspace1:MOV

      next:

      done:

      RET

      MOV

      MOV

      CMP

      JZ INT

      DEC

      JMP

      CODE ENDS

      END START

      第四篇:楊輝三角--中國(guó)的帕斯卡三角形

      楊輝三角--中國(guó)的帕斯卡三角形

      中國(guó)的數(shù)學(xué)發(fā)展到宋元時(shí)期,終于走到了它的高峰。在這個(gè)數(shù)學(xué)創(chuàng)新的黃金時(shí)期中,各種數(shù)學(xué)成果層出不窮,令人目不暇接。其中特別引人注目的,當(dāng)首推北宋數(shù)學(xué)家賈憲創(chuàng)制的“賈憲三角”了。

      由于史書沒(méi)有賈憲的傳記,所以我們今天對(duì)這位數(shù)學(xué)家的生平事跡已經(jīng)無(wú)法搞清楚了。只知道他曾經(jīng)當(dāng)過(guò)宋代”左班殿直”的小官,是當(dāng)時(shí)天文數(shù)學(xué)家楚衍的學(xué)生,還寫過(guò)兩部數(shù)學(xué)著作,可惜這兩部著作現(xiàn)在都失傳了。幸虧南宋數(shù)學(xué)家楊輝在他的書中引述了賈憲的許多數(shù)學(xué)思想資料,才使我們今天得以了解賈憲在數(shù)學(xué)上的重大貢獻(xiàn)。

      賈憲最著名的數(shù)學(xué)成就,是他創(chuàng)制了一幅數(shù)字圖式,即“開(kāi)方作法本源圖”(見(jiàn)下圖)。這幅圖現(xiàn)見(jiàn)于楊輝的書中,但楊輝在引用了這幅圖后特意說(shuō)明:“賈憲用此術(shù)”。所以過(guò)去我國(guó)數(shù)學(xué)界把這幅圖稱為“楊輝三角”,實(shí)際上是不妥當(dāng)?shù)?,?yīng)該稱為“賈憲三 角”才最為恰當(dāng)。

      圖 1-6-1開(kāi)方作法本源圖

      用現(xiàn)代的數(shù)學(xué)術(shù)語(yǔ)來(lái)說(shuō),這幅“開(kāi)方作法本源圖”實(shí)際上是一個(gè)指數(shù)為正整數(shù)的二項(xiàng)式定理系數(shù)表。稍懂代數(shù)的讀者都知道:

      如果把以上式子中等號(hào)右邊的各個(gè)系數(shù)排列起來(lái),則可得:

      這正好與“開(kāi)方作法本源圖”上的數(shù)字完全相符。

      這樣一種二項(xiàng)式系數(shù)的展開(kāi)規(guī)律,在西方數(shù)學(xué)史上被稱為“帕斯卡三角形”。帕斯卡是法國(guó)數(shù)學(xué)家,他是在1654年所著的書中給出類似于賈憲“開(kāi)方作法本源圖”的數(shù)字三角形表的(見(jiàn)圖1-6-1)。其實(shí)在歐洲,類似的數(shù)字三角形也并非帕斯卡最先發(fā)明,只是開(kāi)始沒(méi)有廣泛流傳罷了。西方最古的此類數(shù)字三角形,可以上溯到1527年;但與賈憲的這個(gè)圖相比,已經(jīng)晚了四百多年。因此我們完全有理由把這項(xiàng)中國(guó)人最先發(fā)明的數(shù)學(xué)成果稱為“賈憲三角”而載人史冊(cè)。

      不僅如此,賈憲的這個(gè)圖還蘊(yùn)含了圖中數(shù)字的產(chǎn)生規(guī)律。細(xì)心的讀者也許已經(jīng)發(fā)現(xiàn),這個(gè)三角形的兩條斜邊都是由數(shù)字1所組成的,而其他的數(shù)都等于它肩上的兩個(gè)數(shù)相加。按此規(guī)律,這個(gè)數(shù)字三角形可以寫到任意多層;也就是說(shuō),二項(xiàng)式任意正整次冪的

      系數(shù)展開(kāi)都可以按照這個(gè)圖很容易地得到。

      圖1-6-2 帕斯卡三角形

      根據(jù)楊輝的記載,賈憲求“開(kāi)方作法本源圖”中各項(xiàng)系數(shù)的方法,就是他在開(kāi)平方、開(kāi)立方中所用的新法——“增乘開(kāi)方法”。應(yīng)用這種“增乘開(kāi)方法”,既可求得任意高次展開(kāi)式系數(shù),又可進(jìn)行任意高次冪的開(kāi)方。在賈憲之前,從漢代一直到唐代的一千多年時(shí) 間里,中國(guó)古代數(shù)學(xué)家只能進(jìn)行正數(shù)的開(kāi)平方和開(kāi)立方運(yùn)算,對(duì)于四次方以上的高次冪開(kāi)方?jīng)]有什么好的方法。直到賈憲的“增乘開(kāi)方法”問(wèn)世,才真正找到了開(kāi)高次方的最佳方法,并能用它開(kāi)任意有理數(shù)的高次方。這在中國(guó)數(shù)學(xué)史乃至世界數(shù)學(xué)史上,都是具有極其重要的價(jià)值的。以后的數(shù)學(xué)家在這個(gè)基礎(chǔ)上繼續(xù)前進(jìn),又把它推廣為任意高次方程的數(shù)值解法。南宋時(shí)期的數(shù)學(xué)家秦九韶在系統(tǒng)總結(jié)前人成果的基礎(chǔ)上,終于把以增乘開(kāi)方法為主體的高次方程數(shù)值解法發(fā)展到了十分完備的程度。在秦九韶的著作中,方程的系數(shù)既有正的,也有負(fù)的;既有整數(shù),也有小數(shù);方程的次數(shù)最高達(dá)10次方。如:

      x10?15x8?72x6-864x4?11664x2?34992=0

      其解法與現(xiàn)代通常使用的“霍納法”(由英國(guó)數(shù)學(xué)家霍納于1819年給出)基本一致,但比霍納法要早了五百多年。從賈憲到秦九韶逐步發(fā)展完備起來(lái)的高次方程數(shù)值解法,是中國(guó)數(shù)學(xué)在宋元時(shí)期的一項(xiàng)杰出的創(chuàng)造。

      第五篇:楊輝與楊輝三角

      數(shù)學(xué)家楊輝

      楊輝,中國(guó)南宋末年杰出的數(shù)學(xué)家和數(shù)學(xué)教育家。在13世紀(jì)中葉活動(dòng)于蘇杭

      一帶,其著作甚多。

      他著名的數(shù)學(xué)書共五種二十一卷。著有《詳解九章算法》十二卷(1261年)、《日用算法》二卷(1262年)、《乘除通變本末》三卷(1274年)、《田畝比類乘除算法》二卷(1275年)、《續(xù)古摘奇算法》二卷(1275年)。

      其中在《詳解九章算法》一書中載有二項(xiàng)(a+b)n展開(kāi)系數(shù)的數(shù)字三角形,被稱為“楊輝三角”,它的發(fā)現(xiàn)比國(guó)外同類發(fā)現(xiàn)至少早3O0年。

      楊輝的數(shù)學(xué)研究與教育工作的重點(diǎn)是在計(jì)算技術(shù)方面,他對(duì)籌算乘除捷算法進(jìn)行總結(jié)和發(fā)展,有的還編成了歌決,如九歸口決。

      他在《續(xù)古摘奇算法》中介紹了各種形式的“縱橫圖”及有關(guān)的構(gòu)造方法,同時(shí)“垛積術(shù)”是楊輝繼沈括“隙積術(shù)”后,關(guān)于高階等差級(jí)數(shù)的研究。楊輝在“纂類”中,將《九章算術(shù)》246個(gè)題目按解題方法由淺入深的順序,重新分為乘除、分率、合率、互換、二衰分、疊積、盈不足、方程、勾股等九類。

      他非常重視數(shù)學(xué)教育的普及和發(fā)展,在《算法通變本末》中,楊輝為初學(xué)者制訂的“習(xí)算綱目”是中國(guó)數(shù)學(xué)教育史上的重要文獻(xiàn)。

      ===================

      楊輝介紹

      楊輝,字謙光,中國(guó)南宋(1127~1279)末年錢塘(今杭州市)人。其生卒年月及生平事跡均無(wú)從詳考。據(jù)有關(guān)著述中的字句推測(cè),楊輝大約于13世紀(jì)中葉至末葉生活在現(xiàn)今浙江杭州一帶,曾當(dāng)過(guò)地方官,到過(guò)蘇州、臺(tái)州等地。是當(dāng)時(shí)有名的數(shù)學(xué)家和數(shù)學(xué)教育家,他每到一處都會(huì)有人慕名前來(lái)請(qǐng)教數(shù)學(xué)問(wèn)題。

      楊輝一生編寫的數(shù)學(xué)書很多,但散佚也很嚴(yán)重。據(jù)史料記載,他至少有以下書,曾在國(guó)內(nèi)或國(guó)外刊行:

      《詳解九章算法》12卷(1261)《詳解算法》若干卷

      《日用算法》(1262)

      《乘除通變算寶》3卷(1274)

      《續(xù)古摘奇算法如卷》(1275)

      《田畝比類乘除捷法如卷》(1275)其中《詳解九章算法》殘缺不全,《詳解算法》、《日用算法》迄今未見(jiàn)傳本。而后3種共7卷合刊在一起,被稱為《楊輝算法》。

      楊輝繼承中國(guó)古代數(shù)學(xué)傳統(tǒng),他廣征博引數(shù)學(xué)典籍,引用了現(xiàn)已失傳的宋代的許多算書,使我們才得知其部分內(nèi)容。其中,劉益的“正負(fù)開(kāi)方術(shù)”,賈憲的“增乘開(kāi)方法”與“開(kāi)方作法本源”圖(即誤傳為“楊輝三角”),就是極其寶貴的數(shù)學(xué)史料。

      楊輝繼沈括研究“隙積術(shù)”之后,研究了“垛積術(shù)”,即關(guān)于高階等差數(shù)列的研究。他首次將所謂“幻方”問(wèn)題作為數(shù)學(xué)問(wèn)題研究,并創(chuàng)“縱橫圖”之名。他給出了三階至十階幻方的實(shí)例,對(duì)某些構(gòu)成原理也有所研究。楊輝之前在中國(guó)尚無(wú)這方面的研究成果,楊輝之后,明、清兩代中國(guó)數(shù)學(xué)家關(guān)于縱橫圖的研究相繼不絕,因此楊耀的著述也是研究關(guān)于幻方乃至組合數(shù)學(xué)歷史的珍貴資料。楊輝還非常關(guān)心日常計(jì)算技巧,改進(jìn)算法程序。

      楊輝不僅著述甚豐,而且是一位杰出的數(shù)學(xué)教育家。他特別注重?cái)?shù)學(xué)的普及教育,其許多著作都是為此而編寫的教科書。楊輝主張?jiān)跀?shù)學(xué)教育中貫徹理論聯(lián)系實(shí)際的原則,在《日用算法》中,他說(shuō):“以乘除加減為法,稱斗尺田為問(wèn);用法必載源流,命題須責(zé)實(shí)用?!彼€主張貫徹循序漸進(jìn)的原則,在《算法通變本末》(即《乘除通變算寶》上卷)中,專門為初學(xué)者制了一份“司算綱目”,要求學(xué)習(xí)者抓住要領(lǐng),反復(fù)練習(xí),這是我國(guó)歷史上第一部數(shù)學(xué)教學(xué)大綱。他又告誡初學(xué)者:“夫?qū)W算者,題從法取,法將題驗(yàn),凡欲明一法,必設(shè)一題?!庇终f(shuō):“題繁難見(jiàn)法理,定擺小題驗(yàn)法理,義既通雖用繁題了然可見(jiàn)也。”可見(jiàn),他十分強(qiáng)調(diào)習(xí)題應(yīng)有典型性。楊輝一生治學(xué)嚴(yán)謹(jǐn),教學(xué)一絲不茍,他的這此教育思考和方法,至今也有很重要的參考價(jià)值。

      =================

      古代數(shù)學(xué)家楊輝的故事

      宋、元數(shù)學(xué)四大家之一的楊輝是世界上第一個(gè)排出豐富的縱橫圖和討論構(gòu)成規(guī)律的數(shù)學(xué)家. 說(shuō)起楊輝的這一成就,還得從一件偶然的小事說(shuō)起.一天臺(tái)州府的地方官楊輝坐轎出外巡游,半路上被一個(gè)在路中間算題的孩童攔住道路不能通過(guò).楊輝一看來(lái)了興趣,連忙下轎,抬步來(lái)到前面.

      楊輝摸著孩童的頭說(shuō):“為何不讓本官?gòu)拇私?jīng)過(guò)?”

      孩童答道:“不是不讓經(jīng)過(guò),我是怕你們把我的算式踩掉,我又想不起來(lái)了.”

      “什么算式?”

      “就是把1到9九個(gè)數(shù)字分三行排列,不論直著加、橫著加還是斜著加,結(jié)果都是等于15.我們先生說(shuō)下午一定要把這道題做好.我正算到關(guān)鍵之處.”

      楊輝連忙蹲下身,仔細(xì)地看孩童的算式,覺(jué)得這個(gè)算式在哪兒見(jiàn)過(guò),仔細(xì)一想,原來(lái)是西漢學(xué)者戴德編纂的《大戴禮》中所寫的文章中提及的.

      楊輝和孩童兩人連忙一起運(yùn)算起來(lái),直到天過(guò)午,兩人才舒了一口氣,結(jié)果出來(lái)了,他們又驗(yàn)算了一下,結(jié)果全是15,這才站了起來(lái).結(jié)果如圖1所示:

      ?/P> 楊輝回到家中反復(fù)琢磨,一有空閑就在桌上擺弄這些數(shù)字,終于發(fā)現(xiàn)了其中的規(guī)律,按照類似的規(guī)律,楊輝又得到了“花16圖”——把從1到16的數(shù)字排列在四行四列的方格中,使每一橫行、縱行、斜行四數(shù)之和均為34.

      后來(lái),楊輝又將散見(jiàn)于前人著作和流傳于民間的有關(guān)這類問(wèn)題加以整理,得到了“五五圖”“六六圖”“衍數(shù)圖”“易數(shù)圖”“九九圖”“百子圖”等許多類似的圖.楊輝把這些圖總稱為縱橫圖,于1275年寫進(jìn)自己的數(shù)學(xué)著作《續(xù)古摘奇算法》一書中,并流傳后世.

      但長(zhǎng)期以來(lái),人們習(xí)慣于把它當(dāng)做純粹的數(shù)學(xué)游戲,并沒(méi)有給予應(yīng)有的重視.隨著近代組合數(shù)學(xué)的發(fā)展,縱橫圖顯示了越來(lái)越強(qiáng)大的生命力,在圖論、組合分析、對(duì)策論、計(jì)算機(jī)科學(xué)領(lǐng)域中都找到了用武之地.

      ----------------------------楊輝和孩童將算題解答出來(lái)后的故事外傳:

      后來(lái),楊輝隨孩童來(lái)到老先生家里,與老先生談?wù)撈饠?shù)學(xué)問(wèn)題來(lái)。老先生說(shuō):“北周的甄彎注《數(shù)術(shù)記遺》一書中寫過(guò)‘九宮者,二四為肩,六八為足,左三右七,戴九履一,五居中央?!薄瘲钶x聽(tīng)了,這與自己與孩童擺出來(lái)的完全一樣。便問(wèn)老先生:“你可知這個(gè)九宮圖是如何造出來(lái)的?”老先生說(shuō)不知道。

      楊輝回到家中,反復(fù)琢磨。一天,他終于發(fā)現(xiàn)一條規(guī)律,并總結(jié)成四句話:“九子斜排,上下對(duì)易,左右相更,四維挺出”。就是說(shuō):先把l~9九個(gè)數(shù)依次斜排,再把上l下9兩數(shù)對(duì)調(diào),左7右3兩數(shù)對(duì)調(diào),最后把四面的2、4、6、8向外面挺出,這樣三階幻方就填好了。

      楊輝研究出三階幻方(也叫絡(luò)書或九宮圖)的構(gòu)造方法后,又系統(tǒng)的研究了四階幻方至十階幻方。在這幾種幻方中,楊輝只給出了三階、四階幻方構(gòu)造方法的說(shuō)明,四階以上幻方,楊輝只畫出圖形而未留下作法。但他所畫的五階、六階乃至十階幻方全都準(zhǔn)確無(wú)誤,可見(jiàn)他已經(jīng)掌握了高階幻方的構(gòu)成規(guī)律。------------------------------幻方,在我國(guó)也稱縱橫圖,它的神奇特點(diǎn)吸引了無(wú)數(shù)人對(duì)它的癡迷。從我國(guó)古代的“河出圖,洛出書,圣人則之”的傳說(shuō)起,系統(tǒng)研究幻方的第一人,當(dāng)數(shù)我國(guó)古代數(shù)學(xué)家——楊輝。

      其實(shí),中國(guó)古代數(shù)學(xué)家在數(shù)學(xué)的許多重要領(lǐng)域中處于遙遙領(lǐng)先的地位。中國(guó)古代數(shù)學(xué)史曾經(jīng)有自己光輝燦爛的篇章,而楊輝三角的發(fā)現(xiàn)就是十分精彩的一頁(yè)。

      楊輝,字謙光,北宋時(shí)期杭州人。在他1261年所著的《詳解九章算法》一書中,輯錄了如上所示的三角形數(shù)表,稱之為“開(kāi)方作法本源”圖。===============

      楊輝三角

      簡(jiǎn)單的說(shuō)一下就是兩個(gè)未知數(shù)和的冪次方運(yùn)算后的系數(shù)問(wèn)題,比如(X+Y)2等于X2 +2XY+Y2,這樣系數(shù)就是1 2 1這就是楊輝三角的其中一行,立方,四次方,運(yùn)算的結(jié)果看看各項(xiàng)的系數(shù),你就明白其中的道理了

      這就是楊輝三角,也叫賈憲三角。他于我們現(xiàn)在的學(xué)習(xí)聯(lián)系最緊密的是2項(xiàng)式乘方展開(kāi)式的系數(shù)規(guī)律。如圖,在賈憲三角中,第3行的第三個(gè)數(shù)恰好對(duì)應(yīng)著兩數(shù)和的平方公式(在此就不做說(shuō)明了)依次下去楊輝三角是一個(gè)由數(shù)字排列成的三角形數(shù)表,一般形式如下:

      楊輝三角最本質(zhì)的特征是,它的兩條斜邊都是由數(shù)字1組成的,而其余的數(shù)則是等于它肩上的兩個(gè)數(shù)之和。

      同時(shí)這也是多項(xiàng)式(a+b)^n 打開(kāi)括號(hào)后的各個(gè)項(xiàng)的二次項(xiàng)系數(shù)的規(guī)律,即為 0(a+b)^0(0 nCr 0)1(a+b)^1(1 nCr 0)(1 nCr 1)2(a+b)^2(2 nCr 0)(2 nCr 1)(2 nCr 2)3(a+b)^3(3 nCr 0)(3 nCr 1)(3 nCr 2)(3 nCr 3)................因此楊輝三角第x層第y項(xiàng)直接就是(y nCr x)

      我們也不難得到 第x層的所有項(xiàng)的總和 為 2^x(即(a+b)^x中a,b都為1的時(shí)候)[ 上述y^x 指 y的 x次方;(a nCr b)指組合數(shù)] 這樣一個(gè)三角在我們的奧數(shù)競(jìng)賽中也是經(jīng)常用到,最簡(jiǎn)單的就是叫你找規(guī)律。在國(guó)外,這也叫做“帕斯卡三角形”。

      S1:這些數(shù)排列的形狀像等腰三角形,兩腰上的數(shù)都是1 S2:從右往左斜著看,第一列是1,1,1,1,1,1,1;第二列是,1,2,3,4,5,6;第三列是1,3,6,10,15;第四列是1,4,10,20;第五列是1,5,15;第六列是1,6??。

      從左往右斜著看,第一列是1,1,1,1,1,1,1;第二列是1,2,3,4,5,6??和前面的看法一樣。我發(fā)現(xiàn)這個(gè)數(shù)列是左右對(duì)稱的。S3:上面兩個(gè)數(shù)之和就是下面的一行的數(shù)。S4:這行數(shù)是第幾行,就是第二個(gè)數(shù)加一。??

      ----------------------------楊輝三角的簡(jiǎn)史:北宋人賈憲約1050年首先使用“賈憲三角”進(jìn)行高次開(kāi)方運(yùn)算,南宋數(shù)學(xué)家楊輝在《詳解九章算法》(1261年)記載并保存了“賈憲三角”,故稱楊輝三角。元朝數(shù)學(xué)家朱世杰在《四元玉鑒》(1303年)擴(kuò)充了“賈憲三角”成“古法七乘方圖”。

      時(shí)間上:楊輝(1261)朱世杰(1303)也明顯就可以知道是楊輝發(fā)現(xiàn)的朱世杰只是擴(kuò)充了其中的內(nèi)容 附賈憲資料:

      賈憲,北宋人,約公元1050年完成一部叫《黃帝九章算術(shù)細(xì)草》的著作,原書丟失,但其主要內(nèi)容被南宋數(shù)學(xué)家楊輝著《詳解九章算法》(1261)摘錄,因能傳世。根據(jù)楊輝的摘錄,賈憲的高次開(kāi)方法是以一張稱為“開(kāi)方作法本源”的圖為基礎(chǔ)。開(kāi)方作法本源圖現(xiàn)稱“賈憲三角”或“楊輝三角”,它實(shí)際上是一張二項(xiàng)系數(shù)表。賈憲增乘開(kāi)方法,是一個(gè)非常有效的和高度機(jī)械化的算法,可適用于開(kāi)任意高次方。這種隨乘隨加、能反復(fù)迭代計(jì)算減根變換方程各項(xiàng)系數(shù)的方法,與現(xiàn)代通用的“霍納算法”(1819)已基本一致。而與此方法相聯(lián)系的“賈憲三角”,在西方文獻(xiàn)中則稱“帕斯卡三角”(1654)。

      下載楊輝三角說(shuō)課稿word格式文檔
      下載楊輝三角說(shuō)課稿.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)范文推薦

        楊輝三角-杭州第七中學(xué)(五篇范文)

        高中數(shù)學(xué)第三冊(cè)第二章第2節(jié)教案 研究性課題:楊輝三角 杭州七中翟慎佳 【教學(xué)目的】 1. 進(jìn)一步探索楊輝三角的基本性質(zhì)及數(shù)字排列規(guī)律,形成知識(shí)網(wǎng)絡(luò); 2. 培養(yǎng)學(xué)生發(fā)現(xiàn)問(wèn)題、提出問(wèn)......

        C語(yǔ)言運(yùn)用一維數(shù)組和二維數(shù)組輸出楊輝三角

        C語(yǔ)言——運(yùn)用一維數(shù)組和二維數(shù)組輸出楊輝三角**********一維數(shù)組********** #include #define n 10 int main() {}int a[n]={1,1},i,j;printf("%5dn%5d%5dn",1,a[0],a[1]......

        典型例題補(bǔ)充:C語(yǔ)言求楊輝三角的7種方法

        楊輝三角形是形如 1 1 1 1 1 1 1 1 1 的三角形,其實(shí)質(zhì)是二項(xiàng)式(a+b)的n次方展開(kāi)后各項(xiàng)的系數(shù)排成的三角形,它的特點(diǎn)是左右兩邊全是1,從第二行起,中間的每一個(gè)數(shù)是上一行里相鄰兩......

        《“楊輝三角”與二項(xiàng)式系數(shù)的性質(zhì)》教學(xué)設(shè)計(jì)說(shuō)明(本站推薦)

        《“楊輝三角”與二項(xiàng)式系數(shù)的性質(zhì)》教學(xué)設(shè)計(jì)說(shuō)明 湖北省黃岡市浠水實(shí)驗(yàn)高級(jí)中學(xué) 周少雄 1.內(nèi)容和內(nèi)容解析 《“楊輝三角”與二項(xiàng)式系數(shù)的性質(zhì)》是全日制普通高級(jí)中學(xué)教科書......

        說(shuō)課稿

        《春雨的色彩》說(shuō)課稿 “春雨,像春姑娘紡出的線,輕輕的灑在地上,沙沙沙,沙沙沙??”多么優(yōu)美的詩(shī)句!它出自于一年級(jí)下冊(cè)的一篇課文,也就是我今天說(shuō)課的內(nèi)容——《春雨的色彩》。......

        說(shuō)課稿

        各位領(lǐng)導(dǎo)、老師: 下午好!我說(shuō)課的課程是高職英語(yǔ)課程。 本次說(shuō)課我將按以下流程進(jìn)行:一、說(shuō)課程基本信息 二、說(shuō)課程教學(xué)目標(biāo) 三、說(shuō)課程教學(xué)內(nèi)容與職業(yè)能力訓(xùn)練 四、說(shuō)課程教......

        說(shuō)課稿

        《普遍聯(lián)系與人際和諧》說(shuō)課稿 尊敬的各位評(píng)委、老師:大家好!今天我說(shuō)課的內(nèi)容是《普遍聯(lián)系與人際和諧》。課后型說(shuō)課側(cè)重對(duì)實(shí)際課堂操作進(jìn)行反饋、總結(jié)與評(píng)價(jià)。因此,我將按照......

        說(shuō)課稿

        《夾竹桃》說(shuō)課稿 衡山鎮(zhèn)中心學(xué)校王瑋 一.說(shuō)教材 《夾竹桃》是蘇教版六年級(jí)下冊(cè)第六單元的一篇課文,是當(dāng)代著名語(yǔ)言學(xué)家、散文家季羨林寫的一篇散文。課文以優(yōu)美的語(yǔ)言、比襯......