資訊內(nèi)容
Scratch編程——數(shù)據(jù)篇
今天我們來(lái)探究一下Scratch編程的數(shù)據(jù)存儲(chǔ)問(wèn)題。記得我當(dāng)年上學(xué)開(kāi)始學(xué)習(xí)編程時(shí)老師講過(guò)一句話:“變量是組成程序的基本元素”,這句話至今記憶猶新。想想看,程序其實(shí)就是對(duì)數(shù)據(jù)的處理,不管程序要完成怎樣的任務(wù),其實(shí)都是要對(duì)相應(yīng)的數(shù)據(jù)發(fā)出指令,進(jìn)行計(jì)算,更新修改等等。那么在計(jì)算機(jī)中這些各種各樣的數(shù)據(jù)是怎么存儲(chǔ)的呢?答案就是變量,也就是說(shuō)數(shù)據(jù)是存儲(chǔ)在變量之中的,或者說(shuō)變量就像一間小房子,數(shù)據(jù)就像是房間內(nèi)住的人或者擺放的家具,電器等。所有的編程語(yǔ)言都離不開(kāi)變量的存在,Scratch也不例外。
就像上面說(shuō)的在變量這間房子里可以住人,可以擺家具,放電器之類(lèi)的數(shù)據(jù),也就是說(shuō)數(shù)據(jù)是有不同類(lèi)型的。在Scratch中支持字符串,布爾,整數(shù)和實(shí)數(shù)這4種數(shù)據(jù)類(lèi)型。比如上次我們?cè)谶\(yùn)動(dòng)篇中讓小貓移動(dòng)100步中的100就是一個(gè)整數(shù)數(shù)據(jù)。下圖中“5<10”的比較結(jié)果真(對(duì))或者假(錯(cuò))就是一個(gè)布爾數(shù)據(jù),說(shuō)“Hello!”中的“Hello!”就是一個(gè)字符串,而計(jì)算中的3.5,5.2等這些帶小數(shù)點(diǎn)的數(shù)就是實(shí)數(shù)。在這張圖中我們也可以看出不同的數(shù)據(jù)類(lèi)型Scratch會(huì)用不同的形狀塊來(lái)表示,比如兩邊圓弧的塊是整數(shù)或?qū)崝?shù)的數(shù)據(jù),兩邊尖角的是布爾型數(shù)據(jù),長(zhǎng)方塊是字符串?dāng)?shù)據(jù)。
? ? ? ? Scratch中數(shù)據(jù)可以像上面那樣直接在語(yǔ)句或表達(dá)式中填寫(xiě)具體的值,這很直觀,也很方便。但如果我們想做一些更加復(fù)雜的事情時(shí)那就不夠用了,我們需要引入變量概念,變量之中可以存放數(shù)據(jù),而且這個(gè)數(shù)據(jù)是可以變化的,不是一成不變的,就像我們可以在房間里擺桌子,過(guò)幾天我們還可以把桌子換成椅子一樣。變量需要?jiǎng)?chuàng)建(聲明),也就是給變量起個(gè)名字。Scratch沒(méi)有對(duì)變量名做過(guò)多的要求,因?yàn)樗菆D形化的編程結(jié)構(gòu),更容易一目了然,也就不需要像其他編程語(yǔ)言有那么多的條條框框。我們可以給一個(gè)變量起任何名字,當(dāng)然為了方便我們也不會(huì)起的太長(zhǎng),沒(méi)有實(shí)際意義或者奇奇怪怪的字符等那樣不好聽(tīng)不好記的名字。所以一般來(lái)講我們會(huì)把一個(gè)變量名起的盡量好記憶,盡量短小,可以是英文字母,也可以是漢字,也可以加上數(shù)字序號(hào)等。在Scratch的數(shù)據(jù)欄里就可以創(chuàng)建變量。
當(dāng)你點(diǎn)擊“建立一個(gè)變量”時(shí)會(huì)出現(xiàn)對(duì)話框,在這里你可以填入你給這個(gè)變量起的變量名,并選擇它的使用范圍(作用域)。故名思議,“適用于所有角色”就是說(shuō)這個(gè)變量對(duì)此項(xiàng)目中所有的角色都是有效的,大家都可以使用或者修改它,我們也可以叫它“全局變量”。而“僅適用于當(dāng)前角色”表示這個(gè)變量?jī)H僅是針對(duì)于當(dāng)前我們所選擇的角色的,其他角色可以看到這個(gè)變量但是不能修改它,我們也可以叫它“局部變量”。
當(dāng)我們點(diǎn)擊確定后,這個(gè)變量就建立好了,同時(shí)我們還可以看到在腳本中可以對(duì)這個(gè)變量進(jìn)行操作的一些語(yǔ)句,比如設(shè)定數(shù)值,增加數(shù)值,顯示,隱藏。在建立這個(gè)變量的時(shí)候你不需要說(shuō)明它是哪種類(lèi)型的,在使用的時(shí)候直接將需要的數(shù)據(jù)往里面存放就行了,這一點(diǎn)是相當(dāng)靈活的。
在下面的例子里面我們建立兩個(gè)變量數(shù)據(jù)1和數(shù)據(jù)2,在腳本中我們通過(guò)實(shí)際語(yǔ)句定義了數(shù)據(jù)1是小貓每次移動(dòng)的步數(shù),也就是一個(gè)整數(shù)。我們通過(guò)運(yùn)算欄中生成隨機(jī)數(shù)的功能給數(shù)據(jù)1設(shè)定-50到50之間任意的步數(shù)。數(shù)據(jù)2是小貓說(shuō)的話,也就是一個(gè)字符串。一開(kāi)始就是一個(gè)簡(jiǎn)單的字母a,隨后通過(guò)運(yùn)算欄中連接字符串的功能不斷將數(shù)據(jù)2自身疊加連接。整體上通過(guò)控制欄中的循環(huán)功能讓這段程序重復(fù)的執(zhí)行4次。
除了建立變量,在Scratch中還可以建立列表(數(shù)組)。它是一系列變量的集合,這個(gè)集合有一個(gè)共同的名字——列表名,列表中會(huì)有若干個(gè)成員,每個(gè)成員有自己的序號(hào)和變量的值。這就像一個(gè)班級(jí),比如三年二班有30名同學(xué),這30名同學(xué)都有自己的名字,同時(shí)為了便于管理,這30名同學(xué)又都有自己的學(xué)號(hào)1…30。這里“三年二班”就是列表名,學(xué)號(hào)就是列表中成員的序號(hào),每個(gè)人的名字是各個(gè)成員變量的數(shù)值。與變量類(lèi)似,Scratch中也沒(méi)有嚴(yán)格限定列表成員的數(shù)據(jù)類(lèi)型和列表整體的數(shù)據(jù)類(lèi)型,在使用的時(shí)候再具體定義就可以,成員之間的數(shù)據(jù)類(lèi)型也可以是不一樣的。列表在建立后也會(huì)有一些用于列表操作的語(yǔ)句命令,比如添加一項(xiàng),對(duì)某一項(xiàng)設(shè)定值,刪除某一項(xiàng)等。
在以后的學(xué)習(xí)中創(chuàng)建變量和列表的功能會(huì)經(jīng)常使用,它會(huì)成為我們使用Scratch編程最有力的武器。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
幼兒編程的一些英文詞匯
讀者問(wèn)幼兒學(xué)幼兒編程scratchjr時(shí)需要知道哪些詞匯?我想就是把scratchjr網(wǎng)站上面的文檔看看會(huì)有很多幫助。 1. scratchjr本身編程塊出現(xiàn)的英文單詞當(dāng)然要知道了。
- 下一篇
Scratch編程之旅(2)---第一個(gè)作品
? ? ? ?今天我們要用Scratch編出第一個(gè)作品啦! ?????? 在開(kāi)始之前,我們先來(lái)了解一個(gè)重要概念,那就是---“事件”。 ?????? 我們平時(shí)會(huì)遇到各種各樣的事件,有些是意料中的,有的是意料之外的,而每個(gè)事件的發(fā)生,都會(huì)