數學蘇教版必修3名師導航1.3基本算法語句_第1頁
數學蘇教版必修3名師導航1.3基本算法語句_第2頁
數學蘇教版必修3名師導航1.3基本算法語句_第3頁
數學蘇教版必修3名師導航1.3基本算法語句_第4頁
數學蘇教版必修3名師導航1.3基本算法語句_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

5.3基本算法語句名師導航三點剖析一、賦值語句顧名思義賦值語句就是將表達式所代表的值賦給變量,在偽代碼中通常用“←”表示.例如,x←y就表示將表達式y(tǒng)的值賦給變量x,其中x是一個變量,而y則是與x同類型的變量、表達式或數值.例如,x←5是指將5賦給變量x,這里5是一個常數;x←“←”的右邊為表達式時,賦值語句包含兩項功能:(1)計算表達式的值;(2)將表達式的值賦給左邊的變量.注意:在賦值語句中箭頭指向的是變量.二、輸入、輸出語句輸入、輸出語句分別用來實現算法的輸入信息、輸出結果的功能.1.輸入語句的格式與功能格式:read變量它表示將輸入的數據送給變量,在這里變量的個數可以是多個,它是與所輸入的數據的個數對應的,變量之間用逗號隔開.例如:Reada,b,c表示依次輸入的數據分別送給變量a,b,c.2.輸出語句的格式與功能格式:Print表達式它表示輸出表達式的值,在輸出語句中,輸出的結果也可以是多個,它們之間也用逗號隔開.例如,Printx表示輸出運算結果x;Printx,y,z則表示輸出運算結果x,y,z.為了更形象地說明賦值語句,輸入、輸出語句的格式和功能,看下面的一個具體的例子.Readx,y,zm←(x+y+z)/3n←.Printm,n在上面的算法的偽代碼中,第一個語句為輸入語句,它表示將輸入的數據分別送給了x,y,z,最后一個語句為輸出語句,它表示輸出了運算結果m,n;中間兩個語句為賦值語句,它們分別表示將表達式的值賦給變量m,n.21所示.圖521三、條件語句算法中的選擇結構由語句來表達,條件語句的一般格式為IfAthenBElseCEndif在語句中A表示判斷條件,B表示滿足條件時執(zhí)行的操作內容,C則表示不滿足條件時執(zhí)行的內容,Endif則表示條件語句的結束.而在表示算法的具體過程中,其格式和對應的框圖為:If條件then語句1Else語句2Endif對應框圖(如圖522所示):圖522在這里,語句1稱為“then”的分支,語句2稱為“Else”的分支,為了醒目和便于閱讀,這些分支一般要縮進書寫.例如,下面為一個算法的流程圖(如圖523所示):圖523由流程圖可知,在此算法的表示過程中用到了選擇結構,判斷條件為“x≤3”,若x≤3成立,則執(zhí)行語句“y←2x”,否則執(zhí)行語句“y←x+1”ReadxIfx≤3theny←2xElsey←x+1Endif在此算法中,虛框內為條件語句,語句“y←2x”為“then”的分支,語句“y←x+1”為“Else”某些情況下,條件語句中還可以使用Ifthen語句,即If條件then語句Endif它對應的框圖為(如圖524所示).圖524例如,使得任意輸入的3個整數,按從大到小的順序輸出,其流程圖如下(如圖525所示):圖525本算法的偽代碼如下:Reada,b,cIfb>athent←a,a←b,b←tEndifIfc>athent←a,a←c,c←tEndifIfc>bthent←b,b←c,c←tEndifPrinta,b,c在這個算法中,不存在Else語句.除此之外,條件語句是可以嵌套的,即在條件語句的一個分支中還可以出現條件語句,這種嵌套結構一般用于執(zhí)行過程中選擇結構中還存在選擇結構的算法中,其格式為:If條件1then語句1Elseif條件2then語句2……Elseif條件nthen語句nElse語句n+1Endif例如,輸入自變量的值,求函數函數值的一個算法的偽代碼如下:ReadxIfx<0theny←1xElseifx>0theny←x+3Elsey←0EndifPrinty四、循環(huán)語句當算法中存在循環(huán)結構時,我們可以用循環(huán)語句來實現算法過程.循環(huán)語句有兩種:一種是“For”語句;一種是“While”語句.1.“For”語句當循環(huán)次數已經確定,則循環(huán)結構可用“For”語句來表示,“For”語句的一般格式為:ForIfrom“初始值”to“終值”step“步長”…Endfor例如,計算1+2+3+…+100值的算法,可表示為S←0ForIfrom1to100step1S←S+IEndforPrintS上面算法中,“For”和“Endfor”之間縮進部分稱為循環(huán)體.因此,用循環(huán)語句表示算法時,其格式為:ForIfrom“初始值”to“終值”step“步長”循環(huán)體Endfor而且應該注意,循環(huán)體要縮進書寫.在循環(huán)語句中,當步長為1時可以省略.如計算1+2+3+…+100值的算法,也可表示為S←0ForIfrom1to100S←S+IEndforPrintS2.While語句當循環(huán)次數不能確定時,可用while語句來實現循環(huán).while語句的一般格式為:WhileA…Endwhile具體應用時格式為:While條件循環(huán)體EndWhile在While語句中A表示判斷執(zhí)行循環(huán)體的條件,書寫時循環(huán)體也要縮進書寫.例如,尋求滿足1+2+3+…+_________>2008的最小正整數的算法可用While語句表示為S←1I←2WhileS≤2008S←S+II←I+1EndWhilePrintI算法在執(zhí)行循環(huán)體的過程中,先檢驗條件S≤2008是否成立,若條件成立則執(zhí)行循環(huán)體,直到條件不成立時才結束循環(huán).While語句的特點是“前測試”“前測試”循環(huán)來實現.問題探究問題1:怎樣用偽代碼和流程圖設計算法來判斷N是否為素數?探究:由于素數的特點是它的因數只有1和它的本身,則要判斷某個數N是否為素數的方法:將N作為被除數,用2到各個整數輪流作除數,如果都不能被整除,則N為素數.為了使程序能符合結構化程序設計,這里設計了一個開關W,使初值為0.若N能被某一個整數整除,則使W值為1,否則W值不變.最后根據W的值來確定N是否為素數,若W值為0,則N為素數,否則N為非素數.用偽代碼設計算法如下:Begin(算法開始)ReadNW←0I←2WhileI≤N且W=0IfR=0thenW←1ElseI←I+1EndifEndwhileIfW=0thenprintN,“是素數”ElseprintN,“不是素數”EndifEnd(算法結束)流程圖(如圖526所示):圖526問題2:依次將十個數輸入,要求將其中最大的數打印出來.怎樣用流程圖和偽代碼來表示問題的算法?探究:解決這個問題的思路很簡單,先選2個數進行比較,去掉小的,留下大的;再取第3個數與留下的數進行比較去掉小的留下大的;繼續(xù)進行,直到每個數都被比較,最后留下的數就是最大數.但用這種思想寫出的算法比較復雜.由于在本算法中某些步驟是重復進行,則可用循環(huán)語句來描述此算法.用偽代碼設計算法如下:ReadXmax←XForIfrom2to10ReadXIfX>maxthenmax←XEndifEndforPrintmaxEnd流程圖(如圖527所示):圖527精題精講例1.寫出下列用偽代碼描述的算法執(zhí)行后的結果.(1)算法開始a←2;a←4;a←a+a;輸出a的值;算法結束執(zhí)行結果:()思路解析本題考查了賦值語句的功能,第一個語句中將2賦給了變量a,此時a的值為2.第二個語句中將4賦給了變量a,此時a值由原來的2變?yōu)榱?.第三個語句中將a+a的值賦給了變量a,此時a的值為4+4=8.答案:8(2)算法開始君子食無求飽,居無求安,敏于事而慎于言,就有道而正焉,可謂好學也已。n←10;i←2;sum←0;While(i≤n)sum←sum+i;i←i+2;Endwhile輸出sum的值;算法結束執(zhí)行結果:()思路解析本題考查了賦值語句、循環(huán)語句在算法中的應用.在本算法中前三個語句為賦值語句,它們分別表示將10、2、0賦給變量n、i、sum.第5、6個語句構成了一個循環(huán)體,當條件i≤n成立,則重復執(zhí)行第5、6個語句直至條件不成立.當第一次執(zhí)行時,sum的值變?yōu)?,i的值變?yōu)?;第二次執(zhí)行時,sum的值變?yōu)?,i的值變?yōu)?;第三次執(zhí)行時,sum的值變?yōu)?2,i的值變?yōu)?;第四次執(zhí)行時,sum的值變?yōu)?0,i的值變?yōu)?0;第五次執(zhí)行時,sum的值變?yōu)?0,i的值變?yōu)?2,此時條件不成立,退出循環(huán),輸出sum的值為30.答案:30例2.已知S=5+10+15+…+1500,請用流程圖描述求S的算法并用偽代碼表示.思路解析由題意知應采用循環(huán)結構畫出流程圖,而應采用“For”語句來描述此算法,其中初始值為10,步長為5.解:流程圖如下圖所示(如圖528所示):圖528從流程圖可以看出這是一個循環(huán)結構,我們可以運用循環(huán)語句來實現.S←5ForIfrom10to1500step5S←S+IEndForPrintSEnd綠色通道“前測試”,任何一種需要重復處理的問題都可以用這種前測試循環(huán)來實現.例3.經過市場調查分析得知,1999年第一季度內,某地區(qū)對某件商品的需求量為12000件.為保證商品不脫銷,商家在月初時將商品按相同數量投放市場.已知年初商品的庫存量為50000件,用S表示商品的庫存量.請寫出一個程序,求出第一季度結束時商品的庫存量.思路解析因為第一季度商品的需求量為12000件,而且每個月以相同數量投放市場,因此每個月向市場投放4000件商品.可以用下表表示庫存量隨著月份的變化情況.月份庫存一月二月三月S460004200038000還可以用下列賦值語句來表示庫存量的變化S←S-4000.賦值號左邊的變量S表示的是這個月的存儲量,那么右邊的變量S表示的是上個月的存儲量.這是對變量S的賦值,賦值的目的是改變變量的值,將變量上次的值減去4000再次賦予變量S.解:流程圖如下(如圖529所示):圖529例4.某百貨公司為了促銷,采用購物打折的優(yōu)惠辦法:每位顧客一次購物(1)在1000元以上者,按九五折優(yōu)惠.(2)在2000元以上者,按九折優(yōu)惠.(3)在3000元以上者,按八五折優(yōu)惠.(4)在5000元以上者,按八折優(yōu)惠.編寫程序求優(yōu)惠價.思路解析本題實質上是一個分段函數的求值問題,由于求值時需要根據自變量的范圍來選擇不同的解析式,則用算法語句表示此算法時應采用條件語句.設購物款數為x元,優(yōu)惠價為y元.解:設購物款數為x元,優(yōu)惠價

溫馨提示

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

評論

0/150

提交評論