




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
高一信息科技教師:周智敏辦公室:敬業樓405Email:zhou_zhi_min@163.com1選學模塊算法與程序設計(VisualBasic)2VisualBasic程序演示24點程序五子棋3VisualBasic程序演示簡單的計算器計算器4第一章計算機和算法5第一章計算機和算法問題:做猜價格游戲,需要哪些角色??判斷價格的人(判斷者)猜價格的人(猜者)陳蓉三位猜價格的人6第一章計算機和算法計算機程序同學們猜者——判斷者——7第一章計算機和算法判斷者——計算機程序猜者——同學們根據猜者所猜的價格,給出判斷……直至猜者所猜的價格正確根據判斷者給出的判斷結果繼續猜價格直至所猜的價格正確8第一章計算機和算法判斷者——猜者——計算機程序同學們計算機程序9分析問題并確定要計算機做什么計算者計算機程序——根據用戶輸入的數,進行計算并顯示結果數據提供者用戶——提供計算機程序計算的數據。10第一章計算機和算法計算機程序解決問題一般要經歷以下三個階段尋找解決問題的途徑和方法用計算機進行處理分析問題并確定要計算機做什么編什么程序怎么編程序編寫調試程序分析問題設計算法編寫程序開始結束調試程序11問題1:數據的存儲——在編寫任何一個程序前需要考慮的兩個問題數據在計算機程序中怎么表示?12數據的表示◆變量是用來存儲程序中要用到的數據◆變量的實質是內存中的某一單元——變量存儲單元內存13◆
變量的命名規則:變量名稱只能由字母、數字和下劃線組成組成,且必須由字母開頭。_A_BA_B_C1A@axa.ba1數據的表示——變量辨別下列變量命名的正確性:abcd變量名——存儲單元的名稱10203040變量值——存儲單元中存放的數據14變量的操作輸入——從外界輸入數據,將其存儲到指定的變量中。例1:輸入a例2:輸入a,b注:輸入數據的值是不定(隨機)的ab5201015變量的操作輸出——將文字,變量中的值或計算結果顯示出來。例4:輸出"您好"
例1:輸出a例2:輸出a,b例3:輸出a+bab102016變量的操作s
a×b單個變量多個變量組成的表達式將右邊表達式的值存入左邊的單個變量中賦值:賦值符號“”17變量的操作規則1:“取之不盡”s
a×babs155318變量的操作規則2:“賦值即覆蓋”a
2b
3s
a*ba
5b
6s
a*bab23s6563019練習問:以下步驟的輸出結果是什么①輸入aa80
輸出a①a180aa1
輸出a①a80②輸入a③輸出a①a80b80
輸出a+b①a80
b80
ab
a+b
輸出ab20變量的操作輸入輸出賦值運算操作算術運算關系(比較)運算邏輯運算21變量的操作——算術運算運算類型運算符運算結果優先級算術運算+,-,*(乘),/(除)\(求商)mod(求余數)數值k3^3pkmod4qpmod2p3q1k3^2p15\kqp\2p1q0^(乘方)k27922變量的操作——算術運算運算類型運算符運算結果優先級算術運算+,-,*(乘),/(除)\(求商)mod(求余數)數值^(乘方)1、^2、*,/3、\4、mod5、+,-輸入a,b,cxa+b*c^2y(c+
b)/aaamodx\y-
b輸出x,y,abcayx輸入的值依次為1,2,323問:以下步驟的輸出結果是什么?練習輸入a,bc3d2e3aa-b*c\dmode輸出a輸入a,b,caa\3bb+acc+abb\3aa+bcc+bcc\3aa+cbb+c輸出a,b,c輸入的值依次為21,4輸入的值依次為50,43,1324輸入shs\3600m(smod3600)\60ssmod60輸出h,"/",m,"/",s問:以下步驟的輸出結果是什么?練習若輸入的值363625負數的求商和求余數例:求-9mod4-5\-2-9mod4-94-2-8-1-5\-2-5-22-4-1=-1=2運算規則:|b|<=|x|且|c|<=|y|xyabc被除數除數商余數26課堂練習1、求9\–4和–70mod4的結果2、將數學表達式寫成算法設計語言的表達式。3、求表達式
15–6*2mod5<>3
的值a+b2ab27例m"123"n"321"strm+n輸出str寫出以下步驟執行后的輸出結果"123"mn"321"字符串(文字)連接str"123321"m123n321strm+n輸出str28練習m敬業中學n歡迎您strm+n輸出str寫出下列步驟執行后的輸出結果m"敬業中學"nstr"
"
"
"
"歡迎您""敬業中學歡迎您"m"123"n321strm+n輸出str29變量的操作——字符串運算運算類型運算符運算結果優先級算術運算+,-,*(乘),/(除)\(求商)mod(求余數)數值字符串運算+(字符串連接)字符串^(乘方)1、^2、*,/3、\4、mod5、+,-30變量的操作——關系(比較)運算運算類型運算符運算結果優先級關系運算>,<,>=,<=,=,<>True(T)或False(F)相同True(T):運算結果為真(成立)False(F):運算結果為假(不成立)例:表達式
6\4=5mod4的值是什么31變量的操作——關系(比較)運算運算類型運算符運算結果優先級關系運算>,<,>=,<=,=,<>True(T)或False(F)相同True(T):運算結果為真(成立)False(F):運算結果為假(不成立)例:已知x的值為5,表達式
xmod3>3modx的值是什么32變量的操作——關系(比較)運算運算類型運算符運算結果優先級關系運算>,<,>=,<=,=,<>True(T)或False(F)相同True(T):運算結果為真(成立)False(F):運算結果為假(不成立)例:若要使表達式100
100的值為True,則空格處可以填哪些關系運算符?33變量的操作——邏輯運算運算類型運算符運算結果優先級邏輯運算True(T)或False(F)1not(非)
2and(與)3or(或)and(與)or(或)not(非)34變量的操作——邏輯運算邏輯運算規則ABTrueTrueTrueFalseFalseTrueFalseFalseAorBTrueTrueTrueFalseAandBTrueFalseFalseFalseNotAFalseTrue35變量的操作——邏輯運算下列邏輯運算的結果是什么?1)notpandq2)notporq3)not(porq)4)notqorp5)not(qorp)pqTF36變量的操作——邏輯運算下列邏輯運算的結果是什么?6)(3<=4)andp7)p<>a8)(p=q)or("p"<"q")pqTF37變量的操作——邏輯運算運算類型運算符運算結果優先級邏輯運算and(與)or(或)not(非)True(T)或False(F)注:參與邏輯運算的只能是真(T)和假(F)
數值和字符串不能參加邏輯運算的TandFForFnotF1and90or"AB12ab"not1001not(非)
2and(與)3or(或)38常用函數sqr(x):x的算術平方根abs(x):x的絕對值int(x):小于等于x的最大整數
例:sqr(9) sqr(-4)abs(9)abs(0)abs(-9)int(8.87) int(-8.87)39運算的優先級算術運算(字符串運算)關系(比較)運算邏輯運算常用函數(sqr,abs,int)高低40賦值語句與表達式賦值語句:表達式aamodx\y-
b表達式算術表達式邏輯表達式41課堂練習問:以下是什么表達式,并給出結果1)sqr(a^2+b^2)2)a>b-a3)a<band(c-a)/2>0設變量a的值為3,b的值為4,c的值為542賦值語句與表達式賦值語句:aamodx\y-
b表達式TrueFalse(邏輯值)數值(字符串)最終結果表達式算術表達式邏輯表達式43課堂練習如果變量x的值為4,那么以下表達式的結果是什么?①x<=4andx>=6②x<=4orx>=6③notx<>4④not"a"
>"
b"44回家作業如果變量x的值為6,那么以下表達式的結果是什么?①x<=4andx>=6②x<=4orx>=6③notx<>4④not"a"
>"A"45例:把下列數學算式寫成程序設計表達式6、√p×(p-a)×(p-b)×(p-c)46例:當變量x的值為5時,表達式int(3/2)>5mod3or4/2*2<>1的值是什么?1>5mod3or4/2*2<>11>5mod3or4<>11>2or4<>1falseorTrueTrue47課堂練習寫出下列步驟執行后的結果1)輸入a,b,cx1a+b+cx2x1/3
輸出x1,x2若輸入a的值為3,b的值為7,c的值為-248課堂練習寫出下列步驟執行后的結果2)
輸入xxx+1yx+1zy+1
輸出z若輸入x的值349課堂練習3)m7n3
mm+n
nm+n
輸出m和n寫出下列步驟執行后的結果50課堂練習4)n123
anmod10
bn\100cn\10-b*10
輸出a和b寫出下列步驟執行后的結果51課堂練習5)
以下步驟的功能為:以秒為單位輸入一個整數存入變量t,轉換為時(h)分(m)秒(s)并依次輸出。輸入thms輸出h,m和s若輸入t的值3636則輸出103652課堂練習6)
寫出判斷一個三位正整數(變量n)是否為對稱三位數的關系表達式。對稱三位數:該三位數的百位數和個位數相同。例121,343,797等若該數是對稱三位數,則表達式的值為T;若該數不是對稱三位數,則表達式的值為F百位數個位數=537)
寫出判斷一個年份(變量year)是否為閏年的邏輯表達式。閏年:該年份能被4整除并且不能被100整除,或者能被400整除。例:1992,2000,2004是閏年;1900,2100不是閏年;課堂練習若該年份是閏年,則表達式的值為T;若該年份不是閏年,則表達式的值為F54課堂練習8)
寫出判斷一個兩位正整數(變量n),其十位數是否大于個位數的關系表達式。若該兩位數為12,則表達式的值為F;若該兩位數為54,則表達式的值為T十位數個位數>nmod10n\1055課堂練習9)
寫出判斷一個三位正整數(變量n),其百位數,十位數,個位數之和是否等于個17的關系表達式。若該三位數滿足上述條件,則表達式的值為T;若該三位數不滿足上述條件,則表達式的值為F;十位數個位數百位數++=17nmod10n\10n\10mod1056問題1:數據的存儲——數據在計算機程序中怎么表示?問題2:計算的過程——計算過程如何用計算機的指令來表示?在編寫任何一個程序前需要考慮的兩個問題57問題1:數據的存儲——數據在計算機程序中怎么表示?求矩形的周長和面積①輸入長和寬②周長=(長+寬)×2③面積=長×寬④輸出周長和面積58①輸入長和寬②周長=(長+寬)×2③面積=長×寬④輸出周長和面積需在程序中表示的數據有哪些?長,寬,周長和面積如何表示這些數據a:長b:寬c:周長s:面積變量問題1:數據的存儲——數據在計算機程序中怎么表示?59如何表示這些數據a:長b:寬c:周長s:面積變量abcs531615問題1:數據的存儲——數據在計算機程序中怎么表示?①輸入長和寬②周長=(長+寬)×2③面積=長×寬④輸出周長和面積①輸入a和b②c=(a+b)×2③s=a×b④輸出c和s60解決具體問題的步驟寫出輸入已知矩形的長和寬,輸出其面積和周長的解題步驟。①開始②輸入長a和寬b③計算周長c面積s
c(a+b)*2
sa*b④輸出c和s⑤結束61猜價格游戲設:正確價格已存入變量M寫出猜價格游戲(判斷者)的解題步驟①開始②輸入價格N⑤如果N<M,輸出"低了!"④如果N>M,輸出"高了!"③如果N=M,輸出"猜對了!"轉到⑥轉到②轉到②⑥結束62解決具體問題的步驟求矩形面積和周長算法猜價格游戲(判斷者)②
輸入價格N⑤如果N<M,輸出“低了!”,
轉到②④
如果N>M,輸出“高了!”,
轉到②③如果N=M,輸出“猜對了!”轉到⑥⑥結束①開始①開始②輸入長a和寬b③計算周長c面積s
c(a+b)*2
sa*b④輸出c和s⑤結束63算法:是在有限步驟內求解某一問題所使用的具有精確定義的一系列操作規則。
簡單地說,算法就是指解決問題的具體方法和步驟算法的概念:64算法的特性
是在有限步驟內求解某一問題所使用的具有精確定義的一系列操作規則算法◆
有窮性(有限的)◆能行性(可行的)◆確定性(無二義性)◆有0個或多個輸入◆有1個或多個輸出五個特性65指出以下算法違反哪些特性開始ht\3600m(tmod3600)\60stmod60結束x5y2xx*正整數yx/(y-2)輸出x◆有窮性◆確定性◆確定性◆有1個或多個輸出◆可行性66算法的三種表示方法用自然語言描述算法用流程圖描述算法用偽代碼描述算法67自然語言偽代碼流程圖④計算分鐘數存入變量m①開始②輸入以秒為單位的一個整數存入變量t⑦
結束⑥
輸出變量h,m,s
的值③計算小時數存入變量h開始輸入th=t\3600s=tmod60輸出h,m,s結束⑤計算秒數存入變量sm=(tmod3600)\60轉換秒至時分秒的算法表示68■用偽代碼描述算法簡化了的編程語言■用流程圖描述算法用圖形的方法來描述算法■用自然語言描述算法漢語+必要數學符號算法的三種表示方法不直觀,不簡潔69自然語言偽代碼流程圖④計算分鐘數存入變量m①開始②輸入以秒為單位的以個整數存入變量t⑦
結束⑥
輸出變量h,m,s
的值③計算小時數存入變量h開始輸入th=t\3600s=tmod60輸出h,m,s結束⑤計算秒數存入變量sm=(tmod3600)\60轉換秒至時分秒的算法表示ht\3600stmod60輸入t輸出h,m,s開始結束m(tmod3600)\6070流程圖中的圖形開始、結束框(圓角矩形)輸入、輸出框
(平行四邊形)算法中具體的計算操作處理框(矩形)算法中的判斷操作判斷框(菱形)流程線(有向線段)指出算法的流程方向連接框(圓形)ht\3600stmod60輸入t輸出h,m,s開始結束m(tmod3600)\6071自然語言偽代碼流程圖④計算面積存入變量s①開始②輸入長和寬存入變量a和b⑥結束⑤輸出變量s和c
的值③計算周長存入變量c開始輸入a和bc=(a+b)*2s=a*b輸出s和c結束已知矩形的長和寬,求面積和周長的算法表示c(a+b)*2sa*b輸入a,b輸出s,c開始結束72典型算法1:輸入兩個數存入變量a和b中,將這兩個變量的值互相交換一下并輸出。ab35ab5335交換兩個變量的值輸入a,b輸出a,b開始結束73典型算法1:輸入兩個數存入變量a和b中,將這兩個變量的值互相交換一下并輸出。tab33553①②③ab53輸入a,b輸出a,b開始結束74輸入a,b輸出a,b開始結束tab33553①②③典型算法1:輸入兩個數存入變量a和b中,將這兩個變量的值互相交換一下并輸出。taabbtab53①②③75典型算法練習:實現下面的算法:輸入兩個數存入變量a和b中,將兩個變量的值互相交換一下并輸出要求1:不允許使用第三個變量要求2:畫出該算法的流程圖①②③輸入a,b輸出a,b開始結束aa+bba-b輸入a,b輸出a,baa-b開始結束76算法流程圖的題型舉例讀流程圖,寫執行結果讀流程圖,寫算法功能根據流程圖的功能描述,將流程圖填空根據問題,設計算法畫出流程圖77讀流程圖,寫執行結果輸出fb3開始結束c4a2d(a+b)*c/278讀流程圖,寫算法功能輸入a,b,c開始結束averagesum/3suma+b+c輸出average算法功能:輸入三個數,輸出這三個數的平均數79根據流程圖的功能描述,將流程圖填空輸出f開始結束a2.5f3*a^3+5*a^2-12*a-9.8計算并輸出,當a=2.5時,代數式3a3+5a2-12a-9.8的值80根據流程圖的功能描述,將流程圖填空輸入圓柱體底面直徑和高,輸出其體積Π取3.14輸出v開始結束s3.14*d*d/4vh*s輸入d,h81例:輸入任意一個兩位正整數,輸出它的十位數字輸入任意一個兩位正整數n①需要輸入嗎?②如何解決?③輸出什么?將n的十位數字存入變量f輸出變量f輸入n輸出f開始結束fn\10根據問題,設計算法畫出流程圖82練習:輸入任意一個大于9的正整數,輸出它的十位數字輸入n輸出f開始結束根據問題,設計算法畫出流程圖83轉換公式:華氏溫度=(9/5)×攝氏溫度+32練習:輸入攝氏溫度,輸出相應的華氏溫度84例:輸入任意一個三位正整數,輸出它的百位數和個位數互換之后的新三位正整數(若輸入456,則輸出654)輸入什么?操作步驟?輸出什么?輸入任意一個三位正整數n①將n的十位數存入變量c將n的百位數存入變量a重新組后變量a,b,c之后存入變量f輸出變量f根據問題設計算法,并畫出流程圖輸入n輸出f開始結束設計算法將n的個位數存入變量b②③④⑤⑥開始結束⑦⑧85交換一個三位正整數的百位和個位數字an\100輸入x輸出xbn\10mod10cnmod10fc*100+b*10+a開始結束按照流程線方向依次執行步驟2步驟3步驟1順序模式一個入口一個出口求矩形面積和周長c(a+b)*2sa*b輸入a,b輸出s,c開始結束輸入a,b輸出a,btaabbt交換兩個變量的值開始結束86例:輸入三角形三邊的長度a,b,c(都是正整數),輸出其面積ss=√p×(p-a)×(p-b)×(p-c)其中p=(a+b+c)/2若a,b,c為三邊長度,則面積s為輸入a,b,c輸出sp(a+b+c)/2ssqr(p*(p-a)*(p-b)*(p-c))
開始結束87結束YN輸出sp(a+b+c)/2ssqr(p*(p-a)*(p-b)*(p-c))"無法構成三角形"輸出(a+b>c)and(b+c>a)and(c+a>b)邏輯運算例:輸入三角形三邊的長度a,b,c(都是正整數),輸出其面積s輸入a,b,c開始88算法的三種基本模式順序模式選擇模式一步一步地依次執行有選擇地執行89選擇模式選擇條件是步驟A否步驟B兩個數據的大小比較>,<,>=,<=,=,<>關系表達式根據給定條件是否成立而決定執行不同步驟的算法模式
邏輯表達式
與,或,非And,Or,Not關系運算符邏輯運算符真/假真/假90例:輸入一個數x,輸出x的絕對值YN輸入xaxa-x方法一開始結束x>=0輸出a91判斷條件選擇條件是步驟A否步驟B選擇模式根據判斷框中的條件,有選擇地執行某一步驟選擇條件是步驟A否雙分支選擇模式單分支選擇模式92例:輸入一個數x,輸出x的絕對值YNx>=0輸入x輸出aaxa-x方法一開始結束N輸入xY輸出x方法二開始結束x<0x-x93選擇算法練習:輸入三個數a,b和c,輸出其中的最大數要求:將所給的流程圖填完整YN輸入a,b,c輸出maxc>maxNY
開始結束94選擇算法練習:輸入三個數a,b和c,輸出其中的最大數要求:將所給的流程圖填完整YN輸入a,b,ca>bmaxamaxb開始輸出maxc>maxNY
結束maxc95典型選擇算法練習要求1:將流程圖畫在本子上下課后交練習:輸入三個數a,b和c,輸出其中的最小數YN輸入a,b,c輸出minNY
開始結束96選擇模式的嵌套問題:輸入一元二次方程ax2+bx+c=0的系數a、b、c(a<>0),輸出此方程的根x1,x2=-b+2*a√b2-4*a*cx1=x2=-b2*ab2-4*a*c>0b2-4*a*c=0b2-4*a*c<0無實數根具體操作選擇條件97輸出x1選擇模式的嵌套YNd>0db*b-4*a*cNYd=0x1(-b)/(2*a)輸出"無實根"輸入a,b,c開始結束輸出x1,x2x1(-b+sqr(d))/(2*a)x2(-b-sqr(d))/(2*a)問題:輸入一元二次方程ax2+bx+c=0的系數a、b、c(a<>0),輸出此方程的根98YNYNYNYN選擇模式的嵌套YNYNYN99拓展:輸入方程ax2+bx+c=0的系數a,b,c,輸出此方程的根
x=-cba=0a<>0x1,x2=-b+2*a√b2-4*a*cx1=x2=-b2*ab2-4*a*c>0b2-4*a*c=0b2-4*a*c<0無實數根b=0b<>0c=0c<>0方程不成立x為一切實數100選擇模式嵌套的練習練習:購買地鐵車票:乘1-4站3元/位;5-9站4元/位;9站以上5元/位;輸入人數person、站數n,輸出應付款pay。
YN輸入n,person輸出payNY開始結束101典型選擇算法:輸入三個數,將這三個數按從大到小的順序輸出Ya>cN輸入a,b,cNa>bY輸出a,b,cYb>cN輸出a,c,b輸出c,a,b輸出b,a,ca>cYN輸出b,c,ab>cYN輸出c,b,a開始結束102方法二Na<b?YtaabbtNa<c?Ytaacct11b<c?YtbbcctN典型選擇算法:輸入三個數,將這三個數按從大到小的順序輸出輸入a,b,c開始輸出a,b,c結束103例:有一分段函數y=xx>0-1x=0-xx<0,根據輸入的x,輸出相應的y值x>0YN輸入xyxx=0輸出yNYy-1y-x選擇模式的嵌套開始結束104算法的三種基本執行流程順序模式選擇模式依次執行根據條件有選擇地執行循環模式?步驟2步驟3步驟1選擇條件Y步驟AN步驟B105例:輸入某一個成績,輸出其是否及格。score>=60YN輸出"及格"輸出"不及格"輸入score例:輸入某班某次測驗的成績,統計并輸出這次測驗的及格與不及格人數注:假設班級的總人數為40開始結束106score>=60YN輸出"及格"輸出"不及格"輸入scorescore>=60YN輸出"及格"輸出"不及格"輸入scorescore>=60YN輸出"及格"輸出"不及格"輸入score???40次例:輸入某班某次測驗的成績,統計并輸出這次測驗的及格與不及格人數注:假設班級的總人數為40開始結束107開始結束例:輸入某班某次測驗的成績,統計并輸出這次測驗的及格與不及格人數注:假設班級的總人數為40score>=60YN輸出"及格"輸出"不及格"輸入score108Nscore>=60YN輸出"及格"輸出"不及格"輸入score執行次數+1執行次數賦值為0輸出及格人數,不及格人數i0例:輸入某班某次測驗的成績,統計并輸出這次測驗的及格與不及格人數注:假設班級的總人數為40開始結束執行次數<40Y及格人數+1不及格人數+1使用變量如下i執行次數i0,c10,c20i<40ii+1c2c2+1c1c1+1輸出c1,c2c1及格人數c2不及格人數109Nscore>=60YN輸入score開始結束Yi0,c10,c20i<40ii+1c2c2+1c1c1+1輸出c1,c2循環條件循環體循環初始化110循環體Y循環條件N循環初始化對循環條件和循環體中使用的變量賦初始值循環模式——流程圖的基本架構
需要重復執行的操作
決定循環體是否執行111算法的三種基本執行流程順序模式選擇模式依次執行根據條件有選擇地執行循環模式?在一定條件下重復執行某些步驟112①高一年級去上??萍拣^參加志愿者活動,從學校到上??萍拣^有兩條路線,已知各路線所需的時間,根據所需時間請你選擇耗時最短的一種路線。②教師批改一個班級40位同學的回家作業。③“臺風納沙”來臨,廣播中連續播出停課通知5次。以下的事例中哪些適宜用循環模式來解決?頭腦風暴113以下的事例中哪些適宜用循環模式來解決?頭腦風暴④小明參加“挑戰者”體能競賽,根據競賽活動指南圖依次完成所有項目。⑤計算1*2*3*…*n的結果。⑥公共交通實行的換乘優惠方針,若兩輛車換乘時間間隔小于2小時,第二輛車的車票優惠1元,計算一下你一天所需的路費。114以下的事例中哪些適宜用循環模式來解決?頭腦風暴⑦學校開展財產維修登記,班級的財產管理員需統計出教室中40套課桌椅中有多少套破損,并將統計情況報告總務處。⑧早上小組長不小心把小組8位同學的數學作業和物理作業混在一起交給了物理課代表。請幫助小組長找出這8位同學的數學作業。115練習:輸入20個數,統計出其中正數的個數,負數的個數以及零的個數YNYN輸入numYN開始結束116例:輸入某班某次測驗所有同學的成績,統計并輸出這次測驗該班的平均成績注:假設班級的總人數為40N
求總分
sumsum+score循環體Y循環條件循環初始化輸入score執行次數+1執行次數<40ii+1i<40i0sum0開始結束輸出平均分輸出sum/i使用變量如下i執行次數sum總分117N
sumsum+scoreY輸入scoreii+1i<40i0sum0開始結束輸出sum/i特殊變量:累加器存儲一些數據之和的變量(sum)典型用法1、置初值sum02、在循環體中執行
累加操作
sumsum+score118N
sumsum+scoreY輸入scoreii+1i<40i0sum0開始結束輸出sum/i例:輸入某一班級某次測驗的數學成績,統計并輸出及格與不及格的人數注:假設班級的總人數為50特殊變量:計數器作用:記錄某事件發生的次數(i)計數器變量用法1置初值i02記錄某事件發生時,在循環體中執行ii+1119score>=60YN輸出“及格”輸出“不及格”輸入scoreii+1i0i<50YNc2c2+1c1c1+1輸出c1,c2i0c10c20計數器變量計數操作左邊的流程圖中有計數器變量嗎?計數器變量賦初值開始結束120+1001+2+3+……求的和輸出sumii+1NY課堂練習問1:循環體問2:循環條件問3:循環初始化所累加的數加1累加求和sum0i1i<=100ii+1sumsum+i開始結束121輸出結果:+1001+2+3+……求的和sum011+2231+2+341i1+…+98991+…+991001+…+100101??????輸出sumii+1i<=100sum0i1sumsum+iNY開始結束5050122輸出sumii+1i<=100i1sumsum+iNY開始結束sum0循環變量控制循環是否執行的變量?i循環如何控制循環變量如何使用循環體執行的次數是否已知?100次1)設初值i12)設終值i<=1003)設步長ii+1123N
sumsum+scoreY輸入scoreii+1i<40i0sum0開始結束輸出sum/i循環變量i循環體執行的次數40次循環如何控制循環變量如何使用1)設初值i02)設終值i<403)設步長ii+1計數器124控制循環方法計數法循環體的執行次數已知循環變量的初值
循環變量的終值
循環變量的步長
125課堂練習:畫出求解以下問題的算法流程圖求滿足1+2+3+4+…+n>2000最小的n值問2:循環體問3:循環條件問1:能否計數法控制循環不能循環體次數未知累加器sum<=2000i1NYsum0開始結束所累加的數加1累加求和ii+1sumsum+i126課堂練習:畫出求解以下問題的算法流程圖用某(些)變量的值是否滿足規定條件來控制循環標志法——求滿足1+2+3+4+…+n>2000最小的n值ii+1sum<=2000i1sumsum+iNYsum0輸出i-1開始結束127控制循環方法計數法循環體的執行次數已知標志法循環體的執行次數未知用某(些)變量的值是否滿足規定條件來控制循環128練習:輸入一批學生的成績,輸出這些成績的平均分。(由于成績必>=0,所以當輸入-1時表示結束)問3:循環體問2:循環條件問1:計數法?標志法?輸入的成績score<>-1輸入成績score累加求總分計數操作(學生的總人數)問4:循環初始化sum0count0sumsum+scorecountcount+1scoresum累加器count計數器成績變量129例:輸入一批學生的成績,輸出這些成績的平均成績。(由于成績必>=0,所以當輸入-1時表示所有的學生成績輸入完畢)YN
sum0count0countcount+1輸入score開始結束130例:輸入一批學生的成績,輸出這些成績的平均成績。(由于成績必>=0,所以當輸入-1時表示所有的學生成績輸入完畢)NYscore=-1sum0count0sumsum+score輸入scorecountcount+1開始131例:輸入一批學生的成績,輸出這些成績的平均成績。(由于成績必>=0,所以當輸入-1時表示所有的學生成績輸入完畢)NYscore=-1sum0count0sumsum+score輸入scorecountcount+1開始循環條件循環體循環初始化132NY循環條件循環體循環初始化“直到型”循環模式執行順序1)先循環初始化2)再循環體3)最后循環條件YN注:循環條件不滿足返回循環操作循環條件滿足不返回循環操作133循環條件YN循環體循環初始化“當型”循環模式執行順序1)先循環初始化2)再循環條件3)最后循環體Y當循環條件滿足執行循環體當循環條件不滿足不執行循環體N134循環模式“當型”循環模式“直到型”循環模式循環體有可能一次也不執行循環體至少執行一次135例:輸入一批學生的成績,輸出這些成績的平均成績。(由于成績必>=0,所以當輸入-1時表示所有的學生成績輸入完畢)YN
sumsum+scoresum0count0輸入scorecountcount+1score<>-1輸入score1開始YN輸出sum/count1count=0輸出“數據異常”結束136輸出(sum+1)/(count-1)count=1輸出“數據異常”結束YNNYscore=-1sum0count0sumsum+score輸入scorecountcount+1開始例:輸入一批學生的成績,輸出這些成績的平均成績。(由于成績必>=0,所以當輸入-1時表示所有的學生成績輸入完畢)137NY循環條件循環體循環初始化“直到型”循環模式循環條件YN循環體循環初始化“當型”循環模式相互轉換先判斷循環條件再執行循環體再判斷循環條件先執行循環體138例:用“直到型”循環模式來畫出1+2+3+……+100的算法流程圖。輸出sum開始NY結束139N例:求滿足1+2+3+4+…+n>20最小的n值ii+1sum<=20開始i1sumsum+iNY結束sum0輸出(i-1)開始i1sum0結束輸出(i-1)sum>20ii+1sumsum+iY140求滿足1+2+3+4+…+n<100最大的n值用“當型”和“直到型”循環模式分別畫出以下問題的算法流程圖開始NY結束開始NY結束141循環模式“當型”循環模式控制循環方法計數法——用某(些)計數器變量來控制循環(循環體執行次數已知)標志法——用某(些)變量的值是否滿足規定條件來控制循環(循環體執行次數未知)“直到型”循環模式循環條件循環體循環初始化142課堂練習:畫出求解以下問題的算法流程圖畫出求自然數1×2×3×……×n的流程圖,n由鍵盤輸入結束開始輸出sumii+1Ni<=100sum0i1sumsum+iY輸入ni<=nsumsum×isum1i1sum111×2231i1×2×341×…×nn+1143畫出求課堂練習:畫出求解以下問題的算法流程圖111+2+3+4+…1n+11的流程圖,n由鍵盤輸入結束開始輸出sumii+1Ni<=100sum0i1Y輸入ni<=n144課堂練習:畫出求解以下問題的算法流程圖結束開始Ni<=100Y求sum=2+4+6+……+n的值,其中n為偶數,由鍵盤輸入145課堂練習:畫出求解以下問題的算法流程圖求滿足1+2+3+4+…+n>20最小的n值結束開始ii+1Ni<=100sum0i1sumsum+iY146課堂練習:畫出求解以下問題的算法流程圖畫出輸入30個數,輸出這些數的平均數的算法流程圖YN
開始sumcount輸入num輸出sum/30結束countcount+1147課堂練習:畫出求解以下問題的算法流程圖求滿足1+2+3+4+…+n>20最小的n值分析題意:1+2+3+4+5+6=21>20循環體循環條件循環初始化累加和1+2+3+…+n<=20ii+1sumsum+isum<=20sum0i1148求滿足1+2+3+4+…+n>20最小的n值課堂練習:畫出求解以下問題的算法流程圖結束開始ii+1Ni<=100sum0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥劑類考試成果分析試題及答案
- 教師資格考試中的實際案例與試題及答案
- 心理學試題及答案記憶
- 藥劑學專業基礎試題及答案
- 激光制品設計中的注意事項試題及答案
- 母豬疾病防控知識的運用試題及答案
- 提高藥師考試通過率的有效策略試題及答案
- 系統架構考試的審核與評估策略試題及答案
- 理解專利界定對企業創新策略的指導性作用試題及答案
- 拼圖模板測試題及答案
- 織碼匠文字材料語言大綱目錄
- 2023年全國測繪生產成本費用定額
- 2023年河南應用技術職業學院單招職業適應性測試題庫及答案解析
- GB/T 28758-2012起重機檢查人員的資格要求
- GB 18489-2001管形熒光燈和其他放電燈線路用電容器一般要求和安全要求
- 設計變更指令單
- 《高速鐵路無砟軌道修理規則》第九章維修工機具、常備材料與作業車輛停留線課件
- 三年級《中國古代寓言故事》知識考試題庫(含答案)
- 摩擦學發展前沿課件
- (通用版)醫院收費員考試試題及答案
- 個人有關事項報告表(全)
評論
0/150
提交評論