“算法與程序設(shè)計(jì)”課程教材分析與教學(xué)建議_第1頁(yè)
“算法與程序設(shè)計(jì)”課程教材分析與教學(xué)建議_第2頁(yè)
“算法與程序設(shè)計(jì)”課程教材分析與教學(xué)建議_第3頁(yè)
“算法與程序設(shè)計(jì)”課程教材分析與教學(xué)建議_第4頁(yè)
“算法與程序設(shè)計(jì)”課程教材分析與教學(xué)建議_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、“算法與程序設(shè)計(jì)”課程教材分析與教學(xué)建議綱要一、程序設(shè)計(jì)教學(xué)的發(fā)展歷程二、程序設(shè)計(jì)教學(xué)平臺(tái)的選擇三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法四、“如何用計(jì)算機(jī)解決問(wèn)題”教學(xué)活動(dòng)建議五、“程序設(shè)計(jì)ABC”教學(xué)活動(dòng)建議六、“算法的程序?qū)崿F(xiàn)”教學(xué)活動(dòng)建議七、如何學(xué)習(xí)算法與程序設(shè)計(jì) 這個(gè)階段信息技術(shù)教學(xué)強(qiáng)調(diào)的是BASIC語(yǔ)言程序設(shè)計(jì)能力。1.第一階段(1981-1986): 受前蘇聯(lián)計(jì)算機(jī)教育學(xué)家葉爾肖夫(Yershow)提出的“程序設(shè)計(jì)是第二文化”的影響,1982年,教育部決定在北京大學(xué)、清華大學(xué)等5所大學(xué)的附中進(jìn)行開(kāi)設(shè)計(jì)算機(jī)選修課的試驗(yàn),在此基礎(chǔ)上產(chǎn)生了第一個(gè)以程序設(shè)計(jì)為主的試驗(yàn)性教學(xué)大綱。一、程序設(shè)計(jì)教學(xué)的發(fā)展歷程

2、2. 第二階段(1986-1991): 1986年,國(guó)家教委召開(kāi)了“第三次全國(guó)中學(xué)計(jì)算機(jī)教育工作會(huì)議”,受第四次世界計(jì)算機(jī)教育大會(huì)“工具論”觀(guān)點(diǎn)的影響,頒發(fā)的第二個(gè)試驗(yàn)性教學(xué)大綱增加了部分應(yīng)用軟件的內(nèi)容,如字處理、數(shù)據(jù)庫(kù)和電子表格,開(kāi)課年級(jí)向初中和小學(xué)發(fā)展。 這一階段的教學(xué)內(nèi)容從單一的BASIC語(yǔ)言教學(xué)逐步轉(zhuǎn)向重視計(jì)算機(jī)應(yīng)用的教學(xué)。一、程序設(shè)計(jì)教學(xué)的發(fā)展歷程3. 第三個(gè)階段(1991-1999): 1991年10月,國(guó)家教委召開(kāi)了“第四次全國(guó)中小學(xué)計(jì)算機(jī)教育工作會(huì)議”,根據(jù)這次會(huì)議精神,制定并頒發(fā)了中小學(xué)計(jì)算機(jī)課程指導(dǎo)綱要(試行)。1997年又頒發(fā)了中小學(xué)計(jì)算機(jī)課程指導(dǎo)綱要(修訂稿),把計(jì)算機(jī)

3、課程分為若干模塊,開(kāi)課年級(jí)從高中一直到小學(xué)。 在這一時(shí)期,程序設(shè)計(jì)的教學(xué)被極大的弱化。一、程序設(shè)計(jì)教學(xué)的發(fā)展歷程4. 第四階段(20002003): 2000年,教育部召開(kāi)全國(guó)中小學(xué)信息技術(shù)教育工作會(huì)議,頒發(fā)了中小學(xué)信息技術(shù)課程指導(dǎo)綱要(試行)。課程的名稱(chēng)由“計(jì)算機(jī)課”改成“信息技術(shù)課程”。 但是,綱要中僅高中包含程序設(shè)計(jì)的教學(xué)內(nèi)容:?jiǎn)栴}的算法表示;算法的程序?qū)崿F(xiàn);程序設(shè)計(jì)思想和方法。一、程序設(shè)計(jì)教學(xué)的發(fā)展歷程5. 第五階段(2003年至今): 2003年3月頒發(fā)的“普通高中信息技術(shù)課程標(biāo)準(zhǔn)”,將信息技術(shù)作為高中課程八大學(xué)習(xí)領(lǐng)域之一的技術(shù)領(lǐng)域中的一個(gè)科目,使信息技術(shù)與語(yǔ)文、數(shù)學(xué)等科目并列,從而

4、把信息技術(shù)課程納入到了基礎(chǔ)教育課程改革的總體系之中。 “算法與程序設(shè)計(jì)”是在必修模塊的基礎(chǔ)上,作為計(jì)算機(jī)應(yīng)用的技術(shù)基礎(chǔ)設(shè)置的選修模塊。一、程序設(shè)計(jì)教學(xué)的發(fā)展歷程 近年來(lái),中小學(xué)程序設(shè)計(jì)的教學(xué)又逐步呈現(xiàn)出一種回歸的態(tài)勢(shì):北京市東城區(qū)進(jìn)行的“程序設(shè)計(jì)和機(jī)器人”實(shí)驗(yàn)研究CXLOGO語(yǔ)言的學(xué)習(xí);CXLOGO微世界;機(jī)器人實(shí)驗(yàn)室等。貴州符美瑜在遵義進(jìn)行的“通過(guò)LOGO實(shí)驗(yàn)學(xué)數(shù)學(xué)”實(shí)驗(yàn)即將頒布的江蘇省義務(wù)教育信息技術(shù)課程指導(dǎo)綱要,“程序設(shè)計(jì)”是拓展模塊之一。算法與問(wèn)題解決;程序結(jié)構(gòu)與設(shè)計(jì)。二、程序設(shè)計(jì)教學(xué)平臺(tái)的選擇采用了可視化技術(shù),把Windows的編程復(fù)雜性封裝起來(lái)。采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。采用事件

5、驅(qū)動(dòng)的編程機(jī)制。Visual Basic具有簡(jiǎn)單的語(yǔ)法,繼承了其先輩Basic簡(jiǎn)單易用的特點(diǎn)。作為通用的宏語(yǔ)言,廣泛應(yīng)用在Microsoft的其它軟件產(chǎn)品中,如Word、Excel等三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法1. Visual Basi程序開(kāi)發(fā)環(huán)境標(biāo)題欄窗體設(shè)計(jì)器窗口菜單欄工具箱工程管理器窗口屬性窗口三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法1. Visual Basi程序開(kāi)發(fā)環(huán)境指針標(biāo)簽框架檢查框水平滾動(dòng)條組合框時(shí)鐘目錄列表形狀圖像對(duì)象鏈接與插入圖片框文本框命令按鈕單選鈕列表框垂直滾動(dòng)條驅(qū)動(dòng)器列表框文件列表框數(shù)據(jù)控件三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法2. 建立一個(gè)V程序問(wèn)題: 設(shè)計(jì)一個(gè)程序,根據(jù)函數(shù)圖象確定的根的區(qū)間,求

6、一元二次方程ax2+bx+c=0(a0)的近似根。三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法2. 建立一個(gè)V程序分析: 對(duì)于一元二次方程,可以用求根公式求得精確解,也可以首先從函數(shù)的圖象上,估計(jì)出根的區(qū)間,然后在有根的區(qū)間內(nèi)用逐次分半的二分法求出方程的近似根。三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法步驟:(1)建立程序界面 界面中使用6個(gè)文本框,分別用來(lái)輸入方程的3個(gè)系數(shù)、輸入根的區(qū)間和輸出計(jì)算結(jié)果,8個(gè)標(biāo)簽用來(lái)顯示提示信息,2個(gè)命令按鈕分別完成求根和結(jié)束程序的功能。步驟:(2)設(shè)置對(duì)象屬性缺省的對(duì)象名設(shè)置的對(duì)象名屬性設(shè)置值Form1frmEquationCaption求一元二次方程的近似根Label1Caption方程:La

7、bel2Captionx2+Label3Captionx+Label4Caption=0Label5Caption根的區(qū)間:Label6Caption,Label7CaptionLabel8Caption結(jié)果:Text1txtaText(空白)Text2txtbText(空白)Text3txtcText(空白)Text4txtLBoundText(空白)Text5txtRBoundText(空白)Text6txtRootText(空白)Command1cmdBiRootCaption近似根Command2cmdCancelCaption取消步驟:(3)編寫(xiě)事件處理程序Private Sub c

8、mdBiRoot_Click() Dim a As Single, b As Single, c As Single Dim x1 As Double, x2 As Double Dim x0 As Double Dim fx0 As Double, fx1 As Double a = Val(txta.Text) 取得各次項(xiàng)系數(shù) b = Val(txtb.Text) c = Val(txtc.Text) x1 = Val(txtLBound.Text) 根的區(qū)間賦初值 x2 = Val(txtRBound.Text) Do x0 = (x1 + x2) / 2 計(jì)算區(qū)間中點(diǎn) fx0 = a

9、* x0 * x0 + b * x0 + c 計(jì)算f(x0) fx1 = a * x1 * x1 + b * x1 + c 計(jì)算f(x1) 判斷f(x0)與f(x1)是否同號(hào),縮小區(qū)間 If fx0 * fx1 0 Then x1 = x0 Else x2 = x0 End If Loop While Abs(x1 - x2) 0.000001 判斷精度是否滿(mǎn)足要求 txtRoot.Text = Format(x1, 0.000000)End Sub三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法2. 建立一個(gè)V程序步驟:(4)運(yùn)行程序(5)保存工程3. 面向?qū)ο蟪绦蛟O(shè)計(jì)(1)對(duì)象與類(lèi) 在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是

10、描述現(xiàn)實(shí)世界客觀(guān)事物的一個(gè)實(shí)體,一輛具體的汽車(chē)抽象為一個(gè)對(duì)象,包含了描述物理特征的數(shù)據(jù)(汽缸數(shù):4,排汽量:1.8L,發(fā)動(dòng)機(jī)功率:67kw,廠(chǎng)牌號(hào):普通桑塔納,顏色:黑色等)和行為(啟動(dòng),加速,制動(dòng)等),這些數(shù)據(jù)和行為結(jié)合成一個(gè)整體,構(gòu)成描述“蘇A0000”汽車(chē)的一個(gè)對(duì)象。所有汽車(chē)都具有這些特征和行為,把這些特征和行為提取出來(lái),就構(gòu)成了一個(gè)“汽車(chē)”類(lèi)。蘇A0000汽缸數(shù):4排汽量:1.8L發(fā)動(dòng)機(jī)功率:67kw廠(chǎng)牌號(hào):普通桑塔納顏色:黑色行為:?jiǎn)?dòng)、加速、制動(dòng)汽車(chē)汽缸數(shù)排汽量發(fā)動(dòng)機(jī)功率廠(chǎng)牌號(hào)顏色行為:?jiǎn)?dòng)、加速、制動(dòng)類(lèi)對(duì)象3. 面向?qū)ο蟪绦蛟O(shè)計(jì)VB中的類(lèi)與對(duì)象類(lèi)對(duì)象3. 面向?qū)ο蟪绦蛟O(shè)計(jì)(2)

11、對(duì)象的屬性、方法和事件1)屬性 屬性是對(duì)象的性質(zhì),對(duì)象的許多屬性會(huì)影響對(duì)象的外觀(guān)及功能。對(duì)象的屬性可以在設(shè)計(jì)界面時(shí)通過(guò)屬性窗口設(shè)置,也可以在運(yùn)行時(shí)通過(guò)程序代碼設(shè)置,方法如下: 對(duì)象.屬性=屬性值例如,給文本框“txtSource”的“Text”屬性賦值為字符串20,代碼如下: txtSource.Text=20 如果要獲取對(duì)象的狀態(tài)或特性,這時(shí)就要讀取對(duì)象的屬性值,方法如下: 變量=對(duì)象.屬性例如,讀取文本框“txtSource”的“Text”屬性的代碼如下: a = txtSource.Text3. 面向?qū)ο蟪绦蛟O(shè)計(jì)(2) 對(duì)象的屬性、方法和事件2)方法 方法是指封裝在對(duì)象內(nèi)部的執(zhí)行一項(xiàng)任務(wù)

12、的過(guò)程或函數(shù),是對(duì)象本身固有的動(dòng)作,可以直接調(diào)用。方法是針對(duì)特定對(duì)象的,調(diào)用對(duì)象方法的格式如下:對(duì)象.方法 參數(shù)名表例如:Form1.Print 歡迎使用Visual Basic3. 面向?qū)ο蟪绦蛟O(shè)計(jì)(2) 對(duì)象的屬性、方法和事件3) 事件 事件是對(duì)象對(duì)外部操作的響應(yīng),每個(gè)對(duì)象都有一系列預(yù)先定義的事件集。 事件過(guò)程的形式如下: Private Sub 對(duì)象_事件名() (事件過(guò)程代碼) End Sub 屬性、方法、事件構(gòu)成了對(duì)象的三要素。三、面向?qū)ο蟪绦蛟O(shè)計(jì)方法4. 事件驅(qū)動(dòng)的編程機(jī)制 在傳統(tǒng)的面向過(guò)程的程序設(shè)計(jì)語(yǔ)言中,程序自身控制了代碼的執(zhí)行,從第一行代碼開(kāi)始按照預(yù)定的路徑執(zhí)行程序,必要時(shí)調(diào)

13、用過(guò)程或函數(shù),程序必須有明顯的開(kāi)始、結(jié)束,靠代碼控制程序執(zhí)行的順序。 VB程序沒(méi)有明顯的開(kāi)始和結(jié)束,程序的執(zhí)行是由事件控制的,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時(shí)執(zhí)行不同的代碼,事件的順序決定了代碼的執(zhí)行順序,這就是VB的事件驅(qū)動(dòng)(event driven)的程序設(shè)計(jì)思想。四、“如何用計(jì)算機(jī)解決問(wèn)題”教學(xué)活動(dòng)建議(一)內(nèi)容標(biāo)準(zhǔn)結(jié)合實(shí)例,經(jīng)歷分析問(wèn)題、確定算法、編程求解等用計(jì)算機(jī)解決問(wèn)題的基本過(guò)程,認(rèn)識(shí)算法和程序設(shè)計(jì)在其中的地位和作用。 經(jīng)歷用自然語(yǔ)言、流程圖或偽代碼等方法描述算法的過(guò)程。在使用計(jì)算機(jī)解決實(shí)際問(wèn)題的過(guò)程中,通過(guò)觀(guān)看演示、模仿、探究、實(shí)踐等環(huán)節(jié),了解順序、選擇、循環(huán)三

14、種基本結(jié)構(gòu)及其重要作用,掌握計(jì)算機(jī)程序的基本概念,能解釋計(jì)算機(jī)程序執(zhí)行的基本過(guò)程。能夠說(shuō)出程序設(shè)計(jì)語(yǔ)言產(chǎn)生、發(fā)展的歷史與過(guò)程,能夠解釋其意義。(二)教學(xué)活動(dòng)建議通過(guò)例舉生活與學(xué)習(xí)中需要用計(jì)算機(jī)解決的問(wèn)題,如有關(guān)數(shù)值計(jì)算、邏輯等方面的問(wèn)題,讓學(xué)生認(rèn)識(shí)問(wèn)題,形成問(wèn)題意識(shí),感受利用計(jì)算機(jī)解決問(wèn)題的必要性案例:解一元方程 活動(dòng)目的:了解用計(jì)算機(jī)解決問(wèn)題和手工解決問(wèn)題方式的區(qū)別。 活動(dòng)內(nèi)容:日常生活中的許多實(shí)際問(wèn)題可以歸結(jié)為方程問(wèn)題。那么,如何求方程的根呢?對(duì)于一元二次方程,如2x2-13x+11=0,可以用初中學(xué)過(guò)的配方法、公式法、分解因式法等代數(shù)方法解決,在計(jì)算機(jī)上,可以根據(jù)二次函數(shù)y=2x2-13

15、x+11的圖象,用數(shù)值法求它的近似解。分別用代數(shù)方法和計(jì)算機(jī)解這個(gè)方程,體驗(yàn)用計(jì)算機(jī)解決問(wèn)題和手工解決問(wèn)題方式的區(qū)別。(二)教學(xué)活動(dòng)建議Step 1 用代數(shù)方法解一元二次方程2x2-13x+11=0方 法思 路過(guò)程與結(jié)果配方法公式法分解因式法你還知道哪些解一元二次方程的方法?(二)教學(xué)活動(dòng)建議Step 2 了解一元高次方程的解法。 如何求解二次以上的一元三次、一元四次及以上的方程呢?選擇適當(dāng)?shù)乃阉饕嫠阉饕蛱鼐W(wǎng),也可以向老師或?qū)<艺?qǐng)教,收集一元高次方程的解法,整理后與同學(xué)交流。(二)教學(xué)活動(dòng)建議Step 3 用計(jì)算機(jī)求方程的近似根。 運(yùn)行 Equation程序,輸入二次函數(shù)y=2x2-13x+

16、11的函數(shù)表達(dá)式,單擊“繪圖”按鈕得到該函數(shù)的圖象,從函數(shù)圖象可知方程2x2-13x+11=0在區(qū)間0,2、5,6內(nèi)各有一個(gè)實(shí)根,分別輸入根的區(qū)間,單擊“近似根”按鈕,求得方程的近似根,與前面用代數(shù)方法求得的根比較,結(jié)果是否相同? 輸入其它的二次、三次、四次及以上的函數(shù)表達(dá)式,分別求相應(yīng)方程的近似根,看用計(jì)算機(jī)解方程的方法與方程的次數(shù)是否有關(guān)?方 程近似根(二)教學(xué)活動(dòng)建議Step 4 計(jì)算機(jī)如何解題 打開(kāi)Equation源程序,找到frmDraw模塊中的cmdRoot_Click()事件過(guò)程,在老師的指導(dǎo)下,向“監(jiān)視”窗口分別添加監(jiān)視表達(dá)式x1、x2、x0、Func(x0) * Func(x

17、1) 0,選取“當(dāng)監(jiān)視值改變時(shí)中斷”按鈕,運(yùn)行程序,輸入函數(shù)表達(dá)式x2-13x+11,根據(jù)程序斷點(diǎn)和“監(jiān)視”窗口跟蹤程序的執(zhí)行過(guò)程,觀(guān)察并記載程序的解題步驟。(二)教學(xué)活動(dòng)建議2.通過(guò)實(shí)驗(yàn)活動(dòng),幫助學(xué)生感知算法在用計(jì)算機(jī)解決問(wèn)題過(guò)程中的地位和作用案例:排序算法的實(shí)驗(yàn)比較實(shí)驗(yàn)?zāi)康模罕容^選擇排序和快速排序速度。實(shí)驗(yàn)內(nèi)容:運(yùn)行 sort程序。對(duì)于每種排序算法,分別產(chǎn)生10、100、1000、10000個(gè)3位隨機(jī)整數(shù),測(cè)試排序的時(shí)間(單位:毫秒)。請(qǐng)記錄下你的實(shí)驗(yàn)數(shù)據(jù),比較兩種排序算法的效率。算 法10100100010000選擇排序快速排序(二)教學(xué)活動(dòng)建議3.通過(guò)一個(gè)具體的實(shí)例,從提出問(wèn)題入手,引

18、導(dǎo)學(xué)生在將以往所學(xué)的數(shù)學(xué)解題過(guò)程遷移過(guò)來(lái),設(shè)計(jì)算法并使用自然語(yǔ)言、流程圖等描述算法,使用Visual Basic語(yǔ)言實(shí)現(xiàn)算法,從而經(jīng)歷用計(jì)算機(jī)解決問(wèn)題的基本過(guò)程。(二)教學(xué)活動(dòng)建議案例:韓信點(diǎn)兵 分析問(wèn)題,建立數(shù)學(xué)模型:設(shè)士兵共有m名。m除以3,5,7所得的商分別為x,y,z,那么由題意,有以下不定方程組: 確定算法:通過(guò)分析問(wèn)題,寫(xiě)出問(wèn)題的求解過(guò)程,將其步驟化,設(shè)計(jì)算法,并就不同的解決方法的步驟、效率和合理性作出比較。(二)教學(xué)活動(dòng)建議案例: 編制程序:教師直接給出對(duì)應(yīng)于算法的程序,并對(duì)照流程圖初步分析程序是如何實(shí)現(xiàn)算法的。 運(yùn)行程序:引導(dǎo)學(xué)生打開(kāi)并執(zhí)行程序,體驗(yàn)計(jì)算機(jī)運(yùn)行程序的過(guò)程,并對(duì)結(jié)

19、果進(jìn)行分析和驗(yàn)證。(二)教學(xué)活動(dòng)建議4.盡管本章從學(xué)生學(xué)習(xí)和生活的實(shí)例出發(fā),列舉了一些典型的、常見(jiàn)的例子,但算法仍是學(xué)生較難理解和掌握的內(nèi)容。本章只是開(kāi)始,要求不能過(guò)高,隨著學(xué)習(xí)的深入,積累的算法的增多,學(xué)生的理解會(huì)逐步加深。對(duì)此,教師應(yīng)注意循序漸進(jìn),不能要求學(xué)生一蹴而就。五、“程序設(shè)計(jì)ABC”教學(xué)活動(dòng)建議(一)內(nèi)容標(biāo)準(zhǔn)理解并掌握一種程序設(shè)計(jì)語(yǔ)言的基本知識(shí),包括語(yǔ)句、數(shù)據(jù)類(lèi)型、變量、常量、表達(dá)式、函數(shù)。會(huì)使用程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)順序、選擇、循環(huán)三種控制結(jié)構(gòu)。初步掌握調(diào)試、運(yùn)行程序的方法。了解程序設(shè)計(jì)語(yǔ)言、編輯程序、編譯程序、連接程序以及程序開(kāi)發(fā)環(huán)境等基本知識(shí)。(二)教學(xué)活動(dòng)建議注重讓學(xué)生在實(shí)踐中掌

20、握解程序設(shè)計(jì)語(yǔ)言集成環(huán)境的使用(1)教師演示VB 集成環(huán)境各工具的使用,常用控件的使用,讓學(xué)生初步了解控件、對(duì)象、屬性等基本概念及其操作方法。 窗體設(shè)計(jì)器窗口是進(jìn)行界面設(shè)計(jì)的窗口,教師可先給學(xué)生展示幾個(gè)已設(shè)計(jì)好的窗體,如超市收銀機(jī)程序、教科書(shū)中的獎(jiǎng)牌統(tǒng)計(jì)程序的界面,然后再演示如何用工具箱中的工具進(jìn)行窗體設(shè)計(jì),讓學(xué)生觀(guān)察“畫(huà)出”控件的過(guò)程,體會(huì)“可視化”的含義。 屬性、方法和事件是對(duì)象的三要素,可以通過(guò)對(duì)多個(gè)日常生活實(shí)例的分析,逐步讓學(xué)生領(lǐng)會(huì)它們的含義,如教科書(shū)中的氣球。(二)教學(xué)活動(dòng)建議(2) 通過(guò)一此趣味性程序,指導(dǎo)學(xué)生完成程序的界面制作與程序的輸入、調(diào)試、運(yùn)行、保存,在體驗(yàn)中掌握集成環(huán)境的

21、使用,在體驗(yàn)中感受程序的執(zhí)行方式與作用。例如: 打字測(cè)試程序、數(shù)字時(shí)鐘程序。 (3) VB的工具箱中共提供了20個(gè)標(biāo)準(zhǔn)控件,每個(gè)控件都有一組自己的屬性、方法和事件,不可能也不需要學(xué)生掌握每個(gè)控件的所有屬性、方法和事件,教科書(shū)中只介紹了它們的最基本、最重要的屬性、方法和事件。其它控件的用法在使用之處,教師可結(jié)合具體問(wèn)題演示它們的作用。(二)教學(xué)活動(dòng)建議2.數(shù)據(jù)的表示與處理是程序設(shè)計(jì)中的重要環(huán)節(jié),但初學(xué)者很難比較快的理解與掌握,需要一個(gè)過(guò)程。教師可以結(jié)合計(jì)算機(jī)的工作原理,比較常量、變量與數(shù)學(xué)課程中相關(guān)概念的異同,以及數(shù)學(xué)運(yùn)算符、表達(dá)式與程序中的運(yùn)算符、表達(dá)式的異同;常用函數(shù)的使用方式,并通過(guò)后續(xù)的

22、學(xué)習(xí)過(guò)程逐步深化理解與正確使用。(二)教學(xué)活動(dòng)建議(1) 變量。變量是一個(gè)難點(diǎn),初學(xué)時(shí),學(xué)生往往不能正確區(qū)分計(jì)算機(jī)程序中的變量和數(shù)學(xué)中的變量。在數(shù)學(xué)中,變量隱含著未知,而在計(jì)算機(jī)程序中,變量是一個(gè)被賦值的名稱(chēng),對(duì)應(yīng)著內(nèi)存中一定的存儲(chǔ)單元,變量名實(shí)際上是變量的符號(hào)地址。變量的值在程序執(zhí)行過(guò)程中是可以改變的,但在每一個(gè)時(shí)刻都有一個(gè)確定的值。賦值語(yǔ)句 x=yXY69之前99之后=賦值語(yǔ)句x=x+y+4XY69之前199之后4+(二)教學(xué)活動(dòng)建議(2) 標(biāo)準(zhǔn)函數(shù)。VB中提供了大量的內(nèi)部函數(shù),教科書(shū)中列出了一些常用的內(nèi)部函數(shù),建議這里只要求學(xué)生掌握調(diào)用函數(shù)的方法:函數(shù)名(自變量)。教學(xué)中,可初步介紹一下

23、各個(gè)函數(shù)的功能,不要求學(xué)生一步掌握,在后續(xù)例題中,用到某個(gè)函數(shù)時(shí)再作詳細(xì)分析。(3) 表達(dá)式。表達(dá)式是本章的重點(diǎn)和難點(diǎn),Visual Basic表達(dá)式與數(shù)學(xué)中代數(shù)式的書(shū)寫(xiě)形式不一樣。它們的運(yùn)算結(jié)果也不一樣,一般代數(shù)式的運(yùn)算結(jié)果還是一個(gè)代數(shù)式,而Visual Basic表達(dá)式的運(yùn)算結(jié)果是一個(gè)具體的值。教學(xué)中,應(yīng)適當(dāng)進(jìn)行一些將代數(shù)式寫(xiě)成表達(dá)式,及表達(dá)式中運(yùn)算符運(yùn)算順序的訓(xùn)練。(二)教學(xué)活動(dòng)建議(4) Let語(yǔ)句的教學(xué)中要注意以下幾個(gè)問(wèn)題:Visual Basic中的“=”有兩種意義,一是此處的“賦值號(hào)”,二是關(guān)系運(yùn)算符“等于號(hào)”。賦值號(hào)“=”左邊只能是變量,不能是數(shù)值或表達(dá)式,下面的寫(xiě)法是錯(cuò)誤的:

24、 4=x+y a+b/2=6 等于號(hào)的兩邊可以是表達(dá)式,兩邊對(duì)調(diào)后與原來(lái)的表示等價(jià)。將一個(gè)變量的值賦給另一個(gè)變量,前一個(gè)變量的值保持不變。(二)教學(xué)活動(dòng)建議3.程序的基本結(jié)構(gòu)(1)關(guān)于選擇結(jié)構(gòu)。If語(yǔ)句的條件可以是關(guān)系表達(dá)式,也可以是邏輯表達(dá)式。此時(shí),應(yīng)結(jié)合選擇結(jié)構(gòu)條件的設(shè)置,回顧關(guān)系表達(dá)式和邏輯表達(dá)式的知識(shí)。學(xué)生才開(kāi)始寫(xiě)關(guān)系表達(dá)式時(shí),最容易出現(xiàn)的錯(cuò)誤是不能正確書(shū)寫(xiě)三個(gè)關(guān)系運(yùn)算符“”、“=”、“=”,要告訴學(xué)生任何一個(gè)程序設(shè)計(jì)語(yǔ)言都有自己的字符集,VB的字符集包括英文字母、數(shù)字及一些符號(hào),但這些符號(hào)當(dāng)中不包括數(shù)學(xué)中的三個(gè)關(guān)系符“”、“”、“”,只能用其他的合法字符的組合來(lái)代替,另外,也要進(jìn)行一

25、些將數(shù)學(xué)中的不等式轉(zhuǎn)換成VB關(guān)系表達(dá)式的訓(xùn)練。(二)教學(xué)活動(dòng)建議 (2)通過(guò)一個(gè)能體現(xiàn)循環(huán)思想的問(wèn)題引出循環(huán)結(jié)構(gòu)案例: 假如你從今年開(kāi)始,1月份為“希望工程”存入1元錢(qián),2月份存入2元錢(qián),3月份存入3元錢(qián)依次類(lèi)推,問(wèn):兩年時(shí)間你將為“希望工程”存入多少錢(qián)? 可以首先讓學(xué)生討論解決這個(gè)問(wèn)題的方法,學(xué)生可能會(huì)用賦值語(yǔ)句寫(xiě)出如下形式的代碼: intSum=0 intSum= intSum+1 intSum= intSum+2 intSum=intSum+3 引出用For-Next循環(huán)語(yǔ)句解決這個(gè)問(wèn)題。(二)教學(xué)活動(dòng)建議 (3)變換問(wèn)題,如果要計(jì)算多少月“希望工程”儲(chǔ)蓄才能多于500元,該怎樣辦?引出

26、DO While/Loop語(yǔ)句的使用。 在使用Do-Loop語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)時(shí),學(xué)生經(jīng)常會(huì)不能正確的結(jié)束循環(huán),這是因?yàn)椋醒h(huán)結(jié)構(gòu)應(yīng)包含以下四個(gè)部分: 初始化; 循環(huán)體; 修正部分; 檢查部分。 與For-Next循環(huán)不同,Do-Loop循環(huán)必須自己實(shí)現(xiàn)循環(huán)的四個(gè)部分,學(xué)生經(jīng)常會(huì)遺漏修正部分或修正不正確,致使循環(huán)不能正常結(jié)束。(二)教學(xué)活動(dòng)建議(4)程序設(shè)計(jì)風(fēng)格對(duì)象名由3個(gè)小寫(xiě)字母組成的指明對(duì)象類(lèi)型的前綴和表示該對(duì)象作用的縮寫(xiě)字母組成。變量名要有意義,加上前綴表明數(shù)據(jù)類(lèi)型。代碼中注釋行用來(lái)說(shuō)明后面的語(yǔ)句或程序段是在進(jìn)行什么操作。采用縮進(jìn)格式,突出程序的層次結(jié)構(gòu),六、“算法的程序?qū)崿F(xiàn)”教學(xué)活動(dòng)

27、建議(一)內(nèi)容標(biāo)準(zhǔn)1.解析法與問(wèn)題解決(1)了解解析法的基本概念及用解析法設(shè)計(jì)算法的基本過(guò)程。(2)能夠用解析法分析簡(jiǎn)單問(wèn)題,設(shè)計(jì)算法,編寫(xiě)程序求解問(wèn)題。2.窮舉法與問(wèn)題解決(1)了解窮舉法的基本概念及用窮舉法設(shè)計(jì)算法的基本過(guò)程。(2)能夠根據(jù)具體問(wèn)題的要求,使用窮舉法設(shè)計(jì)算法,編寫(xiě)程序求解問(wèn)題。3.查找、排序與問(wèn)題解決(1)了解數(shù)組的概念,掌握使用數(shù)組存儲(chǔ)批量數(shù)據(jù)的基本方法。(2)通過(guò)實(shí)例,掌握使用數(shù)據(jù)查找算法設(shè)計(jì)程序解決問(wèn)題的方法。(3)通過(guò)實(shí)例,掌握使用排序算法設(shè)計(jì)程序解決問(wèn)題的方法。4.遞歸法與問(wèn)題解決(1)了解使用遞歸法設(shè)計(jì)算法的基本過(guò)程。(2)能夠根據(jù)具體問(wèn)題的要求,使用遞歸法設(shè)計(jì)

28、算法、編寫(xiě)遞歸函數(shù)、編寫(xiě)程序、求解問(wèn)題。(二)教學(xué)活動(dòng)建議解析法與問(wèn)題解決(1)解析法的基本思想:解析法就是在分析問(wèn)題的基礎(chǔ)上,抽取出一個(gè)數(shù)學(xué)模型,這個(gè)數(shù)學(xué)模型能用若干個(gè)解析表達(dá)式表示出來(lái),找到了這些表達(dá)式,問(wèn)題也就得以解決。(二)教學(xué)活動(dòng)建議問(wèn)題: 使用一根長(zhǎng)度為L(zhǎng)厘米的鐵絲,制作一個(gè)面積為S的矩形框,要求計(jì)算出滿(mǎn)足這種條件的矩形的高h(yuǎn)和寬w。 問(wèn)題分析:由已知條件可以列出以下方程組:化簡(jiǎn)這個(gè)方程組可以得到:其中,h是未知數(shù),所以,此問(wèn)題的數(shù)學(xué)模型就是求關(guān)于未知數(shù)h的一元二次方程的根。分組討論,找出求解問(wèn)題的解析表達(dá)式: 第一個(gè)頂點(diǎn)(x1,y1)的坐標(biāo):X1=rcos(), y1=rsin(

29、)第二個(gè)頂點(diǎn)(x2,y2)的坐標(biāo):X2=rcos(2), y2=rsin(2)(動(dòng)畫(huà)演示:依次演示第1點(diǎn)、第2點(diǎn)的坐標(biāo)及與x軸的夾角)在此基礎(chǔ)上,討論算法方案。(動(dòng)畫(huà)演示,從起點(diǎn)1分別畫(huà)線(xiàn)到終點(diǎn)2、3、4、,從起點(diǎn)2分別畫(huà)線(xiàn)到終點(diǎn)1、3、4、,中途定格,從i點(diǎn)分別畫(huà)線(xiàn)到終點(diǎn)1、2、3、4、)嘗試編寫(xiě)程序,提出解決不了的問(wèn)題或疑問(wèn)。(二)教學(xué)活動(dòng)建議(2) 繪制“鉆石”圖案Visual Basic坐標(biāo)系:XY(0,0)標(biāo)準(zhǔn)坐標(biāo)系的坐標(biāo)原點(diǎn)位于容器(窗體或圖形框)的左上角,沿水平方向從左向右為X軸正方向,沿垂直方向從上到下為Y軸正方向,缺省坐標(biāo)單位為T(mén)wip。Visual Basic坐標(biāo)系:建立自

30、定義坐標(biāo)系的一種途徑是使用 Scale 方法:對(duì)象.Scale (x1, y1) (x2, y2)(x1,y1)表示對(duì)象左上角的坐標(biāo)值,(x2,y2)表示對(duì)象右下角的坐標(biāo)值。例如,F(xiàn)rom1.Scale (-1.5,1.5)-(1.5,-1.5)將建立如圖所示的自定義坐標(biāo)系。ScaleWidthScaleLeftScaleHeightScaleTop(-1.5,1.5)(0,0)(1.5,1.5)(-1.5,-1.5)(1.5,-1.5)(二)教學(xué)活動(dòng)建議窮舉法與問(wèn)題解決(1) 窮舉法的基本思想:窮舉法是指從可能的解的集合中一一枚舉各元素,然后根據(jù)問(wèn)題設(shè)定的條件,逐個(gè)加以檢驗(yàn),找到滿(mǎn)足條件的解

31、。(2) 百錢(qián)百雞問(wèn)題 公元前5世紀(jì),我國(guó)數(shù)學(xué)家張丘建在算經(jīng)中提出“百雞問(wèn)題”:雞翁一,值錢(qián)五,雞母一,值錢(qián)三,雞雛三,值錢(qián)一。百錢(qián)買(mǎi)百雞,問(wèn)雞翁、雞母、雞雛各幾何?(2) 百錢(qián)百雞問(wèn)題 確定總的解題策略,也就是建立“百雞問(wèn)題”的數(shù)學(xué)模型,可以用下面的方程表示:其中X雞翁數(shù),Y雞母數(shù),Z雞雛數(shù) 設(shè)計(jì)算法:這是屬于不定方程問(wèn)題。可以先確定一個(gè)數(shù)如X,若用全部的錢(qián)買(mǎi)雞翁,可以買(mǎi)20只,用循環(huán)語(yǔ)句對(duì)020之間的每一個(gè)正整數(shù)進(jìn)行試探。 在每一次試探的過(guò)程中,X的值都是一個(gè)確定的值,再用窮舉算法試探Y(jié)的每一個(gè)候選值,看有沒(méi)有Z值可以滿(mǎn)足百錢(qián)買(mǎi)百雞的條件。按同樣的方法確定Y的范圍為033(2) 百錢(qián)百雞問(wèn)

32、題偽代碼表示的算法如下:For x = 0 To 20 For y = 0 To 33 z = 100 - x y 計(jì)算雞雛數(shù) If 5 x + 3 y + z / 3 = 100 Then Print x, y, z End If Next yNext x窮舉法與問(wèn)題解決窮舉法解決的問(wèn)題必須滿(mǎn)足兩個(gè)條件: 可預(yù)先確定解的個(gè)數(shù); 解變量A1、A2、.、An的值的可能變化范圍預(yù)先確定 A1X11,.,X1p AiXi1,.,Xiq AnXn1,.,Xnk窮舉法與問(wèn)題解決窮舉法解決問(wèn)題的一般形式:For A1=X11 To X1pFor Ai=Xi1 To XiqFor An=Xn1 To Xnk

33、 If (A1 , . , Ai , ., An)滿(mǎn)足檢驗(yàn)條件 Then輸出問(wèn)題的解 End IfNext An Next AiNext A1查找(1) 順序查找:最簡(jiǎn)單的查找方法是順序查找,即從第一個(gè)元素開(kāi)始,逐個(gè)以關(guān)鍵字與給定的值進(jìn)行比較直至找到;如果查找到最后一個(gè)元素還未找到,則查找失敗。 在講解了順序查找的基本思想后,可以使用動(dòng)畫(huà)幫助學(xué)生進(jìn)一步理解,再要求學(xué)生用偽代碼寫(xiě)出算法:給定待查值strCharFor j=1 to CHARNUMif strChar=aryCode(j) Then退出循環(huán)End IfNext jIf ja(2),就交換這兩個(gè)數(shù)據(jù);再比較a(2)和a(3),按照同樣的方法處理,直到a(n-1)與a(n)比較交換完后,完成第一輪比較交換,此時(shí),最大數(shù)被移到數(shù)組最后一個(gè)位置。然后,對(duì)前n-1個(gè)元素進(jìn)行同樣的處理,次最大數(shù)被移到第n-1個(gè)位置,重復(fù)以上過(guò)程直到進(jìn)行完n-1輪比較交換為止。 在此基礎(chǔ)上,動(dòng)畫(huà)演示冒泡排序的思想。5.遞歸

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論