2019-2020年高三數(shù)學第一輪復習單元講座 第16講 基本算法語句教案 新人教版.doc
《2019-2020年高三數(shù)學第一輪復習單元講座 第16講 基本算法語句教案 新人教版.doc》由會員分享,可在線閱讀,更多相關(guān)《2019-2020年高三數(shù)學第一輪復習單元講座 第16講 基本算法語句教案 新人教版.doc(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
2019-2020年高三數(shù)學第一輪復習單元講座 第16講 基本算法語句教案 新人教版 一.課標要求: 1.經(jīng)歷將具體問題的程序框圖轉(zhuǎn)化為程序語句的過程,理解幾種基本算法語句——輸入語句、輸出語句、賦值語句、條件語句、循環(huán)語句,進一步體會算法的基本思想; 2.通過閱讀中國古代數(shù)學中的算法案例,體會中國古代數(shù)學對世界數(shù)學發(fā)展的貢獻。 二.命題走向 算法是高中數(shù)學課程中的新內(nèi)容,本章的重點是算法的概念和算法的三種邏輯結(jié)構(gòu)。 預測xx年高考對本章的考察是:以選擇題或填空題的形式出現(xiàn),分值在5分左右,本講考察的熱點是識別程序和編寫程序。 三.要點精講 1.輸入語句 輸入語句的格式:INPUT “提示內(nèi)容”; 變量 例如:INPUT “x=”; x功能:實現(xiàn)算法的輸入變量信息(數(shù)值或字符)的功能。 要求: (1)輸入語句要求輸入的值是具體的常量; (2)提示內(nèi)容提示用戶輸入的是什么信息,必須加雙引號,提示內(nèi)容 “原原本本”的在計算機屏幕上顯示,提示內(nèi)容與變量之間要用分號隔開; (3)一個輸入語句可以給多個變量賦值,中間用“,”分隔;輸入語句還可以是““提示內(nèi)容1”;變量1,“提示內(nèi)容2”;變量2,“提示內(nèi)容3”;變量3,……”的形式。例如:INPUT“a=,b=,c=,”;a,b,c。 2.輸出語句 輸出語句的一般格式:PRINT“提示內(nèi)容”;表達式 例如:PRINT“S=”;S 功能:實現(xiàn)算法輸出信息(表達式) 要求: (1)表達式是指算法和程序要求輸出的信息; (2)提示內(nèi)容提示用戶要輸出的是什么信息,提示內(nèi)容必須加雙引號,提示內(nèi)容要用分號和表達式分開。 (3)如同輸入語句一樣,輸出語句可以一次完成輸出多個表達式的功能,不同的表達式之間可用“,”分隔;輸出語句還可以是“提示內(nèi)容1”;表達式1,“提示內(nèi)容2”;表達式2,“提示內(nèi)容3”;表達式3,……”的形式;例如:PRINT “a,b,c:”;a,b,c。 3.賦值語句 賦值語句的一般格式:變量=表達式 賦值語句中的“=”稱作賦值號 作用:賦值語句的作用是將表達式所代表的值賦給變量; 要求: (1)賦值語句左邊只能是變量名字,而不是表達式,右邊表達式可以是一個常量、變量或含變量的運算式。如:2=x是錯誤的; (2)賦值號的左右兩邊不能對換。賦值語句是將賦值號右邊的表達式的值賦給賦值號左邊的變量。如“A=B”“B=A”的含義運行結(jié)果是不同的,如x=5是對的,5=x是錯的,A+B=C是錯的,C=A+B是對的。 (3)不能利用賦值語句進行代數(shù)式的演算。(如化簡、因式分解、解方程等),如 這是實現(xiàn)不了的。在賦值號右邊表達式中每一個變量的值必須事先賦給確定的值。在一個賦值語句中只能給一個變量賦值。不能出現(xiàn)兩個或以上的“=”。但對于同一個變量可以多次賦值。 4.條件語句 (1)“IF—THEN—ELSE”語句 格式: IF 條件 THEN 語句1 ELSE 語句2 END IF 說明:在“IF—THEN—ELSE”語句中,“條件”表示判斷的條件,“語句1”表示滿足條件時執(zhí)行的操作內(nèi)容;“語句2”表示不滿足條件時執(zhí)行的操作內(nèi)容;END IF表示條件語句的結(jié)束。計算機在執(zhí)行“IF—THEN—ELSE”語句時,首先對IF后的條件進行判斷,如果符合條件,則執(zhí)行THEN后面的“語句1”;若不符合條件,則執(zhí)行ELSE后面的“語句2”。 (2)“IF—THEN”語句 格式: IF 條件 THEN 語句 END IF 說明:“條件”表示判斷的條件;“語句”表示滿足條件時執(zhí)行的操作內(nèi)容,條件不滿足時,直接結(jié)束判斷過程;END IF表示條件語句的結(jié)束。計算機在執(zhí)行“IF—THEN”語句時,首先對IF后的條件進行判斷,如果符合條件就執(zhí)行THEN后邊的語句,若不符合條件則直接結(jié)束該條件語句,轉(zhuǎn)而執(zhí)行其它后面的語句。 5.循環(huán)語句 (1)當型循環(huán)語句 當型(WHILE型)語句的一般格式為: WHILE 條件 循環(huán)體 WEND 說明:計算機執(zhí)行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,則執(zhí)行WHILE和WEND之間的循環(huán)體,然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執(zhí)行循環(huán)體,這個過程反復執(zhí)行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執(zhí)行循環(huán)體,而是跳到WEND語句后,執(zhí)行WEND后面的語句。因此當型循環(huán)又稱“前測試型”循環(huán),也就是我們經(jīng)常講的“先測試后執(zhí)行”、“先判斷后循環(huán)”。 (2)直到型循環(huán)語句 直到型(UNTIL型)語句的一般格式為: DO 循環(huán)體 LOOP UNTIL 條件 說明:計算機執(zhí)行UNTIL語句時,先執(zhí)行DO和LOOP UNTIL之間的循環(huán)體,然后判斷 “LOOP UNTIL”后面的條件是否成立,如果條件成立,返回DO語句處重新執(zhí)行循環(huán)體。這個過程反復執(zhí)行,直到一次判斷 “LOOP UNTIL”后面的條件條件不成立為止,這時不再返回執(zhí)行循環(huán)體,而是跳出循環(huán)體執(zhí)行“LOOP UNTIL 條件”下面的語句。 因此直到型循環(huán)又稱“后測試型”循環(huán),也就是我們經(jīng)常講的“先執(zhí)行后測試”、“先循環(huán)后判斷”。 四.典例解析 題型1:輸入、輸出和賦值語句 例1.判斷下列給出的輸入語句、輸出語句和賦值語句是否正確?為什么? (1)輸入語句 INPUT a;b;c (2)輸出語句 A=4 (3)賦值語句 3=B (4)賦值語句 A=B=-2 解析:(1)錯,變量之間應(yīng)用“,”號隔開; (2)錯,PRINT語句不能用賦值號“=”; (3)錯,賦值語句中“=”號左右不能互換; (4)錯,一個賦值語句只能給一個變量賦值。 點評:輸入語句、輸出語句和賦值語句基本上對應(yīng)于算法中的順序結(jié)構(gòu)。輸入語句、輸出語句和賦值語句都不包括“控制轉(zhuǎn)移”,由它們組成的程序段必然是順序結(jié)構(gòu)。 例2.請寫出下面運算輸出的結(jié)果。 (1) (2) (3) 解析: (1)16;語句是將a,b和的一半賦值給變量c,語句是將c的平方賦值給d,最后輸出d的值。 (2)1,2,3;語句是將a,b的和賦值給c,語句是將的值賦值給了b。 (3)20,30,20;經(jīng)過語句后a,b,c的值是20,20,30。經(jīng)過語句后a,b,c的值是20,30,30。經(jīng)過語句后a,b,c的值是20,30,20。 點評:語句的識別問題是一個逆向性思維,一般我們認為我們的學習是從算法步驟(自然語言)至程序框圖,再到算法語言(程序)。如果將程序擺在我們的面前時,我們要從識別逐個語句,整體把握,概括程序的功能。 題型2:賦值語句的應(yīng)用 例3.寫出求三個數(shù)a,b,c的方差的程序。 解析:方差是在初中統(tǒng)計內(nèi)容中學習過的知識,計算所有數(shù)的方差首先計算所有數(shù)的平均數(shù),通過公式來計算。 算法步驟: 第一步:計算平均數(shù); 第二步:計算方差; 第三步:得到的結(jié)果即為所求。 程序如下: INPUT a,b,c y=(a+b+c)/3 S=((a-y)2+ (b-y)2+ (c-y)2)/3 PRINT S END 點評:套用公式求值問題是傳統(tǒng)數(shù)學求值問題的一種,它是一種典型的順序結(jié)構(gòu),也就是說只通過輸入、輸出和賦值語句就可以完成任務(wù)。解決這類問題的關(guān)鍵是先分析這種問題的解法,即構(gòu)造計算的過程,再寫出算法步驟和流程圖,再翻譯成算法語句即可。 例4.編寫一個程序,要求輸入的兩個正數(shù)a和b的值,輸出ab和ba的值。 解析:可以利用INPUT語句輸入兩個正數(shù),然后將ab和ba的值分別賦給兩個變量輸出即可。也可以將ab和ba的底數(shù)和冪數(shù)進行交換,故還可以利用賦值語句,采用將兩個變量的值互換的辦法實現(xiàn)。 程序1: INPUT “a,b:”;a,b A=a^b B=b^a PRINT “ab=”;A,“ba=”;B END 程序2: INPUT “a,b:”;a,b A=a^b PRINT “ab=”;A x=a a=b b=x A=a^b PRINT “ab=”;A END 點評:交換a,b的值可通過下面三個語句來實現(xiàn): 通過引進一個變量t實現(xiàn)變量a和b的值的交換,因此只需用賦值語句即可實現(xiàn)算法。在一些較為復雜的問題算法中經(jīng)常需要對兩個變量的值進行交換,因此應(yīng)熟練掌握這種方法。 題型3:條件語句 例5.編寫程序,輸出兩個不相等的實數(shù)a、b的最大值。 解析:要輸出兩個不相等的實數(shù)a、b的最大值,從而想到對a,b的大小關(guān)系進行判斷,a,b的大小關(guān)系有兩種情況:(1)a>b;(2)b>a,這也就用到了我們經(jīng)常提及的分類討論的方式,找出兩個數(shù)的最大值。 解:算法一: 第一步:輸入a, b的數(shù)值; 開始 輸入a,b a>b? 輸出a 輸出b 結(jié)束 Y N 第二步:判斷a,b的大小關(guān)系,若a>b,則輸出a的值,否則輸出b的值。 (程序框圖如右圖) 程序如下:(“IF—THEN—ELSE”語句) INPUT“a,b”;a,b IF a>b THEN PRINT a ELSE PRINT b END IF END 算法二: 第一步:輸入a,b的數(shù)值; 第二步:判斷a,b的大小關(guān)系,若b > a,則將b的值賦予a;否則直接執(zhí)行第三步; 第三步:輸出a的值,結(jié)束。 開始 輸入a,b b>a? 輸出a 結(jié)束 Y N a=b (程序框圖如右圖) 程序如下:(“IF—THEN”語句) INPUT“a,b”;a,b IF b>a THEN a=b END IF PRINT a END 點評:1.一個“好”的算法往往像上面教材例題中的“小技巧”,要熟練、有效的使用它們,則需要在大量的算法設(shè)計中積累經(jīng)驗。我們也可以先根據(jù)自己的思路設(shè)計算法,再與 “成形”的、高效的、優(yōu)秀的算法比較,改進思路,改進算法,以避免重復計算等問題,提高算法設(shè)計的水平! 2.我們在平常的訓練中盡可能的少引用變量,過多的變量不僅會使得算法和程序變得復雜,而且不利于計算機的執(zhí)行。為此,我們在練習中要積極思考盡可能少引入變量以及如何才能少引入變量。 Y 開始 輸入x x>0? x=0 輸出1 輸出0 輸出0 Y N N 結(jié)束 例6.高等數(shù)學中經(jīng)常用到符號函數(shù),符號函數(shù)的定義為,試編寫程序輸入x的值,輸出y的值。 程序一:(嵌套結(jié)構(gòu)) 程序框圖:(右圖) 程序語言: INPUT x IF x>0 THEN y=1 ELSE IF x=0 THEN y=0 ELSE y=-1 END IF END IF PRINT y END 程序二:(疊加結(jié)構(gòu)) Y 開始 輸入x x>0? 輸出1 Y N N 結(jié)束 x=0? 輸出0 x<0? 輸出-1 Y N 程序框圖: 程序如下: INPUT x IF x>0 THEN y=1 END IF IF x=0 THEN y=0 END IF IF x<0 THEN y=-1 END IF PRINT y END 點評:1.條件結(jié)構(gòu)的差異,造成程序執(zhí)行的不同。當代入x的數(shù)值時,“程序一”先判斷外層的條件,依次執(zhí)行不同的分支,才有可能判斷內(nèi)層的條件;而“程序二”中執(zhí)行了對“條件1”的判斷,同時也對“條件2”進行判斷,是按程序中條件語句的先后依次判斷所有的條件,滿足哪個條件就執(zhí)行哪個語句。 2.條件語句的嵌套可多于兩層,可以表達算法步驟中的多重限制條件。 題型4:循環(huán)語句 例7.設(shè)計一個計算1357…99的算法,編寫算法程序。 解析: 算法如下: 第一步:s=1; 第二步:i=3; 第三步:s=si; 第四步:i=i+2; 第五步:如果i≤99,那么轉(zhuǎn)到第三步; 第六步:輸出s; 程序如下:(“WHILE型”循環(huán)語句) s=1 i=3 WHILE i<=99 s=s*i i=i+2 WEND PRINT s END 點評:你能用“UNTIL”型循環(huán)語句表示“典例1”中的程序嗎? 例8.編寫一個程序,求1!+2!+…+10!的值。 解析:這個問題是求前10個正整數(shù)的階乘之和,可以用“WHILE+ WHILE”循環(huán)嵌套語句格式來實現(xiàn)。 程序結(jié)構(gòu)要做到如下步驟: ①處理“N!”的值;(注:處理N!值的變量就是一個內(nèi)循環(huán)變量) ②累加“N!”的值。(注:累加N!值的變量就是一個外循環(huán)變量) 顯然,通過10次循環(huán)可分別求出1!、2!、…、10!的值,并同時累加起來, 可求得S的值。而求T=N!,又可以用一個循環(huán)(內(nèi)循環(huán))來實現(xiàn)。 程序為: s=0 i=1 WHILE i<=10 j=1 t=1 WHILE j<=i t=t*j j=j+1 WEND s=s+t i=i+1 WEND PRINT s END 上面程序中哪個變量是內(nèi)循環(huán)變量,哪個變量是外循環(huán)變量? (1)內(nèi)循環(huán)變量:j,t (2)外循環(huán)變量:s,i “典例2”程序是一個的“WHILE+WHILE”型循環(huán)嵌套語句格式。這是一個比較好想的方法,但實際上對于求n!,我們也可以根據(jù)求出的(n-1)!乘上n即可得到,而無需重新從1再累乘到n。 程序可改為: s=0 i=1 j=1 WHILE i<=10 j=j*i s=s+j i=i+1 WEND PRINT s END 顯然第二個程序的效率要比第一個高得多。第一程序要進行1+2+…+10=55次循環(huán),而第二程序進行10次循環(huán)。如題目中求的是1?。??。?000!,則兩個程序的效率區(qū)別更明顯。 點評:解決具體的構(gòu)造循環(huán)語句的算法問題,要盡可能的少引入循環(huán)變量,否則較多的變量會使得設(shè)計程序比較麻煩,并且較多的變量會使得計算機占用大量的系統(tǒng)資源,致使系統(tǒng)緩慢。另外,也盡可能使得循環(huán)嵌套的層數(shù)少,否則也浪費計算機的系統(tǒng)資源。 題型5:實際應(yīng)用 例9.中國網(wǎng)通規(guī)定:撥打市內(nèi)電話時,如果不超過3分鐘,則收取話費0.22元;如果通話時間超過3分鐘,則超出部分按每分鐘0.1元收取通話費,不足一分鐘按以一分鐘計算。設(shè)通話時間為t(分鐘),通話費用y(元),如何設(shè)計一個程序,計算通話的費用。 解析: 算法分析: 數(shù)學模型實際上為:y關(guān)于t的分段函數(shù)。 關(guān)系是如下: 其中[t-3]表示取不大于t-3的整數(shù)部分。 算法步驟如下: 第一步:輸入通話時間t; 第二步:如果t≤3,那么y = 0.22;否則判斷t∈Z 是否成立,若成立執(zhí)行y= 0.2+0.1 (t-3);否則執(zhí)行y = 0.2+0.1( [t-3]+1)。 第三步:輸出通話費用c 。 算法程序如下: INPUT “請輸入通話時間:”;t IF t<=3 THEN y=0.22 ELSE IF INT(t)=t THEN y=0.22+0.1*(t-3) ELSE y=0.22+0.1*(INT(t-3)+1) END IF END IF PRINT “通話費用為:”;y END 點評:實際應(yīng)用問題,在高考中是一個熱點。如何將實際問題轉(zhuǎn)化成數(shù)學問題是解題的關(guān)鍵,最后還要用算法步驟和程序進行表達。如:中國網(wǎng)通通話費的規(guī)定在數(shù)學中就是通話時間到通話費用的分段函數(shù)。日常生活中的分段函數(shù)問題還有很多:出租車的計費問題、個人所得稅問題、銀行利率問題等等。 例10.編寫程序,計算數(shù)列{an}的前20項的和。(其中數(shù)列的前幾項分別為1,1,2,3,5,8,……) 解析:這是“Fibonacci數(shù)列”的典型特征,從第三項起每一項都是它前兩項的和,即。 程序如下: a=1 b=1 s=0 i=3 WHILE i<=20 s=s+a+b t=a a=b b=b+t i=i+1 WEND PRINT s END 點評: 1.計數(shù)變量的作用一般是統(tǒng)計循環(huán)體執(zhí)行的次數(shù),改變循環(huán)條件的取值,為結(jié)束循環(huán)作準備。譬如:計算等差、等比數(shù)列的前n項的和,n就是計數(shù)變量的臨界值,在當型結(jié)構(gòu)中“小于等于n”維持循環(huán),而在直到型循環(huán)結(jié)構(gòu)中“大于n”跳出循環(huán)。 2.累加變量是最終的輸出結(jié)果。每進入一次循環(huán)體隨著計數(shù)變量改變而改變。累加變量的初始值通常為0。 五.思維總結(jié) 在設(shè)計算法的過程中,解決問題的基本思想常常很簡單、很清楚,但表述參與運算的數(shù)值的頻頻變換卻很麻煩。為了解決這個問題,需要在程序中引入變量。前面通過對函數(shù)概念的學習,我們就已經(jīng)了解變量的含義:在研究問題的過程中可以取代不同數(shù)值的量稱為變量。 程序中一些重要的函數(shù)也很有用處,如取平方根函數(shù)SQR(x)=|x|,取絕對值函數(shù)ABS(x)=。 變量與函數(shù)是中學數(shù)學里面最重要的和最基本的概念,在算法的設(shè)計里面仍然發(fā)揮著重要的和最基本的作用,它們會使得算法的表達變得非常整潔、清楚。 1.賦值語句在程序運行時給變量賦值;“=”的右側(cè)必須是表達式,左側(cè)必須是變量;一個語句只能給一個變量賦值;有計算功能;將一個變量的值賦給另一個變量時,前一個變量的值保持不變;可先后給一個變量賦多個不同的值,但變量的取值只與最后一次賦值有關(guān)。 2.條件語句的主要功能是來實現(xiàn)算法中的條件結(jié)構(gòu)。 因為人們對計算機運算的要求不僅僅是一些簡單的代數(shù)運算,而是經(jīng)常需要計算機按照條件進行分析、比較、判斷,并且按照判斷后的不同情況進行不同的操作和處理。如果是要解決像“判斷一個數(shù)的正負”、“比較數(shù)之間的大小”,“對一組數(shù)進行排序”、“求分段函數(shù)的函數(shù)值”等很多問題,計算機就需要用到條件語句。 3.學習了循環(huán)語句的兩種格式,我們來挖掘一下應(yīng)用循環(huán)語句編寫程序的“條件三要素”。 第一、循環(huán)語句中的變量一般需要進行一定的初始化操作。 請看我們用WHILE循環(huán)實現(xiàn)1到100累加為例,做一下說明: “1+2+……+100” 部分程序如下: sum = 0 i =1 WHILE i <= 100 sum = sum+ i i=i+1 WEND 這段程序中,循環(huán)的條件是“i <= 100”;因此,一開始i肯定需要一個確定的值。前面的 “i = 0”這一個語句,在聲明變量i的同時,也為i賦了初始值“1”。這樣,條件 i <= 100 得以成立(因為i為1,所以 條件“i <= 100” 當然成立)。 第二、循環(huán)語句在循環(huán)的過程中需要有“結(jié)束”的機會。 程序中最忌“死循環(huán)”。所謂的“死循環(huán)”就是指該循環(huán)條件永遠成立,沒有跳出循環(huán)體的機會。 第三、在循環(huán)中要改變循環(huán)條件的成立因素 程序每執(zhí)行一次循環(huán)體,循環(huán)條件中涉及到的變量就會發(fā)生改變,正在步步逼近滿足跳出循環(huán)體的條件。- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 2019-2020年高三數(shù)學第一輪復習單元講座 第16講 基本算法語句教案 新人教版 2019 2020 年高 數(shù)學 第一輪 復習 單元 講座 16 基本 算法 語句 教案 新人
鏈接地址:http://www.szxfmmzy.com/p-2592593.html