數學課堂探究:基本算法語句_第1頁
數學課堂探究:基本算法語句_第2頁
數學課堂探究:基本算法語句_第3頁
數學課堂探究:基本算法語句_第4頁
數學課堂探究:基本算法語句_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學必求其心得,業(yè)必貴于專精學必求其心得,業(yè)必貴于專精學必求其心得,業(yè)必貴于專精課堂探究1.兩種循環(huán)語句的執(zhí)行原理剖析:(1)for循環(huán)的執(zhí)行過程:通過for語句進入循環(huán),將初值賦給循環(huán)變量i,當循環(huán)變量的值不超過終值時,則順序執(zhí)行循環(huán)體內的各個語句,遇到end,將循環(huán)變量增加一個步長的值,再與終值比較,如果仍不超過終值范圍,則再次執(zhí)行循環(huán)體,這樣重復執(zhí)行,直到循環(huán)變量的值超過終值,則跳出循環(huán).溫馨提示①只有當循環(huán)次數明確時,才能使用本語句.②步長可以為正、負,但不能是0,否則會陷入“死循環(huán)".步長為正時,要求終值大于初值,如果終值小于初值,循環(huán)將不能執(zhí)行.步長為負時,要求終值必須小于初值.③for語句對應的程序框圖如下圖所示:(2)while語句執(zhí)行過程:該語句對應于程序框圖中的循環(huán)結構,先判斷條件是否成立,當條件成立時,執(zhí)行循環(huán)體,遇到end語句時,就返回到while,繼續(xù)判斷條件,若仍成立,則重復上述過程,若不成立,則去執(zhí)行end后面的語句(即退出循環(huán)體).溫馨提示①當循環(huán)次數未知時,只能利用while循環(huán)語句解決累加、累乘問題,循環(huán)體結束循環(huán)的條件必須是唯一的,若不確定,則無法結束,形成“永不停止”的循環(huán).對于循環(huán)結束的條件,要注意與“是”“否"后面的處理框相對應.②while語句對應的基本框圖如圖所示:2.Scilab程序語言中常用符號剖析:數學符號Scilab語言中程序符號×(代數運算中的乘法運算符)*(程序里面表示乘法的運算符)÷(代數運算中的除法運算符)/(程序里面表示除法的運算符)ab(代數運算中的指數運算符)aeq\o(,\s\up6(^))b(程序里面表示指數的運算符)≤(代數中的小于等于符號)<=(程序里面表示小于等于的符號)≥(代數中的大于等于符號)>=(程序里面表示大于等于的符號)≠(代數中的不等號)<>(程序里面表示不等于的符號)|x|(代數運算中的取絕對值)abs(x)(程序里面取絕對值的函數)且(邏輯中的“且”運算)and(程序里面表示邏輯中的“且"運算)或(邏輯中的“或"運算)or(程序里面表示邏輯中的“或”運算)【例1】讀用Scilab語句編寫的程序,根據程序畫出程序框圖.x=input(“x=");y=input(“y=”);print(%io(2),x/2);print(%io(2),3*y);x=x+1;y=y(tǒng)-1;print(%io(2),x);print(%io(2),y);分析:該程序第1,2句是input輸入語句,要求從鍵盤輸入x與y的值;第3,4句是print輸出語句,要求從屏幕輸出eq\f(x,2)和3y的值,第5,6句賦值語句,用x+1的值代替原來x的值,用y-1的值代替原來y的值.第7,8句從屏幕輸出x和y的值,由此可得程序框圖.解:反思給出程序畫框圖類的題型,關鍵是理解程序的功能是什么,然后進行實際操作,在用賦值語句時,可對一個變量重復賦值,變量的值取最后一次的賦值.【例2】已知函數y=eq\b\lc\{\rc\(\a\vs4\al\co1(2x2-1x〉0,,2x+1x=0,,-2x2+4xx<0,))輸入x的值計算y的值,畫出程序框圖,并寫出程序.分析:本題是屬于已知分段函數的解析式求函數值的問題.本題中分段函數的定義域被分成了三部分,從而在程序中需判定的條件有兩個,在使用條件語句時要注意書寫順序及語句間的對應.解:程序如下.x=input(“x=”);ifx>0y=(2*x^2)-1;elseifx=0y=2*x+1;elsey=-2*x^2+4]endendprint(%io(2),y)程序框圖如下圖所示:反思根據本題可畫出條件語句的整體書寫格式(嵌套式)如下:eq\x(\b\lc\\rc\}(\a\vs4\al\co1(if表達式1,語句序列1;,else,\b\lc\\rc\}(\a\vs4\al\co1(if表達式2,語句序列2;,else,語句序列3;,end))\a\vs4\al(內層條,件語句),end))\a\vs4\al(外層條,件語句))【例3】用for語句寫出計算1×3×5×7×…×2015的值的程序.分析:解決這一問題的算法如下:S1S=1;S2i=3;S3S=S×i;S4i=i+2;S5如果i>2015,則執(zhí)行S6,否則執(zhí)行S3,S4,S5;S6輸出S.解:程序如下:eq\a\vs4\al(S=1;,fori=3:2:2015,S=Si;,end,print%io2,S;)反思(1)本題中的S=Si是循環(huán)體.(2)由于是一個累乘問題,如果我們設定S的初始值為1,i的初始值為1,則第二句也可改為fori=1:2:2015,最后程序的運行結果是一樣的.(3)注意本程序中分號的作用,如果沒有分號,則最后在屏幕上會出現每一步的運行結果;而有分號,則只出現最后的運行結果.【例4】用循環(huán)語句寫出求滿足1+eq\f(1,2)+eq\f(1,3)+…+eq\f(1,n)>10的最小自然數n的算法,并寫出相應程序.分析:本題不等號的左邊為1+eq\f(1,2)+eq\f(1,3)+…+eq\f(1,n),是有規(guī)律的累加運算,故引入累加變量S,而要求S>10的最小自然數n,故可用“whileS<=10”來控制循環(huán),又要引入計數變量i,通過“i=i+1"進行循環(huán).解:算法如下:S1S=0;S2i=1;S3S=S+eq\f(1,i);S4如果S≤10,則令i=i+1,并返回S3,否則輸出i。程序如下:S=0;i=1;S=S+1/i;WhileS<=10i=i+1;S=S+1/i;endprint(%io(2),i);反思由于本題中終值預先不清楚,因此才考慮用while循環(huán),要注意程序與算法一致.【例5】寫出求使1+2+3+…+________<2014成立的所有正整數的一個程序.錯解:S=1;i=1;whileS<2014i=i+1;S=S+i;endprint(%io(2),i);錯因分析:該算法只能輸出符合條件的最大正整數加1后所得的值,故不正確.事實上,為了能輸出所有符合條件的正整數,必須把“print(%io

溫馨提示

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

評論

0/150

提交評論