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