麥咭編程



放學(xué)完成作業(yè)后,麥咭想起今天在學(xué)校的時(shí)候,賓果出了一個(gè)腦筋急轉(zhuǎn)彎題目將自己考住了,于是拿出一本腦筋急轉(zhuǎn)彎的書看,爭(zhēng)取明天去學(xué)校的時(shí)候可以問一個(gè)賓果沒有看過的腦筋急轉(zhuǎn)彎題,將賓果難住。在看書的過程中,麥咭想到了可以編寫一個(gè)腦筋急轉(zhuǎn)彎的程序,能自動(dòng)出題,然后讓大家一起玩。
1. 理解鏈表的概念。
2. 掌握新建鏈表的方法。
3. 掌握將記錄添加到鏈表、刪除鏈表中指定記錄的方法。
1. 程序設(shè)計(jì)
2. 鏈表的基本知識(shí)
如圖1所示,把變量比作一個(gè)置物的格子,它可以放置任何物品,但同時(shí)只能放置一個(gè),下一個(gè)放進(jìn)去時(shí),自動(dòng)替換掉前一個(gè)。相比變量而言,鏈表就是多個(gè)置物的格子,每個(gè)格子都可以放置物品。取用物品時(shí),報(bào)物品的序號(hào)即可,也可以添加、刪除指定位置的物品。
3. 新建鏈表
打開網(wǎng)頁http://scratch.maiji100.cn/Scratch.html,執(zhí)行“文件”“新建項(xiàng)目”命令,新建項(xiàng)目文件。
如圖2所示,為了存放腦筋急轉(zhuǎn)彎的題目與答案,我們需要新建鏈表。單擊積木區(qū)/腳本/數(shù)據(jù)/■指令,彈出“新建鏈表”對(duì)話框。
然后使用相同的方法再新建一個(gè)鏈表,輸入鏈表名稱為“答案”,用來存放腦筋急轉(zhuǎn)彎題目的答案。
如圖3所示,輸入鏈表名稱并單擊“確定”按鈕,我們可以觀察到舞臺(tái)區(qū)和積木區(qū)發(fā)生了變化。
如圖4所示,這時(shí),我們就可以將腦筋急轉(zhuǎn)彎的題目和答案分別添加到兩個(gè)鏈表中。
圖4 將題目添加到鏈表“題目1”中
如圖5所示,以此類推,我們通過同樣的方法為麥咭繼續(xù)添加第二個(gè)、第三個(gè)腦筋急轉(zhuǎn)彎題目,如:“為什么暑假比寒假長(zhǎng)?”“一個(gè)盒子最少有幾個(gè)邊?”
圖5 向鏈表添加題目?jī)?nèi)容后的窗口
我們?cè)偈褂孟嗤姆椒?,將腦筋急轉(zhuǎn)彎的答案加入鏈表“答案”中。
4. 程序搭建
如圖6所示,將題目與答案添加到鏈表中,每添加一次,鏈表長(zhǎng)度增加一些。程序停止,鏈表并不會(huì)清空。程序每運(yùn)行一次,鏈表就會(huì)增加一些記錄。所以,點(diǎn)擊“綠旗”運(yùn)行程序,第一步是刪除鏈表里面所有的記錄,再逐條添加記錄到鏈表中。
通過程序我們知道,每輸入一個(gè)題目給鏈表題目1,對(duì)應(yīng)會(huì)輸入一個(gè)答案給鏈表答案。依據(jù)鏈表的基本知識(shí)我們知道,它們是放入不同的置物的格子,但序號(hào)是一樣的。為了保證出題的隨機(jī)性,我們需要新建變量“題目序號(hào)”,把題目序號(hào)設(shè)定為“1-鏈表‘題目1的項(xiàng)目數(shù)”的隨機(jī)數(shù)。如圖7所示。
如圖8所示,程序從題目庫里面隨機(jī)選取題目后,就需要讓玩家輸入答案,使用詢問并等待指令。
如圖9所示,當(dāng)玩家輸入答案后,程序就需要把玩家的答案與答案庫里面的答案進(jìn)行比對(duì),比對(duì)正確則輸出:“‘回答,回答正確,你太厲害了!”比對(duì)錯(cuò)誤則輸出:“‘回答,呃,回答錯(cuò)誤,再接再厲!”
5. 程序清單
角色的完整程序清單如圖10所示。
圖10 腦筋急轉(zhuǎn)彎程序
通過本節(jié)課的學(xué)習(xí),我們已經(jīng)了解了鏈表的概念,掌握了新建鏈表以及把記錄添加到鏈表中的方法。為了鞏固今天學(xué)到的這些編程知識(shí),同學(xué)們不妨換一個(gè)腦筋急轉(zhuǎn)彎題來試試哦!
(編輯 巧克力)