計算機(兒童)-2010年春-振華-第八次活動 機械人-課程提綱

從 阳光百科
跳到: 導覽搜尋
機械人教案

File:Textbook.JPG

志願者信息
備課人 frolasue
郵箱 frolasue(a)gmail.com
課程組

計算機

課程信息
上課日期 2010.5.29
上課時長 50分鐘
授課對象 振華四、五六年級學生
學生信息 約10

授課目標[編輯 | 編輯原始碼]

加深def和repeat概念理解,用少部分時間繼續完成跨欄,思考用if等重寫跨欄程序。

授課內容[編輯 | 編輯原始碼]

1. 繼續鞏固def、repeat
2. 學習判斷語句if,if…else,if…elif…else
3. 學習幾個新語句:front_is_clear(), left_is_clear(), right_is_clear()
4. 思考用新語句寫跨欄程序

授課提綱[編輯 | 編輯原始碼]

零、複習
1.區別def和repeat的用法
2.繼續完成爬台階
一、 質疑導入 (5min)
上次課咱們有同學已經完成了爬台階,請大家想一想,如果台階高低不一樣,長短也不一樣,這個程序還能完成爬台階的任務嗎?如果機械人能夠自己思考,知道不同的台階怎麼走是不是很棒?!
這節課咱們就來教機械人思考,讓它變成智能機械人!
二、 使用地圖hurdles1.wld講解if,if…else,if…elif…else
2.1 寫程序
def zou():
move()

repeat(zou,50)
turn_off()
讓學生思考會出現什麼結果,讓學生實際運行一下,看是否和預想的結果一致
2.2 寫程序
def zou():
if front_is_clear():
move()

repeat(zou,50)
turn_off()
讓學生思考會出現什麼結果,實際運行一下,看是否和預想的結果一致
2.3 寫程序
def zou():
if front_is_clear():
move()
else:
turn_left()

repeat(zou,50)
turn_off()
讓學生思考會出現什麼結果,讓學生實際運行一下,看是否和預想的結果一致
2.4 如何跨欄?
機械人if-else跨欄程序講解過程

使用if-else完成機械人跨欄程序的分析過程(前面已經學習了if;if-else):
1、用一紙做的箭頭在黑板上畫出的圖上模擬機械人跨欄動作,讓學生觀察規律;重複幾次之後,學生總結出:機械人的右邊靠着牆走就可以了。我在黑板上簡寫為「靠右走」
2、分析「靠右走」其實是兩個方面,一是靠右,如果右邊有空,得向右邊的牆靠近;二是如果前面有空,得向前走。從而引出right_is_clear()和front_is_clear()
3、跨四個欄實際上只需要分析跨一個欄的動作即可,所以在把跨第一個欄的五個點按順序標出來;現在我們要寫一段程序,這段程序會讓機械人無論處於哪個點都會做出正確的動作;那麼我們一個一個點來分析,分析結合第2步的右邊為空和前面為空這兩種情況來進行
關鍵點 右邊為空 前面為空 機械人下一步動作
① × √ 前進
②⑤ × × 左轉
③④ √ √ 右轉
那我們根據表格來寫程序,首先要處理右邊為空的情況(③④)(為什麼要先處理右邊為空的情況?因為要先靠右)
那我們根據表格來寫程序,首先要處理右邊為空的情況(③④)(為什麼要先處理右邊為空的情況?因為要先靠右)
如果 右邊為空
右轉
接下來要看右邊不為空的情況,從表中可以看出右邊不為空還有兩種情況,前面為空和前面不為空,說明接下來要判斷前面是否為空
如果 右邊為空
右轉
否則 如果 前面為空
前進
否則
左轉


三、總結
這次課咱們讓機械人學會了判斷,並且也分析了怎樣讓機械人自己學會跨不同的欄,下次課咱們要學會把這些思路翻譯成機械人能懂的程序語言,然後就可以親自試試用同一個程序讓機械人走不同的地圖啦!你們課後也可以想想這幾行怎麼翻譯。

教學環境、材料需求[編輯 | 編輯原始碼]

電腦、投影

助教需求[編輯 | 編輯原始碼]

≈5

參考頁面[編輯 | 編輯原始碼]

你的看法