• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      《選擇結(jié)構(gòu)》教學(xué)設(shè)計

      2017-02-24 03:23:09姚佳俊曹恒來
      中國信息技術(shù)教育 2017年1期
      關(guān)鍵詞:程序設(shè)計分支語句

      姚佳俊 曹恒來

      ● 學(xué)習(xí)者分析

      本課的教學(xué)對象是高二年級的學(xué)生,他們思維活躍,具有一定的邏輯思維和推理演繹的能力,但歸納總結(jié)能力較弱。在前面的課程中,學(xué)生已經(jīng)掌握了VB的常量、變量、表達式、Let語句、Print方法等基本知識,了解了程序設(shè)計的一般過程,急切地想編寫程序解決生活中更為復(fù)雜的實際問題,但他們現(xiàn)有的知識結(jié)構(gòu)僅限于解決順序結(jié)構(gòu)的問題,而且將實際問題轉(zhuǎn)化為VB程序的能力也有待提高。

      ● 學(xué)習(xí)內(nèi)容分析

      本課是教育科學(xué)出版社出版的《算法與程序設(shè)計》(選修)第二章“程序的基本結(jié)構(gòu)”中第三節(jié)第二部分的內(nèi)容。任何規(guī)范的程序都可以分解為三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),教材的前一節(jié)介紹了順序結(jié)構(gòu)程序設(shè)計。選擇結(jié)構(gòu)是用于判斷給定的條件,并根據(jù)判斷的結(jié)果控制程序的執(zhí)行流程,它分為單分支、雙分支及多分支選擇結(jié)構(gòu),而不同的分支結(jié)構(gòu)有不同的語法格式和適用場合。牢固掌握選擇結(jié)構(gòu)程序設(shè)計,是學(xué)習(xí)程序設(shè)計的基本要求,是學(xué)會編寫結(jié)構(gòu)清晰、易讀易懂的程序的前提。

      ● 教學(xué)目標(biāo)

      知識與技能目標(biāo):掌握選擇結(jié)構(gòu)的基本格式,理解選擇結(jié)構(gòu)的執(zhí)行過程。

      過程與方法目標(biāo):能根據(jù)問題建立合適、正確的條件,利用選擇結(jié)構(gòu)解決實際問題。

      情感態(tài)度與價值觀目標(biāo):領(lǐng)悟選擇結(jié)構(gòu)的思想,體驗選擇在生活中的應(yīng)用。

      ● 教學(xué)重點、難點

      重點:選擇結(jié)構(gòu)的基本格式,利用選擇結(jié)構(gòu)解決實際問題。

      難點:選擇結(jié)構(gòu)的嵌套。

      ● 教學(xué)策略

      本課教學(xué)采用了案例模擬教學(xué)法。筆者通過呈現(xiàn)問題、觀察代碼、模仿嘗試、歸納小結(jié)、問題解決、拓展應(yīng)用、總結(jié)提升等課堂教學(xué)環(huán)節(jié),設(shè)計了遞進式的學(xué)習(xí)活動。學(xué)生通過“比較兩個數(shù)的大小”“出租車計費器”“月餅促銷”“計算三角形面積”“BMI等級的判斷”等程序的完善,在解決一個個問題的同時,層層深入地認識選擇結(jié)構(gòu)。學(xué)生在模仿中,通過對多個“個”的嘗試,找出“個”背后“類”的規(guī)律性問題,歸納出選擇結(jié)構(gòu)的一般格式,實現(xiàn)從“個”到“類”的提升。這樣的設(shè)計有助于學(xué)生從整體上認識選擇結(jié)構(gòu),并不斷地向縱深發(fā)展。同時,真實的問題情境能有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,讓他們積極思考、主動建構(gòu),獲得程序設(shè)計的成就感。

      ● 教學(xué)過程

      1.代碼呈現(xiàn)

      運行上節(jié)課編寫的“計算兩個數(shù)的商”程序,代碼如下:

      Private Sub cmddiv_Click()

      Dim x As Single ' 被除數(shù)

      Dim y As Single ' 除數(shù)

      Dim q As Single ' 商

      x = Val(InputBox("請輸入被除數(shù):"))

      y = Val(InputBox("請輸入除數(shù):"))

      q = x / y

      Print q

      End Sub

      學(xué)生運行上述程序,分析程序的漏洞:當(dāng)除數(shù)為0時,程序提示出錯,說明這樣的程序是不完善的。實際上,在除數(shù)不為零的情況下,學(xué)生才能計算它們的商,否則應(yīng)提示“除數(shù)為零”。

      用VB程序來描述如下:

      If y <> 0 Then

      q = x / y

      Print q

      Else

      Print "除數(shù)為零"

      End If

      教師小結(jié):根據(jù)條件判斷的結(jié)果,選擇執(zhí)行不同語句的結(jié)構(gòu),稱為選擇結(jié)構(gòu)。

      設(shè)計意圖:教師從上一節(jié)課的順序結(jié)構(gòu)程序引入,讓學(xué)生通過觀察、分析,發(fā)現(xiàn)其中的If語句結(jié)構(gòu)起著引導(dǎo)程序走向的作用。這樣的設(shè)計使學(xué)生的學(xué)習(xí)不是被動接受,而是一個以已有知識經(jīng)驗為基礎(chǔ)的主動建構(gòu)過程。

      2.模仿嘗試

      活動1:模仿上例完善程序,嘗試解決下面兩個問題。

      ①輸入兩個數(shù)x和y,比較它們的大小,使x大于y。

      Private Sub cmdxy_Click()

      Dim x As Single,y As Single,t As Single

      x = Val(InputBox("輸入x的值:"))

      y = Val(InputBox("輸入y的值:"))

      If _________ Then

      t = x

      x = y

      y = t

      End If

      Print "x的值為:"; x

      Print "y的值為:"; y

      End Sub

      ②出租車計費程序,三公里以內(nèi)(含)起步價9元,超出三公里的部分每公里2.4元。

      Private Sub cmdtaxi_Click()

      Dim s As Single,y As Single

      s = Val(InputBox("輸入里程數(shù):"))

      If s <= 3 Then

      y = 9

      Else

      ___________

      End If

      Print y

      End Sub

      設(shè)計意圖:學(xué)生通過模仿完善兩個半成品程序,進一步深化對選擇結(jié)構(gòu)的認識。教師有目的地將部分核心代碼留空,讓學(xué)生將有限的注意力集中到核心問題的解決上,做到有的放矢;另外,關(guān)鍵代碼的填寫可以為學(xué)生理解程序提供支架,降低活動難度。

      3.歸納提升

      選擇結(jié)構(gòu)根據(jù)條件判斷的結(jié)果控制程序的走向,不同的問題可能有不同的條件判斷,但If語句的基本格式是固定的。

      單分支選擇結(jié)構(gòu)(如圖1),代碼如下:

      If 條件 Then

      語句塊

      End If

      雙分支選擇結(jié)構(gòu)(如圖2),代碼如下:

      If 條件 Then

      語句塊1

      Else

      語句塊2

      End If

      教師小結(jié):單分支的選擇結(jié)構(gòu),當(dāng)條件為真時才執(zhí)行指定語句,否則跳過;雙分支的選擇結(jié)構(gòu)根據(jù)條件是否成立,程序選擇執(zhí)行相對應(yīng)的語句,然后執(zhí)行End If后面的語句。

      設(shè)計意圖:教師通過適時地歸納總結(jié),讓學(xué)生在對選擇結(jié)構(gòu)有了感性認識的基礎(chǔ)上,系統(tǒng)地認識單分支和雙分支選擇結(jié)構(gòu)的一般格式,并借助流程圖分析選擇結(jié)構(gòu)的執(zhí)行過程,幫助學(xué)生建構(gòu)清晰而完整的知識框架,這將為他們后面的學(xué)習(xí)打下扎實的基礎(chǔ)。

      4.問題解決

      活動2:利用單分支和雙分支選擇結(jié)構(gòu),完善程序,解決問題。

      ①中秋節(jié)前夕,商店月餅促銷,購滿3盒(含)即可享受八折優(yōu)惠。請根據(jù)輸入的購買盒數(shù),計算出應(yīng)付金額。

      Private Sub cmdmk_Click()

      Dim qty As Integer ' 購買 盒數(shù)

      Dim price As Single ' 應(yīng)付 金額

      Dim sum As Single

      price = 80

      qty = Val(InputBox("購買盒數(shù):"))

      ' 如果購買盒數(shù)低于3盒,不打折

      ' 購滿3盒(含)享受八折優(yōu)惠

      _______________

      Print "應(yīng)付金額:"; sum; "元"

      End Sub

      ②已知三角形的三條邊a、b、c,求三角形的面積(判斷三條邊是否構(gòu)成三角形的條件為:任意兩邊之和大于第三條邊)。

      Private Sub cmdsquare_Click()

      Dim a As Single,b As Single,c As Single

      Dim p As Single,s As Single

      a = Val(InputBox("input a:"))

      b = Val(InputBox("input b:"))

      c = Val(InputBox("input c:"))

      p = (a + b + c) / 2

      ' 如果輸入的三邊值(a,b,c)能夠構(gòu)成三角形則計算其面積

      ' 否則提示用戶"不能構(gòu)成三角形"

      _______________

      End Sub

      教師小結(jié):條件一般為關(guān)系表達式,如活動1中的兩個程序,以及活動2中的程序①;也可為邏輯表達式,如活動2中的程序②。

      設(shè)計意圖:活動2能使學(xué)生對雙分支If語句有了較為清晰的理解之后實現(xiàn)完整的應(yīng)用,學(xué)生要考慮的不再只是選擇結(jié)構(gòu)中各個分支的內(nèi)容,而是站在一個更高的層面考慮整個選擇結(jié)構(gòu)的設(shè)計,在思維深度上與前面的活動呈遞進關(guān)系。同時,此活動的兩個問題分別通過關(guān)系表達式和邏輯表達式實現(xiàn)條件判斷,幫助學(xué)生進一步拓展對條件表達式的認知。

      5.拓展應(yīng)用

      活動3:身體質(zhì)量指數(shù)(BMI)是目前國際上常用的衡量人體胖瘦程度的標(biāo)準(zhǔn),WHO組織設(shè)定中國人的參考標(biāo)準(zhǔn)為:BMI<18.5表示偏瘦;BMI介于18.5~23.9表示正常;BMI>=23.9表示偏重。學(xué)生借助數(shù)軸(如圖3)分析問題,形成算法:①先判斷x<18.5是否成立,成立則輸出“偏瘦”;②否則判斷x<23.9是否成立,成立則輸出“正?!保駝t輸出“偏重”。

      Private Sub cmdbmi_Click()

      Dim w As Single,h As Single,bmi As Single

      w = Val(InputBox("輸入體重(公斤):"))

      h = Val(InputBox("輸入身高(米):"))

      bmi = w / h / h

      If bmi < 18.5 Then

      Print "偏瘦"

      Else

      _______________

      End If

      End Sub

      教師小結(jié):在第一次判斷的基礎(chǔ)上,進行再次判斷。這種在一個If語句的內(nèi)部又出現(xiàn)了另一個If語句,稱為If語句的嵌套。實際上,VB對程序有多個分支的問題,有一種專門的If語句形式簡化嵌套的問題。

      多分支選擇結(jié)構(gòu):

      If 條件1 then

      語句塊1

      ElseIf 條件2 then

      語句塊2

      Else

      語句塊3

      End If

      多分支的If語句實現(xiàn)BMI值判斷,代碼如下:

      Private Sub cmdbmi_Click()

      Dim w As Single,h As Single,bmi As Single

      w = Val(InputBox("輸入體重(公斤)"))

      h = Val(InputBox("輸入身高(米)"))

      bmi = w / h / h

      If bmi < 18.5 Then

      Print "偏瘦"

      ElseIf bmi < 23.9 Then

      Print "正常"

      Else

      Print "偏重"

      End If

      End Sub

      教師小結(jié):多分支選擇結(jié)構(gòu)首先測試條件1,如果它為假,就測試條件2,依此類推,直到找到一個為真的條件,并執(zhí)行相應(yīng)的語句塊;如果條件都不為真,執(zhí)行Else后的語句,然后再執(zhí)行End If后面的代碼。

      設(shè)計意圖:學(xué)生通過“數(shù)軸分析法”分析出第二次判斷“BMI<23.9”是以第一次判斷“BMI<18.5”為前提,是在第一次條件判斷為“假”的基礎(chǔ)上再次進行判斷。教師在完善程序的過程中,幫助學(xué)生理解嵌套的緣由,理清嵌套的脈絡(luò),并在此基礎(chǔ)上提出多分支If語句,分析其執(zhí)行過程。這樣的設(shè)計既重過程又重結(jié)論,讓學(xué)生在問題解決的過程中,輕松愉快地完成知識的建構(gòu)。

      6.思維導(dǎo)圖,復(fù)習(xí)鞏固

      筆者用思維導(dǎo)圖對知識點進行鞏固(如圖4)。

      點 評

      傳統(tǒng)的編程學(xué)習(xí)總是與編寫代碼、設(shè)計算法和生成可運行的程序緊密聯(lián)系在一起,教師常會選擇一些“經(jīng)典”的數(shù)學(xué)題作為例題,如雞兔同籠、百錢百雞、找素數(shù)、求水仙花數(shù)等,內(nèi)容缺少趣味性和綜合性。本節(jié)課設(shè)計的例題和練習(xí)與學(xué)生的學(xué)習(xí)和生活息息相關(guān),把解決“真實”問題作為編程學(xué)習(xí)的首要任務(wù),這樣既能使學(xué)生有一個愉快的學(xué)習(xí)過程,又能激發(fā)他們加倍投入到編程學(xué)習(xí)中。

      程序設(shè)計的學(xué)習(xí)主要圍繞環(huán)境、語言和應(yīng)用三個方面的知識和內(nèi)容展開,語言視圖學(xué)習(xí)的核心主要是語言規(guī)則本身。從教學(xué)方式來看,以往的程序設(shè)計語言規(guī)則的學(xué)習(xí)常采用三步走的形式,即提出問題,給出解答,再加點解釋。特別是“解釋”,往往過多地糾纏于程序設(shè)計語言的語法知識的細枝末節(jié)之中,學(xué)生很少能體驗到成功解決問題的喜悅。本節(jié)課姚老師運用了案例教學(xué)法,先為學(xué)生提供了一個需要解決的生活中的具體任務(wù)——計算兩個數(shù)的商,讓學(xué)生在分析解決這個問題的程序、嘗試補充程序模板中關(guān)鍵代碼的過程中,逐步認識If選擇結(jié)構(gòu),并引導(dǎo)他們提取出If語句的基本格式,再應(yīng)用到類似問題的解決中,最終得到功能強大的If語句指令集。

      同時,程序設(shè)計是一種高強度的腦力勞動,學(xué)生不是聽會的,也不是看會的,而是自己練會的。在這節(jié)課中,學(xué)生通過模仿嘗試、獨立解決等方式,完成了6個以上的程序,在有限的課堂教學(xué)時間內(nèi),較好地達到了“量”的要求。

      (點評人:江蘇省鹽城市教育科學(xué)研究院 曹恒來)

      猜你喜歡
      程序設(shè)計分支語句
      重點:語句銜接
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      巧分支與枝
      從細節(jié)入手,談PLC程序設(shè)計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      一類擬齊次多項式中心的極限環(huán)分支
      精彩語句
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      PLC梯形圖程序設(shè)計技巧及應(yīng)用
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      生成分支q-矩陣的零流出性
      德州市| 于都县| 鄂伦春自治旗| 金溪县| 舞阳县| 集安市| 福州市| 平湖市| 仙居县| 虎林市| 抚顺市| 大石桥市| 辽中县| 毕节市| 临澧县| 于田县| 黔西县| 南部县| 明溪县| 澜沧| 江口县| 孟津县| 齐河县| 寿光市| 阳曲县| 安塞县| 临沭县| 沐川县| 元朗区| 东兴市| 茶陵县| 信阳市| 上栗县| 雷山县| 闸北区| 丹寨县| 和硕县| 宜丰县| 盐津县| 峨山| 望城县|