人教A版高中數學必修三第一章《算法初步》教案_第1頁
人教A版高中數學必修三第一章《算法初步》教案_第2頁
人教A版高中數學必修三第一章《算法初步》教案_第3頁
人教A版高中數學必修三第一章《算法初步》教案_第4頁
人教A版高中數學必修三第一章《算法初步》教案_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

人教版高中數學A版必修三優秀教案第一章__算法初步1.2基本算法語句1.2.1輸入語句、輸出語句和賦值語句整體設計教學分析通過上一節的學習,學生了解了算法的含義,學習了用算法步驟和程序框圖表示算法的方法,本節介紹用程序設計語言表示算法的方法.算法步驟和程序框圖表示的算法,計算機是不能理解的,程序是算法的精確形式,是計算機可以理解的算法.本節的教學重點是通過實例使學生理解三種基本算法語句的結構和用法,并在此基礎上編寫由算法語句組成的程序,從而更細致地刻畫算法,進一步體會算法的基本思想.三維目標1.理解學習基本算法語句的意義.2.學會輸入語句、輸出語句和賦值語句的基本用法.3.理解算法步驟、程序框圖和算法語句的關系,學會算法語句的寫法.重點難點教學重點:輸入語句、輸出語句和賦值語句的基本用法.教學難點:算法語句的寫法.課時安排1課時教學過程導入新課思路1(情境導入)中國足球隊在亞洲杯上的失利說明,中國足球仍然需要請外國教練.高水平的外國教練有先進的足球理念,有系統科學的訓練計劃,有先進的足球技術,但由于語言不通不能直接傳授給隊員.算法步驟、程序框圖雖然容易掌握,但計算機不能理解,因此我們需要學習算法語句.思路2(直接導入)前面我們學習了程序框圖的畫法,為了讓計算機能夠理解算法步驟、程序框圖,我們開始學習算法語句.推進新課新知探究提出問題(1)指出輸入語句的格式、功能、要求.(2)指出輸出語句的格式、功能、要求.(3)指出賦值語句的格式、功能、要求.(4)利用框圖總結三種語句的功能、格式、特點.(5)指出三種語句與框圖的對應關系.討論結果:(1)輸入語句的格式:INPUT“提示內容”;變量例如:INPUT“x=”;x功能:實現算法的輸入變量信息(數值或字符)的功能.要求:1°輸入語句要求輸入的值是具體的常量.2°提示內容提示用戶輸入的是什么信息,必須加雙引號,提示內容“原原本本”的在計算機屏幕上顯示,提示內容與變量之間要用分號隔開.3°一個輸入語句可以給多個變量賦值,中間用“,”分隔.形式如:INPUT“a=,b=,c=,”;a,b,c(2)輸出語句的一般格式:PRINT“提示內容”;表達式例如:PRINT“S=”;S功能:實現算法輸出信息(表達式)的功能.要求:1°表達式是指算法和程序要求輸出的信息.2°提示內容提示用戶要輸出的是什么信息,提示內容必須加雙引號,提示內容要用分號和表達式分開.3°如同輸入語句一樣,輸出語句可以一次完成輸出多個表達式的功能,不同的表達式之間可用“,”分隔.形式如:PRINT“a,b,c:”;a,b,c(3)賦值語句的一般格式:變量=表達式.賦值語句中的“=”稱作賦值號.功能:將表達式所代表的值賦給變量.要求:1°賦值語句左邊只能是變量名字,而不是表達式,右邊表達式可以是一個常量、變量或含變量的運算式.如:2=x是錯誤的.2°賦值號的左右兩邊不能對換.賦值語句是將賦值號右邊的表達式的值賦給賦值號左邊的變量.如“A=B”“B=A”的含義運行結果是不同的,如x=5是對的,5=x是錯的,A+B=C是錯的,C=A+B是對的.3°不能利用賦值語句進行代數式的演算(如化簡、因式分解、解方程等),如y=x2-1=(x-1)(x+1),這是實現不了的.在賦值號右邊表達式中每一個變量的值必須事先賦給確定的值.在一個賦值語句中只能給一個變量賦值,不能出現兩個或以上的“=”.但對于同一個變量可以多次賦值.(4)三種語句的功能、格式、特點如下:在QBASIC語言中,輸入語句是INPUT語句,輸出語句是PRINT語句,賦值語句是LET語句(“LET”可以省略).下表列出了這三種語句的一般格式、主要功能和相關說明,供教師教學時參考,不要求學生掌握.INPUT語句PRINT語句賦值語句格式INPUT“提示內容”;變量PRINT“提示內容”;表達式LET變量=表達式功能可對程序中的變量賦值可輸出表達式的值,計算可對程序中的變量賦值,計算說明①又稱“鍵盤輸入語句”,在程序運行過程中,停機等候用戶由鍵盤輸入數據,而不需要在寫程序時指定②“提示內容”和它后面的“;”可以省略③一個語句可以給多個變量賦值,中間用“,”分隔④無計算功能⑤用戶由鍵盤輸入的數據必須是常量,輸入多個數據時用“,”分隔,且個數要與變量的個數相同①又稱“打印語句”,將表達式的值在屏幕上顯示出來②表達式可以是變量、計算公式或系統信息③一個語句可以輸出多個表達式.不同的表達式之間可用“,”分隔④有計算功能,能直接輸出計算公式的值①在程序運行過程中給變量賦值②“LET”可以省略,“=”的右側必須是表達式,左側必須是變量③一個語句只能給一個變量賦值④有計算功能⑤將一個變量的值賦給另一個變量,前一個變量的值保持不變;可先后給一個變量賦多個不同的值,但變量的取值總是最后被賦予的值(5)指出三種語句與框圖的對應關系如下圖.應用示例思路1例1用描點法作函數y=x3+3x2-24x+30的圖象時,需要求出自變量和函數的一組對應值.編寫程序,分別計算當x=-5,-4,-3,-2,-1,0,1,2,3,4,5時的函數值.算法分析:根據題意,對于每一個輸入的自變量的值,都要輸出相應的函數值.寫成算法步驟如下:第一步,輸入一個自變量的x的值.第二步,計算y=x3+3x2-24x+30.第三步,輸出y.程序框圖如下圖:顯然,這是一個由順序結構構成的算法,按照程序框圖中流程線的方向,依次將程序框中的內容寫成相應的算法語句,就得相應的程序.解:程序:INPUT“x”;xy=x^3+3*x^2-24*x+30PRINTyEND點評:前面我們學習了算法步驟、程序框圖,我們對照程序框圖與算法語句可以得到它們之間的對應關系.例如:在這個程序中,第1行中的INPUT語句就是輸入語句.這個語句的一般格式是INPUT“提示內容”;變量其中,“提示內容”一般是提示用戶輸入什么樣的信息,每次運行例1中的程序時,依次輸入-5,-4,-3,-2,-1,0,1,2,3,4,5,計算機每次都把新輸入的值賦給變量“x”,并按“x”新獲得的值計算變量“y”的值.例2給一個變量重復賦值.解:程序:A=10A=A+15PRINTAEND點評:給一個變量重復賦值,變量只保存最后一次賦值,比如此程序的輸出值是25.例3編寫程序,計算一個學生數學、語文、英語三門課的平均成績.算法分析:先寫出解決本例的算法步驟:第一步,輸入該學生數學、語文、英語三門課的成績a,b,c.第二步,計算y=.第三步,輸出y.程序框圖如下:由于PRINT語句還可以用于輸出數值計算的結果,所以這個算法可以寫成下列程序.程序:INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;cPRINT“Theaverage=”;(a+b+c)/3END點評:例3中的第4行的PRINT語句是輸出語句,它的一般形式是PRINT“提示內容”;表達式PRINT語句可以在計算機的屏幕上輸出常量、變量的值和系統信息,同輸入語句一樣,這里的表達式前也可以有“提示內容”.例4變換兩個變量A和B的值,并輸出交換前后的值.解:程序:INPUTA,BPRINTA,Bx=AA=BB=xPRINTA,BEND思路2例1寫出求三個數a,b,c的方差的程序.分析:方差是在初中統計內容中學習過的知識,計算所有數的方差首先計算所有數的平均數,通過公式s2=來計算.算法步驟:第一步,計算平均數.第二步,計算方差s2=.第三步,得到的結果即為所求.程序如下:INPUTa,b,cy=(a+b+c)/3S=((a-y)2+(b-y)2+(c-y)2)/3PRINTSEND點評:套用公式求值問題是傳統數學求值問題的一種,它是一種典型的順序結構,也就是說只通過輸入、輸出和賦值語句就可以完成任務.解決這類問題的關鍵是先分析這種問題的解法,即構造計算的過程,再寫出算法步驟和流程圖,再翻譯成算法語句即可.例2編寫一個程序,要求輸入兩個正數a和b的值,輸出ab和ba的值.分析:可以利用INPUT語句輸入兩個正數,然后將ab和ba的值分別賦給兩個變量輸出即可.也可以將ab和ba的底數和冪數進行交換,故還可以利用賦值語句,采用將兩個變量的值互換的辦法實現.解:程序1:INPUT“a,b:”;a,bA=a^bB=b^aPRINT“a^b=”;A,“b^a=”;BEND程序2:INPUT“a,b:”;a,bA=a^bPRINT“a^b=”;Ax=aa=bb=xA=a^bPRINT“b^a=”;AEND點評:交換a,b的值可通過下面三個語句來實現:t=aa=bb=t通過引進一個中間變量t實現變量a和b的值的交換,因此只需用賦值語句即可實現算法.在一些較為復雜的問題算法中經常需要對兩個變量的值進行交換,因此應熟練掌握這種方法.知能訓練1.判斷下列給出的輸入語句、輸出語句和賦值語句是否正確?為什么?(1)輸入語句INPUTa;b;c(2)輸出語句A=4(3)賦值語句3=B(4)賦值語句A=B=-2解:(1)錯,變量之間應用“,”號隔開.(2)錯,PRINT語句不能用賦值號“=”.(3)錯,賦值語句中“=”號左右不能互換.(4)錯,一個賦值語句只能給一個變量賦值.點評:輸入語句、輸出語句和賦值語句基本上對應于算法中的順序結構.輸入語句、輸出語句和賦值語句都不包括“控制轉移”,由它們組成的程序段必然是順序結構.2.請寫出下面運算輸出的結果.(1)a=5b=3c=(a+b)/2d=c*cPRINT“d=”;d(2)a=1b=2c=a+bb=a+c-bPRINT“a=,b=,c=”;a,b,c(3)a=10b=20c=30a=bb=cc=aPRINT“a=,b=,c=”;a,b,c解:(1)16;語句c=(a+b)/2是將a,b和的一半賦值給變量c,語句d=c*c是將c的平方賦值給d,最后輸出d的值.(2)1,2,3;語句c=a+b是將a,b的和賦值給c,語句b=a+c-b是將a+c-b的值賦值給了b.(3)20,30,20;經過語句a=b后a,b,c的值是20,20,30.經過語句b=c后a,b,c的值是20,30,30.經過語句c=a后a,b,c的值是20,30,20.點評:語句的識別問題是一個逆向性思維,一般我們認為我們的學習是從算法步驟(自然語言)至程序框圖,再到算法語言(程序).如果將程序擺在我們的面前時,我們要先識別每個語句,再整體把握并概括出程序的功能.拓展提升已知某生某三科的成績為80、75、95分,求三科的總分及平均分.分析:將三科成績賦給三個變量A,B,C,然后對三個變量進行操作、運算,求其總分、平均分.變量的起名規則:由字母、數字、下劃線組成,但第一個字符必須是字母(大、小寫皆可),起名時盡量做到見名知義,如本例中我們可用變量ZF表示總分,PJF表示平均分.解:程序框圖如下圖:程序:A=80B=75C=95ZF=A+B+CPJF=ZF/3PRINTZF,PJFEND課堂小結(1)輸入語句、輸出語句和賦值語句的基本用法.(2)用輸入語句、輸出語句和賦值語句編寫算法語句.作業習題1.2A組設計感想本節的引入闡明了程序框圖與算法語句的關系,本節利用框圖與語句的對應關系降低了本節的學習難度.由于本節是算法語句的開始,所以本節選用了大量難度較低的算法語句供學生練習,讓學生充分體會程序框圖與算法語句的關系,為今后的學習打好基礎并樹立信心.1.2.2條件語句整體設計教學分析通過上一節的學習,學生學會了輸入語句、輸出語句和賦值語句的基本用法,本節介紹條件語句的用法.程序中的條件語句與程序框圖中的條件結構存在一一對應關系,這種對應關系對于學生理解條件語句的結構,進一步理解算法中的條件結構都是很有幫助的.我們可以給出條件語句的一般格式,讓學生自己畫出相應的程序框圖,也可以給出程序框圖,讓學生寫出算法語句.三維目標1.理解學習基本算法語句的意義.2.學會條件語句的基本用法.3.理解算法步驟、程序框圖和算法語句的關系,學會算法語句的寫法.重點難點教學重點:條件語句的基本用法.教學難點:算法語句的寫法.課時安排1課時教學過程導入新課思路1(情境導入)一位老農平整了一塊良田,種瓜好呢,還是種豆好呢,他面臨著一個選擇.如果他選擇種瓜,他會得瓜,如果他選擇種豆,他會得豆.人的一生面臨許多選擇,我們要做出正確的選擇.前面我們學習了條件結構,今天我們學習條件語句.思路2(直接導入)前面我們學習了程序框圖的畫法,為了讓計算機能夠理解算法步驟、程序框圖,上一節我們學習了輸入語句、輸出語句、賦值語句,今天我們開始學習條件語句.推進新課新知探究提出問題(1)回憶程序框圖中的兩種條件結構.(2)指出條件語句的格式及功能.(3)指出兩種條件語句的相同點與不同點.(4)揭示程序中的條件語句與程序框圖中的條件結構存在一一對應關系.討論結果:(1)一個算法中,經常會遇到一些條件的判斷,算法的流程根據條件是否成立有不同的流向.條件結構就是處理這種過程的結構.用程序框圖表示條件結構如下圖:(2)條件語句1°“IF—THEN—ELSE”語句格式:IF條件THEN語句體1ELSE語句體2ENDIF功能:在“IF—THEN—ELSE”語句中,“條件”表示判斷的條件,“語句體1”表示滿足條件時執行的操作內容;“語句體2”表示不滿足條件時執行的操作內容;ENDIF表示條件語句的結束.計算機在執行“IF—THEN—ELSE”語句時,首先對IF后的條件進行判斷,如果符合條件,則執行THEN后面的“語句1”;若不符合條件,則執行ELSE后面的“語句2”.2°“IF—THEN”語句格式:IF條件THEN語句體ENDIF功能:“條件”表示判斷的條件;“語句”表示滿足條件時執行的操作內容,條件不滿足時,直接結束判斷過程;ENDIF表示條件語句的結束.計算機在執行“IF—THEN”語句時,首先對IF后的條件進行判斷,如果符合條件就執行THEN后邊的語句,若不符合條件則直接結束該條件語句,轉而執行其他后面的語句.(3)相同點:首先對IF后的條件進行判斷,如果符合條件就執行THEN后邊的語句.不同點:對于“IF—THEN—ELSE”語句,若不符合條件,則執行ELSE后面的“語句體2”.對于“IF—THEN”語句,若不符合條件則直接結束該條件語句,轉而執行其他后面的語句.(4)程序中的條件語句與程序框圖中的條件結構存在一一對應關系如下圖:應用示例思路1例1編寫一個程序,求實數x的絕對值.算法分析:首先,我們來設計求實數x的絕對值的算法,因為實數x的絕對值為|x|=所以算法步驟可以寫成:第一步,輸入一個實數x.第二步,判斷x的符號.若x≥0,則輸出x;否則,輸出-x.顯然,“第二步”可以用條件結構來實現.程序框圖如下圖:程序:INPUTxIFx>=0THENPRINTxELSEPRINT-xENDIFEND點評:通過本題我們看到算法步驟可以轉化為程序框圖,程序框圖可以轉化為算法語句.本題揭示了它們之間的內在聯系,只要理解了程序框圖與算法語句的對應關系,把程序框圖轉化為算法語句就很容易了.變式訓練閱讀下面的程序,你能得出什么結論?INPUTxIFx<0THENx=-xENDIFPRINTxEND解:由程序得出,該程序是輸出x的絕對值.例2把前面求解一元二次方程ax2+bx+c=0的程序框圖轉化為程序.解:由程序框圖可以發現,其中包含著兩個條件結構,而且內層的條件結構是外層的條件結構的一個分支,所以,可以用“IF—THEN—ELSE—ENDIF”來完成轉化.程序:INPUT“a,b,c=”;a,b,cd=b^2-4*a*cIFd>=0THENp=-b/(2*a)q=SQR(d)/(2*a)IFd=0THENPRINT“x1=x2=”;pELSEPRINT“x1,x2=”;p+q,p-qENDIFELSEPRINT“Norealroot”ENDIFEND例3編寫程序,使任意輸入的3個整數按從大到小的順序輸出.算法分析:用a,b,c表示輸入的3個整數.為了節約變量,把它們重新排列后,仍用a,b,c表示,并使a≥b≥c.具體操作步驟如下:第一步,輸入3個整數a,b,c.第二步,將a與b比較,并把小者賦給b,大者賦給a.第三步,將a與c比較,并把小者賦給c,大者賦給a(此時a已是三者中最大的).第四步,將b與c比較,并把小者賦給c,大者賦給b(此時a,b,c已按從大到小的順序排列好).第五步,按順序輸出a,b,c.如下圖所示,上述操作步驟可以用程序框圖更直觀地表達出來.根據程序框圖,寫出相應的計算機程序.INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHENt=bb=cc=tENDIFPRINTa,b,cEND思路2例1編寫程序,輸出兩個不相等的實數a、b的最大值.分析:要輸出兩個不相等的實數a、b的最大值,從而想到對a,b的大小關系進行判斷,a,b的大小關系有兩種情況:(1)a>b;(2)b>a.這也就用到了我們經常提及的分類討論的方式,找出兩個數的最大值.解:算法一:第一步,輸入a,b的數值.第二步,判斷a,b的大小關系,若a>b,則輸出a的值,否則,輸出b的值.(程序框圖如下圖)程序如下:(“IF—THEN—ELSE”語句)INPUT“a,b”;a,bIFa>bTHENPRINTaELSEPRINTbENDIFEND算法二:第一步,輸入a,b的數值.第二步,判斷a,b的大小關系,若b>a,則將b的值賦予a;否則,直接執行第三步.第三步,輸出a的值,結束.(程序框圖如下圖)程序如下:(“IF—THEN”語句)INPUT“a,b”;a,bIFb>aTHENa=bENDIFPRINTaEND點評:設計一個“好”的算法需要在大量的算法設計中積累經驗.我們也可以先根據自己的思路設計算法,再與“成形”的、高效的、優秀的算法比較,改進思路,改進算法,以避免重復計算等問題,提高算法設計的水平.(2)我們在平常的訓練中盡可能地少引用變量,過多的變量不僅會使得算法和程序變得復雜,而且不利于計算機的執行.為此,我們在練習中要盡可能少引入變量并且要積極思考才能少引入變量.例2高等數學中經常用到符號函數,符號函數的定義為y=試編寫程序輸入x的值,輸出y的值.解:程序一:(嵌套結構)程序框圖:(下圖)程序如下:INPUTxIFx>0THENy=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFPRINTyEND程序二:(疊加結構)程序框圖(右圖):程序如下:INPUTxIFx>0THENy=1ENDIFIFx=0THENy=0ENDIFIFx<0THENy=-1ENDIFPRINTyEND點評:(1)條件結構的差異,造成程序執行的不同.當代入x的數值時,“程序一”先判斷外層的條件,依次執行不同的分支,隨后再判斷內層的條件;而“程序二”中執行了對“條件1”的判斷,同時也對“條件2”進行判斷,是按程序中條件語句的先后依次判斷所有的條件,滿足哪個條件就執行哪個語句.(2)條件語句的嵌套可多于兩層,可以表達算法步驟中的多重限制條件.知能訓練中國網通規定:撥打市內電話時,如果不超過3分鐘,則收取話費0.22元;如果通話時間超過3分鐘,則超出部分按每分鐘0.1元收取通話費,不足一分鐘按以一分鐘計算.設通話時間為t(分鐘),通話費用y(元),如何設計一個程序,計算通話的費用.解:算法程序如下:INPUT“請輸入通話時間:”;tIFt<=3THENy=0.22ELSEIFINT(t)=tTHENy=0.22+0.1*(t-3)ELSEy=0.22+0.1*(INT(t-3)+1)ENDIFENDIFPRINT“通話費用為:”;yEND拓展提升函數y=寫出求函數的函數值的程序.解:INPUTx=”;xIFx>=0andx<=4THENy=2*xELSEIFx<=8THENy=8ELSEy=2*(12-x)ENDIFENDIFPRINTyEND課堂小結(1)條件語句的用法.(2)利用條件語句編寫算法語句.作業習題1.2B組1.設計感想條件語句是算法語句的基礎和核心,本節設計以條件結構和條件語句的對應關系為基礎,引導學生將程序框圖轉化為算法語句.本節的難點是正確區分疊加結構和鑲嵌結構,并會應用它們編寫算法語句.本節選用大量精彩題目讓學生反復訓練,使學生熟練掌握程序框圖與算法語句的關系,達到解決本節難點的目的.1.2.3循環語句整體設計教學分析通過前面的學習,學生學會了輸入語句、輸出語句、賦值語句和條件語句的基本用法,本節將介紹循環語句的用法.程序中的循環語句與程序框圖中的循環結構存在一一對應關系,這種對應關系對于學生理解循環語句的結構,進一步理解算法中的循環結構都是很有幫助的.我們可以給出循環語句的一般格式,讓學生自己畫出相應的程序框圖,也可以給出程序框圖,讓學生寫出算法語句,提高學生的應用能力.三維目標1.理解學習基本算法語句的意義.2.學會循環語句的基本用法.3.理解算法步驟、程序框圖和算法語句的關系,學會算法語句的寫法.重點難點教學重點:循環語句的基本用法.教學難點:循環語句的寫法.課時安排1課時教學過程導入新課思路1(情境導入)一位同學不小心違反了學校紀律,班主任令其寫檢查,他寫完后交給班主任,班主任看后說:“認識不深刻,拿回去重寫,直到認識深刻為止”.這位同學一想,這不是一個循環結構嗎?可惜我還沒學循環語句,不然可以寫一個算法語句輸入計算機了.同學們,今天我們開始學習循環語句.思路2(直接導入)前面我們學習了程序框圖的畫法,為了讓計算機能夠理解算法步驟、程序框圖,上一節我們學習了輸入語句、輸出語句、賦值語句和條件語句,今天我們開始學習循環語句.推進新課新知探究提出問題(1)試用程序框圖表示循環結構.(2)指出循環語句的格式及功能.(3)指出兩種循環語句的相同點與不同點.(4)揭示程序中的循環語句與程序框圖中的條件結構存在一一對應關系.討論結果:(1)循環結構循環結構有兩種形式:當型循環結構和直到型循環結構.1°當型循環結構,如圖(1)所示2°直到型循環結構,如圖(2)所示,(1)當型循環結構(2)直到型循環結構(2)循環語句1°當型循環語句當型(WHILE型)語句的一般格式為:WHILE條件循環體WEND功能:計算機執行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,則執行WHILE和WEND之間的循環體;然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執行循環體,這個過程反復執行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執行循環體,而是跳到WEND語句后,執行WEND后面的語句.因此當型循環又稱“前測試型”循環,也就是我們經常講的“先測試后執行”“先判斷后循環”.2°直到型循環語句直到型(UNTIL型)語句的一般格式為:DO循環體LOOPUNTIL條件功能:計算機執行UNTIL語句時,先執行DO和LOOPUNTIL之間的循環體,然后判斷“LOOPUNTIL”后面的條件是否成立,如果條件不成立,返回DO語句處重新執行循環體.這個過程反復執行,直到一次判斷“LOOPUNTIL”后面的條件成立為止,這時不再返回執行循環體,而是跳出循環體執行“LOOPUNTIL條件”下面的語句.因此直到型循環又稱“后測試型”循環,也就是我們經常講的“先執行后測試”“先循環后判斷”.(3)相同點:都是反復執行循環體語句.不同點:當型循環語句是先判斷后循環,直到型循環語句是先循環后判斷.(4)下面為循環語句與程序框圖中的條件結構的一一對應關系.1°直到型循環結構:2°當型循環結構:應用示例思路1例1修改前面編寫過的求函數y=x3+3x2-24x+30的值的程序,連續輸入11個自變量的取值,輸出相應的函數值.算法分析:與前面不同的是,本例要求連續輸入11個自變量的取值.并輸出相應的函數值,先寫出解決本例的算法步驟:第一步,輸入自變量x的值.第二步,計算y=x3+3x2-24x+30.第三步,輸出y.第四步,記錄輸入次數.第五步,判斷輸入的次數是否大于11.若是,則結束算法;否則,返回第一步.顯然,可以用計數變量n(1≤n≤11)記錄次數,通過循環結構來實現算法.程序框圖如下圖:程序:n=1DOINPUTxy=x^3+3*x^2-24*x+30PRINTyn=n+1LOOPUNTILn>11END例2教材中的用“二分法”求方程x2-2=0(x>0)的近似解的程序框圖(見教材圖1.120)包含了順序結構、條件結構和循環結構.下面,我們把這個程序框圖轉化為相應的程序.解:程序為:INPUT“a,b,d=”;a,b,dDOm=(a+b)/2g=a^2-2f=m^2-2IFg*f<0THENb=mELSEa=mENDIFLOOPUNTILABS(a-b)<dORf=0PRINTmEND點評:ABS()是一個函數,用來求某個數的絕對值,即ABS(x)=|x|.例3設計一個計算1×3×5×7×…×99的算法,編寫算法程序.解:算法如下:第一步,s=1.第二步,i=3.第三步,s=s×i.第四步,i=i+2.第五步,如果i≤99,那么轉到第三步.第六步,輸出s.程序如下:(“WHILE型”循環語句)s=1i=3WHILEi<=99s=s*ii=i+2WENDPRINTsEND點評:前面我們已經學過“求和”問題,這是一個“求積”問題,這兩個問題都是典型的算法問題,注意它們的聯系與區別.例4編寫一個程序,求1!+2!+…+10!的值(其中n!=1×2×3×…×n).分析:這個問題可以用“WHILE+WHILE”循環嵌套語句格式來實現.程序結構要做到如下步驟:①處理“n!”的值;(注:處理n!的值的變量是一個內循環變量)②累加“n!”的值.(注:累加n!的值的變量是一個外循環變量)顯然,通過10次循環可分別求出1!、2!、…、10!的值,并同時累加起來,可求得S的值.而求T=n!,又可以用一個循環(內循環)來實現.解:程序為:s=0i=1WHILEi<=10j=1t=1WHILEj<=it=t*jj=j+1WENDs=s+ti=i+1WENDPRINTsEND思考:上面程序中哪個變量是內循環變量,哪個變量是外循環變量?解答:內循環變量:j,t.外循環變量:s,i.上面的程序是一個的“WHILE+WHILE”型循環嵌套語句格式.這是一個比較好想的方法,但實際上對于求n!,我們也可以根據求出的(n-1)!乘上n即可得到,而無需重新從1再累乘到n.程序可改為:s=0i=1j=1WHILEi<=10j=j*is=s+ji=i+1WENDPRINTsEND顯然第二個程序的效率要比第一個高得多.第一程序要進行1+2+…+10=55次循環,而第二程序進行10次循環.如題目中求的是1!+2!+…+1000!,則兩個程序的效率區別會更明顯.點評:解決具體的構造循環語句的算法問題,要盡可能地少引入循環變量,否則較多的變量會使得設計程序比較麻煩,并且較多的變量會使得計算機占用大量的系統資源,致使系統緩慢.另外,也盡可能使得循環嵌套的層數少,否則也浪費計算機的系統資源.變式訓練某種蛋白質是由四種氨基酸組合而成.這四種氨基酸的相對分子質量分別是57,71,97,101.實驗測定蛋白質的相對分子質量為800.問這種蛋白質的組成有幾種可能?分析:該問題即求如下不定方程的整數解:設四種氨基酸在蛋白質的組成中分別各有x,y,z,w個.則由題意可得57x+71y+97z+101w=800,(x,y,z,w是非負整數)這里0≤x≤14,0≤y≤11,0≤z≤8,0≤w≤7,利用窮取法,考慮一切可能出現的情況.運用多層循環嵌套處理即可.解:編寫程序如下:w=0WHILEw<=7z=0WHILEz<=8y=0WHILEy<=11x=0WHILEx<=14IF57*x+71*y+97*z+101*w=800THENPRINTx,y,z,wENDIFx=x+1WENDy=y+1WENDz=z+1WENDw=w+1WENDEND知能訓練設計算法求的值.要求畫出程序框圖,寫出用基本語句編寫的程序.解:這是一個累加求和問題,共99項相加,可設計一個計數變量,一個累加變量,用循環結構實現這一算法.程序框圖如下圖所示:程序如下:s=0i=1Dos=s+1/(i*(i+1))i=i+1LOOPUNTILi>99PRINTsEND拓展提升青年歌手電視大賽共有10名選手參加,并請了12名評委,在計算每位選手的平均分數時,為了避免個別評委所給的極端分數的影響,必須去掉一個最高分和一個最低分后再求平均分.試設計一個算法解決該問題,要求畫出程序框圖,寫出程序(假定分數采用10分制,即每位選手的分數最高分為10分,最低分為0分).解:由于共有12位評委,所以每位選手會有12個分數,我們可以用循環語句來完成這12個分數的輸入,同時設計累加變量求出這12個分數的和,本問題的關鍵在于從這12個輸入分數中找出最大數與最小數,以便從總分中減去這兩個數.由于每位選手的分數都介于0分和10分之間,我們可以先假設其中的最大數為0,最小數為10,然后每次輸入一個評委的分數,就進行一次比較,若輸入的數大于0,就將之代替最大數,若輸入的數小于10,就用它代替最小數,依次下去,就能找出這12個數中的最大數與最小數,循環結束后,從總和中減去最大數與最小數,再除以10,就得到該選手最后的平均分.程序框圖如右圖:程序如下:s=0i=1max=0min=10DOINPUTxs=s+xIFmax<=xTHENmax=xENDIFIFmin>=xTHENmin=xENDIFi=i+1LOOPUNTILi>12s1=s-max-mina=s1/10PRINTaEND課堂小結(1)學會兩種循環語句的應用.(2)熟練應用兩種循環語句編寫計算機程序,鞏固算法應用.作業習題1.2A組設計感想本節的導入符合學生心理要求,能夠激發學生的學習興趣.算法像一個故事,循環語句就是故事的高潮,它以前面的內容為基礎,是前面內容的總結和發展.本節選用了大量的精彩例題為故事高潮的到來作好了鋪墊,精彩的點評把本節推向了高潮,所以本節教案值得期待.1.3算法案例整體設計教學分析在學生學習了算法的初步知識,理解了表示算法的算法步驟、程序框圖和程序三種不同方式以后,再結合典型算法案例,讓學生經歷設計算法解決問題的全過程,體驗算法在解決問題中的重要作用,體會算法的基本思想,提高邏輯思維能力,發展有條理地思考與數學表達能力.三維目標1.理解算法案例的算法步驟和程序框圖.2.引導學生得出自己設計的算法程序.3.體會算法的基本思想,提高邏輯思維能力,發展有條理地思考與數學表達能力.重點難點教學重點:引導學生得出自己設計的算法步驟、程序框圖和算法程序.教學難點:體會算法的基本思想,提高邏輯思維能力,發展有條理地思考與數學表達能力.課時安排3課時教學過程第1課時案例1輾轉相除法與更相減損術導入新課思路1(情境導入)大家喜歡打乒乓球吧,由于東、西方文化及身體條件的不同,西方人喜歡橫握拍打球,東方人喜歡直握拍打球,對于同一個問題,東、西方人處理問題方式是有所不同的.在小學,我們學過求兩個正整數的最大公約數的方法:先用兩個數公有的質因數連續去除,一直除到所得的商是互質數為止,然后把所有的除數連乘起來.當兩個數公有的質因數較大時(如8251與6105),使用上述方法求最大公約數就比較困難.下面我們介紹兩種不同的算法——輾轉相除法與更相減損術,由此可以體會東、西方文化的差異.思路2(直接導入)前面我們學習了算法步驟、程序框圖和算法語句.今天我們將通過輾轉相除法與更相減損術來進一步體會算法的思想.推進新課新知探究提出問題(1)怎樣用短除法求最大公約數?(2)怎樣用窮舉法(也叫枚舉法)求最大公約數?(3)怎樣用輾轉相除法求最大公約數?(4)怎樣用更相減損術求最大公約數?討論結果:(1)短除法求兩個正整數的最大公約數的步驟:先用兩個數公有的質因數連續去除,一直除到所得的商是兩個互質數為止,然后把所有的除數連乘起來.(2)窮舉法(也叫枚舉法)窮舉法求兩個正整數的最大公約數的解題步驟:從兩個數中較小數開始由大到小列舉,直到找到公約數立即中斷列舉,得到的公約數便是最大公約數.(3)輾轉相除法輾轉相除法求兩個數的最大公約數,其算法步驟可以描述如下:第一步,給定兩個正整數m,n.第二步,求余數r:計算m除以n,將所得余數存放到變量r中.第三步,更新被除數和余數:m=n,n=r.第四步,判斷余數r是否為0.若余數為0,則輸出結果;否則轉向第二步繼續循環執行.如此循環,直到得到結果為止.這種算法是由歐幾里得在公元前300年左右首先提出的,因而又叫歐幾里得算法.(4)更相減損術我國早期也有解決求最大公約數問題的算法,就是更相減損術.《九章算術》是中國古代的數學專著,其中的“更相減損術”也可以用來求兩個數的最大公約數,即“可半者半之,不可半者,副置分母、子之數,以少減多,更相減損,求其等也.以等數約之.”翻譯為現代語言如下:第一步,任意給定兩個正整數,判斷它們是否都是偶數,若是,用2約簡;若不是,執行第二步.第二步,以較大的數減去較小的數,接著把所得的差與較小的數比較,并以大數減小數,繼續這個操作,直到所得的數相等為止,則這個數(等數)或這個數與約簡的數的乘積就是所求的最大公約數.應用示例例1用輾轉相除法求8251與6105的最大公約數,寫出算法分析,畫出程序框圖,寫出算法程序.解:用兩數中較大的數除以較小的數,求得商和余數:8251=6105×1+2146.由此可得,6105與2146的公約數也是8251與6105的公約數,反過來,8251與6105的公約數也是6105與2146的公約數,所以它們的最大公約數相等.對6105與2146重復上述步驟:6105=2146×2+1813.同理,2146與1813的最大公約數也是6105與2146的最大公約數.繼續重復上述步驟:2146=1813×1+333,1813=333×5+148,333=148×2+37,148=37×4.最后的除數37是148和37的最大公約數,也就是8251與6105的最大公約數.這就是輾轉相除法.由除法的性質可以知道,對于任意兩個正整數,上述除法步驟總可以在有限步之后完成,從而總可以用輾轉相除法求出兩個正整數的最大公約數.算法分析:從上面的例子可以看出,輾轉相除法中包含重復操作的步驟,因此可以用循環結構來構造算法.算法步驟如下:第一步,給定兩個正整數m,n.第二步,計算m除以n所得的余數為r.第三步,m=n,n=r.第四步,若r=0,則m,n的最大公約數等于m;否則,返回第二步.程序框圖如下圖:程序:INPUTm,nDOr=mMODnm=nn=rLOOPUNTILr=0PRINTmEND點評:從教學實踐看,有些學生不能理解算法中的轉化過程,例如:求8251與6105的最大公約數,為什么可以轉化為求6105與2146的公約數.因為8251=6105×1+2146,可以化為8251-6105×1=2164,所以公約數能夠整除等式兩邊的數,即6105與2146的公約數也是8251與6105的公約數.變式訓練你能用當型循環結構構造算法,求兩個正整數的最大公約數嗎?試畫出程序框圖和程序.解:當型循環結構的程序框圖如下圖:程序:INPUTm,nr=1WHILEr>0r=mMODnm=nn=rWENDPRINTmEND例2用更相減損術求98與63的最大公約數.解:由于63不是偶數,把98和63以大數減小數,并輾轉相減,如下圖所示.98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以,98和63的最大公約數等于7.點評:更相減損術與輾轉相除法的比較:盡管兩種算法分別來源于東、西方古代數學名著,但是二者的算理卻是相似的,有異曲同工之妙.主要區別在于輾轉相除法進行的是除法運算,即輾轉相除;而更相減損術進行的是減法運算,即輾轉相減,但是實質都是一個不斷的遞歸過程.變式訓練用輾轉相除法或者更相減損術求三個數324,243,135的最大公約數.解:324=243×1+81,243=81×3+0,則324與243的最大公約數為81.又135=81×1+54,81=54×1+27,54=27×2+0,則81與135的最大公約數為27.所以,三個數324、243、135的最大公約數為27.另法:324-243=81,243-81=162,162-81=81,則324與243的最大公約數為81.135-81=54,81-54=27,54-27=27,則81與135的最大公約數為27.所以,三個數324、243.135的最大公約數為27.例3(1)用輾轉相除法求123和48的最大公約數.(2)用更相減損術求80和36的最大公約數.解:(1)輾轉相除法求最大公約數的過程如下:123=2×48+27,48=1×27+21,27=1×21+6,21=3×6+3,6=2×3+0,最后6能被3整除,得123和48的最大公約數為3.(2)我們將80作為大數,36作為小數,因為80和36都是偶數,要除公因數2.80÷2=40,36÷2=18.40和18都是偶數,要除公因數2.40÷2=20,18÷2=9.下面來求20與9的最大公約數,20-9=11,11-9=2,9-2=7,7-2=5,5-2=3,3-2=1,2-1=1,可得80和36的最大公約數為22×1=4.點評:對比兩種方法控制好算法的結束,輾轉相除法是到達余數為0,更相減損術是到達減數和差相等.變式訓練分別用輾轉相除法和更相減損術求1734,816的最大公約數.解:輾轉相除法:1734=816×2+102,816=102×8(余0),∴1734與816的最大公約數是102.更相減損術:因為兩數皆為偶數,首先除以2得到867,408,再求867與408的最大公約數.867-408=459,459-408=51,408-51=357,357-51=306,306-51=255,255-51=204,204-51=153,153-51=102,102-51=51.∴1734與816的最大公約數是51×2=102.利用更相減損術可另解:1734-816=918,918-816=102,816-102=714,714-102=612,612-102=510,510-102=408,408-102=306,306-102=204,204-102=102.∴1734與816的最大公約數是102.知能訓練求319,377,116的最大公約數.解:377=319×1+58,319=58×5+29,58=29×2.∴377與319的最大公約數為29,再求29與116的最大公約數.116=29×4.∴29與116的最大公約數為29.∴377,319,116的最大公約數為29.拓展提升試寫出利用更相減損術求兩個正整數的最大公約數的程序.解:更相減損術程序:INPUT“m,n=”;m,nWHILEm<>nIFm>nTHENm=m-nELSEm=n-mENDIFWENDPRINTmEND課堂小結(1)用輾轉相除法求最大公約數.(2)用更相減損術求最大公約數.思想方法:遞歸思想.作業分別用輾轉相除法和更相減損術求261,319的最大公約數.分析:本題主要考查輾轉相除法和更相減損術及其應用.使用輾轉相除法可依據m=nq+r,反復執行,直到r=0為止;用更相減損術就是根據m-n=r,反復執行,直到n=r為止.解:輾轉相除法:319=261×1+58,261=58×4+29,58=29×2.∴319與261的最大公約數是29.更相減損術:319-261=58,261-58=203,203-58=145,145-58=87,87-58=29,58-29=29,∴319與261的最大公約數是29.設計感想數學不僅是一門科學,也是一種文化,本節的引入從東、西方文化的不同開始,逐步向學生滲透數學文化.從知識方面主要學習用兩種方法求兩個正整數的最大公約數,從思想方法方面,主要學習遞歸思想.本節設置精彩例題,不僅讓學生學到知識,而且讓學生進一步體會算法的思想,培養學生的愛國主義情操.第2課時案例2秦九韶算法導入新課思路1(情境導入)大家都喜歡吃蘋果吧,我們吃蘋果都是從外到里一口一口的吃,而蟲子卻是先鉆到蘋果里面從里到外一口一口的吃,由此看來處理同一個問題的方法多種多樣.怎樣求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值呢?方法也是多種多樣的,今天我們開始學習秦九韶算法.思路2(直接導入)前面我們學習了輾轉相除法與更相減損術,今天我們開始學習秦九韶算法.推進新課新知探究提出問題(1)求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值有哪些方法?比較它們的特點.(2)什么是秦九韶算法?(3)怎樣評價一個算法的好壞?討論結果:(1)怎樣求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值呢?一個自然的做法就是把5代入多項式f(x),計算各項的值,然后把它們加起來,這時,我們一共做了1+2+3+4=10次乘法運算,5次加法運算.另一種做法是先計算x2的值,然后依次計算x2·x,(x2·x)·x,((x2·x)·x)·x的值,這樣每次都可以利用上一次計算的結果,這時,我們一共做了4次乘法運算,5次加法運算.第二種做法與第一種做法相比,乘法的運算次數減少了,因而能夠提高運算效率,對于計算機來說,做一次乘法運算所用的時間比做一次加法運算要長得多,所以采用第二種做法,計算機能更快地得到結果.(2)上面問題有沒有更有效的算法呢?我國南宋時期的數學家秦九韶(約1202~1261)在他的著作《數書九章》中提出了下面的算法:把一個n次多項式f(x)=anxn+an-1xn-1+…+a1x+a0改寫成如下形式:f(x)=anxn+an-1xn-1+…+a1x+a0=(anxn-1+an-1xn-2+…+a1)x+a0=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0=…=(…((anx+an-1)x+an-2)x+…+a1)x+a0.求多項式的值時,首先計算最內層括號內一次多項式的值,即v1=anx+an-1,然后由內向外逐層計算一次多項式的值,即v2=v1x+an-2,v3=v2x+an-3,…vn=vn-1x+a0,這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值.上述方法稱為秦九韶算法.直到今天,這種算法仍是多項式求值比較先進的算法.(3)計算機的一個很重要的特點就是運算速度快,但即便如此,算法好壞的一個重要標志仍然是運算的次數.如果一個算法從理論上需要超出計算機允許范圍內的運算次數,那么這樣的算法就只能是一個理論的算法.應用示例例1已知一個5次多項式為f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求這個多項式當x=5時的值.解:根據秦九韶算法,把多項式改寫成如下形式:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8,按照從內到外的順序,依次計算一次多項式當x=5時的值:v0=5;v1=5×5+2=27;v2=27×5+3.5=138.5;v3=138.5×5-2.6=689.9;v4=689.9×5+1.7=3451.2;v5=3415.2×5-0.8=17255.2;所以,當x=5時,多項式的值等于17255.2.算法分析:觀察上述秦九韶算法中的n個一次式,可見vk的計算要用到vk-1的值,若令v0=an,我們可以得到下面的公式:這是一個在秦九韶算法中反復執行的步驟,因此可用循環結構來實現.算法步驟如下:第一步,輸入多項式次數n、最高次的系數an和x的值.第二步,將v的值初始化為an,將i的值初始化為n-1.第三步,輸入i次項的系數ai.第四步,v=vx+ai,i=i-1.第五步,判斷i是否大于或等于0.若是,則返回第三步;否則,輸出多項式的值v.程序框圖如下圖:程序:INPUT“n=”;nINPUT“an=”;aINPUT“x=”;xv=ai=n-1WHILEi>=0PRINT“i=”;iINPUT“ai=”;av=v*x+ai=i-1WENDPRINTvEND點評:本題是古老算法與現代計算機語言的完美結合,詳盡介紹了思想方法、算法步驟、程序框圖和算法語句,是一個典型的算法案例.變式訓練請以5次多項式函數為例說明秦九韶算法,并畫出程序框圖.解:設f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0首先,讓我們以5次多項式一步步地進行改寫:f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0=((a5x3+a4x2+a3x+a2)x+a1)x+a0=(((a5x2+a4x+a3)x+a2)x+a1)x+a0=((((a5x+a4)x+a3)x+a2)x+a1)x+a0.上面的分層計算,只用了小括號,計算時,首先計算最內層的括號,然后由里向外逐層計算,直到最外層的括號,然后加上常數項即可.程序框圖如下圖:例2已知n次多項式Pn(x)=a0xn+a1xn-1+…+an-1x+an,如果在一種算法中,計算(k=2,3,4,…,n)的值需要k-1次乘法,計算P3(x0)的值共需要9次運算(6次乘法,3次加法),那么計算P10(x0)的值共需要__________次運算.下面給出一種減少運算次數的算法:P0(x)=a0,Pk+1(x)=xPk(x)+ak+1(k=0,1,2,…,n-1).利用該算法,計算P3(x0)的值共需要6次運算,計算P10(x0)的值共需要___________次運算.答案:6520點評:秦九韶算法適用一般的多項式f(x)=anxn+an-1xn-1+…+a1x+a0的求值問題.直接法乘法運算的次數最多可到達,加法最多n次.秦九韶算法通過轉化把乘法運算的次數減少到最多n次,加法最多n次.例3已知多項式函數f(x)=2x5-5x4-4x3+3x2-6x+7,求當x=5時的函數的值.解析:把多項式變形為:f(x)=2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7.計算的過程可以列表表示為:最后的系數2677即為所求的值.算法過程:v0=2;v1=2×5-5=5;v2=5×5-4=21;v3=21×5+3=108;v4=108×5-6=534;v5=534×5+7=2677.點評:如果多項式函數中有缺項的話,要以系數為0的項補齊后再計算.知能訓練當x=2時,用秦九韶算法求多項式f(x)=3x5+8x4-3x3+5x2+12x-6的值.解法一:根據秦九韶算法,把多項式改寫成如下形式:f(x)=((((3x+8)x-3)x+5)x+12)x-6.按照從內到外的順序,依次計算一次多項式當x=2時的值.v0=3;v1=v0×2+8=3×2+8=14;v2=v1×2-3=14×2-3=25;v3=v2×2+5=25×2+5=55;v4=v3×2+12=55×2+12=122;v5=v4×2-6=122×2-6=238.∴當x=2時,多項式的值為238.解法二:f(x)=((((3x+8)x-3)x+5)x+12)x-6,則f(2)=((((3×2+8)×2-3)×2+5)×2+12)×2-6=238.拓展提升用秦九韶算法求多項式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x當x=3時的值.解:f(x)=((((((7x+6)+5)x+4)x+3)x+2)x+1)xv0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2369;v6=2369×3+1=7108;v7=7108×3+0=21324.∴f(3)=21324.課堂小結1.秦九韶算法的方法和步驟.2.秦九韶算法的計算機程序框圖.作業已知函數f(x)=x3-2x2-5x+8,求f(9)的值.解:f(x)=x3-2x2-5x+8=(x2-2x-5)x+8=((x-2)x-5)x+8∴f(9)=((9-2)×9-5)×9+8=530.設計感想古老的算法散發濃郁的現代氣息,這是一節充滿智慧的課.本節主要介紹了秦九韶算法.通過對秦九韶算法的學習,對算法本身有哪些進一步的認識?教師引導學生思考、討論、概括,小結時要關注如下幾點:(1)算法具有通用的特點,可以解決一類問題;(2)解決同一類問題,可以有不同的算法,但計算的效率是不同的,應該選擇高效的算法;(3)算法的種類雖多,但三種邏輯結構可以有效地表達各種算法等等.第3課時案例3進位制導入新課情境導入在日常生活中,我們最熟悉、最常用的是十進制,據說這與古人曾以手指計數有關,愛好天文學的古人也曾經采用七進制、十二進制、六十進制,至今我們仍然使用一周七天、一年十二個月、一小時六十分的歷法.今天我們來學習一下進位制.推進新課新知探究提出問題(1)你都了解哪些進位制?(2)舉出常見的進位制.(3)思考非十進制數轉換為十進制數的轉化方法.(4)思考十進制數轉換成非十進制數及非十進制之間的轉換方法.活動:先讓學生思考或討論后再回答,經教師提示、點撥,對回答正確的學生及時表揚,對回答不準確的學生提示引導考慮問題的思路.討論結果:(1)進位制是人們為了計數和運算方便而約定的計數系統,約定滿二進一,就是二進制;滿十進一,就是十進制;滿十二進一,就是十二進制;滿六十進一,就是六十進制等等.也就是說:“滿幾進一”就是幾進制,幾進制的基數(都是大于1的整數)就是幾.(2)在日常生活中,我們最熟悉、最常用的是十進制,據說這與古人曾以手指計數有關,愛好天文學的古人也曾經采用七進制、十二進制、六十進制,至今我們仍然使用一周七天、一年十二個月、一小時六十分的歷法.(3)十進制使用0~9十個數字.計數時,幾個數字排成一行,從右起,第一位是個位,個位上的數字是幾,就表示幾個一;第二位是十位,十位上的數字是幾,就表示幾個十;接著依次是百位、千位、萬位……例如:十進制數3721中的3表示3個千,7表示7個百,2表示2個十,1表示1個一.于是,我們得到下面的式子:3721=3×103+7×102+2×101+1×100.與十進制類似,其他的進位制也可以按照位置原則計數.由于每一種進位制的基數不同,所用的數字個數也不同.如二進制用0和1兩個數字,七進制用0~6七個數字.一般地,若k是一個大于1的整數,那么以k為基數的k進制數可以表示為一串數字連寫在一起的形式anan-1…a1a0(k)(0<an<k,0≤an-1,…,a1,a0<其他進位制的數也可以表示成不同位上數字與基數的冪的乘積之和的形式,如110011(2)=1×25+1×24+0×23+0×22+1×21+1×20,7342(8)=7×83+3×82+4×81+2×80.非十進制數轉換為十進制數比較簡單,只要計算下面的式子值即可:anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k+a0第一步:從左到右依次取出k進制數anan-1…a1a0(k)各位上的數字,乘以相應的k的冪,k的冪從n開始取值,每次遞減1,遞減到0,即an×kn,an

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論