課題 | 體驗(yàn)順序、分支結(jié)構(gòu)程序設(shè)計(jì) |
本節(jié)(課)教學(xué)內(nèi)容分析 |
本活動集中了順序結(jié)構(gòu)程序設(shè)計(jì)及實(shí)現(xiàn),分支結(jié)構(gòu)程序設(shè)計(jì)及實(shí)現(xiàn)兩大塊。內(nèi)容多,信息量大,需要對教材進(jìn)行剪枝簡化處理,突出重點(diǎn)。 |
本節(jié)(課)教學(xué)目標(biāo) |
知識與技能: (1 學(xué)會表達(dá)問題分析過程。 (2 建立算法的概念 (3 學(xué)習(xí)用自然語言順序結(jié)構(gòu)和分支結(jié)構(gòu)問題算法 (4 了解變量、賦值語句、文本對象、標(biāo)簽對象 過程與方法: 能根據(jù)問題設(shè)計(jì)界面和編寫程序 情感、態(tài)度和價值觀: 1 鼓勵學(xué)生對知識進(jìn)行遷移,完成創(chuàng)新活動,提高教學(xué)的實(shí)效性。 2 培養(yǎng)學(xué)生探究精神與獨(dú)立操作能力。 |
學(xué)習(xí)者特征分析 |
在上節(jié)課的接觸中,學(xué)生對VB界面及程序有了初步的認(rèn)識,建立起一些程序設(shè)計(jì)思維雛形。然而,對于八年級學(xué)生而言還不能進(jìn)行程序設(shè)計(jì)代碼,所以可以通過提供程序塊供其選擇,以減輕學(xué)習(xí)編程的難度。 |
教學(xué)重點(diǎn)和難點(diǎn) |
教學(xué)重點(diǎn) | 分析問題、構(gòu)建算法,建立起程序設(shè)計(jì)思維架構(gòu) |
教學(xué)難點(diǎn) | 如何將這么多的學(xué)習(xí)內(nèi)容有機(jī)結(jié)合在一起,讓學(xué)生能夠接受。 |
教學(xué)策略闡述 |
演示法、練習(xí)法、討論法 |
教學(xué)環(huán)境要求 |
輔助教學(xué)使用的程序,存放學(xué)生練習(xí)的文件夾。 |
教學(xué)過程 |
教學(xué)環(huán)節(jié) | 教師活動 | 學(xué)生活動 | 設(shè)計(jì)意圖 |
|
導(dǎo)課 | 引言:通過活動七,走近可視化程序設(shè)計(jì)的學(xué)習(xí),想想關(guān)于程序設(shè)計(jì)方面大家現(xiàn)在已經(jīng)能夠做些什么。 我們已經(jīng)有了制作軟件界面的基本能力,我們知道輸入程序的方法,我們能夠運(yùn)行程序,能夠?qū)⒊绦蜣D(zhuǎn)換為機(jī)器,通史直接的EXE程序文件等。 今天,我們看看能不能勃勃大家的努力,實(shí)現(xiàn)一些問題的程序設(shè)計(jì),編寫出小軟件。 | 學(xué)生回憶中回答問題。 | 相當(dāng)于復(fù)習(xí)課,但不是簡單的復(fù)習(xí)總結(jié),在學(xué)生的“七嘴八舌”中,通過贊美,激發(fā)學(xué)生的自信心,增強(qiáng)學(xué)習(xí)欲望。 |
|
提出問題 | 問題1 在我們七年組上學(xué)期數(shù)學(xué)課本中有一個“計(jì)算三支球隊(duì)凈勝球數(shù)”的問題,大家還記得么? 在一個由紅、黃、藍(lán)三支球隊(duì)組成的足球循環(huán)賽中,已知紅隊(duì)與黃隊(duì)的比分為a:b,紅隊(duì)與藍(lán)隊(duì)的比分為c:d,藍(lán)隊(duì)與黃隊(duì)的比分為e:f,求紅、黃、藍(lán)三支球隊(duì)的凈勝求數(shù)。 | 聽課、發(fā)言。 | 選擇學(xué)生熟悉的問題。 |
|
用數(shù)學(xué)方法解決問題 | 請大家寫出數(shù)學(xué)的解法,并請一個學(xué)生在黑反上把解法寫出來。 已知:各場比賽的比分a,b,c,d,e,f. 則:紅隊(duì)的凈勝求red=a+c-b-d 黃隊(duì)的凈勝球數(shù):yellow=b+f-a-e 藍(lán)隊(duì)的凈勝球數(shù)blue=d+e-c-f | 寫出數(shù)學(xué)的解法 | 從學(xué)生熟悉的知識入手。 |
|
算法概念 | 如何用計(jì)算機(jī)救出問題的解呢? 1.(告訴計(jì)算機(jī))輸入各場比賽的比分a,b,c,d,e,f 2.求紅隊(duì)的凈勝球數(shù)red=a+c-b-d 3.求黃隊(duì)的凈勝球數(shù):yellow=b+f-a-e 4.求藍(lán)隊(duì)的凈勝球數(shù)blue=d+e-c-f 5.顯示輸出結(jié)果。 這種解決問題的步驟稱之為算法。一個有效的算法一般四三部分組成:(1)輸入,輸入問題的己知數(shù)據(jù);(2)處理,求解過程;(3)輸出,顯示求得的結(jié)果。 | 聽課。
| 知識遷移,導(dǎo)出新知識 |
|
界面設(shè)計(jì) | 1、討論解決該問題,軟件界面需要哪些元素。 如:能夠輸入各場比賽的比分a,b,c,d,e,f的對象,顯示結(jié)果的對象,方便有戶使用的提示對象,開始計(jì)算按鈕等。 2、討論設(shè)計(jì)界面樣式。 3、界面設(shè)計(jì),參考教材P85圖8-1,P89表8-3“計(jì)算三支球隊(duì)凈勝球數(shù)”程序用到的及其屬性說明,實(shí)施界面設(shè)計(jì),改變界面樣式。 | 討論、設(shè)計(jì)界面。 實(shí)施界面設(shè)計(jì)。 | 學(xué)習(xí)如何根據(jù)問題進(jìn)行界面設(shè)計(jì)。 |
|
輸入程序 | 雙擊“開始計(jì)算”按鈕,產(chǎn)生按鈕單擊觸發(fā)事件過程。 Private Sub Command1_click()
End Sub Private Sub表示子過程,Command1_Click( )表示按鈕對象1單擊事件,Private Sub Command1_Click( )表示觸發(fā)按鈕對象1單擊事件發(fā)生后執(zhí)行該子過程中的程序。End Sub表示結(jié)束子程序。 輸入P90的程序。 | 在教師引領(lǐng)下完成相應(yīng)的輸入程序操作。 | 理解事件,理解觸發(fā)事件的意義。 |
|
運(yùn)行程序 | 結(jié)出幾組數(shù)據(jù),讓學(xué)生運(yùn)行程序,獲得程序的運(yùn)行結(jié)果。 | 運(yùn)行程序 | 進(jìn)一步學(xué)習(xí)如何運(yùn)行程序。 |
|
了解程序、了解順序結(jié)構(gòu)程序設(shè)計(jì) | 講解程序的組成。 1.Dim a As Integer的作用是定義一個a變量,該變量的值為-32768~32767之間的整數(shù),相當(dāng)于在計(jì)算機(jī)內(nèi)存中開辟一個叫做a的空間,該空間只能容納-32768~32767大小的整數(shù)。共他變更量定義類推。 2、a=Text1.Text表示將輸入到文本Text1對象中的數(shù)據(jù)賦給a變量。共他類推。 3、red=a+c-b-d表示將計(jì)算紅球隊(duì)的凈勝球數(shù)存放在red變更中。共創(chuàng)類推。 4、Text7.Text=red表示將red變量值通過文本Text&對象輸出。其他類推。 該程序中一個關(guān)鍵的語句形式,“=”組成的賦值語句,含義是將右邊的值賦給左邊變量或?qū)ο髮傩浴?/span> 計(jì)算機(jī)執(zhí)行程序的過程是按從下至下的順序執(zhí)行,我們把這種結(jié)構(gòu)的程序設(shè)計(jì)稱為順序結(jié)構(gòu)程序設(shè)計(jì)。 | 聽課. | 在學(xué)生理解算法、理解界面設(shè)計(jì)、體驗(yàn)了程序運(yùn)行基礎(chǔ)上,讓學(xué)生讀懂程序。理解順序結(jié)構(gòu)程序設(shè)計(jì)的形式和概念。 |
|
修改程序 | 如果將紅、黃、藍(lán)三支球隊(duì)的凈勝球數(shù)用標(biāo)簽對象實(shí)現(xiàn)輸出,程序應(yīng)如何修改呢? 引導(dǎo)學(xué)生完成對象及程序的修改,注意對象名在程序中的作用。 | 實(shí)現(xiàn)界面與程序的同步修改 | 進(jìn)一步理解賦值語句的作用,理解對象及其屬性的作用。 |
|
創(chuàng)新活動 | 以小組合作方式 ,讓學(xué)生嘗試探究、實(shí)踐教材P91的“創(chuàng)新活動”。 | 小組詩集如何實(shí)現(xiàn)“創(chuàng)新活動”的內(nèi)容 | 讓學(xué)生大膽實(shí)踐,失敗沒關(guān)系。 |
|
提出新的問題 | 問題2:大家一事實(shí)上都參加過學(xué)校體檢吧。體檢時有一種自動量身高、體重的儀器。它不公能幫你自動量出身高、體重,而且會對我們的體型進(jìn)行判斷。體型的標(biāo)準(zhǔn)有很多,對于 成人,有以下比較流行的一個標(biāo)準(zhǔn): 標(biāo)準(zhǔn)體重s=(身高-100)*0.9 如果體重大于標(biāo)準(zhǔn)的1.1倍,則為“偏重”。 如果體重小于標(biāo)準(zhǔn)體重的0.9倍,則為“偏輕”。 否則為“正?!?/span> | 聽課、發(fā)言 | 選擇學(xué)生熟悉的問題 |
|
人工問題 | 如果采用人工方法,直接求解體型問題上,大家覺得應(yīng)如何做呢? 我們一起寫出解決方案 1、獲取身高H、體重W的值 2、根據(jù)身高值H,求該身高的標(biāo)準(zhǔn)體重s=(H-100)*0.9 3、如果體重W>s*1.1,那么輸出“偏重”。 4、否則,如果體重W<s*0.9,那么輸出“偏輕”。 5、否則,輸出“正?!?/span> | 聽課 | 知識遷移,導(dǎo)出新知識 |
|
界面設(shè)計(jì) | 1、討論解決該問題軟件界面需要哪些元素。 如:輸入身高、體重的對象,顯示判斷結(jié)果的對象,方便用戶使用的提示對象,執(zhí)行判斷按鈕等。 2、討論設(shè)計(jì)界面樣式。 3、界面設(shè)計(jì),參考教材P85圖8-2,P94表8-5“體型判斷”程序用到的控件及共屬性說明,實(shí)施界面設(shè)計(jì),可以改變界面樣式。 | 討論、設(shè)計(jì)界面。 實(shí)施界面設(shè)計(jì) | 學(xué)習(xí)如何根據(jù)問題進(jìn)行界面設(shè)計(jì)。 |
|
輸入程序 | 雙擊“判斷結(jié)果”按鈕,產(chǎn)生按鈕單擊觸發(fā)事件過程。 Private Sub Command1_click()
End Sub 在過程中輸入P95的程序 | 在教師引領(lǐng)下完成相應(yīng)的輸入程序操作 | 理解事件,理解觸發(fā)事件的意 義。 |
|
運(yùn)行程序 | 討論如何多組數(shù)據(jù),運(yùn)行程序、獲得不同程序的運(yùn)行結(jié)果 | 討論數(shù)據(jù),程序 | 在討論數(shù)據(jù)、運(yùn)行程序過程中,理解分支的概念。 |
|
了解程序、了角分支結(jié)構(gòu)程序設(shè)計(jì) | 講解程序的組成: 1、程序中身高用High表示,用weight表示,標(biāo)準(zhǔn)體重用stand表示。 2.Dim high As Single的作月是定義一個high變更,該變量的值為有效位數(shù)為7位的實(shí)數(shù)。相當(dāng)于在計(jì)算機(jī)內(nèi)在了中開辟一個叫做high的空間,該空間容納實(shí)數(shù)。共創(chuàng)變更定義類推。 3、high=Text1.Text表示將文本框Text1中輸入身高賦給high變量。 weight=Text2.Text表示將文本框Text2中輸入體重賦給weight變量。 4、stand=(high-100)*0.9表示將救出的標(biāo)準(zhǔn)存入stand中。 5、If(weight>1.1*stand)Then Text3.Text=”偏重” Else If(weight<0.9*stand) Then Text3.Text=”偏輕” Else Text3.Text=”正?!?/span> End If End If 這是一個嵌套的分支語句,根據(jù)結(jié)果不同執(zhí)行不同的內(nèi)容。 與順序結(jié)構(gòu)程序不同的是,計(jì)算機(jī)執(zhí)行該程序的過程中,需要作邏輯判斷,并根據(jù)判斷的結(jié)果決策程序走向,我們把這樣結(jié)構(gòu)的程序設(shè)計(jì)稱為分支結(jié)構(gòu)程序設(shè)計(jì)。在分支結(jié)構(gòu)程序設(shè)計(jì)中,如何進(jìn)行判斷,即分支條件的表示是問題的關(guān)鍵,接著是各分支的執(zhí)行語句。 | 聽課、思考、理解、提問 | 在學(xué)生理解算法、理解界面設(shè)計(jì)、體驗(yàn)了程序運(yùn)行基礎(chǔ)上,學(xué)生讀懂程序。理解分支結(jié)構(gòu)程序設(shè)計(jì)的形式和概念。
|
|
修改程序 | 如果需要改變評價標(biāo)準(zhǔn),程序該如何修改呢? | 提出修改標(biāo)準(zhǔn),實(shí)現(xiàn)程序的修改和運(yùn)行。 | 進(jìn)一步理解分支語句的作用。 |
|
創(chuàng)新活動 | 以小組合作方式,讓學(xué)生嘗試探究、實(shí)踐教材P96的”創(chuàng)新活動” | 小組討論如何實(shí)現(xiàn)“創(chuàng)新活動”的內(nèi)容 | 讓學(xué)生大膽實(shí)踐,失敗沒關(guān)系 |
|