vb程序范文

時間:2023-04-06 05:57:53

導(dǎo)語:如何才能寫好一篇vb程序,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

vb程序

篇1

【關(guān)鍵詞】界面設(shè)計 代碼設(shè)計 算法

1 引言

程序設(shè)計不僅是一門科學(xué)而且是一門藝術(shù),它有較強的創(chuàng)造性和靈活性,也是學(xué)生較難掌握的技能。一方面程序設(shè)計本身枯燥、嚴(yán)謹(jǐn),難以理解,另一方面更主要的是教師在組織程序設(shè)計教學(xué)中缺乏針對性,沒充分考慮學(xué)生的知識水平、認(rèn)知規(guī)律、學(xué)習(xí)特點和接受能力。

Visual Basic,是一種面向?qū)ο蟮某绦蛟O(shè)計語言,編寫應(yīng)用程序快捷高效,是職中計算機專業(yè)的必修科目。在這門課的教學(xué)實踐中,我緊緊抓住界面設(shè)計和程序代碼設(shè)計兩大環(huán)節(jié),打破教材原有以知識的邏輯結(jié)構(gòu)體系為順序組織課堂教學(xué)的方式,以教授程序設(shè)計的基本方法為主線,從具體問題入手,由淺入深,由簡及繁,循序漸進,介紹解決問題的方法,最后引出概念和結(jié)論,取得良好教學(xué)效果。

2 界面設(shè)計

在面向?qū)ο蟪绦蛟O(shè)計語言教學(xué)中,界面設(shè)計是一項很重要的工作,程序是否簡便易用,與界面的質(zhì)量有很大關(guān)系,而界面中的對象屬性會影響對象的外觀及功能,因此,對象的屬性設(shè)置在界面設(shè)計教學(xué)中要重點加以訓(xùn)練。我設(shè)計了如下的界面,讓學(xué)生和我一起完成。

題目要求任意輸入兩數(shù),求這兩數(shù)的和(或差、或積、或商),實際是完成一個簡單的計算器。

2.1 建立應(yīng)用程序界面

(1)啟動 vb。

(2)加入兩個文本框。

(3)加入四個運算按鈕。

(4)加入兩個標(biāo)簽框。

在界面設(shè)計教學(xué)中,學(xué)生通過自己的實際操作,很容易就掌握了如何在界面內(nèi)添加對象,如何改變對象位置,以及如何設(shè)置對象的屬性。通過幾次針對性的練習(xí),學(xué)生對屬性的設(shè)置不會有太大問題。

2.2 設(shè)置各控件的屬性

如表1。

2.3 編寫代碼

當(dāng)程序運行后整個系統(tǒng)處于相對“靜止”,等待輸入,當(dāng)輸入數(shù)據(jù)后,單擊四個按鈕中的任一個時,則引發(fā)Label2的Caption屬性變化,由原來的內(nèi)容改為兩文本框中內(nèi)容的和(或差、或積、或商),因此,必須在四個按鈕中的Click(單擊)事件中加入適當(dāng)?shù)拇a,使Label2的Caption發(fā)生變化。

編寫“+”代碼的操作方法:

(1)雙擊“+”按鈕。

(2)在Command1_Click()過程中加入以下一行代碼。

Private Sub Command1_Click()

Label2.Caption = Val(Text1.Text) + Val(Text2.Text)

End Sub

通過此例,很容易便可掌握屬性值在代碼中的設(shè)置。其它按鈕控件仿照以上方法,讓學(xué)生自行完成。

3 程序代碼設(shè)計

程序設(shè)計主要學(xué)習(xí)的是編程本身的思想,學(xué)習(xí)的效果不能馬上看到,但是可以學(xué)到扎實的基本功,如強化邏輯分析和建立數(shù)學(xué)模型的能力;數(shù)據(jù)結(jié)構(gòu)和算法知識;豐富的實踐經(jīng)驗。針對客觀實際,我在VB教學(xué)中采取了以下幾個措施。

3.1 密切聯(lián)系實際,激發(fā)學(xué)生學(xué)習(xí)興趣

職中學(xué)生相當(dāng)一部分文化基礎(chǔ)差,對概念理解力差,發(fā)現(xiàn)問題與解決問題的能力較低,對學(xué)習(xí)興趣不高,課堂注意力容易分散,知識掌握不牢固。因此在程序設(shè)計教學(xué)中我放低教學(xué)起點,降低教學(xué)難度,培養(yǎng)他們的學(xué)習(xí)興趣,讓他們學(xué)得輕松,學(xué)有所獲,感受成功。

3.2 編程教學(xué)中淡化語句教學(xué),注重算法教學(xué),貫徹結(jié)構(gòu)化程序設(shè)計思想

程序的長短、變量的多少不是判斷一個程序好環(huán)的標(biāo)準(zhǔn),算法的清晰易懂才是最主要的。同時要強調(diào)VB面向?qū)ο蟮慕Y(jié)構(gòu)化程序設(shè)計思想,如下例,“給100個整數(shù),打印輸出其中的素數(shù)”結(jié)合算法將一個大任務(wù)分解成若干“功能模塊”。

3.3 從不同角度看同一問題,把握問題實質(zhì)

程序設(shè)計可以通過不同的算法、語句設(shè)計出不同的程序而解決同一個問題。一個程序的好壞關(guān)鍵在于這個程序是否簡潔明確、結(jié)構(gòu)清晰和高效率。可把解決同一問題的A程序、B程序或C程序的不同地方加以分析和歸類,向?qū)W生展示講解,從而加深學(xué)生印象。如在講授循環(huán)結(jié)構(gòu)時,同一例題就可用DO、While…Wend、Do…While、Do…Until、For…Next五種語句來實現(xiàn)??梢赃m當(dāng)?shù)募右蕴崾荆膭顚W(xué)生用不同的語句來設(shè)計程序解決問題。最后給予總結(jié)和提煉,明確哪種方法簡潔、易讀,哪種方法運行速度快,哪種方法靈活。

總之,教學(xué)有法,教無定法,只要教學(xué)得法。如何培養(yǎng)學(xué)生學(xué)習(xí)興趣,改進教學(xué)方法,使學(xué)生得到發(fā)展是我們長期而艱巨的任務(wù),圍繞著這個任務(wù),在保護學(xué)生學(xué)習(xí)積極性的前提下,按照學(xué)生的認(rèn)知規(guī)律組織教學(xué),一切可行的教學(xué)方法都可在我們的教學(xué)過程中加以運用。

參考文獻

[1]朱海紅.程序設(shè)計的教學(xué)要講究方法[J].新課程導(dǎo)學(xué),2011.

[2]申然.我在進行VB程序設(shè)計教學(xué)過程中的幾點嘗試[J].文教資料,2006.

作者簡介

謝翠芬(1976-),女,廣東省佛山市人?,F(xiàn)為佛山市華材職業(yè)技術(shù)學(xué)校計算機中學(xué)一級教師,主要從事計算機科學(xué)教育改革研究。

篇2

關(guān)鍵詞:VB程序設(shè)計;現(xiàn)代教育;實踐與改革

Visual Basic程序設(shè)計作為一門程序設(shè)計語言,在教學(xué)過程中,應(yīng)用和研發(fā)的特征比較明顯,而初學(xué)者總是感覺程序設(shè)計比較枯燥無味、難于理解、入門困難,甚至對其產(chǎn)生畏難厭學(xué)情緒。教學(xué)中筆者利用現(xiàn)代教育技術(shù)手段,對傳統(tǒng)的教學(xué)方法進行改革,實踐探索出了一套行之有效的教學(xué)策略,取得了良好的教學(xué)效果。

一、著力培養(yǎng)學(xué)生學(xué)習(xí)興趣,上好VB入門課

1.課前強調(diào)程序設(shè)計的重要性,充分調(diào)動學(xué)生的求知欲

在講授該課程之前,結(jié)合學(xué)生實際所學(xué)專業(yè),事先準(zhǔn)備幾個VB開發(fā)的應(yīng)用程序或是信息管理系統(tǒng),第一節(jié)課上課時通過多媒體演示,讓學(xué)生明白程序設(shè)計的重要性和實用性,樹立明確的學(xué)習(xí)目標(biāo):學(xué)習(xí)VB不只是達(dá)到計算機應(yīng)用能力的考核要求,更是今后工作、生活中不可或缺的一項基本技能。學(xué)生了解了學(xué)習(xí)目標(biāo)之后,就會迫切地想自己去嘗試程序設(shè)計,這樣學(xué)生學(xué)習(xí)程序設(shè)計的積極性就被調(diào)動起來了。

2.揭開程序設(shè)計的神秘面紗,開始學(xué)習(xí)之旅

初學(xué)者在學(xué)完計算機應(yīng)用基礎(chǔ)后,對計算機的運行原理還是似懂非懂,在這樣的前提下,開設(shè)VB程序設(shè)計課,學(xué)生想到要自己編寫程序代碼來控制計算機完成一項任務(wù)更是一頭霧水。通過長期的教學(xué)實踐筆者得出的結(jié)論是,要解決這一問題,主要是要在學(xué)習(xí)者腦海中樹立“萬丈高樓平地起”的思想:即無論多復(fù)雜的程序都是由基本語句積累起來的,而基本語句是很容易掌握的。例如,借助Windows畫圖程序講解一個簡易調(diào)色板程序,改變文本框背景顏色只需要一行語句:Text1.backcolor=VBred即可實現(xiàn)。教師在給出VB顏色描述的關(guān)鍵字后,進一步要求學(xué)生實現(xiàn)其他顏色的編程。同時,在教學(xué)之初,教師還可以通過一些簡單有趣的實例講解來幫助學(xué)生正確認(rèn)識VB程序設(shè)計的基本步驟和方法。

3.鼓勵學(xué)生克服程序設(shè)計的畏難情緒,激發(fā)其學(xué)習(xí)興趣

學(xué)生通過兩周的學(xué)習(xí),對VB程序設(shè)計會有初步的了解,如VB基礎(chǔ)開發(fā)環(huán)境、對象、方法、事件等概念,但教學(xué)之初所形成的學(xué)習(xí)欲望會逐漸冷卻,再加之VB的每一個對象都有許多個屬性,而且全是英文,晦澀而抽象的概念和英文描述很容易使學(xué)生產(chǎn)生畏難情緒,甚至厭學(xué)。此時特別需要教師對學(xué)生進行鼓勵、指導(dǎo),引導(dǎo)學(xué)生明白雖然每個對象具有自己的屬性,但各對象之間有大部分屬性是相同的,并且這些屬性中常用的只有一小部分,很容易就能掌握;另外程序代碼的書寫雖然看似神秘,但掌握了語法格式后很容易編寫。

二、改革教學(xué)方法和教學(xué)手段,提高教學(xué)質(zhì)量

1.從生活實際入手,將抽象的理論形象化

人類社會的理論知識都是日常生活中發(fā)現(xiàn)總結(jié)出來的,而VB程序設(shè)計作為一門課程也是前人在不斷的實踐中完善和發(fā)展起來的,必然和日常生活有著密切的聯(lián)系。如果能將VB程序設(shè)計的教學(xué)過程同生活實際聯(lián)系起來,原本枯燥抽象的理論就會變得形象生動、通俗易懂,易于學(xué)生接受。例如在講解VB變量的命名時可以聯(lián)系實際生活中起名的習(xí)慣來類比展開,“變量命名必須以字母打頭”這一原則如同我們的名字必須以姓氏打頭;變量起名時不能用關(guān)鍵字如if,for等,如同我們起名時不會用燈管、茶幾等名詞;變量在其有效范圍內(nèi)必須唯一,如同我們一個家庭的弟兄倆不應(yīng)重名。只要將理論與生活有機地結(jié)合,找出理論在生活中的原型,教師講課也感到輕松,學(xué)生聽起來也容易理解,實踐證明這可以取得事半功倍的效果。

2.利用現(xiàn)代教育手段,提高課堂教學(xué)質(zhì)量

VB程序設(shè)計學(xué)習(xí)的特點是實踐性強,所有的理論最終都要以寫好的程序為結(jié)果。而傳統(tǒng)的黑板+粉筆的教學(xué)手段使教師將程序代碼寫在黑板上講解無異于畫餅充饑,無法向?qū)W生展示程序運行的結(jié)果,特別是容易出錯的地方不能驗證,因此充分利用多媒體投影等現(xiàn)代教育技術(shù)手段是非常實用且必要的。一是利用多媒體授課,恰當(dāng)?shù)恼n件不僅可以提高學(xué)生的學(xué)習(xí)興趣,還能把程序結(jié)果實時地展示給學(xué)生,增大了課堂教學(xué)的信息量,使講授內(nèi)容形象、直觀,這樣的教學(xué)過程學(xué)生聽得清、看得切、記得牢、印象深,原本在課堂上聽起來非??菰锓ξ兜膬?nèi)容就會變得充滿樂趣。二是采用實踐型授課,在計算機實驗室利用電子教室進行教學(xué),即采用邊講邊練的授課形式,學(xué)生對學(xué)習(xí)的程序進行現(xiàn)場操作,將理論講授和上機實踐融為一體,使講解更直觀、更清晰、更具吸引力,同時教師還可以隨時發(fā)現(xiàn)學(xué)生實際操作中的問題,給予及時的指導(dǎo),從而有效提高教學(xué)質(zhì)量。

三、創(chuàng)新評價方式,鞏固教學(xué)成果

課程的教學(xué)質(zhì)量是平時教與學(xué)質(zhì)量的總體體現(xiàn),課程考核是對學(xué)習(xí)者知識、技能和能力的綜合評價。VB程序設(shè)計由于其特有的實踐性強而有別于其他課程,采用單純筆試的評價方法不能全面、準(zhǔn)確地衡量教學(xué)質(zhì)量。通過實踐發(fā)現(xiàn),VB課程考核方法的改革思路是在現(xiàn)有的考核基礎(chǔ)上,注重對學(xué)生過程性評價和實踐操作能力的評價,即采用“理論(40%)+上機(40%)+過程性考核(20%)”的綜合性考核模式。

四、結(jié)束語

總之,教學(xué)工作是一項艱巨的任務(wù),還需要在長期的教學(xué)實踐中不斷改革舊的教學(xué)模式,并結(jié)合學(xué)生實際情況,去探索研究,尋找新的、行之有效的教學(xué)方法和手段,綜合評價學(xué)生,努力培養(yǎng)學(xué)生自主學(xué)習(xí)的興趣,只有這樣才能提高學(xué)生實際應(yīng)用的能力,VB課程的教學(xué)質(zhì)量才能得到不斷的提高。

參考文獻:

篇3

關(guān)鍵詞:VB程序設(shè)計;教學(xué)方法;改革

中圖分類號:G642.0 文獻標(biāo)識碼:B 文章編號:1009-9166(2010)029(C)-0123-01

引言:Visual Basic(下面簡稱VB)程序設(shè)計是我校計算機相關(guān)專業(yè)學(xué)生的必修課,然而VB語言枯燥、難以理解,學(xué)生缺乏相應(yīng)的知識背景,導(dǎo)致學(xué)生對這門課有恐懼心理,缺乏興趣。這就要求我們教師在教學(xué)中分析、摸索出一些較為行之有效的教學(xué)方法,才有可能培養(yǎng)學(xué)生程序設(shè)計能力,掌握一門技能,激發(fā)學(xué)生對程序設(shè)計的興趣。筆者在近幾年的教學(xué)實踐中進行了如下改革探索,取得了良好的教學(xué)效果。

一、教學(xué)改革與實施

(一)采用實例教學(xué)法,激發(fā)學(xué)生的學(xué)習(xí)興趣

VB程序設(shè)計語言所涉及的內(nèi)容多,控件的屬性、事件、方法也很多。要讓學(xué)生對這些概念有一定深度的理解和掌握是比較困難的。時間一長,就會影響學(xué)生學(xué)習(xí)的積極性與主動性。因此在教學(xué)中,我從實例入手,采用實例作為知識的載體,選擇學(xué)生感興趣的問題作為實例,通過讓學(xué)生親眼觀看、親手模仿,在實際操作中親自去體會和領(lǐng)悟這些概念。

(二)采用循序漸進方法,培養(yǎng)學(xué)生創(chuàng)新思維

知識的學(xué)習(xí)是一個循序漸進的過程。在教學(xué)過程中,我們可以先從簡單的實例出發(fā),再增加或者改變實例的條件,逐漸加深難度,以此培養(yǎng)學(xué)生的創(chuàng)新思維,提高學(xué)生對程序的分析與編寫能力。這里仍以10!這個實例來看,這是我們講授For…Next循環(huán)時的一個典型實例,這段程序在學(xué)生弄懂For…Next循環(huán)語句之后,理解起來并不困難。但為加深學(xué)生對語句的理解程度,提高學(xué)生舉一反三的能力,要求學(xué)生對原程序條件做如下幾種變化:

(1)求1到10之間所有數(shù)的和

(2)求1到100之間所有數(shù)的和

(3)求1到100之間所有奇數(shù)的和,步長為2

(4)求1到100之間所有奇數(shù)的和,步長為1

這里第(1)小題和實例中原程序相比難度不大,學(xué)生已學(xué)會根據(jù)數(shù)據(jù)范圍定義數(shù)據(jù)類型,很快寫出如下代碼:

Dim S As Integer

Dim I As Integer

S=0

For I=1 To 10

S=S+I

Next I

Print"S=";S

第(2)小題將(1)題程序中I的終值改為100即可,學(xué)生理解終值在這一循環(huán)語句中的作用。第(3)小題增加了難度,需要動腦筋思考,將(2)題程序中For I=1 to 100語句改為For I=1 to 100 step2,才能得到奇數(shù)的相加,而且步長為2,掌握步長step在循環(huán)語句中的用法與作用。第(4)小題難度更大,要求奇數(shù)和,步長為1,做兩點變化:一要寫出For I=0 To 49,二要修改循環(huán)體,將循環(huán)體語句變?yōu)镾=S+(2×I+1)。要做到這些變化,需要學(xué)生對For…Next循環(huán)語句有比較深刻的理解并能創(chuàng)造性地、靈活地予以運用。通過這種循序漸進的方式,激發(fā)了學(xué)生主動思考與解決問題的積極性,鞏固了教學(xué)效果,提高了學(xué)生的綜合編程能力。

(三)注重實踐教學(xué),培養(yǎng)學(xué)生實踐能力

VB是一門實踐性很強的課程,如果只紙上談兵,不上機練習(xí),是不可能真正掌握VB程序開發(fā)的。實踐教學(xué)主要注意抓住以下幾點:

(1)模仿階段,對課堂核心實例系統(tǒng)的調(diào)試、改進。核心實例的每次增強版是全面反映教學(xué)內(nèi)容的,學(xué)生通過模仿、知識再現(xiàn)達(dá)到在實踐中領(lǐng)悟知識,開拓編程思路。(2)分層次階段,在教學(xué)過程實施的開始,和核心實例同步,我就給出了幾個類似核心實例的課程設(shè)計內(nèi)容,供學(xué)生選擇。對核心實例的調(diào)試比較成功的,可以同步實施自己所學(xué)的課程設(shè)計內(nèi)容,達(dá)到培養(yǎng)學(xué)生分析問題和解決問題的能力。對掌握核心實例有困難的學(xué)生,針對教學(xué)內(nèi)容重新布置實驗,強化知識鞏固。課程設(shè)計內(nèi)容課后上機完成。

要掌握上面兩個階段的具體情況,教師應(yīng)親自指導(dǎo),與學(xué)生一起上機實驗,隨時監(jiān)控學(xué)生實驗過程。對學(xué)生提出的問題及時予以指導(dǎo),而發(fā)現(xiàn)學(xué)生常犯的共性錯誤,可在理論課上進行點評。

(四)改革考核形式,體現(xiàn)學(xué)生綜合運用能力

考試作為教學(xué)效果的一種客觀測試手段,是教學(xué)中的一個重要環(huán)節(jié)。我們根據(jù)VB的課程特點,在傳統(tǒng)的期末閉卷筆試考核之外,增加了平時考核、實驗考核和課程設(shè)計考核的內(nèi)容。平時成績占10%,期末閉卷考核成績占40%,實驗成績占20%,課程設(shè)計成績占30%。對于課程設(shè)計,在課程即將結(jié)束的前兩周,將所有的學(xué)生分成若干小組,讓各小組分別選擇不同的課題來設(shè)計,例如開發(fā)一個檔案管理系統(tǒng)、圖書管理系統(tǒng)。實踐證明,這種綜合考核方法不僅檢驗了學(xué)生把所學(xué)知識、技能進行條理化、系統(tǒng)化以及綜合運用的能力,而且對調(diào)動學(xué)生的學(xué)習(xí)積極性,提高學(xué)習(xí)興趣,客觀、公正地評價該門課程的教學(xué)質(zhì)量和效果都起到了很好的促進作用。

二、結(jié)束語

篇4

關(guān)鍵詞:VB程序設(shè)計;實例教學(xué);任務(wù)驅(qū)動

中圖分類號:TP312.1-4 文獻標(biāo)識碼:A文章編號:1007-9599 (2011) 09-0000-01

How to Teach the VB Programming

Tao Lei

(Anshun Vocational Technology College,Anshun561000,China)

Abstract:The VB programming is the computer application research group's high-quality goods curriculum,the author studies the very good this class here the teaching method.Through with prominent teacher's exchange and the self-study,the author discovered that the VB example teaching,is actuates the student to learn this class the key.

Keywords:VB programming;Cases teaching;Task-driven

VB程序設(shè)計是一門非常容易上手的程序設(shè)計語言課程,只要潛心學(xué)習(xí),不難提高編程能力,屬于我系計算機專業(yè)學(xué)生必修課。但是在教學(xué)入門階段,VB程序設(shè)計難免會像所有程序設(shè)計語言課程一樣枯燥、難懂,不容易提起學(xué)生興趣,這樣也就無法帶領(lǐng)學(xué)生繼續(xù)走下去。本文就實例演示結(jié)合任務(wù)驅(qū)動的方法,使學(xué)生在教學(xué)過程中能積極主動的探索和學(xué)習(xí)。

一、教學(xué)以實例為主導(dǎo)

大家都知道計算機專業(yè)中的課程大都是操作性強的課程,比如電腦的安裝與維護,一個理論知識掌握良好的學(xué)生可能還不如一個電腦城打工一兩天的學(xué)徒。老師如果只是照本宣科,不提供電腦進行實地拆卸和安裝練習(xí),那學(xué)生是永遠(yuǎn)學(xué)不好這門課程的。在學(xué)習(xí)VB的過程中也一樣,我們以必須結(jié)合大量的實例演示,讓同學(xué)們真正體會到VB的可視化設(shè)計和它的實用性。作為程序語言設(shè)計課程,VB這門課程的教材還是以理論知識為主,特別是在VB課程的入門階段,在理論課程的授課中,教師首先是給學(xué)生詳細(xì)的介紹各個控件,只有知道每個控件各自的作用以及使用方法以后我們才可以在VB中創(chuàng)造我們自己的程序。然而在控件介紹的過程中如果只是理論知識不斷堆砌的話,活潑好動的學(xué)生們勢必厭煩,甚至厭學(xué)。雖然教科書在這個部分的實例不多,但老師必須要突破這個框框,設(shè)計出和每一個控件有關(guān)的有趣實例來開展教學(xué),這樣會達(dá)到事半功倍的效果。用實例作為上課開場導(dǎo)入就是不錯的方法,比如學(xué)習(xí)TEXT的時候,就用一個時隱時現(xiàn)的古詩句做開場,問學(xué)生這是怎么做的;學(xué)習(xí)TIMER的時候,演示一個顯示當(dāng)前時間的條幅,學(xué)生一定好奇這是怎么來的。這時候只要稍做講解他們一定會躍躍欲試,實例激發(fā)了同學(xué)們學(xué)習(xí)程序設(shè)計的興趣,從而有了創(chuàng)作出自己的程序的需求。而當(dāng)創(chuàng)作過程遇到的還沒學(xué)到的指令代碼后,他們也會主動問老師和自己查詢,這也為我的后期教學(xué)打下好的基礎(chǔ)。

二、練習(xí)以實例為中心

學(xué)車的人不上車就學(xué)不會駕駛,游泳的人不下水也學(xué)不會游泳。我們的學(xué)生如果不用實際操作例子讓他們練習(xí),那么VB的知識只能停留在書本上。VB程序設(shè)計的教學(xué)安排為每周四到六學(xué)時,其中一半是理論講解課,一半是上機實踐操作課。筆者認(rèn)為上機操作如果不采用貼合實際的例子來訓(xùn)練而只是遵照書本的話,學(xué)生學(xué)無可用,并且也打擊了他們的學(xué)習(xí)主動性。所以在生活中去尋找例子,在課余時間提煉編程心得是筆者備課的主要內(nèi)容。比如書本上有一個股票分析系統(tǒng)的訓(xùn)練,因為學(xué)生對這方面很生疏,不太了解,筆者就改成班費管理系統(tǒng),學(xué)生們對這塊是再熟悉不過的,而且編好系統(tǒng)馬上就可以投入使用,所以大家的積極性、主動性都很高,做完訓(xùn)練非常有成就感,進而很喜歡這門課程。

三、任務(wù)驅(qū)動法完善教學(xué)

當(dāng)然由于我們學(xué)院學(xué)生的思想還不夠成熟,自我控制能力相對來說還是比較差,因此自覺性還不夠好,為了監(jiān)督他們很好的學(xué)習(xí)、認(rèn)真的實踐,筆者采用了任務(wù)驅(qū)動法開展教學(xué),每次課都留兩個任務(wù),第一個任務(wù)是完全模仿筆者的課堂實例上機操作,以加強對本節(jié)課課程內(nèi)容的理解并熟練這些操作技巧,這項作業(yè)因而也比較容易完成,完成后給基本成績。第二個任務(wù)就是做過變化了的生活實例,同學(xué)們在做的時候需要舉一反三,還要會預(yù)習(xí)后面的知識,完成后給附加成績,不同程度的同學(xué)就可以根據(jù)自己的條件去安排任務(wù)。筆者認(rèn)為雖然學(xué)生不可能每個人都對這門課程有濃厚的興趣,不可能以后都去從事專業(yè)的程序設(shè)計工作,但是通過這樣的任務(wù)安排至少大家都會努力去完成任務(wù),不會厭學(xué),棄學(xué),而且一個學(xué)期過后作為計算機專業(yè)的學(xué)生,他們的基礎(chǔ)知識和技能是掌握的,并且還有一部分同學(xué)通過任務(wù)驅(qū)動真正踏上了程序設(shè)計之路。

以上的幾方面是筆者認(rèn)為的主要教學(xué)方法。程序設(shè)計教學(xué)的主要目標(biāo)是為了使同學(xué)們了解編程的基本思想,培養(yǎng)分析問題、解決問題的基本能力。圍繞著這個目標(biāo),在保證同學(xué)們學(xué)習(xí)積極性的前提下,按照他們的認(rèn)知規(guī)律組織教學(xué),一切有效的教學(xué)方法都可以在我們的教學(xué)過程中加以運用,進而使綜合素質(zhì)得到整體提高,這是VB程序設(shè)計課程教學(xué)的最終目標(biāo)。

采用實例教學(xué)實際上就是為了使課堂生動,提高學(xué)生的積極性、主動性,這種方法不僅在VB程序設(shè)計課程中可用,在我們的其他教學(xué)中,實例的運用依然是提高教學(xué)效果的保障。作為一名年輕的教育工作者,在兢兢業(yè)業(yè)提高自身知識水平的同時能夠摸索到適宜學(xué)生接受的教學(xué)方法,不會出現(xiàn)肚子里有水倒不出的尷尬,這也是筆者工作的重心和快樂所在。

參考文獻:

[1]倪飛舟.Visual Basic程序設(shè)計教程[M].2010,2(1):1

篇5

關(guān)鍵詞:VB;程序設(shè)計;改革;實踐

Abstract: Visual Basic programming as a public non-professional computer-based lessons, theory and practice strong, and teaching difficult. The article on how to improve the quality of teaching and training students in an integrated application development capabilities and explore reforms were made.

Key words: VB; programming; reform; practice

1 引言

Visual Basic(下面簡稱VB) 程序設(shè)計是我校非計算機專業(yè)學(xué)生的必修課,然而VB語言枯燥、難以理解,學(xué)生缺乏相應(yīng)的知識背景,導(dǎo)致學(xué)生對這門課有恐懼心理,缺乏興趣。這就要求我們教師在教學(xué)中分析、摸索出一些較為行之有效的教學(xué)方法,才有可能培養(yǎng)學(xué)生程序設(shè)計能力,掌握一門技能,激發(fā)學(xué)生對程序設(shè)計的興趣。筆者在近幾年的教學(xué)實踐中進行了如下改革探索,取得了良好的教學(xué)效果。

2 教學(xué)改革與實施

2.1 對課本原有知識進行整合,激發(fā)學(xué)生的學(xué)習(xí)興趣

大部分的教材總是先講VB語言的基本語法,然后再講VB中對象的使用。但在講授時不宜將兩者分開,要把VB面向?qū)ο蟮某绦蛟O(shè)計方法,事件驅(qū)動的編程機制貫穿于整個教學(xué)過程中。VB中的對象主要用于構(gòu)建界面,而具體程序功能的實現(xiàn)則要編寫代碼行,因此任何一個完整的應(yīng)用程序都不可能只用對象或只用語法。這兩塊內(nèi)容可進行穿插講解。這樣就避免了讓學(xué)生在毫無知識背景的情況下去理解抽象難懂的概念,挫傷他們編程的積極性。在教學(xué)過程中,我始終堅持以學(xué)生已有的知識程度為基礎(chǔ),打破原有的以課本知識的邏輯結(jié)構(gòu)為順序組織課堂教學(xué)的模式,先不講基本概念,改用從簡單的實例人手,通過讓學(xué)生觀看、模仿,在實際操作中去探究和領(lǐng)悟這些概念,并適時地加以歸納總結(jié),讓學(xué)生在輕松愉快的氣氛中接受新知識。比如,在講到循環(huán)結(jié)構(gòu)中DO——LOOP語句和FOR——NEXT語句的用法時,我用DO——LOOP語句的4種形式和FOR——NEXT語句實現(xiàn)求解N!的過程,讓學(xué)生去觀察、領(lǐng)悟它們的異同。

2.2 教學(xué)方法多樣化

筆者在教學(xué)實踐中,除了采用傳統(tǒng)的教學(xué)方法如:提問法、小組討論法外,主要采用以下教學(xué)方法:

1)錯例分析法

學(xué)生對變量、類型、運算符、表達(dá)式這些基本概念和語言規(guī)則的掌握需要一個過程,對算法和數(shù)據(jù)結(jié)構(gòu)的知識需要不斷積累。學(xué)習(xí)過程中,能聽懂老師授課的內(nèi)容,但自己編制的程序往往錯誤百出。課堂上,我經(jīng)常將容易出錯的概念以反例形式展示給學(xué)生,讓他們找錯誤,通過運行。比如錯誤使用邏輯運算符。

假設(shè)a、b和c是三個變量。如果已知a

不能寫成:a < b < c 。

很多學(xué)生會錯誤延用數(shù)學(xué)上的概念,寫成后一種形式。

例 Option Explicit

Private Sub Command1_Click()

Dim a As Integer,b As Integer,c As Integer

a = -3: b = -2: c = -1

Print a < b And b < c

’顯示True

Print a < b < c

’顯示False

End Sub

為什么 a < b < c會得False?因為,VB在計算這個表達(dá)式時,先計算“a < b”部分,得True;再計算“True

通過諸如此類的反例教學(xué),使學(xué)生豁然開朗,印象深刻。

2)零散實例和核心實例結(jié)合

零散實例教學(xué)法,對每個知識點的運用和理解是非常行之有效的,但對前后知識的貫穿缺乏說服力。筆者在教學(xué)改革實踐中體會到,除經(jīng)典的零散實例外,將一個規(guī)模較大的、典型的、有實用價值的、學(xué)生感興趣的核心實例貫穿于教學(xué)全過程,對提高學(xué)生的編程能力非常幫助。所謂核心實例是指,實例從小到大、隨章節(jié)的展開而逐步成長,呈現(xiàn)為逐步進化的多個版本。比如引入一個貫串全書的問題:設(shè)計一個“圖書管理系統(tǒng)”。首先,用最基本的概念和最簡單的結(jié)構(gòu),給出該系統(tǒng)的第一個(也是最簡單的)版本,以后的每一次課,都對該系統(tǒng)提出新的功能和結(jié)構(gòu)上的要求,并用本次課介紹的新概念和新方法對它進行功能上的擴充和結(jié)構(gòu)上的改進。每次得到該系統(tǒng)的一個增強的新版本。為達(dá)到設(shè)計目標(biāo),學(xué)生隨著教學(xué)的進程,可以積極投入到對實例系統(tǒng)的調(diào)試、改進的實踐中,逐漸掌握了所學(xué)的基本知識,同時也提高了編程能力。

2.3 重視實踐教學(xué),培養(yǎng)學(xué)生綜合應(yīng)用程序開發(fā)能力

VB 是一門實踐性很強的課程,如果只紙上談兵,不上機練習(xí),是不可能真正掌握VB 程序開發(fā)的。實踐教學(xué)主要注意抓住以下幾點:

(1)模仿階段,對課堂核心實例系統(tǒng)的調(diào)試、改進。核心實例的每次增強版是全面反映教學(xué)內(nèi)容的,學(xué)生通過模仿、知識再現(xiàn)達(dá)到在實踐中領(lǐng)悟知識,開拓編程思路。

(2)分層次階段,在教學(xué)過程實施的開始,和核心實例同步,我就給出了幾個類似核心實例的課程設(shè)計內(nèi)容,供學(xué)生選擇。對核心實例的調(diào)試比較成功的,可以同步實施自己所學(xué)的課程設(shè)計內(nèi)容,達(dá)到培養(yǎng)學(xué)生分析問題和解決問題的能力。對掌握核心實例有困難的學(xué)生,針對教學(xué)內(nèi)容重新布置實驗,強化知識鞏固。課程設(shè)計內(nèi)容課后上機完成。

要掌握上面兩個階段的具體情況,教師應(yīng)親自指導(dǎo),與學(xué)生一起上機實驗,隨時監(jiān)控學(xué)生實驗過程。對學(xué)生提出的問題及時予以指導(dǎo),而發(fā)現(xiàn)學(xué)生常犯的共性錯誤,可在理論課上進行點評。

2.4 培養(yǎng)學(xué)生使用標(biāo)準(zhǔn)編碼,養(yǎng)成良好編程習(xí)慣

在程序設(shè)計過程中,使用標(biāo)準(zhǔn)編碼可以避免一些不必要的錯誤。筆者在授課過程當(dāng)中使用標(biāo)準(zhǔn)編碼的實例,在講解實例過程中對學(xué)生進行適當(dāng)?shù)匾龑?dǎo),讓學(xué)生養(yǎng)成一個良好的編程習(xí)慣。

程序書寫規(guī)范是非常重要問題,不僅書寫格式應(yīng)該結(jié)構(gòu)層次分明,而且程序里面應(yīng)添加起碼的注釋。不按照標(biāo)準(zhǔn)書寫程序會增加別人查看程序的難度,同時也不利于自己以后上機調(diào)試修改。強調(diào)學(xué)生避免使用Visual Basic 中的隱式操作,養(yǎng)成顯式編碼的習(xí)慣。比如永遠(yuǎn)使用Option Explicit,嚴(yán)格執(zhí)行變量先定義后使用的原則。避免使用缺省屬性,明確指出是在引用對象還是在引用對象屬性。

3 結(jié)束語

一門課程的教學(xué)是一個復(fù)雜的系統(tǒng)工程,筆者將以上一些改革和探索用在課堂教學(xué)和實踐教學(xué)中,取得了一些效果,但教學(xué)有法,教無定法,只要教學(xué)得法。在教學(xué)實踐中,合理運用多種教學(xué)方法,靈活地、創(chuàng)造性地掌握教學(xué)過程,激發(fā)學(xué)生的興趣,培養(yǎng)學(xué)生的創(chuàng)造性思維和綜合應(yīng)用程序開發(fā)能力。

參考文獻

[1] 王棟.Visual Basic程序設(shè)計實用教程(第3版).北京:清華大學(xué)出版社 2007

篇6

[關(guān)鍵詞]教學(xué)方法 程序設(shè)計 對象 能力

Visual Basic 是一門面向?qū)ο蟮目梢暬幊陶Z言,它的應(yīng)用非常廣泛,可以開發(fā)科學(xué)計算、數(shù)據(jù)庫管理、客戶/服務(wù)器模式、Internet/Intranet等多個領(lǐng)域的應(yīng)用程序,它簡單易學(xué)、功能強大、應(yīng)用廣泛,是一門實用性很強的課程。

程序設(shè)計課程的設(shè)置,是培養(yǎng)中職生職業(yè)技能的一個重要手段之一。但是對于學(xué)生們來說,程序設(shè)計的思維方式和概念都是全新的,學(xué)生接受起來比較困難,在教學(xué)中如何緊緊圍繞Visual Basic應(yīng)用程序開發(fā)的界面設(shè)計、屬性設(shè)置和代碼編寫三個環(huán)節(jié),由簡及繁、由淺入深、循序漸進地開展教學(xué),每個教師都在摸索著以尋求一個最佳方案。通過幾年來的VB教學(xué)實踐,我談一談自己在教學(xué)中使用的方法。

(一)努力培養(yǎng)學(xué)生興趣

俗話說:興趣是最好的老師。在程序設(shè)計教學(xué)中要利用學(xué)生對事物的好奇心,選擇一些有趣的、有實際意義的程序,激發(fā)學(xué)生的學(xué)習(xí)興趣。為了激發(fā)學(xué)生的興趣,在VB程序設(shè)計中的第1堂課,先不講理論知識,而是演示一些有趣的實例如動畫效果蝴蝶飛舞、移動字幕等、計算器,記事本等小實用程序,給學(xué)生一個視覺沖擊,吸引他們,并告訴他們學(xué)習(xí)了VB程序設(shè)計后,大家都能夠編出這些小程序,來充分調(diào)動學(xué)生的學(xué)習(xí)積極性,迎合了學(xué)生渴望成功的心理特點。

(二)立足具體實例,滲透基本概念

剛接觸程序設(shè)計的中職學(xué)生,對程序設(shè)計充滿了好奇,如果教材把對象、事件、控件等一大堆的概念放在前面講,一下子引入大量抽象的名詞、概念,就會打擊學(xué)生的學(xué)習(xí)興趣。因此要想讓學(xué)生領(lǐng)會這些抽象的概念,教學(xué)中應(yīng)以一個個鮮活的具體實例為切入點,在每個例子中適時、適量滲透一些相關(guān)的概念和知識,讓學(xué)生在做中學(xué),在學(xué)中做,使學(xué)生在完成任務(wù)的過程中,逐漸地、很自然地去體會控件、對象、事件的概念。為了讓學(xué)生靈活掌握每個控件的用法,教學(xué)中要安排足夠的課時把這些控件的用法滲透到一個個程序?qū)嵗?,由淺入深逐漸介紹,讓學(xué)生在編寫程序的過程中總結(jié)控件的用法。

(三)分解難點,逐個掌握

在VB程序設(shè)計的三大環(huán)節(jié)中,重點難點是編寫代碼。代碼不要一次性給出,而是通過逐步實現(xiàn)各個功能,再組合程序(若程序較復(fù)雜,還應(yīng)給出流程圖),實現(xiàn)加強功能,這樣學(xué)生才能真正理解結(jié)構(gòu)化程序設(shè)計的特點,并且把難點進行了分解。最好在編寫程序代碼的過程中設(shè)想好一些以往學(xué)生常見的、典型的錯誤,以便通過調(diào)試工具進行找錯并修改,可以讓學(xué)生加深對知識點的掌握,以后也不會再犯同樣的錯誤。

(四)注意因材施教,發(fā)揮學(xué)生特長

由于中職學(xué)生基礎(chǔ)和能力的差異,在進行教學(xué)時,應(yīng)根據(jù)學(xué)生的具體情況制定不同的目標(biāo),提出不同的要求,充分調(diào)動每個學(xué)生的學(xué)習(xí)積極性,這樣才能達(dá)到應(yīng)有的效果。一學(xué)到程序設(shè)計,學(xué)生的兩極分化就會特別嚴(yán)重。有些學(xué)生對程序設(shè)計特別感興趣,喜歡編程,有時會編出讓教師都驚訝的程序,而有些學(xué)生則是根本不愿意學(xué)習(xí),這時就要在整體教學(xué)中注意兼顧個別學(xué)生。例如教材中的習(xí)題可以分為必做題和選做題,可以發(fā)揮優(yōu)秀學(xué)生的內(nèi)在潛力,同時也可以調(diào)動中等學(xué)生的學(xué)習(xí)積極性。在教學(xué)的過程中,學(xué)生個體的差異性不可避免,如果每個學(xué)生的問題都要教師來解決的話,不僅課堂時間不允許,而且顧此失彼,還會影響課堂秩序。教師可以讓成績好的學(xué)生去輔導(dǎo)后進生,不僅可以減輕教師負(fù)擔(dān),同時也加強了學(xué)生之間的編程思想的交流。這既遵循了信息技術(shù)學(xué)科強調(diào)的團結(jié)合作的精神,又解決了現(xiàn)實問題。

(五)養(yǎng)成動態(tài)思維習(xí)慣

為了培養(yǎng)學(xué)生的邏輯思維能力和抽象思維能力,在程序設(shè)計教學(xué)中可以有意識的在以下幾個方面給予關(guān)注:①對于一些比較簡單的程序要求同學(xué)們直接寫出結(jié)果;②對于有循環(huán)或判斷結(jié)構(gòu)的程序,要求學(xué)生根據(jù)條件一步步向前走,把循環(huán)過程寫下來;③故意給出一些錯誤的程序,給學(xué)生設(shè)計一些陷阱,讓學(xué)生自己去發(fā)現(xiàn);④讓學(xué)生把書本中程序編寫錯了的地方改正過來。

(六)通過課程設(shè)計,培養(yǎng)學(xué)生的程序開發(fā)能力

通過學(xué)習(xí),學(xué)生大致掌握了VB的一些基本知識,但對知識的理解只停留在表面上,缺乏系統(tǒng)的運用,對小型應(yīng)用程序系統(tǒng)的開發(fā)步驟和調(diào)試都還不熟悉。因此,如果我們能開設(shè)12周的課程設(shè)計讓學(xué)生在教師的指導(dǎo)下根據(jù)自己的實際能力選擇一個課題進行設(shè)計,這樣對學(xué)生的知識運用能力的培養(yǎng)大有裨益的。例如可以要求學(xué)生模仿設(shè)計windows附件中的計算器或?qū)懽职?;對于部分?jǐn)?shù)據(jù)庫基礎(chǔ)掌握得較好的同學(xué),要求他們編寫網(wǎng)上學(xué)生成績查詢系統(tǒng)或圖書館管理系統(tǒng),這些課題都比較貼近學(xué)生的實際,學(xué)生也很有興趣,因此他們在設(shè)計時較為投入,也能認(rèn)真地查閱資料,分析步驟,進行控件的選取、屬性的設(shè)置和事件的編寫、調(diào)試。這樣可以大大提高學(xué)生的程序開發(fā)能力。

VB語言所涉及的內(nèi)容多,知識面寬,在短短的課堂教學(xué)中,要讓學(xué)生完全掌握是不可能的,所以學(xué)生課外自學(xué)也是一個重要的環(huán)節(jié)。另外,教師還應(yīng)重視自己創(chuàng)新能力和將專業(yè)知識應(yīng)用到社會實踐中的能力的培養(yǎng),利用VB結(jié)合實際開發(fā)一些小型的應(yīng)用程序系統(tǒng),使自己更好地掌握它,只有這樣,教師在教學(xué)中才能更好地進行目標(biāo)任務(wù)的選編、設(shè)計和組織,探索出更適應(yīng)學(xué)生的教學(xué)方法,取得更好的教學(xué)效果。

參考文獻

[1]全國中等專業(yè)學(xué)校計算機應(yīng)用基礎(chǔ)課程組.Visual Basic 程序設(shè)計[M].北京:高等教育出版社,1999.

篇7

一、以興趣為師

興趣是學(xué)生最好的老師。如何提高學(xué)生對學(xué)科教學(xué)的興趣是每一位教師孜孜探求的首要課題。學(xué)生愛上信息技術(shù)課,而這種愛好往往表現(xiàn)在愛玩游戲,或者上網(wǎng)聊天、瀏覽感興趣的網(wǎng)站等方面。但是對一些基本的知識、技能不愿認(rèn)真地學(xué)習(xí)。因此,在教學(xué)過程中教師要精心設(shè)計,誘發(fā)學(xué)生學(xué)習(xí)動機,激發(fā)學(xué)生學(xué)習(xí)興趣,從而達(dá)到提高效率的目的。

既然學(xué)生愛玩游戲,就可把學(xué)習(xí)寓于游戲之中,激發(fā)學(xué)生學(xué)習(xí)的興趣。例如學(xué)生在學(xué)習(xí)多分支if...then...else if語句和多分支選擇select case語句時,在教學(xué)中就采用先不講這些理論,再讓學(xué)生玩用VB制作的小游戲,如《對獎器》《石頭剪刀布》等,老師再介紹if...then...else if語句和多分支選擇select case語句的結(jié)構(gòu),了解VB程序設(shè)計的相關(guān)知識點時,學(xué)生學(xué)得就很認(rèn)真,也能在老師的指導(dǎo)下編寫出《對獎器》《石頭剪刀布》這樣的小程序。

這樣,學(xué)生就有了成就感,既保持了學(xué)生學(xué)習(xí)計算機的熱情,又促使學(xué)生自覺學(xué)習(xí)計算機知識。

二、以應(yīng)用程序為助手

如果學(xué)到某個知識點時,根據(jù)知識點純粹給學(xué)生一個任務(wù),并講解這個功能是如何實現(xiàn)的,那么學(xué)生很可能對此不感興趣,即使完成了操作任務(wù),也是生搬硬套,達(dá)不到程序設(shè)計所要求的提高探究能力。平時學(xué)生會使用一些小型的應(yīng)用程序,對它們的功能也比較了解,但對如何設(shè)計這些程序卻茫然不知,于是,筆者把這個作為上課的切入點,把平時常見的應(yīng)用程序與所講的知識相結(jié)合,讓學(xué)生先分析其功能,再引導(dǎo)他們運用所學(xué)知識實現(xiàn)其功能。最后讓學(xué)生設(shè)計類似功能的程序。如在講解加載多窗體時,以學(xué)生常用的QQ應(yīng)用程序為例,學(xué)生分析其功能是輸入QQ號與密碼,如果兩者與所設(shè)置的QQ號、密碼是一致的,那么就會進入QQ程序面板,否則無法進入程序面板并給予提示,學(xué)生由此得到啟示:要實現(xiàn)其功能,至少需要兩個窗體,接下來的新課內(nèi)容學(xué)生就會主動學(xué)習(xí)。學(xué)完新課知識以后,再讓他們設(shè)計類似功能的程序就比較容易了。

此例教學(xué)過程啟示學(xué)生:生活是我們創(chuàng)作的源泉,所以從生活入手,以常見的應(yīng)用程序作為教師教學(xué)的助手,讓學(xué)生感知了VB程序設(shè)計源于生活,服務(wù)于生活。

三、以熱點為學(xué)習(xí)點

VB程序設(shè)計,傳統(tǒng)的教學(xué)方式是“講授法+學(xué)生上機”。一般是教師介紹性地把軟件的功能、軟件的操作界面灌輸給學(xué)生,相當(dāng)于教師把軟件的使用說明告訴學(xué)生。其結(jié)果是教師講得滿頭大汗,學(xué)生聽得糊里糊涂,對編程環(huán)境仍無法駕馭;對編程思想的教學(xué),往往停留在理論階段,與實際問題相差甚遠(yuǎn)。

受政治學(xué)科“熱點解讀”的啟發(fā),筆者將生活中學(xué)生較關(guān)注的熱點帶入課堂,作為VB程序設(shè)計的學(xué)習(xí)點。在講到DateDiff函數(shù)時,當(dāng)時正值世博會即將開幕,高考、會考即將舉行之時,筆者嘗試著讓學(xué)生制作世博會開幕、高考、會考倒計時的小程序。學(xué)生反應(yīng)很熱烈,根據(jù)所學(xué)的知識很快就設(shè)計好了。因為他們要參加會考,通過自己設(shè)計的程序,大部分同學(xué)了解到了時間的緊迫感。

把熱點融入進程序設(shè)計教學(xué)中,既不脫離社會生活,又能使學(xué)生受到教育,一舉兩得。實踐證明,以社會熱點作為學(xué)習(xí)點是一種頗為成功的程序教學(xué)法,體現(xiàn)了理論與實際相結(jié)合的教學(xué)原則。

四、以演示為輔,以實踐為主

在信息技術(shù)課教學(xué)中,演示—實踐法是指學(xué)生在教師的演示示范操作指導(dǎo)下,借助計算機等多媒體對某一方法、步驟反復(fù)實踐,從而形成技能、技巧或習(xí)慣的教學(xué)方法。這種方法既是學(xué)生的自我檢測和對教師教學(xué)效果的及時反饋,又是學(xué)生掌握計算機技能的主要途徑。在網(wǎng)絡(luò)教室可以利用多媒體教學(xué)軟件的“廣播教學(xué)”功能進行示范性演示。教師在演示或者展示過程中,盡量做到姿勢正確,動作規(guī)范合理,同時還要給學(xué)生講清楚為什么要這樣做,各語句的功能與作用。演示—實踐法其目的是讓學(xué)生既能夠掌握知識,又能掌握操作計算機的正確方法步驟,養(yǎng)成良好的習(xí)慣。適時地進行演示可以讓學(xué)生更快地掌握操作技能,記憶也更加深刻。以興趣為師、以應(yīng)用程序為助手、以熱點為學(xué)習(xí)點均是在以網(wǎng)絡(luò)教室為主的機房中上課,演示后,讓學(xué)生馬上實踐操作。同時我既可以通過軟件的“監(jiān)控功能”觀測學(xué)生實踐操作情況,又可親自巡視學(xué)生練習(xí)過程,及時發(fā)現(xiàn)學(xué)生實踐過程存在的問題,進而及時地手把手地給出糾錯處理。當(dāng)然,筆者認(rèn)為這種方法特別要注意的是:(1)要給學(xué)生更多的利用計算機進行操作練習(xí)的時間,老師不能講得太多,學(xué)生練習(xí)得太少,即練多講少。(2)在學(xué)生練習(xí)過程中,教師必須勤于輔導(dǎo),即輔與導(dǎo)相結(jié)合。(3)選擇運用現(xiàn)代教學(xué)手段過程中的適當(dāng)時機,可結(jié)合傳統(tǒng)方法在黑板上強調(diào)某個操作要點,引起學(xué)生高度關(guān)注,即現(xiàn)代法與傳統(tǒng)法相結(jié)合。

當(dāng)然還可以運用多媒體教學(xué)軟件“學(xué)生演示”功能演示某個學(xué)生對某一問題的處理操作過程,進而讓全體同學(xué)都能觀察其操作是否規(guī)范合理,是否存在過錯等,這樣讓全班同學(xué)都能借鑒學(xué)習(xí),做到共性與個性相結(jié)合。

篇8

關(guān)鍵詞:Visual Basic;程序設(shè)計;教學(xué)與實踐

中圖分類號:G642 文獻標(biāo)識碼:B

文章編號:1672-5913(2007)10-0003-03

掌握計算機應(yīng)用基本技能成為新世紀(jì)人才不可缺少的基本素質(zhì)之一。由于高級語言程序設(shè)計課程不僅使學(xué)生更深入地理解計算機的工作過程,而且在培養(yǎng)學(xué)生嚴(yán)密地邏輯思維、培養(yǎng)非計算機專業(yè)學(xué)生利用計算機解決本專業(yè)問題的能力方面有著非常重要的作用,因此各個高校普遍開設(shè)了程序設(shè)計課程。而Visual Basic作為面向?qū)ο蟮某绦蛟O(shè)計語言,其易學(xué)易用,圖形用戶界面的特點成為非計算機專業(yè)類學(xué)生首選的教學(xué)語言。幾年來,我們以提高學(xué)生計算機素質(zhì),培養(yǎng)創(chuàng)新意識和創(chuàng)新能力為目標(biāo),對全校的計算機公共課系列課程進行了一系列的教學(xué)改革,尤其對程序設(shè)計語言課程的教學(xué)改革更是向縱深發(fā)展,朝建設(shè)精品課程的目標(biāo)努力。

1Visual Basic在計算機基礎(chǔ)教學(xué)中的地位和作用

浙江大學(xué)城市學(xué)院的計算機基礎(chǔ)教學(xué)在課程體系上分為兩部分,第一部分是計算機文化基礎(chǔ),在第一學(xué)期的9~16周開課,主要任務(wù)是使學(xué)生掌握計算機基本知識與基本操作技能,培養(yǎng)學(xué)生的計算機文化意識。第二部分是計算機程序設(shè)計,在第二學(xué)期開設(shè),理工科學(xué)生選擇C語言,文科類學(xué)生選擇Visual Basic作為學(xué)習(xí)編程的平臺。城市學(xué)院中文科類學(xué)生的比例占了近半數(shù),因此Visual Basic成為了名副其實的大課,每年有1500多人學(xué)習(xí),作為計算機基礎(chǔ)教育的重點課程,對學(xué)生乃至學(xué)校都有重要影響。

2存在的問題

盡管這幾年城市學(xué)院的計算機基礎(chǔ)教學(xué)成績?nèi)〉昧撕艽蟮倪M步,但應(yīng)該看到還存在不少問題,這些問題解決得好壞直接影響計算機基礎(chǔ)教學(xué)的進一步發(fā)展。

首先,學(xué)生的學(xué)習(xí)動機不明確,“VB程序設(shè)計”的授課對象是廣大非計算機專業(yè)的學(xué)生,尤其是以文科類學(xué)生為主,有不少學(xué)生認(rèn)為學(xué)習(xí)程序設(shè)計對他們來說沒有用,僅把它當(dāng)做一門不得不學(xué)的課程,只是單純的應(yīng)付考試,還沒有意識到在信息時代的今天計算機已經(jīng)成為了人們所必須掌握的一種基本技能。

其次,文科類學(xué)生在數(shù)學(xué)、物理及電子技術(shù)方面的基礎(chǔ)比較薄弱,自身的認(rèn)知結(jié)構(gòu)、學(xué)習(xí)傾向等多方面的差異,致使他們在學(xué)習(xí)過程中積極性不高,學(xué)習(xí)興趣不濃,學(xué)生普遍感到“VB程序設(shè)計”枯燥、難學(xué)。

第三,我們的教學(xué)方法、教學(xué)手段往往過分強調(diào)教師的“教”在教學(xué)活動中的作用,而不是從學(xué)生的角度出發(fā),從學(xué)生如何學(xué)好一門課的角度出發(fā)。其實教學(xué)過程不單單是學(xué)生在老師指導(dǎo)下的一種特殊的認(rèn)識過程,它更是學(xué)生個性全面發(fā)展的過程,是師生之間相互作用的一種雙向活動,因而要探求新的教、學(xué)并重的教學(xué)理念、教學(xué)思路。

第四,“VB程序設(shè)計”是一門理論與實踐并重的課程,傳統(tǒng)的程序設(shè)計語言教學(xué)按照給出語法、解釋語法規(guī)則、舉例說明的三步曲,教學(xué)上習(xí)慣于滿堂講,填鴨式教學(xué),總感覺內(nèi)容多,課時不夠,結(jié)果導(dǎo)致教師講得累,學(xué)生聽得累,經(jīng)常有學(xué)生說上課聽懂了,但一碰到自己做,感覺無從下手。

3我們的經(jīng)驗

3.1端正學(xué)習(xí)態(tài)度

在教學(xué)過程中,要幫助學(xué)生端正學(xué)習(xí)態(tài)度,提高計算機語言課程對其全面發(fā)展必要性的認(rèn)識。程序設(shè)計語言是大學(xué)中一門很重要的公共課程,是衡量大學(xué)生計算機素質(zhì)的重要標(biāo)志。程序設(shè)計課程的教學(xué)不僅要讓學(xué)生學(xué)習(xí)程序設(shè)計的基本概念和方法、掌握編程的技術(shù),更重要的是培養(yǎng)學(xué)生邏輯思維和邏輯推理的能力、動手能力、創(chuàng)新意識和創(chuàng)新能力。多注重學(xué)生興趣的培養(yǎng),通過一些生動形象的實例引導(dǎo)學(xué)生主動提出問題、分析問題、解決問題。

3.2教學(xué)方法的改進

基于VB語言的特點,在VB的教學(xué)中重點處理好以下兩方面的內(nèi)容:① 算法與結(jié)構(gòu)化編程;② 面向?qū)ο蠹夹g(shù)[1]。

算法與結(jié)構(gòu)化編程是程序設(shè)計的核心。在教學(xué)中重點注意算法的概念、結(jié)構(gòu)化程序的概念與組成、算法的描述。如典型的排序算法,檢索算法等,要把這些作為經(jīng)典熟記。

面向?qū)ο蠹夹g(shù)涉及到相關(guān)概念的教學(xué)和面向?qū)ο蠹夹g(shù)應(yīng)用的教學(xué)。VB是基于對象的編程語言,類、對象、屬性、事件、方法構(gòu)成了VB的靈魂,對象及其屬性、方法和事件是VB程序的主干,因為這三者決定了對象的外觀與行為模式。事實上,應(yīng)用程序整個界面的運作,都是通過控制對象的屬性、方法與事件來完成的。將結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計融合在一起,面向?qū)ο蟮某绦虼a主要體現(xiàn)在各個事件過程中,而在事件過程中貫穿了傳統(tǒng)的程序設(shè)計思路和算法的應(yīng)用。

由于在VB課程中既要介紹傳統(tǒng)的程序設(shè)計方法,又要介紹面向?qū)ο蟮某绦蛟O(shè)計概念和可視化界面設(shè)計所涉及的控件、應(yīng)用程序開發(fā)等,內(nèi)容多,學(xué)時少,要講好這門課,需要充分運用各種教學(xué)方法。

(1) 直觀教學(xué)法

在VB語言程序設(shè)計中,有些內(nèi)容比較抽象,不容易被學(xué)生接受和理解。作為教師不僅要把深奧的理論講得通俗易懂,還要巧用日常生活中的例子,形象的比喻方法最容易為學(xué)生所接受。比如循環(huán)嵌套是學(xué)生不太容易搞清楚的地方,我們可以提出一個很現(xiàn)實的問題,如時針走過兩個格子的話,秒針走過多少格子?形象地把秒針、分針和時針的運動打比方,最里層的秒針運動最快,秒針走過一圈,分針前進一格,分針走過一圈,時針前進一格,這就是三重循環(huán)嵌套,然后寫出程序代碼,這樣就把抽象的問題形象化,便于學(xué)生理解和掌握。

(2) 演示教學(xué)法

在教學(xué)過程中,為了提高學(xué)生的學(xué)習(xí)興趣,教師可以利用一些與教學(xué)有關(guān)的軟件和索材,如使用簡單的Flas來反映循環(huán)結(jié)構(gòu)程序執(zhí)行流程、排序算法等。讓學(xué)生有興趣學(xué)習(xí),就能取得很好的教學(xué)效果。

(3) 案例教學(xué)法

案例教學(xué)從學(xué)習(xí)者的認(rèn)知規(guī)律出發(fā),精選與實際生活中關(guān)系密切的問題作為案例,通過案例的運行分析設(shè)計思路和實現(xiàn)方法,進而引出該案例中用到的知識點,再舉一反三,啟發(fā)學(xué)生對案例進一步討論、歸納,對案例完善和擴展,最后達(dá)到知識的快速掌握和能力的快速培養(yǎng)。由于所有案例都是直接面對應(yīng)用的,具有實際的應(yīng)用價值,所以很好地培養(yǎng)了學(xué)生的應(yīng)用能力[2]?!鞍咐虒W(xué)法”貫穿教學(xué)的始終。

3.3學(xué)以致用

通過以上一系列教學(xué)方法及手段的運用,教師把各個知識點像珍珠一樣一個個串起來。但是計算機應(yīng)用知識不可能只靠聽課就能掌握,為了進一步把教師講的內(nèi)容消化為學(xué)生自己的知識,逐步提高個人的編程能力,必須大力加強動手實踐環(huán)節(jié),包括作業(yè)、編程、上機、上網(wǎng)、做項目,引導(dǎo)學(xué)生通過實踐拓展知識。必須提升實踐環(huán)節(jié)在教學(xué)過程中的地位和作用,引導(dǎo)學(xué)生通過實踐來提高能力,只有多動手實踐,才能破除學(xué)生對計算機的神秘感,才能激發(fā)學(xué)生對掌握計算機編程產(chǎn)生興趣。我們提出圍繞上機實踐,抓到課率和課后作業(yè),形成了一套行之有效的方法。

(1) 講練結(jié)合

當(dāng)學(xué)生掌握了某個基本編程結(jié)構(gòu)或?qū)W習(xí)了某個控件后,應(yīng)及時訓(xùn)練編程,培養(yǎng)編程的思維方法。我們設(shè)計了隨堂練習(xí)讓學(xué)生當(dāng)堂練習(xí),練習(xí)題目在范例的基礎(chǔ)上做一些細(xì)微的改動,目的是及時掌握所學(xué)內(nèi)容。人的認(rèn)知規(guī)律也提示人在學(xué)習(xí)新的知識時模仿是第一步的,在模仿的基礎(chǔ)上進行改進,進而實現(xiàn)設(shè)計。而我們的隨堂練習(xí)更是設(shè)計成活頁,給學(xué)生5~10分鐘的時間完成,寫上姓名、學(xué)號后上交,這樣不僅省去了課堂點名,又達(dá)到了教與學(xué)的良性互動。

(2) 上機實踐教學(xué)

上機實踐課作為與課堂理論教學(xué)的配套,是一個重要的教學(xué)環(huán)節(jié),它不僅檢驗所學(xué)內(nèi)容,更對提升學(xué)習(xí)興趣、引導(dǎo)學(xué)生進一步探索有著直接的影響。這一部分的教學(xué)我們設(shè)計為完成以下三個方面的作業(yè)。

1) 上機前練習(xí)。為了避免學(xué)生上機毫無準(zhǔn)備,浪費時間,上機實踐前學(xué)生必須完成上機前練習(xí),每次上機課開始教師都要認(rèn)真檢查,作為平時成績的考核依據(jù)。精心設(shè)計每道練習(xí),由淺入深,讓學(xué)生在讀程序,改程序和程序設(shè)計中充分理解和掌握該章節(jié)所要求的內(nèi)容。我們將每一章分為三種練習(xí),根據(jù)Benjamin Bloom的研究成果,他提出了認(rèn)識領(lǐng)域達(dá)到的六級分類[3]。在設(shè)計上機前練習(xí)時,我們將Bloom的六類合并成三類。這些分類根據(jù)學(xué)習(xí)一個算法或語法結(jié)構(gòu)的具體例子定義如下:

認(rèn)知:讀一個簡單程序,寫程序運行結(jié)果或畫流程圖。

改進:根據(jù)前一個作業(yè),生成一個非常相似的算法,如讀一個簡單程序,修改程序錯誤或程序填空,實現(xiàn)指定的功能,這是一種較淺近變換。

設(shè)計:學(xué)生可修改算法,將算法用于不同的環(huán)境,可合并相關(guān)算法,還可以比較算法,進行程序設(shè)計,這是一種較深遠(yuǎn)變換。

2) 上機實踐。通過每周一次的上機實踐把本周教學(xué)中涉及到的基本概念、重點、難點及常見錯誤在實驗課上再一次認(rèn)真梳理。要求學(xué)生在VB環(huán)境下設(shè)計界面、屬性、事件,如利用窗體單擊事件實現(xiàn)前述三類上機前練習(xí),并且運用單步執(zhí)行、設(shè)置斷點等方法跟蹤算法的執(zhí)行,對給定的數(shù)據(jù)確定其輸出。

要求學(xué)生按照所寫內(nèi)容及步驟進行操作,提醒學(xué)生對每一操作的結(jié)果仔細(xì)觀察和詳細(xì)記錄,用實踐來驗證自己的認(rèn)識是否正確。學(xué)生在操作中將遇到各種問題,教師應(yīng)啟發(fā)學(xué)生獨立思考,勇于實踐,引導(dǎo)學(xué)生去發(fā)現(xiàn)問題的原因,分析問題和解決問題,培養(yǎng)學(xué)生的動手能力。

3) 實驗報告。上機結(jié)束后,要求學(xué)生將上機操作內(nèi)容和步驟、出現(xiàn)問題及解決方法寫成上機實習(xí)報告,以督促學(xué)生及時總結(jié)實踐經(jīng)驗,進一步深化對課堂教學(xué)內(nèi)容的理解和掌握,同時把程序源代碼上傳至服務(wù)器。教師認(rèn)真批改作業(yè)并作詳細(xì)記錄,根據(jù)每一次上機的整體情況,對學(xué)生中出現(xiàn)的共性問題分析原因,在課堂上進行有針對性的講評和總結(jié),使教學(xué)和實習(xí)有機結(jié)合。要讓學(xué)生充分理解上機實踐的重要性,在期末我們組織專門的上機考試,充分全面地考查了學(xué)生掌握程序設(shè)計的能力。

3.4構(gòu)建課程支持系統(tǒng)

積極地利用校園網(wǎng)構(gòu)建網(wǎng)絡(luò)教學(xué)平臺,彌補傳統(tǒng)教學(xué)的有限性,為學(xué)生提供更廣闊的學(xué)習(xí)環(huán)境。學(xué)院新購的Blackborad教學(xué)支持系統(tǒng)為我們拓展教學(xué)手段提供了很好的平臺。他通過“我的課程”模塊中的鏈接直接進入課程,在課程內(nèi)容區(qū)教師可以公布通告、課程資料、任務(wù)、教學(xué)資源鏈接;通過互聯(lián)網(wǎng)上載課程文件,并可以方便地管理課程內(nèi)容;為用戶提供虛擬教室、討論板交流工具,通過討論板、實時的虛擬教室互動和小組交流,實現(xiàn)協(xié)作學(xué)習(xí)的效果;還可通過數(shù)字收發(fā)箱提交并管理作業(yè)內(nèi)容;在線考核功能可以將原始試題資料錄入,可以生成試題庫;從題庫中可隨機生成試卷,進行考試并有成績統(tǒng)計分析來強化學(xué)生的學(xué)習(xí)效果、衡量學(xué)生的學(xué)習(xí)過程。

4總結(jié)

抓住VB及面向?qū)ο蟪绦蛟O(shè)計的本質(zhì)特征,采取適當(dāng)?shù)慕虒W(xué)措施,使學(xué)生盡快掌握這一編程理念和編程方法。近幾年在全體教研組教師的共同努力下,城市學(xué)院在浙江省計算機等級考試中成績穩(wěn)居省內(nèi)各高校的前列。我們將在已有的成績和基礎(chǔ)上積極向第三階段計算機教學(xué)過渡,把計算機應(yīng)用滲透到各專業(yè)課程中,開設(shè)VB的后續(xù)課程并和各專業(yè)緊密結(jié)合,使學(xué)生有機會通過多種途徑進行結(jié)合本專業(yè)的計算機應(yīng)用實踐,使我校的計算機基礎(chǔ)教育真正全面、深入和持久地進行下去,把中央的高等學(xué)校本科教學(xué)質(zhì)量與教學(xué)改革工程真正地落到實處。

參考文獻

[1] 賈長云. VB教學(xué)之我見[J]. 中國職業(yè)技術(shù)教育,2004,(2).

[2] 龔沛曾,楊志強. “Visual Basic 程序設(shè)計”國家精品課程建設(shè)[J]. 中國大學(xué)教學(xué)2004,(9).

[3] Nell Dale Michael McMillan,史宗海譯. Visual 上機實踐指導(dǎo)教程[M]. 電子工業(yè)出版社,2003.

收稿時間:2006-12-27

篇9

一、遞歸算法的概念

計算機要完成人們預(yù)先定義的工作,首先應(yīng)該設(shè)計完成這個工作的步驟和方法,即算法 。然后再根據(jù)算法編寫程序。算法是問題的求解過程的精確描述,求解一個問題往往有多種 算法可供選擇,選擇標(biāo)準(zhǔn)首先是算法的正確性、可靠性、可讀性等,其次是算法所需存儲空 間和時間的消耗。算法設(shè)計是一件非常復(fù)雜的事情,在處理實際問題時,為了更好地將復(fù)雜 的問題變得簡單,在設(shè)計算法時常常采用遞歸的方法。

所謂遞歸,就是指用自身的結(jié)構(gòu)來描述自身,以實現(xiàn)層次數(shù)據(jù)結(jié)構(gòu)的查詢和訪問。用遞 歸概念來描述的算法就稱為遞歸算法。遞歸算法常用于遞歸調(diào)用方面,即子過程或函數(shù)自己 調(diào)用自己。VB允許一個自定義子過程或函數(shù)過程在過程體(又稱子程序體)的內(nèi)部調(diào)用自己, 這樣的子過程或函數(shù)就叫遞歸子過程或遞歸函數(shù)。

遞歸調(diào)用必須是有限的,有限才有意義。所以在進行算法描述時必須設(shè)置相關(guān)的控制條 件,使其成為有限。這可以通過條件語句(If語句)來實現(xiàn),即只有在設(shè)定的條件成立時遞歸 才繼續(xù),否則終止遞歸??梢?,構(gòu)成遞歸必須滿足以下條件:1)有明確的結(jié)束遞歸的邊界 條件(又稱終止條件)以及結(jié)束時的邊界值;2)過程的描述中包含其本身,即能用遞歸形式 表示,且遞歸向終止條件發(fā)展。

二、遞歸算法的設(shè)計方法

遞歸算法既是一種有效的算法設(shè)計方法,也是一種有效的分析問題的方法。遞歸算法求 解問題的基本思想是:對于較為復(fù)雜的問題,把原問題分解成若干個相對簡單且類同的子問 題,這樣原問題就可遞推得到求解。

當(dāng)一個問題存在上述構(gòu)成遞歸的條件時,該問題便可以利用遞歸算法進行處理。具體的 設(shè)計方法是:當(dāng)所求解問題難于直接求解時,首先,把問題分解成若干個難度較小、較容易 求解的子問題,子問題與原問題具有類同的結(jié)構(gòu)。如果子問題能夠直接求解,則解之;如果 子問題仍不能直接求解,將每個子問題再分解成若干個更簡單的子問題,直到分解出的子問 題能夠很容易地求解或解為已知,這是實現(xiàn)遞歸的模板。然后,設(shè)計遞歸出口(即結(jié)束遞歸 的邊界條件),在滿足出口條件時,遞歸函數(shù)不能再調(diào)用自己,必須返回一個確定的值。將 這兩個方面的問題分析好之后,就可以在子程序體中定義遞歸調(diào)用了。

在通常情況下,遞歸調(diào)用都是要受到條件控制的,而且在被調(diào)用的過程中,會對調(diào)用條 件進行有規(guī)律的修改,直到滿足邊界條件,返回邊界值,結(jié)束遞歸;然后按照原來的路徑逐 層返回,求出原問題的解。由此可知,遞歸算法設(shè)計的關(guān)鍵在于遞歸描述和遞歸終止條件。

三、遞歸算法的實現(xiàn)過程

遞歸算法的執(zhí)行過程是不斷地自調(diào)用,直到到達(dá)遞歸出口才結(jié)束。然后,遞歸算法開始 按最后調(diào)用的過程最先返回的次序逐層返回,返回到最外層的調(diào)用語句時遞歸算法執(zhí)行過程 結(jié)束??梢?,遞歸的實現(xiàn)過程包含了“調(diào)用”和“返回”兩個階段。

許多問題都是可以利用遞歸算法進行求解的。VB中一個最常用例子就是計算階乘。例如 ,用遞歸函數(shù)實現(xiàn)計算N!的求解。代碼如下:

Private Sub FormClick()

Dim N As Integer,F(xiàn) As Long

N=InputBox(“輸入一個正整數(shù):”)

F=Fact(N) ’函數(shù)調(diào)用

Print N;“!=”;F

End Sub

Private Function Fact(ByVal N As Integer)As Long

If N=0 Or N=1 Then

Fact=1

Else

Fact=N*Fact Fact(N-1) ’函數(shù)遞歸調(diào)用

End If

End Function

運行程序,單擊窗體執(zhí)行Form Click()事件過程,鍵盤輸入3賦給變量N,即求3!的值。 程序以Fact(N)形式調(diào)用函數(shù)Fact。當(dāng)函數(shù)Fact開始運行時,首先檢測傳遞過來的參數(shù) N值 是否為1,若為1,則函數(shù)返回值為1;若不為1,函數(shù)執(zhí)行賦值語句Fact=N*Fact(N-1)。函數(shù) 調(diào)用傳遞的參數(shù)N是3,函數(shù)計算表達(dá)式3*Fact(3-1)值,由于表達(dá)式中還有函數(shù)調(diào)用,于是V B第二次調(diào)用Fact函數(shù),但傳遞的參數(shù)是2,函數(shù)計算表達(dá)式2*Fact(2-1)值。當(dāng)再一次調(diào)用 此函數(shù)時,參數(shù)值為1,因此函數(shù)返回值1到本次調(diào)用點,此調(diào)用函數(shù)又返回2的值到調(diào)用這 個調(diào)用函數(shù)的函數(shù);最后,最初被調(diào)用的函數(shù)返回6到調(diào)用它的過程,得到運行結(jié)果。遞歸 函數(shù)Fact的調(diào)用和返回過程如圖1所示。

圖1 遞歸函數(shù)Fact的調(diào)用從圖1可以看出,一個遞歸問題可以分為“調(diào)用”和“返回”兩個階段。當(dāng)進入調(diào)用階 段后,便逐層向下調(diào)用,因此Fact函數(shù)被調(diào)用3次,即Fact(3)、Fact(2)、Fact(1),直到 遇到終止條件(即當(dāng)N=1時Fact=1)。然后帶著終止條件所給的函數(shù)值進入返回階段。按照原 來的路徑逐層返回,由Fact(1)推出Fact(2),由Fact(2)推出Fact(3)為止。

一般來講,從算法描述的角度看,遞歸算法通常有兩種實現(xiàn)方法。一種是在遞歸函數(shù)中用遞 歸公式實現(xiàn)。上述的計算階乘就是一個使用遞歸公式的常用例子,其中Fact=N*Fact(N-1) 就是遞歸公式。再如,求Fibonacci數(shù)列的問題,也是通過遞歸公式來實現(xiàn)遞歸調(diào)用的。其 遞歸函數(shù)代碼段如下:

圖2 漢諾塔(hanoi)問題Private Function Fab(ByVal N As Integer)As Long

If N=1 Or N=2 Then

Fab=1 '遞歸出口

Else

Fab=Fab(N-2)+Fab(N-1)

'遞歸公式

End If

End Function

有些問題無法直接使用遞歸公式,而要通過一個遞歸過程來描述。例如,大家所熟知的 漢諾塔問題:有A、B、C三個塔座,A塔上有直徑從小到大的N個盤子(如圖2所示),要求借助 塔B將N個盤子由A移到C,且保證:每次只移動一個盤子,任何時刻不能把大盤子置于小盤子 之上。

此問題可以用一個遞歸過程描述:(1)借助C,將(N-1)個盤子從A座移動到B座:(2)將 最后一個盤子(最下端的)從A座移動到C座:(3)滯助A,將(N-1)個盤子從B座移動到 C座。

依據(jù)以上分析,(1)和(3)步屬于同類問題,只是參數(shù)值不同而已。由此可寫出遞歸算法 ,并用VB程序描述的遞歸過程代碼段如下:

Private Sub MoveDisk(N As Integer,A As String,B As String,C As String)

If N=1 Then

Print “將第1個圓盤從第”&A&“座移到第”&C&“座”

Else

Call MoveDisk(N-1,A,C,B) '過程遞歸調(diào)用

Print“將第”&N&“個圓盤從第”&A&“座移到第”n&C&“座”

Call MoveDisk(N-1,B,A,C) '過程遞歸調(diào)用

End If

End Sub

此程序根據(jù)對問題的遞歸描述寫出,結(jié)構(gòu)清楚,易理解。因涉及遞歸,所以其調(diào)用的執(zhí)行過 程可能很復(fù)雜。但如果不用遞歸方法,問題又可能很難處理。因此,在算法描述過程中,只 需把以上算法的三步過程設(shè)計好,再考慮一個盤子時的情況(遞歸出口)怎樣處理就可以了。

從上述分析中,可以認(rèn)為,看問題能否用遞歸算法,先不要考慮具體的執(zhí)行過程,只要滿足 上述 構(gòu)成遞歸的條件即可。在VB程序設(shè)計中使用遞歸時還應(yīng)注意,在定義遞歸函數(shù) 或遞歸過程時,一般先使用If語句進行遞歸測試,找到遞歸結(jié)束的條件,然后再進行遞歸調(diào) 用。

以上示例是遞歸應(yīng)用的典型。很多人認(rèn)為遞歸不易理解,這是把遞歸狹隘化了,但是對 遞歸的理解不能因此受到限制,遞歸程序的復(fù)雜程度比一般程序要高很多。遞歸算法使程序 清晰直觀,是程序設(shè)計中很重要的方面,但遞歸在計算機中的執(zhí)行過程卻很復(fù)雜,需要占用 較大的內(nèi)存空間和較多的系統(tǒng)時間來進行頻繁進出和轉(zhuǎn)移操作,執(zhí)行效率很低。所以,在VB 程序設(shè)計過程中,并不一味追求遞歸。如果一個問題的求解過程明顯是遞推規(guī)律或通過循 環(huán)處理方法即可方便解決的,則不必要使用遞歸。反之,在對問題進行分解、求解的過程中 得到的是和原問題性質(zhì)相同的子問題,由此自然得到一個遞歸算法,且它比實現(xiàn)非遞歸算法 更符合人們的思維邏輯,則應(yīng)該使用遞歸。因此,使用遞歸應(yīng)揚長避短,只有真正掌握遞歸 這個有效的編程方法,才能提高編程能力和編程效率。

參考文獻

[1]牛又奇,孫建國.VisualBASIC程序設(shè)計教程[M].蘇州:蘇州大學(xué)出版社, 2007.

[2]霍紅衛(wèi).算法設(shè)計與分析[M].西安:西安電子科技大學(xué)出版社,2005.

篇10

關(guān)鍵詞:程序設(shè)計;課程考核;考核模式

引言

《程序設(shè)計》課程是一門基于.net技術(shù)平臺下用VB語言設(shè)計應(yīng)用程序的計算機程序設(shè)計課程,實踐性要求很強。通過學(xué)習(xí),不但要求學(xué)生掌握扎實的理論知識,同時還要求學(xué)生具備熟練的操作技能,注重平時學(xué)習(xí)能力的培養(yǎng),讓學(xué)生形成系統(tǒng)化的課程知識體系,最終達(dá)到開發(fā)小型管理系統(tǒng)的能力。采用科學(xué)的符合教學(xué)特點的課程考核方式是十分有必要的。

課程考核不但是對學(xué)生知識能力的驗證,也是考核教學(xué)質(zhì)量的方式之一。以現(xiàn)有的考核體系“平時成績(30%)+期末成績(70%)”模式進行課程考核,平時成績由出勤率和平時提問決定,期末成績以理論成績?yōu)橹鳎@種終結(jié)性的考核方式往往出現(xiàn)大面積不及格的現(xiàn)象,嚴(yán)重挫傷教者和學(xué)者的自信心,已不能適應(yīng)新形勢下高職教育所倡導(dǎo)的注重學(xué)生過程能力和綜合能力的培養(yǎng),因此改革課程考核模式至關(guān)重要。

課程考核改革思路

從思想上更新觀念,改變終結(jié)性的考核觀,向考核學(xué)生知識點、應(yīng)用能力、分析與解決問題能力的過程性考核方向轉(zhuǎn)變。本著樹立以人為本、以就業(yè)為導(dǎo)向的人才培養(yǎng)觀,不但要以“能力測試”,還應(yīng)以有利于促進學(xué)生的自主學(xué)習(xí),促進對技能的掌握,有利于推動學(xué)生的就業(yè)和創(chuàng)業(yè)為考核的最終目的,在實踐中探索具有創(chuàng)新性的、系統(tǒng)而科學(xué)的、可操作性強的課程考核模式。

1.引入過程性考核

過程性考核是將學(xué)生在教學(xué)全過程中對知識點掌握、應(yīng)用能力及分析和解決問題能力作為教學(xué)評價,包括考勤、理論作業(yè)及單元測試等過程性材料考核。其中引入單元測試,主要是對學(xué)生階段性知識進行測評,可及時了解學(xué)生知識掌握情況,及時調(diào)整教學(xué)策略,解決存在的疑難。這樣的考核模式,不但體現(xiàn)考核所起的督導(dǎo)激勵、導(dǎo)學(xué)促教的功能,也真正考核出學(xué)生動手能力、創(chuàng)新能力的水平。

2.引入綜合項目實踐考核

通過引入某個綜合項目系統(tǒng),課程圍繞系統(tǒng)的開發(fā)過程進行講授。依次根據(jù)開發(fā)系統(tǒng)的過程組織課程教學(xué)的進度,將綜合項目劃為與教學(xué)進度一致的若干個小模塊,即對應(yīng)課程的每一個實驗任務(wù)。由教師指導(dǎo)學(xué)生完成每個實驗的設(shè)計,并要求每次上交完成實驗結(jié)果及實驗報告,根據(jù)完成情況給出評分,形成過程性上機成績。課程結(jié)束時學(xué)生應(yīng)完成整個系統(tǒng)的開發(fā),形成期末實踐考核成績。這樣不僅有助于培養(yǎng)學(xué)生動手編程和創(chuàng)新能力,還培養(yǎng)學(xué)生形成課程系統(tǒng)化知識體系。

3.引入綜合評價

引入綜合評價是為了在課堂中營造一種積極的學(xué)習(xí)氛圍,讓學(xué)生積極投入到學(xué)習(xí)過程中。在綜合評價成績給定時要從以下幾個方面考慮。

(1)上課表現(xiàn)

課堂是學(xué)生學(xué)習(xí)知識的場所,上課表現(xiàn)主要是指學(xué)生的學(xué)習(xí)態(tài)度、投入狀況與學(xué)習(xí)的主動性、創(chuàng)新性等方面。

(2)學(xué)習(xí)小組評價

要從學(xué)生團隊合作意識、參與情況及完成質(zhì)量等方面評價。

(3)教師評價

根據(jù)學(xué)生平時學(xué)習(xí)的自覺性、積極性等狀況給出一個綜合評價分。

探索、改革新的考核模式

1.確定學(xué)生考核成績評定指標(biāo)體系

通過學(xué)生出勤率、單元測試、上交理論作業(yè)、上交上機報告、期末理論考核及期末實踐考核等六項指標(biāo),形成課程考核評定成績指標(biāo)體系,評定學(xué)生課程考核成績。根據(jù)課程成績考核要求依次確定各項考核指標(biāo)在總成績中所占比例(如圖)。

考核成績指標(biāo)均按百分制。這樣當(dāng)課程學(xué)習(xí)結(jié)束,期末考試之后,每位學(xué)生都會有根據(jù)課程考核評定指標(biāo)得到的一組成績數(shù)據(jù),構(gòu)成考核評定成績的原始數(shù)據(jù)樣本X= [x1, x2,…, xi],其中i為課程考核評定指標(biāo)體系中的指標(biāo)數(shù)。

2.確定課程考核指標(biāo)的權(quán)重系數(shù)和評價系數(shù)

(1)根據(jù)學(xué)校課程成績考核要求確定每一考核指標(biāo)在總成績中所占比例權(quán)重系數(shù)W=[w1,w2, …, wi],其中 i為課程考核評定指標(biāo)體系中的指標(biāo)數(shù)。由權(quán)重系數(shù)確定考核指標(biāo)的基本分(如下表所示)。

(2)為鼓勵學(xué)生注重學(xué)習(xí)的過程,對學(xué)生有一個全面性的考評。由教師和學(xué)生對每一位學(xué)生課堂學(xué)習(xí)表現(xiàn)印象的綜合評價給出綜合評價分,其中教師評價分和學(xué)生評價比值為3∶2,最終確定每一位學(xué)生的綜合評價分C。根據(jù)評價分的不同確定評價考核系數(shù)C=[c1,c2, …, cj],其中j為評價系數(shù)。

評價分C值在:

85分以上的(含85分),評價考核系數(shù)C1=1.5;

70分以上的(含70分),評價考核系數(shù)C2=1.2;

60分以上的(含60分),評價考核系數(shù)C3=1.1;

60分以下的,評價考核系數(shù)C4=1。

3.課程考核成績評定方法

根據(jù)考核指標(biāo)成績、考核指標(biāo)權(quán)重系數(shù)及評價系數(shù)得到每位學(xué)生的課程考核成績,即每一位學(xué)生課程考核成績S=(x1×w1+x2×w2+…+xi×wi)×Cj(其中:i為各考核指標(biāo)數(shù),j為評價數(shù))。