




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基本算法語句一【課標要求】1經歷將具體問題的程序框圖轉化為程序語句的過程,理解幾種基本算法語句輸入語句、輸出語句、賦值語句、條件語句、循環語句,進一步體會算法的基本思想;2通過閱讀中國古代數學中的算法案例,體會中國古代數學對世界數學發展的貢獻。二【命題走向】算法是高中數學課程中的新內容,本章的重點是算法的概念和算法的三種邏輯結構預測2010年高考對本章的考察是:以選擇題或填空題的形式出現,分值在5分左右,本講考察的熱點是識別程序和編寫程序三【要點精講】1輸入語句輸入語句的格式:INPUT “提示內容”; 變量例如:INPUT “x=”; x功能:實現算法的輸入變量信息(數值或字符)的功能。要求
2、:(1)輸入語句要求輸入的值是具體的常量;(2)提示內容提示用戶輸入的是什么信息,必須加雙引號,提示內容 “原原本本”的在計算機屏幕上顯示,提示內容與變量之間要用分號隔開;(3)一個輸入語句可以給多個變量賦值,中間用“,”分隔;輸入語句還可以是“提示內容1”;變量1,“提示內容2”;變量2,“提示內容3”;變量3,”的形式。例如:INPUT“a=,b=,c=,”;a,b,c。2輸出語句輸出語句的一般格式:PRINT“提示內容”;表達式例如:PRINT“S=”;S功能:實現算法輸出信息(表達式)要求:(1)表達式是指算法和程序要求輸出的信息; (2)提示內容提示用戶要輸出的是什么信息,提示內容必
3、須加雙引號,提示內容要用分號和表達式分開。(3)如同輸入語句一樣,輸出語句可以一次完成輸出多個表達式的功能,不同的表達式之間可用“,”分隔;輸出語句還可以是“提示內容1”;表達式1,“提示內容2”;表達式2,“提示內容3”;表達式3,”的形式;例如:PRINT “a,b,c:”;a,b,c。3賦值語句賦值語句的一般格式:變量=表達式賦值語句中的“”稱作賦值號作用:賦值語句的作用是將表達式所代表的值賦給變量;要求:(1)賦值語句左邊只能是變量名字,而不是表達式,右邊表達式可以是一個常量、變量或含變量的運算式。如:2=x是錯誤的;(2)賦值號的左右兩邊不能對換。賦值語句是將賦值號右邊的表達式的值賦
4、給賦值號左邊的變量。如“A=B”“B=A”的含義運行結果是不同的,如x=5是對的,5=x是錯的,A+B=C是錯的,C=A+B是對的。(3)不能利用賦值語句進行代數式的演算。(如化簡、因式分解、解方程等),如這是實現不了的。在賦值號右邊表達式中每一個變量的值必須事先賦給確定的值。在一個賦值語句中只能給一個變量賦值。不能出現兩個或以上的“=”。但對于同一個變量可以多次賦值。4條件語句(1)“IFTHENELSE”語句格式:IF 條件 THEN語句1ELSE語句2END IF說明:在“IFTHENELSE”語句中,“條件”表示判斷的條件,“語句1”表示滿足條件時執行的操作內容;“語句2”表示不滿足條
5、件時執行的操作內容;END IF表示條件語句的結束。計算機在執行“IFTHENELSE”語句時,首先對IF后的條件進行判斷,如果符合條件,則執行THEN后面的“語句1”;若不符合條件,則執行ELSE后面的“語句2”。(2)“IFTHEN”語句格式:IF 條件 THEN語句END IF說明:“條件”表示判斷的條件;“語句”表示滿足條件時執行的操作內容,條件不滿足時,直接結束判斷過程;END IF表示條件語句的結束。計算機在執行“IFTHEN”語句時,首先對IF后的條件進行判斷,如果符合條件就執行THEN后邊的語句,若不符合條件則直接結束該條件語句,轉而執行其它后面的語句5循環語句(1)當型循環語
6、句當型(WHILE型)語句的一般格式為:WHILE 條件循環體WEND說明:計算機執行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,則執行WHILE和WEND之間的循環體,然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執行循環體,這個過程反復執行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執行循環體,而是跳到WEND語句后,執行WEND后面的語句。因此當型循環又稱“前測試型”循環,也就是我們經常講的“先測試后執行”、“先判斷后循環”。(2)直到型循環語句直到型(UNTIL型)語句的一般格式為:DO循環體LOOP UNTIL 條件說明:計算機執行UN
7、TIL語句時,先執行DO和LOOP UNTIL之間的循環體,然后判斷 “LOOP UNTIL”后面的條件是否成立,如果條件成立,返回DO語句處重新執行循環體。這個過程反復執行,直到一次判斷 “LOOP UNTIL”后面的條件不成立為止,這時不再返回執行循環體,而是跳出循環體執行“LOOP UNTIL 條件”下面的語句。因此直到型循環又稱“后測試型”循環,也就是我們經常講的“先執行后測試”、“先循環后判斷”。四【典例解析】題型1:輸入、輸出和賦值語句例1判斷下列給出的輸入語句、輸出語句和賦值語句是否正確?為什么?(1)輸入語句 INPUT a;b;c(2)輸出語句 A4(3)賦值語句 3B(4)
8、賦值語句 AB2解析:(1)錯,變量之間應用“,”號隔開;(2)錯,PRINT語句不能用賦值號“=”;(3)錯,賦值語句中“=”號左右不能互換;(4)錯,一個賦值語句只能給一個變量賦值點評:輸入語句、輸出語句和賦值語句基本上對應于算法中的順序結構。輸入語句、輸出語句和賦值語句都不包括“控制轉移”,由它們組成的程序段必然是順序結構(5)、(2009年廣東卷文)某籃球隊6名主力隊員在最近三場比賽中投進的三分球個數如下表所示: 隊員i123456三分球個數下圖(右)是統計該6名隊員在最近三場比賽中投進的三分球總數的程序框圖,則圖中判斷框應填 ,輸出的s= (注:框圖中的賦值符號“=”也可以寫成“”或
9、“:=”) 【解析】順為是統計該6名隊員在最近三場比賽中投進的三分球總數的程序框圖,所圖中判斷框應填,輸出的s=.答案 ,例2請寫出下面運算輸出的結果。(1) (2)(3)解析:(1)16;語句是將a,b和的一半賦值給變量c,語句是將c的平方賦值給d,最后輸出d的值(2)1,2,3;語句是將a,b的和賦值給c,語句是將的值賦值給了b。(3)20,30,20;經過語句后a,b,c的值是20,20,30。經過語句后a,b,c的值是20,30,30。經過語句后a,b,c的值是20,30,20。點評:語句的識別問題是一個逆向性思維,一般我們認為我們的學習是從算法步驟(自然語言)至程序框圖,再到算法語言
10、(程序)。如果將程序擺在我們的面前時,我們要從識別逐個語句,整體把握,概括程序的功能題型2:賦值語句的應用例3寫出求三個數a,b,c的方差的程序。解析:方差是在初中統計內容中學習過的知識,計算所有數的方差首先計算所有數的平均數,通過公式來計算。算法步驟:第一步:計算平均數;第二步:計算方差;第三步:得到的結果即為所求。程序如下:INPUT a,b,cy=(a+b+c)/3S=(ay)2+ (by)2+ (cy)2)/3PRINT SEND點評:套用公式求值問題是傳統數學求值問題的一種,它是一種典型的順序結構,也就是說只通過輸入、輸出和賦值語句就可以完成任務。解決這類問題的關鍵是先分析這種問題的
11、解法,即構造計算的過程,再寫出算法步驟和流程圖,再翻譯成算法語句即可例4編寫一個程序,要求輸入的兩個正數a和b的值,輸出ab和ba的值。解析:可以利用INPUT語句輸入兩個正數,然后將ab和ba的值分別賦給兩個變量輸出即可。也可以將ab和ba的底數和冪數進行交換,故還可以利用賦值語句,采用將兩個變量的值互換的辦法實現。程序1:INPUT “a,b:”;a,bA=abB=baPRINT “ab=”;A,“ba=”;BEND程序2:INPUT “a,b:”;a,bA=abPRINT “ab=”;Ax=aa=bb=xA=abPRINT “ab=”;AEND點評:交換a,b的值可通過下面三個語句來實現
12、:通過引進一個變量t實現變量a和b的值的交換,因此只需用賦值語句即可實現算法。在一些較為復雜的問題算法中經常需要對兩個變量的值進行交換,因此應熟練掌握這種方法。題型3:條件語句例5編寫程序,輸出兩個不相等的實數a、b的最大值開始輸入a,ba>b?輸出a輸出b結束YN解析:要輸出兩個不相等的實數a、b的最大值,從而想到對a,b的大小關系進行判斷,a,b的大小關系有兩種情況:(1)a>b;(2)b>a,這也就用到了我們經常提及的分類討論的方式,找出兩個數的最大值解:算法一:第一步:輸入a, b的數值;第二步:判斷a,b的大小關系,若a>b,則輸出a的值,否則輸出b的值。(程
13、序框圖如右圖)程序如下:(“IFTHENELSE”語句)INPUT“a,b”;a,bIF ab THENPRINT aELSEPRINT bEND IFEND開始輸入a,bb>a?輸出a結束YNa=b算法二:第一步:輸入a,b的數值;第二步:判斷a,b的大小關系,若b > a,則將b的值賦予a;否則直接執行第三步;第三步:輸出a的值,結束。(程序框圖如右圖)程序如下:(“IFTHEN”語句)INPUT“a,b”;a,bIF ba THENa=bEND IFPRINT aEND點評:1一個“好”的算法往往像上面教材例題中的“小技巧”,要熟練、有效的使用它們,則需要在大量的算法設計中積
14、累經驗。我們也可以先根據自己的思路設計算法,再與 “成形”的、高效的、優秀的算法比較,改進思路,改進算法,以避免重復計算等問題,提高算法設計的水平!2我們在平常的訓練中盡可能的少引用變量,過多的變量不僅會使得算法和程序變得復雜,而且不利于計算機的執行。為此,我們在練習中要積極思考盡可能少引入變量以及如何才能少引入變量Y開始輸入xx>0?x=0輸出1輸出0輸出0YNN結束例6高等數學中經常用到符號函數,符號函數的定義為,試編寫程序輸入x的值,輸出y的值。程序一:(嵌套結構)程序框圖:(右圖)程序語言:INPUT xIF x>0 THENy=1ELSEIF x=0 THENy=0ELS
15、EY開始輸入xx>0?輸出1YNN結束x=0?輸出0x<0?輸出1YNy=1END IFEND IFPRINT yEND程序二:(疊加結構)程序框圖:程序如下:INPUT xIF x>0 THENy=1END IFIF x=0 THENy=0END IFIF x<0 THENy=1END IFPRINT yEND點評:1條件結構的差異,造成程序執行的不同。當代入x的數值時,“程序一”先判斷外層的條件,依次執行不同的分支,才有可能判斷內層的條件;而“程序二”中執行了對“條件1”的判斷,同時也對“條件2”進行判斷,是按程序中條件語句的先后依次判斷所有的條件,滿足哪個條件就執
16、行哪個語句2條件語句的嵌套可多于兩層,可以表達算法步驟中的多重限制條件。題型4:循環語句例7設計一個計算1×3×5×7××99的算法,編寫算法程序。解析:算法如下:第一步:s1;第二步:i3;第三步:ss×i;第四步:ii2;第五步:如果i99,那么轉到第三步;第六步:輸出s;程序如下:(“WHILE型”循環語句)s1i3WHILE i99ss*iii2WENDPRINT sEND點評:你能用“UNTIL”型循環語句表示“典例1”中的程序嗎?例8編寫一個程序,求1!+2!+10!的值解析:這個問題是求前10個正整數的階乘之和,可以用“
17、WHILE+ WHILE”循環嵌套語句格式來實現程序結構要做到如下步驟:處理“N!”的值;(注:處理N!值的變量就是一個內循環變量)累加“N!”的值。(注:累加N!值的變量就是一個外循環變量)顯然,通過10次循環可分別求出1!、2!、10!的值,并同時累加起來, 可求得S的值。而求T=N!,又可以用一個循環(內循環)來實現。程序為:s=0i=1WHILE i<=10j=1t=1WHILE j<=it=t*jj=j+1WENDs=s+ti=i+1WENDPRINT sEND上面程序中哪個變量是內循環變量,哪個變量是外循環變量?(1)內循環變量:j,t(2)外循環變量:s,i“典例2”
18、程序是一個的“WHILE+WHILE”型循環嵌套語句格式。這是一個比較好想的方法,但實際上對于求n!,我們也可以根據求出的(n1)!乘上n即可得到,而無需重新從1再累乘到n。程序可改為:s=0i=1j=1WHILE i<=10j=j*is=s+ji=i+1WENDPRINT sEND顯然第二個程序的效率要比第一個高得多。第一程序要進行1+2+10=55次循環,而第二程序進行10次循環。如題目中求的是1!2!1000!,則兩個程序的效率區別更明顯點評:解決具體的構造循環語句的算法問題,要盡可能的少引入循環變量,否則較多的變量會使得設計程序比較麻煩,并且較多的變量會使得計算機占用大量的系統資
19、源,致使系統緩慢。另外,也盡可能使得循環嵌套的層數少,否則也浪費計算機的系統資源。題型5:實際應用例9中國網通規定:撥打市內電話時,如果不超過3分鐘,則收取話費0.22元;如果通話時間超過3分鐘,則超出部分按每分鐘0.1元收取通話費,不足一分鐘按以一分鐘計算。設通話時間為t(分鐘),通話費用y(元),如何設計一個程序,計算通話的費用。解析:算法分析:數學模型實際上為:y關于t的分段函數。關系是如下:其中t3表示取不大于t3的整數部分算法步驟如下:第一步:輸入通話時間t;第二步:如果t3,那么y = 0.22;否則判斷tZ 是否成立,若成立執行y= 0.2+0.1× (t3);否則執行
20、y = 0.2+0.1×( t3+1)。第三步:輸出通話費用c 。算法程序如下:INPUT “請輸入通話時間:”;tIF t<=3 THENy=0.22ELSEIF INT(t)=t THENy=0.22+0.1*(t3)ELSEy=0.22+0.1*(INT(t3)+1)END IFEND IFPRINT “通話費用為:”;yEND點評:實際應用問題,在高考中是一個熱點。如何將實際問題轉化成數學問題是解題的關鍵,最后還要用算法步驟和程序進行表達。如:中國網通通話費的規定在數學中就是通話時間到通話費用的分段函數。日常生活中的分段函數問題還有很多:出租車的計費問題、個人所得稅問題
21、、銀行利率問題等等例10編寫程序,計算數列an的前20項的和。(其中數列的前幾項分別為1,1,2,3,5,8,)解析:這是“Fibonacci數列”的典型特征,從第三項起每一項都是它前兩項的和,即。程序如下:a=1b=1s=0i=3WHILE i<=20s=s+a+bt=aa=bb=b+ti=i+1WENDPRINT sEND點評:1計數變量的作用一般是統計循環體執行的次數,改變循環條件的取值,為結束循環作準備。譬如:計算等差、等比數列的前n項的和,n就是計數變量的臨界值,在當型結構中“小于等于n”維持循環,而在直到型循環結構中“大于n”跳出循環2累加變量是最終的輸出結果。每進入一次循環體隨著計數變量改變而改變。累加變量的初始值通常為0。五【思維總結】在設計算法的過程中,解決問題的基本思想常常很簡單、很清楚,但表述參與運算的數值的頻頻變換卻很麻煩。為了解決這個問題,需要在程序中引入變量。前面通過對函數概念的學習,我們就已經了解變量的含義:在研究問題的過程中可以取代不同數值的量稱為變量程序中一些重要的函數也很有用處,如取平方根函數SQR(x)=|x|,取絕對值函數ABS(x)=。變量與函數是中學數學里面最重要的和最基本的概念,在算法的設計里面仍然發揮著重要的和最基本的作用,它們會使得算法的表達變得非常整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學生視角下圖書館藏書更新對閱讀推廣活動的優化策略論文
- 初中歷史教學中學生歷史思維能力培養研究論文
- 節能制度與管理制度
- 英維克檔案管理制度
- 茶飲店員工管理制度
- 觀眾對綠色劇院演藝的感知
- 評估工作總結
- 《樹和喜鵲》課件
- 財務與會計之非流動負債知識答題(一)
- 湖南省株洲市醴陵市2024-2025學年七年級下學期期末能力測試練習數學試卷(含答案)
- 河南大學語文試題及答案
- 協議附加合同范本
- 基于AI的智能汽車用戶體驗優化策略
- 毛石混凝土換填施工方案
- 公司信息安全管理制度
- 醫院消毒隔離工作制度
- GB/T 10810.2-2025眼鏡鏡片第2部分:漸變焦
- 《長QT綜合征》課件
- DBJ04T 439-2023 房屋建筑和市政基礎設施工程造價指標指數編制標準
- 眩暈綜合癥的護理查房
- 海洋法知到智慧樹章節測試課后答案2024年秋中國海洋大學
評論
0/150
提交評論