藍(lán)橋杯大賽今年已經(jīng)是第十屆了,本次Scratch組省賽(初級(jí)組)采用的Scratch版本為2.0,答題時(shí)間90分鐘,自帶筆記本必須斷網(wǎng)。12道題選擇題和編程題各半。選擇題均為單選每題20分。編程題每道50分,依據(jù)完成度有步驟分。我們將對(duì)其中的幾道題進(jìn)行解析。
1. 問(wèn)題描述
此題是編程題第三題:你要參加運(yùn)動(dòng)會(huì),每天都刻苦練習(xí)游泳,并給自己的游泳時(shí)間做了精確的計(jì)時(shí)(本題中的計(jì)時(shí)都按24小時(shí)制計(jì)算),你只要說(shuō)出自己從a時(shí)b分一直游泳到當(dāng)天的c時(shí)d分,你的小魚(yú)教練就能計(jì)算出你這天一共游了多少時(shí)間,你的小魚(yú)教練是怎么算出來(lái)的呢?
具體要求:
1.程序開(kāi)始運(yùn)行時(shí),小魚(yú)教練詢問(wèn)游泳開(kāi)始時(shí)間(分別詢問(wèn)24小時(shí)制的時(shí)和分)和結(jié)束時(shí)間(分別詢問(wèn)24小時(shí)制的時(shí)和分)。
2.小魚(yú)教練計(jì)算并說(shuō)出游了多長(zhǎng)時(shí)間。但如果你輸入的結(jié)束時(shí)間早于開(kāi)始時(shí)間,小魚(yú)教練就會(huì)說(shuō)“輸入錯(cuò)誤:結(jié)束時(shí)間早于開(kāi)始時(shí)間”,程序結(jié)束。
將程序保存到桌面,命名為“3.sb2”。
評(píng)分標(biāo)準(zhǔn):10分,程序運(yùn)行后,能夠詢問(wèn)開(kāi)始時(shí)間和結(jié)束時(shí)間(時(shí)和分);
40分,在10分的基礎(chǔ)上,能夠正確計(jì)算出游泳的時(shí)間;
測(cè)試兩種情況,1)結(jié)束時(shí)間的分大于開(kāi)始時(shí)間的分
2) 結(jié)束時(shí)間的分小于開(kāi)始時(shí)間的分
50分,在40分的基礎(chǔ)上,如果輸入結(jié)束時(shí)間早于開(kāi)始時(shí)間,能提示錯(cuò)誤,需要多次以不同情況輸入來(lái)驗(yàn)證。
2. 編程思路
根據(jù)題目要求和評(píng)分標(biāo)準(zhǔn)分析,本題需要設(shè)置4個(gè)變量:開(kāi)始-時(shí),開(kāi)始-分,結(jié)束-時(shí),結(jié)束-分。并根據(jù)條件判斷進(jìn)行時(shí)間計(jì)算。
要注意對(duì)比開(kāi)始-時(shí)和結(jié)束-時(shí)的大小時(shí)除了 開(kāi)始-時(shí)<結(jié)束-時(shí) 的情況外還需要注意考慮 開(kāi)始-時(shí)=結(jié)束-時(shí) 的情況以及分鐘數(shù)不夠減的情況下如何借位,養(yǎng)成流程圖分析的習(xí)慣可以更好地全面考慮各種情況。
向上借位的計(jì)算,注意當(dāng)開(kāi)始-分>結(jié)束-分時(shí)不夠減,計(jì)算分鐘時(shí)需要向上借位,結(jié)束-時(shí)-1小時(shí),結(jié)束-分則+60。
結(jié)果輸出,用多個(gè)連接塊把“游泳時(shí)間”+結(jié)束-時(shí)減開(kāi)始-時(shí)+“小時(shí)”+結(jié)束-分減開(kāi)始-分+“分鐘”用于結(jié)果輸出。
本題難度4分(最高5分)。
3. 編程實(shí)現(xiàn)
(1)設(shè)置背景underwater2,新造型fish1,程序?qū)懺趂ish1中。
(2)新建4個(gè)變量:開(kāi)始-時(shí),開(kāi)始-分,結(jié)束-時(shí),結(jié)束-分。詢問(wèn)并根據(jù)回答賦值。
(3) 判斷時(shí)間大?。河脳l件判斷比較時(shí)間大小并輸出練習(xí)時(shí)間結(jié)果。
開(kāi)始-時(shí)>結(jié)束-時(shí),說(shuō)“輸入錯(cuò)誤,結(jié)束時(shí)間早于開(kāi)始時(shí)間”。
當(dāng)開(kāi)始-時(shí)=結(jié)束-時(shí),再對(duì)比開(kāi)始分和結(jié)束分。開(kāi)始分<結(jié)束分,報(bào)錯(cuò)。否則說(shuō)“游泳時(shí)間”+“結(jié)束-時(shí)-開(kāi)始-時(shí)”+“小時(shí)”+“結(jié)束-分-開(kāi)始-分”+“分鐘”。
開(kāi)始-時(shí)<結(jié)束-時(shí)的情況下就注意開(kāi)始-分>結(jié)束-分需要向上借位,結(jié)束-時(shí)減1,結(jié)束分加60。
(4) 將程序保存,根據(jù)試卷要求命名為“3.sb2”。一定要注意按試卷的要求命名。