国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

經(jīng)歷編程

2008-12-29 00:00:00吳良輝
中國信息技術(shù)教育 2008年9期


  經(jīng)歷編程是指以學(xué)生為中心,通過創(chuàng)設(shè)特定的情境,在經(jīng)歷中體驗(yàn),在感受中體會,采取分而治之的思想,逐漸使學(xué)生感受到用編程的方法來解決實(shí)際問題的魅力所在,體驗(yàn)程序設(shè)計(jì)從規(guī)劃、設(shè)計(jì)到制作、調(diào)試的基本過程,培養(yǎng)學(xué)生的創(chuàng)新精神和實(shí)踐能力,提升信息素養(yǎng)。
  
  ■ 以實(shí)例教程和問題解決的思路入手,前導(dǎo)課程要激發(fā)學(xué)生的興趣
  
  以往的教材,開篇時(shí)總是喜歡展示計(jì)算機(jī)語言的發(fā)展歷程、常量、變量、關(guān)系運(yùn)算符、函數(shù)等理論知識,讓初中教師和學(xué)生無所適從。我認(rèn)為,不如讓學(xué)生看很多實(shí)例,然后通過欣賞實(shí)例、修改代碼等簡單操作經(jīng)歷編程的過程,體驗(yàn)編程的樂趣。具體來說,我在上程序設(shè)計(jì)的第一節(jié)課時(shí),先發(fā)給每個(gè)學(xué)生一個(gè)軟件包,里面有這個(gè)學(xué)期要學(xué)到的很多實(shí)例,如簡易文本編輯器、小車飛馳、碰碰球、猜數(shù)字游戲、五子棋等,然后提出如下的問題。
  “簡易文本編輯器”如何增加綠色字的設(shè)置代碼呢?看一下圖1所示的圖片。
  “小車飛馳”如何讓小車跑得比飛碟快呢?看一下圖2所示的圖片。
  
   “碰碰球”如何讓小球在豎直方向移動?“五子棋”程序還有哪些不足之處?……雖然是第一節(jié)課,但初中學(xué)生憑著不多的英文單詞和其他學(xué)科的知識遷移,基本上可以通過觀察——猜想——實(shí)踐的方法,解決所提的問題。這樣的開場白是從整體入手,讓學(xué)生對本學(xué)期所學(xué)的內(nèi)容有一個(gè)宏觀的感受。
  
  ■ 讓學(xué)生通過模仿和猜測,利用電腦對已有的代碼做實(shí)驗(yàn)
  
  在以教師、電腦和學(xué)生三者構(gòu)建的學(xué)習(xí)環(huán)境里,學(xué)生對電腦的親自動手實(shí)驗(yàn)往往比教師苦口婆心的講授更有效。例如,“小車飛馳”一課,上課時(shí)教師先直接將源程序發(fā)給學(xué)生,請學(xué)生通過回答提出的問題來理解程序當(dāng)中的關(guān)鍵語句,為便于討論,可以通過BBS互動交流。相關(guān)的圖形界面如圖2所示,下面僅列出源代碼和相應(yīng)問題。
  
  ■ 一題多講,層層深入,夯實(shí)基礎(chǔ),重點(diǎn)突破
  
  有的實(shí)例因?yàn)樯婕拜^多的知識,未必能在一個(gè)課時(shí)內(nèi)完成,而初中信息技術(shù)課通常是沒有連堂的,這時(shí)就可以考慮將一個(gè)實(shí)例分解到幾個(gè)連續(xù)的課程中去,逐步講述。如“小車飛馳”一課第一次提到了For循環(huán),這是整個(gè)課程中較為重要的一個(gè)內(nèi)容,而要理解好循環(huán)語句,則必須先講清賦值語句中的“累加”語句,所以上面所列的教學(xué)內(nèi)容,事實(shí)上是“小車飛馳”For循環(huán)第二個(gè)課時(shí)的內(nèi)容,第一個(gè)課時(shí)增加了一個(gè)“向左走、向右走”的實(shí)例(如圖3所示)。
  
  這一課時(shí)的主要教學(xué)流程包括以下部分。
  要想讓小車移動-->就必須知道它當(dāng)前的位置-->學(xué)會按“分類序”看小車的屬性值。
  簡述賦值累加語句car.left = car.left + 50的含義。
  適當(dāng)拓展:增加向上走和向下走的按鈕;了解VB的其他事件,試著在網(wǎng)上查找keydown事件,利用鍵盤上的方向鍵控制小車上下左右移動。
  
  ■ 調(diào)試是程序設(shè)計(jì)最基本的步驟之一,可以將調(diào)試方法當(dāng)做正課來講
  
  任何程序的正常運(yùn)行都需要經(jīng)過調(diào)試。其實(shí),調(diào)試不單是編程解決問題的基本步驟,在講解程序的過程中也是必要的手段。例如,我在講分支或循環(huán)語句時(shí),利用VB的“逐語句”(快捷鍵F8)功能,學(xué)生可以很清楚地看到程序在實(shí)際運(yùn)行過程中是選擇了哪一個(gè)分支,循環(huán)重復(fù)執(zhí)行了多少次等,如圖4所示的“猜數(shù)字游戲”,題目如下:由電腦隨機(jī)產(chǎn)生一個(gè)100以內(nèi)的整數(shù),看你需要幾次才能將這個(gè)數(shù)猜出來。如果一次猜中,得分為100分,每猜多一次則減10分,直到猜中為止。程序輸出最后的得分。
  
  采用“單步調(diào)試”時(shí)電腦會用黃色清楚地顯示當(dāng)前將要執(zhí)行的語句,如圖6。如果所猜測的數(shù)比隨機(jī)產(chǎn)生的數(shù)大,程序只執(zhí)行上面的分支,即輸出“大了!”,然后跳出分支語句。我之所以認(rèn)為這個(gè)環(huán)節(jié)非常重要是因?yàn)椴簧俪鯇W(xué)者以為分支語句兩邊都要執(zhí)行。
  我們編寫程序時(shí)往往很難一次通過,總會出現(xiàn)這樣那樣的錯(cuò)誤,語法問題也許可以一眼看出來,但算法或邏輯錯(cuò)誤就未必了。比如說,還是這個(gè)“猜數(shù)字游戲”,雖然能夠滿足基本的要求,但奇怪的是,當(dāng)最后猜中的時(shí)候,程序會先顯示“小了!”的提示,然后再出現(xiàn)得分,這顯然是不合邏輯的,但問題出在哪里呢?
  我們可以通過調(diào)試菜單里面的“添加監(jiān)視”和“逐語句”兩個(gè)手段分析這個(gè)問題。基本策略是:讓程序顯示那個(gè)隨機(jī)數(shù)X,然后第一遍就猜這個(gè)數(shù),“單步執(zhí)行”程序,觀察是否還會出現(xiàn)“小了!”的提示。具體操作如下。
  1. 按F8快捷鍵單步執(zhí)行程序,依次執(zhí)行語句的第1、2、3、4、5行,在第6行語句處停?。ㄕZ句行在圖7中通過注釋語句標(biāo)出來了)。
  2. 選中變量X,單擊鼠標(biāo)右鍵,在彈出的對話框中選擇“添加監(jiān)視”按鈕(如圖5所示),然后在出現(xiàn)的“添加監(jiān)視”窗口直接選擇“確定”按鈕,這時(shí),在程序的下面會出現(xiàn)一個(gè)“監(jiān)視窗口”(圖6)。
  
  3. 按F8繼續(xù)執(zhí)行程序,會發(fā)現(xiàn)“監(jiān)視窗口”中變量X的值變成了當(dāng)前產(chǎn)生的隨機(jī)數(shù),不妨假設(shè)為47。
  4. 繼續(xù)按F8執(zhí)行第7行,第8行語句,在彈出的InputBox框中輸入47(如圖7所示)。
  5. 繼續(xù)按F8,會發(fā)現(xiàn)程序依次執(zhí)行的是第9、10、12、13、14、15行,然而才跳回第7行判斷X與Y的關(guān)系,因?yàn)榇藭r(shí)X等于Y,所以直接跳到16行。
  這樣,問題就表現(xiàn)得很清楚了,其原因在于算法有誤。設(shè)計(jì)者將表達(dá)式X<>Y作為DO循環(huán)的判斷條件,因?yàn)閥的初值為零,而x為隨機(jī)數(shù),所以表達(dá)式X<>Y的值為真,執(zhí)行循環(huán)語句。第8行,y的值被更新了;第10行,條件表達(dá)式XY和X=Y兩種情況分析,而不要以為X=Y的情況已被排除了,因?yàn)榇藭r(shí)的y值已變化了,程序的錯(cuò)誤之一就是在分支語句里沒有分析X=Y時(shí)的情況。
  另外,正因?yàn)樗惴ú徽_,程序的可讀性也差,如前面第3行,score賦初值為110,第4行,Y的初值為0,比較累贅,為了方便猜數(shù),修改后的程序還特別增加了a和b兩個(gè)變量,通過提示信息,使參加游戲的人每次能縮小猜測范圍,這些是程序人性化設(shè)計(jì)的一個(gè)典型案例。其他的調(diào)試方法如設(shè)置斷點(diǎn)等也可以給學(xué)生介紹,在此就不一一列舉了。
  
  ■ 適當(dāng)體現(xiàn)可視化程序設(shè)計(jì)的特色
  
  類似VB的可視化編程環(huán)境,能夠讓學(xué)生利用軟件本身所提供的各種控件,像搭積木一樣構(gòu)造應(yīng)用程序的各種界面,然后再編寫少量的代碼就可以了,和以前DOS環(huán)境下的程序設(shè)計(jì)軟件如QBasic等相比,所設(shè)計(jì)的程序界面更漂亮,程序更實(shí)用,操作更簡單,所以更容易讓學(xué)生們有成就感。對于初中生而言,這些程序與他們?nèi)粘K佑|到的應(yīng)用軟件更為接近,能培養(yǎng)他們的自信心,增加他們對程序的認(rèn)同感。前面所提到的“簡易文本編輯器”“小車飛馳”等就是這樣的例子,下面再列舉一個(gè)VB設(shè)計(jì)的兩個(gè)小程序界面:“調(diào)色板”(如圖8),這些都是傳統(tǒng)編程工具極難實(shí)現(xiàn)的,而用VB實(shí)現(xiàn)起來只需要幾分鐘,我們何樂而不為呢?
  
  ■ 培養(yǎng)良好的編程習(xí)慣
  
  良好的習(xí)慣是成功的基礎(chǔ)。在學(xué)習(xí)計(jì)算機(jī)編程過程中,教師要親自示范,從點(diǎn)滴入手。如給VB的對象命名時(shí),一般約定對象名由3個(gè)小寫字母組成的前綴(指明對象的類型)和表示該對象作用的字符組成,如cmdStart表示“開始命令按鈕”,而optRed表示“紅色選項(xiàng)按鈕”等,雖然初中學(xué)生單詞量有限,但在最初的時(shí)候培養(yǎng)的好習(xí)慣可以終身受益。

贡觉县| 普格县| 永平县| 大邑县| 南部县| 慈溪市| 邯郸县| 宁津县| 沈阳市| 大竹县| 贵德县| 柯坪县| 呼玛县| 休宁县| 吉首市| 砚山县| 兰州市| 芮城县| 林西县| 平陆县| 手机| 洛隆县| 红河县| 蓬安县| 修水县| 鹿泉市| 璧山县| 招远市| 沿河| 河源市| 扎赉特旗| 峨边| 舟山市| 广南县| 杭锦后旗| 娄底市| 措勤县| 垣曲县| 龙江县| 清苑县| 奎屯市|