廣東八年級信息技術(shù)下冊全冊教案_第1頁
廣東八年級信息技術(shù)下冊全冊教案_第2頁
廣東八年級信息技術(shù)下冊全冊教案_第3頁
廣東八年級信息技術(shù)下冊全冊教案_第4頁
廣東八年級信息技術(shù)下冊全冊教案_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、八年級信息技下冊術(shù)教案第一課:小海龜畫正三角形教學(xué)目標(biāo): 1初步認(rèn)識smallbasic語言,了解其基本的操作使用方法。2、理解什么是對象及其屬性、操作方法。 3、認(rèn)識“Turtle”對象,掌握其屬性、操作方法。 4、掌握使用smallbasic命令(語句)畫正三角形的方法。教學(xué)重難點(diǎn): 重點(diǎn):掌握使用對象的屬性、操作的方法;難點(diǎn):理解對象及其屬性、操作。冊教學(xué)方法: 演示法、任務(wù)驅(qū)動(dòng)法、講授法教學(xué)過程: 一、認(rèn)識SmallBasic 開始smallbasic運(yùn)行二、命令的分析Turtle.move實(shí)例教學(xué)(教師演示)畫三角形:Turtle.move(100)Turtle.turn(120)T

2、urtle.move(100)Turtle.turn(120)Turtle.move(100)Turtle.turn(120)四、 學(xué)生動(dòng)手實(shí)踐 1、 經(jīng)過自主練習(xí),同學(xué)們能夠成功運(yùn)行程序嗎?最終畫出什么圖形呢? 2、 不成功的話,又存在著哪些問題呢?為什么呢?該如何解決呢? 五、 深入學(xué)習(xí)1、 思考問題: A、 小海龜能不能在窗口的任意位置畫三角形? B、 小海龜能不能“爬”快點(diǎn)? C、 小海龜開始“爬”時(shí),頭能否不垂直向上,能否改變方向? 2、屬性、操作的學(xué)習(xí)3、實(shí)例教學(xué)六、自主練習(xí)任務(wù):請同學(xué)們利用已經(jīng)學(xué)習(xí)的Turtle屬性和操作,自己動(dòng)手試一試,畫出各種圖 形。 七、學(xué)生演示八、總結(jié)第

3、二課:小海龜畫彩色正五邊形教學(xué)目標(biāo):1、理解變量及其命名規(guī)則2、掌握變量的賦值及變量的應(yīng)用3、認(rèn)識GraphicsWindow對象及常用屬性設(shè)置教學(xué)重難點(diǎn)重點(diǎn):變量及其應(yīng)用難點(diǎn):理解賦值語句,不要將賦值語句和數(shù)學(xué)中的等式混為一談。教學(xué)方法講授法、演示法、任務(wù)驅(qū)動(dòng)法教學(xué)過程一、引入教學(xué)1、小海龜畫一個(gè)正三邊形。 2、小海龜畫正五邊形命令: 命令:Turtle.move(length) Turtle.move(length)Turtle.turn(e) Turtle.turn(e)Turtle.move(length) Turtle.move(length)Turtle.turn(e) Turtl

4、e.turn(e)2疑問?海龜畫正五邊形的方法與畫正三邊形的方法相似:畫一條邊,旋轉(zhuǎn)一定的角度,然后再畫一條邊,旋轉(zhuǎn)一定的角度直到畫完。然而,兩者唯一不同的地方就是邊數(shù)和旋轉(zhuǎn)的角度。假如小海龜要畫正N邊形,需要修改旋轉(zhuǎn)的角度,以及畫的邊長的大小,這時(shí)候一個(gè)一個(gè)地修改,會(huì)不會(huì)很麻煩呢?為了簡化工作,對于邊長的大小和旋轉(zhuǎn)的角度,我們能否分別用代表未知數(shù)的“符號”來表示呢?二、變量1、我們將程序中代表某個(gè)值的符號稱為“變量”。2、變量是程序用來保存數(shù)據(jù)的。3、規(guī)則:A、變量名要以字母、漢字、數(shù)字、下劃線命名,且不能以數(shù)字開頭。B、變量名不能與對象、屬性、操作名相同,也不能與SmallBasic中的保

5、留字相同,例如:if不能作為變量名。C、變量名應(yīng)盡量簡單易懂。例子:(正三邊形)S=3Length=100E=360/STurtle.Move(Length)Turtle.Turn(E)Turtle.Move(Length)Turtle.Turn(E)Turtle.Move(Length)Turtle.Turn(E)三、賦值語句變量就像一個(gè)存放數(shù)據(jù)的“盒子”,當(dāng)我們在程序中需要使用該“盒子”中的數(shù)據(jù)時(shí),只要用該變量名指代就行了。而在“盒子”中存放數(shù)據(jù),我們就用到賦值語句。比如:S=3把數(shù)值3存放在變量S中。Length=100把數(shù)值100存放在變量LengthE=360/S先算出表達(dá)式360/

6、S的結(jié)果(120),其中S=3,然后把數(shù)值120存放在變量E注意:表達(dá)式中國可以包含函數(shù)、常量、變量,用小括號“()”表示運(yùn)算的優(yōu)先次序變化。不能用中括號“*+”.表達(dá)式中使用的算術(shù)運(yùn)算符是:+-*/?!靖袷健孔兞棵?表達(dá)式【作用】:將右端表達(dá)式的值存放到左邊的變量中。變量被賦值之后,變量名就代表右邊表達(dá)式的值,直到又有賦值語句改變了該變量的值。設(shè)置屬性值:對象名.屬性名=表達(dá)式比如:Turtle.x=1003、自主練習(xí):請同學(xué)們利用已經(jīng)學(xué)習(xí)的Turtle和GraphicsWindow屬性和操作,自己動(dòng)手試一試,畫出各種圖形。五、學(xué)生演示六、任務(wù)驅(qū)動(dòng)任務(wù)一:完成書本P12試一試,猜一猜Grap

7、hicsWindow各屬性和操作的含義。任務(wù)二:完成書本p12試一試第二題,畫綠色的正五邊形。任務(wù)三:完成書本p12試一試第三題,在圖形窗口寫上“我愛編程”,設(shè)置合適的顏色和字號。提示:使用GraphicsWindow.Draw(x,y,text)操作,字號:GraphicsWindow.FontSize屬性操作)七、總結(jié)小海龜畫正多邊形學(xué)習(xí)要點(diǎn):1了解什么是算法,了解算法的自然語言描述和流程圖描述。2理解ForEndFor循環(huán)語句的使用方法。重點(diǎn)難點(diǎn):本課的重點(diǎn)是學(xué)習(xí)ForEndFor循環(huán)語句及使用,難點(diǎn)是理解循環(huán)的i=1i=3畫一條邊,右轉(zhuǎn)120度I增加1結(jié)束開始控制。一、 流程圖 For

8、EndFor循環(huán)語句的格式如下:For=ToStepEndFor 否 是畫正三角形的程序如下:Fori=1to3Turtle.Move(100)Turtle.Turn(120)EndFor二、 練習(xí)的編程任務(wù):1 編程讓小海龜畫樓梯,樓梯踏板的寬度和高度都是30。程序如下:S=5Length=30For i=1 to S step 1Turtle.Move (Length)Turtle.Turn (90)Turtle.Move (Length)Turtle.Turn (-90)EndFor2、編寫程序,畫出P19的螺旋圖形。S=4Length=50E=360/SGraphicsWindow.P

9、enColor=RedFor i=2 to Length step 2Turtle.Move (i)Turtle.Turn (E)EndFor三、小結(jié)流程圖作為算法描述的一種形式,非常直觀,對學(xué)習(xí)編程、閱讀理解程序都是很有幫助的,“小海龜畫正多邊形”這個(gè)任務(wù)引出算法和流程圖的概念,讓我們對“算法”不感到枯燥、抽象,能夠達(dá)到比較好的學(xué)習(xí)效果。第 四 課:累加求和學(xué)習(xí)要點(diǎn):1理解累加的含義,掌握實(shí)現(xiàn)累加的方法。2掌握用ForEndFor循環(huán)語句實(shí)現(xiàn)累加求和的方法及過程。3學(xué)會(huì)應(yīng)用ForEndFor循環(huán)語句解決與累加求和相似的計(jì)算問題。重點(diǎn)難點(diǎn):本課的重點(diǎn)是進(jìn)一步熟悉ForEndFor循環(huán)語句的使用

10、方法,難點(diǎn)是用賦值語句實(shí)現(xiàn)累加計(jì)算,理解賦值語句:sum=sum+i。一、設(shè)計(jì)算法和流程圖示信息時(shí)經(jīng)常要使用連接符“+”,例如:GraphicsWindow.DrawText(100,100,1+3+79=+sum)TextWindow.WriteLine(1+3+79=+sum)在這里,1+3+79=是一個(gè)字符串,sum是一個(gè)代表數(shù)值的變量,它們之間的“+”號是一個(gè)連接符,不是運(yùn)算符,事實(shí)上,當(dāng)字符串與數(shù)值相加時(shí),加號就是連接符;當(dāng)數(shù)值與數(shù)值相加時(shí),加號就是運(yùn)算符??梢宰寣W(xué)生運(yùn)行下面的語句領(lǐng)悟連接符的作用:GraphicsWindow.DrawText(100,100,1+2+100=?+5

11、050)GraphicsWindow.DrawText(100,100,1+2+100=?+5050+1000)GraphicsWindow.DrawText(100,100, 5050+1000)“編寫程序,計(jì)算:1+2+100將結(jié)果顯示在圖形窗口流程圖:程序如下:Sum=0For i=1 to 100 step 1Sum=Sum+iEndForGraphicsWindow.BrushColor=RedGraphicsWindow.FontSize=30GraphicsWindow.DrawText(100,100,1+2+100=+Sum)二、顯示信息 在small Basic中有兩個(gè)顯示

12、信息的窗口,SmallBasic中最常用的對象 1、一個(gè)是圖形窗口“GraphicsWindow”,可以繪圖也可以顯示文字信息。 2、一個(gè)是文本窗口“TextWindow”,這個(gè)窗口只能顯示文字信息。例如: DrawLine是Draw Line,是畫直線的意思; DrawText是Draw Text,是顯示文本的意思; DrawResizedImage是Draw Resized Image,是畫特定大小的圖形的意思。練習(xí):編寫程序,計(jì)算:90+85+80+20將結(jié)果顯示在文本窗口,顯示格式如下:90+85+80+20=825Sum=0For i=90 to 20 step -5Sum=Sum+

13、iEndForTextWindow.WriteLine(90+85+20=+Sum)三、 小結(jié)使用變量進(jìn)行累加計(jì)算是循環(huán)語句及循環(huán)結(jié)構(gòu)中的一個(gè)重要內(nèi)容,sum=sum+1或sum=sum+i對我們來說理解起來有難度,教材用流程圖對計(jì)算1+2+89的過程進(jìn)行了詳盡敘述,將變量比喻成一個(gè)存放數(shù)據(jù)的“盒子”,以加深我們對賦值語句sum=sum+i的理解。在學(xué)習(xí)中還可以再增加12個(gè)類似的例子加以說明,計(jì)算結(jié)果既可以在“GraphicsWindow”窗口也可以在“TextWindow”窗口中顯示,我們可以通過對比兩種輸出方式的不同,在今后的編程中自覺地選擇合適的輸出窗口。第五課:電腦出算術(shù)題學(xué)習(xí)要點(diǎn):1

14、掌握IfThen語句的書寫格式及使用方法。2掌握IfThen語句中條件的表達(dá)方法。3學(xué)會(huì)使用Math對象的常用操作(即函數(shù))、TextWindows對象的Read操作。重點(diǎn)難點(diǎn):本課的重點(diǎn)是IfThen語句的格式和使用方法,難點(diǎn)是條件的表達(dá)。編寫一個(gè)程序,電腦給我們隨機(jī)地出算術(shù)題,我們回答計(jì)算結(jié)果,然后電腦判斷我們是做對了還是做錯(cuò)了。For i=1 To 10 Step 1a=Math.GetRandomNumber(100)b=math.GetRandomNumber(100)c=a+b TextWindow.Write(a+b+=)d=TextWindow.Read()If c=d The

15、n TextWindow.WriteLine(正確,你好棒!)EndIf If cd Then TextWindow.WriteLine(你算錯(cuò)了,加油哦!)EndIf TextWindow.WriteLine(正確答案是:+a+b+=+c)EndFor 一、Math 對象a=Math.GetRandomNumber(x)該語句作用是:隨機(jī)產(chǎn)生一個(gè)1x的整數(shù),并賦值給變量a。其中:x為大于等于1的整數(shù)。GetRandomNumber:Get(獲?。?、Random(隨機(jī))、Number(整數(shù))。語句分析:1、a=Math.GetRandomNumber(100)表示隨機(jī)獲得一個(gè)1-100之間的整

16、數(shù)。 2、TextWindow.Write(a+b+=)在文本窗口中顯示a+b=,其中,a,b分別是隨機(jī)獲取的整數(shù)3、d=TextWindow.Read()表示在文本窗口中等待操作者輸入一個(gè)數(shù)學(xué),輸入之后按回車鍵,輸入的內(nèi)容就保存到變量d中。二、條件判斷語句【格式一】If ThenEndIf 若條件成立,則執(zhí)行然后再執(zhí)行Endif后的語句;若條件不成立,則直接執(zhí)行Endif后的語句。、【格式二】If ThenElseEndIf a=Math.GetRandomNumber(100)b=math.GetRandomNumber(100)c=a+b TextWindow.Write(a+b+=)d

17、=TextWindow.Read()If c=d Then TextWindow.WriteLine(正確,你好棒!)Else TextWindow.WriteLine(你算錯(cuò)了,加油哦!)EndIf TextWindow.WriteLine(正確答案是:+a+b+=+c)練習(xí)(課本29頁)1、將電腦出算術(shù)題的程序輸入電腦,然后運(yùn)行程序。在你理解這個(gè)程序后,請你對程序進(jìn)行修改,將程序改為下列形式的算術(shù)題:(a*b)-(a+b)=2、設(shè)計(jì)一個(gè)簡單的“人機(jī)對話”程序。首先電腦問:“你喜歡學(xué)習(xí)Small Basic嗎?y/n?!比绻惆础皔”,電腦回答“那太好了!”:如果你按“n”,電腦回答“那太遺

18、憾了?!?。第六課:擲骰tu子學(xué)習(xí)要點(diǎn):1進(jìn)一步熟悉TextWindow和Math兩個(gè)對象的常用操作。2了解人機(jī)交互的方法。3理解循環(huán)語句WhileEndWhile,并能靈活地使用該語句編寫循環(huán)結(jié)構(gòu)的程序。重點(diǎn)難點(diǎn)理解循環(huán)語句WhileEndWhile是本課的重點(diǎn),也是難點(diǎn)。While EndWhile和ForEndFor都能實(shí)現(xiàn)程序的循環(huán)運(yùn)行,但WhileEndWhile循環(huán)語句更加靈活,用ForEndFor語句能夠?qū)崿F(xiàn)的循環(huán)都能用WhileEndWhile實(shí)現(xiàn)。(一) 導(dǎo)入例子:編寫一個(gè)模擬擲骰子比大小的游戲.程序如下:While True TextWindow.WriteLine(比賽開始

19、,請甲按Enter投擲骰子) TextWindow.PauseWithoutMessage() a=Math.GetRandomNumber(6) TextWindow.WriteLine(甲投擲的骰子點(diǎn)數(shù)是:+a) TextWindow.WriteLine(請乙按Enter投擲骰子) TextWindow.PauseWithoutMessage() b=Math.GetRandomNumber(6) TextWindow.WriteLine(乙投擲的骰子點(diǎn)數(shù)是:+b) If ab Then TextWindow .WriteLine (甲輸了!) Endif If ba Then TextW

20、indow .WriteLine (乙輸了!) EndIf If a=b Then TextWindow .WriteLine (平局!) EndIf TextWindow.Pause() TextWindow.Clear ()Endwhile(二)新授一、人機(jī)交互程序體現(xiàn)在以下幾條語句: 1、TextWindow.WriteLine(比賽開始,請甲按Enter投擲骰子) 2、a=Math.GetRandomNumber(6) 該操作能隨機(jī)地產(chǎn)生1-6之間的數(shù),相當(dāng)于”擲骰子“ 3、TextWindow.Pause() 暫停程序的運(yùn)行語句。 4、文本窗口中顯示的:press any key t

21、o continue.(按任意鍵繼續(xù))二、whileendwhile循環(huán)語句循環(huán)語句: 1、for.endfor循環(huán)語句:該語句需要指定循環(huán)的次數(shù) 2、while.endwhile:用于不知道循環(huán)次數(shù)的情況。格式: while endwhile作用:while和endwhile共同組成循環(huán)語句。程序執(zhí)行到while時(shí),判斷條件是否成立。當(dāng)成立時(shí),執(zhí)行循環(huán)體,遇到endwhile時(shí),回頭再檢驗(yàn)是否成立如此循環(huán)。 當(dāng)不成立時(shí),結(jié)束循環(huán),執(zhí)行endwhile后面的語句。三、while.endwhile語句可以控制循環(huán)的次數(shù) while.endwhile語句的使用非常靈活,它也可以控制循環(huán)的次數(shù)。例如

22、:計(jì)算1+2+3.+100,可以使用while.endwhile循環(huán)語句。sum=0i=1while i=100 sum=sum+i i=i+1endwhilegraphicswindow.fontsize=30graphicswindow.drawtext(100,80,1+2+3+.+100=+sum)四、操作練習(xí)1、編寫程序計(jì)算:1+2+3+,加到多少時(shí),累加的和sum大于1000?程序如下:sum=0i=1While sum=1000sum=sum+ii=i+1EndWhile2、楠楠想把零花錢存起來買一臺1800元的手機(jī),她第一個(gè)月存100元,以后每月比前一個(gè)月多存10元,她想知道需

23、要存多少個(gè)月才能買手機(jī)?程序如下:sum=0i=0While sum1 graphicswindow.drawEllipse(x,y,d,d) d=d-2*g x=x+g y=y+gEndWhile1在畫同心圓的程序中加上一句畫正方形的命令,就可以多畫一個(gè)同心正方形。g=10d=200x=100y=100While d1GraphicsWindow.DrawEllipse (x ,y ,d ,d)GraphicsWindow.DrawRectangle(x+250,y,d,d)d=d-2*gx=x+gy=y+gEndWhile2修改畫同心圓的程序,畫同心橢圓。g=10d=200x=100y=1

24、00while d1GraphicsWindow.DrawEllipse (x ,y ,d ,d/2) d=d-2*gx=x+gy=y+g/2EndWhile小結(jié):循環(huán)語句是本課的教學(xué)重點(diǎn),而循環(huán)的條件又是其中的難點(diǎn),WhileEndWhile和ForEndFor都能實(shí)現(xiàn)程序的循環(huán)運(yùn)行,但WhileEndWhile循環(huán)語句更加靈活,用ForEndFor語句能夠?qū)崿F(xiàn)的循環(huán)都能用WhileEndWhile實(shí)現(xiàn)。第八課:畫奧運(yùn)五環(huán)旗學(xué)習(xí)要點(diǎn):1進(jìn)一步熟悉GraphicsWindow對象的操作和屬性。2進(jìn)一步熟悉GraphicsWindow窗口的坐標(biāo)系。教學(xué)重難點(diǎn):教學(xué)重點(diǎn)是讓學(xué)生進(jìn)一步熟悉Graph

25、icsWindow對象的操作和屬性,掌握學(xué)習(xí)方法,難點(diǎn)是坐標(biāo)的運(yùn)算。一、畫幾何圖形: 畫奧運(yùn)五環(huán)旗需要在不同的位置畫不同顏色的圓,因此首先要掌握如何畫彩色的圓,然后學(xué)習(xí)如何計(jì)算所畫圓的位置。1GraphicsWindow對象中畫幾何圖形的各種操作:例如:GraphicsWindow.DrawEllipse(0,0,60,60) 畫圓GraphicsWindow.FillEllipse(0,0,60,60) 畫實(shí)心圓GraphicsWindow.DrawRectangle(0,0,60,60) 畫正方形GraphicsWindow.FillRectangle(0,0,60,60) 畫實(shí)心正方形G

26、raphicsWindow.DrawRectangle(60,60,100,60) 畫矩形框GraphicsWindow.FillRectangle(160,120,100,60) 畫實(shí)心矩形GraphicsWindow.DrawTriangle(0,0,60,20,30,80) 畫三角形GraphicsWindow.FillTriangle(0,0,60,20,30,80) 畫實(shí)心三角形2、GraphicsWindow對象中,用改變圖形的顏色或筆的顏色、粗細(xì)backgroundcolor 背景顏色brushcolor 刷子的顏色pencolor 畫筆的顏色penwidth 畫筆的寬度幾何圖形

27、的邊框顏色,用PenColor屬性來設(shè)置,例如:GraphicsWindow.PenColor =Red 將畫筆設(shè)置為紅色如果畫實(shí)心幾何圖形,用BrushColor屬性來設(shè)置顏色,例如:GraphicsWindow.BrushColor=Green 將刷子設(shè)置為綠色二、畫奧運(yùn)五環(huán)旗 從下圖可以看出,最左邊的藍(lán)色圓的坐標(biāo)是(x,y),那么黑色圓的坐標(biāo)是(x+d+g,y),那么黃色圓的坐標(biāo)是(x+d/2+g/2,y+d/2),紅色圓的坐標(biāo)是(x+2d+2g,y),綠色圓的坐標(biāo)是(x+1.5*d+1.5*g,y+d/2)圖8-1 奧運(yùn)五環(huán)旗的尺寸關(guān)系圖:d=120g=20x=50y=50Graphi

28、csWindow .PenWidth =12GraphicsWindow .BackgroundColor =whiteGraphicsWindow .PenColor =blueGraphicsWindow .DrawEllipse (x,y ,d ,d )GraphicsWindow .PenColor =blackGraphicsWindow .DrawEllipse (x+d+g,y,d,d)GraphicsWindow .PenColor =redGraphicsWindow .DrawEllipse (x+2*d+2*g,y,d,d)GraphicsWindow .PenColor

29、 =yellowGraphicsWindow .DrawEllipse (x+d/2+g/2,y+d/2,d,d)GraphicsWindow .PenColor =greenGraphicsWindow .DrawEllipse (x+1.5*d+1.5*g,y+d/2,d,d)三、練習(xí): 編寫程序,畫帶橙色旗桿的奧運(yùn)五環(huán)旗分析:為了讓程序能畫出不同大小的五環(huán)旗,程序中的圓的直徑、圓之間的間隙、位置等應(yīng)該用變量來表示。程序如下:d=60g=10x=160y=50GraphicsWindow.PenWidth =5GraphicsWindow.BackgroundColor =blackGra

30、phicsWindow.BrushColor=whiteGraphicsWindow.FillRectangle(x-g,y-2*g,3*d+4*g,4*g+d+d/2)GraphicsWindow.BrushColor=orangeGraphicsWindow.FillRectangle(x-g-g/2,y-2*g,g/2,(4*g+d+d/2)*2)GraphicsWindow.PenColor =blueGraphicsWindow.DrawEllipse (x,y,d,d )GraphicsWindow.PenColor =blackGraphicsWindow.DrawEllipse

31、 (x+d+g,y,d,d)GraphicsWindow.PenColor =redGraphicsWindow.DrawEllipse (x+2*d+2*g,y,d,d)GraphicsWindow.PenColor =yellowGraphicsWindow.DrawEllipse (x+d/2+g/2,y+d/2,d,d)GraphicsWindow.PenColor =greenGraphicsWindow.DrawEllipse (x+1.5*d+1.5*g,y+d/2,d,d)第九課:畫彩色的鏈子學(xué)習(xí)目標(biāo): 1了解什么是子程序,在什么情況下編寫子程序。 2掌握子程序的編寫格式。 3

32、進(jìn)一步熟悉GraphicsWindow窗口的坐標(biāo)系。學(xué)習(xí)重難點(diǎn): 了解什么情況下要編寫子程序是教學(xué)的重點(diǎn);確定彩色珠子的坐標(biāo)是教學(xué)的難點(diǎn)。一、子程序: 子程序由一個(gè)以Sub關(guān)鍵字開頭的名字標(biāo)識,并以EndSub關(guān)鍵字結(jié)束。子程序可以在程序的任意位置被調(diào)用。 格式: Sub 子程序名 Endsub作用:1子程序可以簡化程序。 在編程時(shí)我們經(jīng)常遇到需要重復(fù)執(zhí)行一組相同的命令的情況。這種情況下,多次重寫相同的語句是不合理的。于是將需要重復(fù)寫的語句寫成子程序,這樣我們借助子程序可以簡化程序。2使用子程序可以提高程序的可讀性。 在一個(gè)較大的程序中,將實(shí)現(xiàn)某些特定功能的程序代碼寫成子程序,這樣主程序的表述

33、就簡化了,程序的可讀性就提高了。例如:你想理解其他人寫的程序或者希望你的程序能被其他人理解,程序就應(yīng)該盡量地將特定功能的代碼寫成子程序。3、子程序可以在主程序的任意位置被調(diào)用二、調(diào)用主程序的方法:.子程序名().作用:執(zhí)行子程序中的所有命令編寫程序:r=10x=100y=100For x=x to 400 step 3*rball()EndForFor y=y to 300 step 3*rball()EndForSub ballGraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()GraphicsWindow.FillEllipse

34、(x,y,2*r,2*r)EndSub三、畫彩色珠子串r=10y=100For x=100 to 400 step 3*rGraphicsWindow.DrawLine(x-r,y+r,x,y+r)ball()EndForGraphicsWindow.DrawLine(x-r,y+r,x,y+r)Sub ballGraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()GraphicsWindow.FillEllipse(x,y,2*r,2*r)EndSub四、畫長方形的“鏈子”程序如下:r=10y=100For x=100 to 400

35、 step 3*rGraphicsWindow.DrawLine(x-r,y+r,x,y+r)ball()EndForGraphicsWindow.DrawLine(x-r,y+r,x,y+r)For y=100 to 300 step 3*rball()GraphicsWindow.DrawLine(x+r,y+2*r,x+r,y+3*r)EndForFor x=x to 100 step -3*rball()GraphicsWindow.DrawLine(x-r,y+r,x,y+r)EndForFor y=y to 100 step -3*rball()If y100 ThenGraphi

36、csWindow.DrawLine(x+r,y,x+r,y-r)EndIfEndForSub ballGraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()GraphicsWindow.FillEllipse(x,y,2*r,2*r)EndSub小結(jié):在編程時(shí)我們經(jīng)常遇到需要重復(fù)執(zhí)行一組相同的命令的情況。這種情況下,多次重寫相同的語句是不合理的。于是將需要重復(fù)寫的語句寫成子程序,這樣我們借助子程序可以簡化程序。第十課:記錄鼠標(biāo)軌跡學(xué)習(xí)目標(biāo): 1了解什么是事件。2掌握編寫響應(yīng)鼠標(biāo)事件的程序的方法。教學(xué)重難點(diǎn):1、重點(diǎn):掌握編寫響應(yīng)鼠標(biāo)事

37、件的程序的方法。2、難點(diǎn):理解什么是事件。編寫程序:通過我們移動(dòng)和點(diǎn)擊鼠標(biāo)來畫圖。程序如下:r=10GraphicsWindow.MouseDown = OnMDGraphicsWindow.MouseMove = OnMMSub OnMD x = GraphicsWindow.MouseX y = GraphicsWindow.MouseY GraphicsWindow.FillEllipse(x-r, y-r, 2*r, 2*r)EndSubSub onMM GraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor() x=Graphi

38、csWindow.MouseX y=GraphicsWindow.MouseY GraphicsWindow.FillEllipse(x-2,y-2,4,4)EndSub一、事件與交互1、OnMD和OnMM都是子程序,主程序中調(diào)用子程序的命令是:GraphicsWindow.MouseDown=OnMD(鼠標(biāo)按下時(shí)響應(yīng))GraphicsWindow.MouseMove=OnMM(鼠標(biāo)移動(dòng)時(shí)響應(yīng))2、GraphicsWindow對象能偵測的6個(gè)事件:KeyDown 【事件】當(dāng)鍵盤上的按鍵被按下時(shí)觸發(fā)。KeyUp 【事件】當(dāng)鍵盤上的按鍵被釋放時(shí)觸發(fā)。MouseDown 【事件】當(dāng)鼠標(biāo)鍵被按下時(shí)觸發(fā)

39、。MouseMove 【事件】當(dāng)鼠標(biāo)被移動(dòng)時(shí)觸發(fā)。MouseUp 【事件】當(dāng)鼠標(biāo)鍵被釋放時(shí)觸發(fā)。TextInput 【事件】當(dāng)文本被輸入GraphicsWindow時(shí)觸發(fā)。3、注意區(qū)分(1)主程序直接調(diào)用子程序子程序名()(2)通過事件指定子程序?qū)ο?事件=子程序名()4、練習(xí):GraphicsWindow.MouseDown = OnMDSub OnMD GraphicsWindow.ShowMessage(你按下了鼠標(biāo),試測件事)EndSubGraphicsWindow.ShowMessage作用是顯示消息框。二、記錄鼠標(biāo)軌跡1、編寫程序,當(dāng)按下鼠標(biāo)(或按下鍵盤上的鍵、或移動(dòng)鼠標(biāo))時(shí),窗口

40、的背景色隨機(jī)改變。程序如下:GraphicsWindow.MouseDown = OnMDSub OnMD GraphicsWindow.BackgroundColor=GraphicsWindow.GetRandomColor()EndSub將GraphicsWindow對象的事件改為KeyDown或MouseMove,可以得到相應(yīng)的事件驅(qū)動(dòng)程序。2、編寫統(tǒng)計(jì)鼠標(biāo)按下事件的程序。程序如下:i=0GraphicsWindow.MouseDown = OnMDSub OnMD i=i+1 GraphicsWindow.ShowMessage(你按下+計(jì)次鼠標(biāo),測試事件)EndSub3、編寫程序,

41、用鼠標(biāo)可以畫圖形GraphicsWindow.MouseMove=onMouseMoveGraphicsWindow.MouseDown=onMouseDownSub onMouseDown prevX=Graphicswindow.MouseX prevY=Graphicswindow.MouseYEndSubSub onMouseMove x=graphicswindow.MouseX y=graphicswindow.MouseY If Mouse.IsLeftButtonDown Then GraphicsWindow.DrawLine(prevX,prevY,x,y) EndIf p

42、revX=x prevY=yEndSub第十一課:可移動(dòng)的風(fēng)車學(xué)習(xí)目標(biāo) 1了解Shapes對象,能用Shapes對象編寫簡單的動(dòng)畫程序。2了解Program對象,能用Program對象優(yōu)化動(dòng)畫程序的運(yùn)行效果。3繼續(xù)學(xué)習(xí)編寫事件驅(qū)動(dòng)的程序。教學(xué)重難點(diǎn)1、本課的教學(xué)重點(diǎn)是:了解Shapes對象的各種操作,并能根據(jù)Shapes對象的各種操作的英文含義,自主地選擇Shapes對象的操作來編寫動(dòng)畫程序;2、教學(xué)的難點(diǎn)是在動(dòng)畫的設(shè)計(jì)過程中所涉及的坐標(biāo)運(yùn)算。一、風(fēng)車是由葉子和基座組成,畫移動(dòng)的風(fēng)車程序比較長,可以分成如下幾個(gè)步驟來完成。 第一步:畫靜止的風(fēng)車。 掌握Shapes.AddRectangle()

43、和Shapes. Move()命令的使用方法。 第二步:在程序中加上響應(yīng)鼠標(biāo)事件的命令。 第三步:編寫讓風(fēng)車葉片旋轉(zhuǎn)的程序。 通過修改Shapes.Rotate()和 Program.Delay()命令的參數(shù)。 第四步:編寫點(diǎn)擊鼠標(biāo)事件發(fā)生時(shí)響應(yīng)的子程序onKD。 leaf=shapes.addrectangle(200,10)在圖形窗口添加一個(gè)寬200、高10的實(shí)心矩形,圖形取名leafshapes.move(leaf,200,200)把圖形leaf移到(200,200)處i=1用i表示旋轉(zhuǎn)的角度,初值為1While true無限循環(huán)shapes.rotate(leaf,i)將圖形leaf旋轉(zhuǎn)到i度的位置i=i+1旋轉(zhuǎn)的角度增加1度endwhile循環(huán)標(biāo)志風(fēng)車的葉片和基座的位置需要根據(jù)圖片經(jīng)過計(jì)算獲得。二、Shapes對象1、例如:下面的程序可以畫一個(gè)不斷旋轉(zhuǎn)的風(fēng)車葉 leaf=shapes.addrectangle(200,10)shapes.move(leaf,200,200)i=1While trueshapes.rotate(leaf,i)i=i+1endwhile2、Shapes 【對

溫馨提示

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

評論

0/150

提交評論