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

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

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