● 教學(xué)目標(biāo)
知識(shí)與技能:初步掌握分支結(jié)構(gòu)程序的特點(diǎn);掌握if語句的基本格式、功能和用法;學(xué)會(huì)用if 語句解決實(shí)際生活中的問題。
過程與方法:通過問題的逐步深入,初步掌握運(yùn)用VB分支語句解決實(shí)際生活中問題的一般過程和方法。
情感態(tài)度與價(jià)值觀:培養(yǎng)學(xué)生的邏輯思維能力,使學(xué)生初步具有程序設(shè)計(jì)的思想及運(yùn)用程序解決實(shí)際問題的思維方式。
● 內(nèi)容分析
本節(jié)課是中國地圖出版社的天津市七年級(jí)信息技術(shù)教材下冊(cè)第十單元第四節(jié)的主要教學(xué)內(nèi)容(選學(xué))。在本節(jié)課之前,學(xué)生已經(jīng)熟悉了VB的開發(fā)環(huán)境,了解了VB程序設(shè)計(jì)的基本概念,初步掌握了程序設(shè)計(jì)的順序結(jié)構(gòu)。
本節(jié)的重點(diǎn):讓學(xué)生初步掌握if語句的格式和用法,嘗試用if語句解決日常學(xué)習(xí)、生活中的實(shí)際問題,培養(yǎng)學(xué)生程序設(shè)計(jì)的思想和思維方式。
本節(jié)的難點(diǎn):讓學(xué)生能靈活運(yùn)用if分支結(jié)構(gòu)語句解決實(shí)際問題。相對(duì)循環(huán)結(jié)構(gòu),學(xué)生比較容易接受分支結(jié)構(gòu)設(shè)計(jì),而且使程序變化多樣的教學(xué)設(shè)計(jì),對(duì)學(xué)生很有吸引力。如果采用常規(guī)的程序教學(xué)內(nèi)容,會(huì)使學(xué)生覺得程序設(shè)計(jì)枯燥、與實(shí)際生活沒什么聯(lián)系。所以,本節(jié)教學(xué)內(nèi)容以奧運(yùn)知識(shí)為背景,從學(xué)生熟悉的問題出發(fā),采用知識(shí)游戲和比賽的方式,充分激發(fā)學(xué)生學(xué)習(xí)VB程序的興趣,并通過問題的逐步深入,使學(xué)生在緊張而愉快的學(xué)習(xí)氛圍中掌握VB分支結(jié)構(gòu)語句。剛開始學(xué)習(xí)稍復(fù)雜的程序設(shè)計(jì),學(xué)習(xí)過程應(yīng)由淺入深,在分析“福娃考考你”程序時(shí),教師指導(dǎo)學(xué)生去逐步分析問題。而“奧運(yùn)五環(huán)”程序則為半成品,讓學(xué)生在補(bǔ)充程序代碼的過程中學(xué)習(xí)編寫程序。最后在“猜猜他們是哪國人”的程序中引導(dǎo)學(xué)生嘗試著獨(dú)立編寫程序代碼。最后,對(duì)if分支結(jié)構(gòu)語句進(jìn)行知識(shí)的反饋和總結(jié)。
● 教與學(xué)的實(shí)際過程
(一)教學(xué)引入(快樂英語拼句)
1.師:今天這節(jié)課全班同學(xué)分成兩組,在我們本節(jié)課的學(xué)習(xí)過程中會(huì)有幾個(gè)比賽活動(dòng),每個(gè)比賽勝出的組可以獲得一個(gè)奧運(yùn)吉祥物——福娃圖片,本節(jié)課結(jié)束時(shí),我們看看哪一組得到的福娃圖片最多。希望小組內(nèi)的同學(xué)能夠齊心協(xié)力。
學(xué)生分成兩組,并且選出組長(這個(gè)工作可以在課前完成)。
2.師:2008年,作為中國人我們感到自豪與驕傲,第29屆奧運(yùn)會(huì)在北京舉辦,天津是奧運(yùn)會(huì)的協(xié)辦城市,全國人民都在學(xué)習(xí)英語。這不,老師也在加緊學(xué)習(xí)英語。現(xiàn)在就遇到問題了,你能幫老師完整地翻譯下面的句子嗎?“如果你有時(shí)間,那么可以陪我買奧運(yùn)紀(jì)念品嗎?否則,我只能呆在賓館里看電視了。”(只知道部分短語)
關(guān)鍵詞:買奧運(yùn)紀(jì)念品(buyOlympic souvenirs),有時(shí)間(have time),如果(if),那么(then),否則(else), 呆在賓館 (stay in the hotel),看電視(watching TV)。
學(xué)生嘗試?yán)媒處熖峁┑年P(guān)鍵短語,翻譯成完整的英語句子。組內(nèi)學(xué)生可以討論,看哪組最先完成。
3.教師分析英語句子。
If you have time, then, can you buy Olympic souvenirs with me?Else, I can only stay in the hotel watching TV.
師:看來我能否去買奧運(yùn)紀(jì)念品的條件是“你有時(shí)間”,如果條件成立,那么可以去;如果沒時(shí)間,即條件不成立,就不能去了,只能呆在賓館里。那么,這些英語句子和我們今天要學(xué)習(xí)的VB分支結(jié)構(gòu)語句又有什么關(guān)系呢?大家別著急,我們先來比比看,看誰是奧運(yùn)知識(shí)的百事通。最先完成的小組請(qǐng)派一個(gè)學(xué)生代表回答翻譯的句子。獲勝的小組會(huì)得到一個(gè)福娃圖片,落后的小組加油哦!
(二)福娃考考你——奧運(yùn)知識(shí)問答游戲(知識(shí)內(nèi)容:單行if…then…else語句)
1.師:請(qǐng)大家運(yùn)行“福娃考考你.exe”程序。當(dāng)你回答對(duì)了,屏幕上會(huì)顯示一個(gè)快樂的福娃;回答錯(cuò)誤時(shí),屏幕上會(huì)出現(xiàn)一個(gè)哭臉。
學(xué)生打開教師共享的VB學(xué)習(xí)網(wǎng)站中的“福娃考考你”網(wǎng)頁,運(yùn)行“福娃考考你.exe”程序,學(xué)生可以獨(dú)立或相互討論完成知識(shí)問答題。
2.師:電腦是怎么判斷出我們給出的答案是對(duì)或錯(cuò),并且顯示相應(yīng)的圖片的呢?
分析:聯(lián)系剛才的英語翻譯,讓電腦判斷是否可以用英語來表示。
學(xué)生思考教師的問題,嘗試找出想要解決的問題和if…then…else之間的關(guān)系。
3.教師分析問題。
(1)我們是不是可以這樣描述剛才的問題:If答案是對(duì)的then出現(xiàn)福娃else出現(xiàn)哭臉。
(2)又出現(xiàn)問題了:“答案是對(duì)的”怎么用VB語句表示?出現(xiàn)福娃圖片怎么用VB語句表示?
(3)教師給出程序中幾種控件及主要屬性。
(4)分析:答案在文本框中輸入,應(yīng)是text1的text屬性:Text1.Text = \"D\"。福娃圖片出現(xiàn)應(yīng)是image1的visible屬性:Image1.Visible = True。
(5)大家嘗試著書寫if語句。
學(xué)生根據(jù)自己的分析和老師的幫助與提示,嘗試書寫出程序代碼。
4.教師打開“福娃考考你”源程序,雙擊“看看對(duì)嗎”按鈕,查看代碼如下:
If Text1.Text = \"D\" Or Text1.Text = \"d\" Then Image1.Visible = True Else Image2.Visible = True(代碼在一行顯示)。
師:比較老師的代碼和你們自己書寫的代碼有什么不同呢?
學(xué)生嘗試看懂程序語句,比較和自己書寫的代碼有什么不同,并且簡單說出自己對(duì)程序語句的理解及分析。
5.教師進(jìn)行知識(shí)歸納和小結(jié)。
分支結(jié)構(gòu)If語句單行。
格式一:if條件?then?語句一 else?語句二。
功能:當(dāng)條件成立時(shí)執(zhí)行語句一,否則執(zhí)行語句二。
說明:條件為關(guān)系表達(dá)式或者邏輯表達(dá)式時(shí),它們的值為true或1。關(guān)系運(yùn)算符用于比較兩個(gè)字符串或兩個(gè)數(shù)值,如Text1.Text = \"D\"和Text1.Text = \"d\"。
舉例:如上面的程序代碼:Text1.Text = \"D\"Or Text1.Text =\"d\",Text1.Text = \"D\"為關(guān)系表達(dá)式,or 為邏輯運(yùn)算符“或”。
格式二:if條件then語句。
功能:條件成立時(shí)執(zhí)行then后的語句,如果條件不成立,跳過此行執(zhí)行下一行。
學(xué)生認(rèn)真地聽教師講解分支結(jié)構(gòu)if單行語句的格式、功能和說明。
(三)你了解奧運(yùn)五環(huán)嗎(知識(shí)內(nèi)容:單行“if…then語句”)
1.師:我們都知道奧運(yùn)會(huì)的標(biāo)志是五環(huán)相連,那這五環(huán)是什么顏色?它們代表什么含義?這五個(gè)彩色圓環(huán)又是如何排列的呢?如果不知道,你運(yùn)行完下面的“奧運(yùn)五環(huán).exe”程序就知道了。
VB程序界面如圖1、2。
學(xué)生運(yùn)行奧運(yùn)五環(huán).exe程序,思考程序是如何使用“if…then語句”實(shí)現(xiàn)的。
2.教師分析程序中需要的幾種控件及主要屬性。幫助學(xué)生逐步思考如何用“if…then語句”解決問題。
師:老師僅完成了部分程序。希望大家把老師沒有完成的程序補(bǔ)充完整,使之正常運(yùn)行。全班分成兩組進(jìn)行比賽,看哪組同學(xué)在規(guī)定的時(shí)間內(nèi)完成程序代碼補(bǔ)充,使奧運(yùn)五環(huán)程序正常運(yùn)行的人數(shù)最多。小組內(nèi)的同學(xué)可以討論,先完成的同學(xué)可以幫助還沒有完成的同學(xué)。
學(xué)生運(yùn)行奧運(yùn)五環(huán).vbp工程,并打開運(yùn)行奧運(yùn)五環(huán).frm窗口,雙擊“確定”按鈕,將教師沒有完成的程序補(bǔ)充完整。
(四)我是聰明的推理專家——猜猜他們是哪國人(運(yùn)用if塊語句解決問題)

1.師:奧運(yùn)五環(huán)標(biāo)志象征五大洲和全世界的運(yùn)動(dòng)員以公正、坦率的比賽和友好的精神在奧林匹克運(yùn)動(dòng)會(huì)上相見。這不,七年級(jí)的學(xué)生奧成班里就來了三個(gè)外國學(xué)生,你能猜出他們是哪國人嗎?如果你猜不出,“猜猜他是哪國人.exe”程序可以幫助你(見圖3、4),這可是一個(gè)“會(huì)思考的程序”呀!你猜出他們分別是哪國人了嗎?
學(xué)生思考A、B、C三位同學(xué)到底是哪國人,運(yùn)行“猜猜他是哪國人.exe”程序后,進(jìn)一步思考:計(jì)算機(jī)程序真的會(huì)像我們一樣思考嗎?全班學(xué)生分成兩組進(jìn)行比賽,看看哪組是更聰明的推理專家,最先猜出的小組選派代表陳述判斷理由。
2.教師分析:①如果A不講英文,那么A可能是日本人或韓國人。②B不懂日語,但與英國同學(xué)可以熱烈交談,那么可以判斷B不是日本人,也不是英國人,所以B是韓國人。③如果B是韓國人,那么A肯定是日本人,C就是英國人。
學(xué)生思考:我們?nèi)绾卧O(shè)計(jì)出讓別人猜的程序呢?讓電腦去判斷猜者的判斷結(jié)果是否正確?結(jié)合今天學(xué)習(xí)的if分支結(jié)構(gòu)語句進(jìn)行分析。
3.教師指導(dǎo)學(xué)生嘗試編程。
師:根據(jù)上面的推理,電腦實(shí)際上是不會(huì)思考的,它只會(huì)執(zhí)行程序,而程序只能按照我們事先設(shè)定的步驟去執(zhí)行。那我們?nèi)绾卧O(shè)計(jì)出讓別人猜猜的程序呢?讓電腦去判斷猜者的判斷結(jié)果是否正確,可以用自然語言描述如下。
(1)第一個(gè)“查看按鈕”的代碼可以這樣編寫:如果你猜A是日本人,那么電腦會(huì)彈出“正確!”答案窗口;否則,如果你猜A是英國人,那么電腦會(huì)彈出窗口——“提醒:A同學(xué)不會(huì)講英文,怎么會(huì)是英國人?”;如果你猜A是韓國人,那么電腦會(huì)彈出窗口——“提醒:A如果是韓國人,B、C可能是英國人和日本人。B不懂日語,B不是日本人。B如果是英國人,就與‘B能與英國同學(xué)熱烈交流’相矛盾。”
(2)第二個(gè)“查看按鈕”的代碼可以這樣編寫:如果你猜B是韓國人,那么電腦會(huì)彈出“正確!”答案窗口;否則,如果你猜B是日本人,那么電腦會(huì)彈出窗口——“提醒:B不懂日語,B怎么會(huì)是日本人?”;如果你猜B是英國人,那么電腦會(huì)彈出窗口——“提醒:與‘B能與英國同學(xué)熱烈交流’相矛盾。”
(3)第三個(gè)“查看按鈕”的代碼可以這樣編寫:如果你猜C是英國人,那么電腦會(huì)彈出“正確!”答案窗口;否則,如果你猜C是日本人或者韓國人,那么電腦會(huì)彈出窗口——“提醒:錯(cuò)誤!你可以先判斷A、B分別是哪國人!”
學(xué)生學(xué)習(xí)任務(wù):第一組完成第一個(gè)“查看按鈕”的代碼;第二組完成第二個(gè)“查看按鈕”的代碼。遇到問題不要急于問教師,自己先獨(dú)立思考。
4.學(xué)生嘗試編寫程序,此時(shí)會(huì)遇到問題:如果用if… then…else…單行語句格式,上述自然語言的描述不太好實(shí)現(xiàn)程序的具體設(shè)計(jì)。教師講解新知識(shí)。
知識(shí)歸納:if 語句塊格式。
If 條件then
語句塊一
Else
語句塊二
End if
功能:①If …then、Else和 End if必須分別單獨(dú)寫在一行上,它們是整個(gè)語句的一部分。②語句塊中任何語句都不能與If…then、Else和End if寫在同一行。③為了增加可讀性,語句采用縮進(jìn)的形式書寫。
學(xué)生帶著自己的問題,認(rèn)真聽教師講解if語句塊的格式、功能和說明。學(xué)生嘗試用if語句塊形式書寫程序。組內(nèi)可以討論、交流,一起完成程序代碼的編寫。兩組互相共享程序代碼,使“猜猜他是哪國人”程序正常運(yùn)行。
5.教師關(guān)于此程序設(shè)計(jì)的思考。①如果猜者在B文本框中輸入“韓國人”或“韓”,其實(shí)答案正確,但卻無任何顯示,如何完善程序?程序是否可以改寫成:If Text2.Text = \"韓國\" or Text2.Text = \"韓\" or Text2.Text =\"韓國人\"。②如果不用if塊語句格式編寫,能否用if…then單行語句格式編寫,這樣程序是否簡單些呢?③如果不采用老師描述的自然語言的判斷形式,你如何設(shè)計(jì)出自己的程序?后兩個(gè)問題可以留給學(xué)生課后解決。④結(jié)論:程序的編寫是多樣的,每個(gè)人的設(shè)計(jì)思路不同,設(shè)計(jì)出來的程序也不相同。
學(xué)生思考教師提出的問題該如何解決。
(五)我是細(xì)心的程序醫(yī)生(快速診斷問題程序)
師:我們今天學(xué)習(xí)了if分支結(jié)構(gòu)語句,可是大家在程序書寫中總是會(huì)或多或少地遇到一些問題,這不,下面的程序就是一些馬虎的同學(xué)書寫的,我們看看哪一組的程序醫(yī)生既細(xì)心,又能快速地找到毛病,并給出正確的處方。

(程序省略)
學(xué)生分成兩組進(jìn)行比賽,看看哪組最先完成問題程序的診斷。組長負(fù)責(zé),組內(nèi)同學(xué)分工合作,最先完成的小組選派代表說明診斷結(jié)果和正確處方。勝出的小組得到一個(gè)福娃圖片。
(六)知識(shí)總結(jié)及延伸
學(xué)生自己歸納總結(jié)本節(jié)課if分支結(jié)構(gòu)語句的知識(shí)要點(diǎn)及本節(jié)課if分支結(jié)構(gòu)的三種形式。
(七)課后作業(yè)
1.輸入兩個(gè)數(shù),輸出最大的數(shù)(提示:輸入用input函數(shù))。
2.輸入三個(gè)數(shù),看看這三個(gè)數(shù)能否構(gòu)成三角形的三條邊。(提示:兩邊和>第三邊:兩邊差<第三邊)。
● 教學(xué)反思
1.以往講程序語言,常規(guī)的模式就是先講if分支語句的格式、功能和說明,然后舉例。這樣的教學(xué)顯得程序設(shè)計(jì)很枯燥,學(xué)生也體會(huì)不到程序設(shè)計(jì)的樂趣,更無法激起他們學(xué)習(xí)程序設(shè)計(jì)的積極性。因此,我在本節(jié)的教學(xué)設(shè)計(jì)中以奧運(yùn)知識(shí)為背景,緊密聯(lián)系社會(huì)生活,采用知識(shí)問答游戲和比賽的方式,充分激發(fā)了學(xué)生的學(xué)習(xí)熱情,使枯燥的程序設(shè)計(jì)變得樂趣無窮。
2.對(duì)于知識(shí)的呈現(xiàn),本節(jié)課嘗試先引導(dǎo)學(xué)生獨(dú)立解決問題,在解決問題的過程中遇到新問題,再思考解決新問題的方法,進(jìn)而歸納總結(jié)出分支結(jié)構(gòu)語句的知識(shí)要點(diǎn)。帶著問題學(xué)習(xí)新知,學(xué)習(xí)效果會(huì)不一樣。在問題的解決環(huán)節(jié)中,學(xué)生積極、活躍地思考問題,學(xué)習(xí)氣氛緊張而充實(shí)。從熟悉的英語翻譯到簡單的程序分析,從半成品程序補(bǔ)充到嘗試完成完整的程序設(shè)計(jì),最后對(duì)知識(shí)進(jìn)行反饋和延伸,學(xué)生很有成就感,感到真正學(xué)到了程序設(shè)計(jì)的知識(shí)并能用來解決實(shí)際問題,真正掌握了程序設(shè)計(jì)的思維方式和設(shè)計(jì)思路。
3.本節(jié)課采用了分組、學(xué)生自主、協(xié)作、探究的方式,充分利用了學(xué)生喜歡競爭的特點(diǎn)。組間對(duì)抗可以激發(fā)他們的學(xué)習(xí)熱情,活躍學(xué)習(xí)氣氛,提高學(xué)習(xí)效率。組間比賽并非每個(gè)環(huán)節(jié)都有,教學(xué)應(yīng)有張有弛,同時(shí)要注意避免只顧學(xué)生比賽而忽視了實(shí)際的教學(xué)內(nèi)容。組內(nèi)協(xié)作學(xué)習(xí),避免了僅老師單獨(dú)輔導(dǎo)學(xué)生的局限性。本節(jié)課主要達(dá)到了上述目的。其實(shí),我感覺這并不是真正意義上的分組教學(xué),如何有效地利用學(xué)生分組實(shí)施教學(xué)一直是我在實(shí)際教學(xué)中感到困惑的地方。分組教學(xué)中,教師如何很好地控制教學(xué)過程和學(xué)生的學(xué)習(xí)過程以及如何處理突發(fā)問題都是需要我深入思考的問題。
4.根據(jù)初中一年級(jí)學(xué)生的學(xué)習(xí)特點(diǎn)和接受能力,在程序設(shè)計(jì)的教學(xué)中,教師的指導(dǎo)和引導(dǎo)作用很重要,教師必須精心設(shè)計(jì)問題,逐步啟發(fā)學(xué)生思考問題,才能達(dá)到預(yù)期的教學(xué)效果。尤其在“猜猜他們是哪國人”環(huán)節(jié),如果教師不指導(dǎo)和幫助學(xué)生分析問題,初學(xué)VB的初一學(xué)生根本無法獨(dú)立完成程序的設(shè)計(jì)。
5.本節(jié)課的教學(xué)內(nèi)容利用一節(jié)課的時(shí)間完成,感覺時(shí)間很緊張,容量有些大,某些問題講得不透徹。在教學(xué)中每個(gè)環(huán)節(jié)的時(shí)間控制和學(xué)生的學(xué)習(xí)過程控制很關(guān)鍵,可考慮必要時(shí)利用兩節(jié)課時(shí)間完成,教學(xué)效果或許會(huì)更好。
點(diǎn)評(píng)
本節(jié)課講授的“VB分支結(jié)構(gòu)語句”是七年級(jí)信息技術(shù)教材中的選學(xué)內(nèi)容。剛剛升入初中的學(xué)生容易對(duì)程序設(shè)計(jì)的課程感覺枯燥、有難度。針對(duì)這一情況,教師以培養(yǎng)學(xué)生的邏輯思維能力為目標(biāo),設(shè)計(jì)了由易到難的學(xué)習(xí)任務(wù),并以小組為單位展開競賽,讓學(xué)生在“賽中學(xué)”、“學(xué)中賽”,極大地激發(fā)了學(xué)生的學(xué)習(xí)興趣,促進(jìn)了學(xué)習(xí)積極性,從而順利完成了本節(jié)課的教學(xué)任務(wù)。
首先,教師以“快樂英語拼句”作為課堂引入,貼近學(xué)生生活和現(xiàn)有學(xué)習(xí)水平,順利地將“if…then…else”語句中的關(guān)鍵字提出,讓學(xué)生有了初步的認(rèn)識(shí)。其次,課堂任務(wù)中本著“由易到難、由簡到繁”的原則,分別設(shè)計(jì)了“福娃考考你”、“奧運(yùn)五環(huán)填色”和“聰明的推理專家”三個(gè)任務(wù),讓學(xué)生從“讀懂代碼”到“補(bǔ)全代碼”,進(jìn)而“編寫代碼”,真正掌握了VB分支結(jié)構(gòu)語句的基本格式、功能和用法。學(xué)生需要完成的任務(wù)都是在教師精心準(zhǔn)備的“半成品”程序代碼的環(huán)境下完成的,這使得學(xué)生的學(xué)習(xí)更有針對(duì)性。同時(shí),也使得教學(xué)重點(diǎn)突出,課堂效率進(jìn)一步提升。最后,教師設(shè)計(jì)了“細(xì)心的程序醫(yī)生”,讓學(xué)生自己發(fā)現(xiàn)錯(cuò)誤、更正錯(cuò)誤,從而鞏固了本節(jié)課所學(xué)的知識(shí)。
本課設(shè)計(jì)符合新課程提倡的“合作、自主、探究”的理念,是七年級(jí)VB程序教學(xué)設(shè)計(jì)的有益嘗試。
(點(diǎn)評(píng)人:天津市河西區(qū)教育中心孟廣學(xué))