Visual Basic面向?qū)ο蟪绦蛟O計

[日期:2019-03-18] 作者:信息技術(shù) 次瀏覽 [字體: ]

Visual Basic面向?qū)ο蟪绦蛟O計 

一、活動背景:

程序設計是當今信息技術(shù)產(chǎn)業(yè)高速發(fā)展的基礎和源動力,已經(jīng)高度滲透與融合到國民經(jīng)濟和社會發(fā)展的每個領域,其技術(shù)水平和發(fā)展規(guī)模已成為衡量一個國家產(chǎn)業(yè)競爭力和綜合國力的重要標志之一。程序設計可以培養(yǎng)學生嚴謹數(shù)理思維,挖掘潛力。優(yōu)質(zhì)生和特長生通過程序設計提高了思維能力和解決問題的能力,參加程序設計競賽。程序設計也是計算機科學核心,現(xiàn)有信息技術(shù)課程,以多媒體應用、圖形化為主,不能體現(xiàn)計算機科學核心。信息技術(shù)擁有有自己的學科體系,課程不能以“工具”為中心,要回歸其本質(zhì)“計算科學”,程序設計直接體現(xiàn)“計算科學”,中小學信息技術(shù)課開設程序是重要的一環(huán)?,F(xiàn)代學生的信息接觸面已經(jīng)越來越廣闊,適當?shù)牧私獬绦蛟O計,學習基本的程序開發(fā),不僅有助于學生幫助了解社會的發(fā)展,提升對人類文明的認識。更是培養(yǎng)其對高新科技濃厚興趣的有效途徑之一。

雙流中學實驗學校實施“以課程改革為核心的素質(zhì)教育”,其核心是促進學生個性化學習,培養(yǎng)學生綜合實踐能力,《Visual Basic程序設計》課程的開發(fā)與實施,應運而生。Visual Basic是微軟公司推出的面向?qū)ο缶幊坦ぞ?,它也是基于Windows操作系統(tǒng)可視化編程環(huán)境。Visual Basic是極具特色和功能強大的程序設計軟件。主要表現(xiàn)在:所見所得的界面設計,基于對象的設計方法,把程序和數(shù)據(jù)封裝起來作為一個對象,每個對象都是可視的,同時,具有較易維護的代碼。是程序設計教學的良好載體。

經(jīng)過了一學期的Visual Basic程序設計學習,學生學習了VB集成開發(fā)環(huán)境和VB語言的簡單語法基礎;會使用VB的窗體、VB標簽、文本框、命令按鈕、以及單選框等控件,同時掌握了這些控件的基本屬性設置及訪問方法;學習了VB常見變量類型及定義方式、數(shù)學運算、布爾運算、賦值語句、分支語句、循環(huán)語句等基礎語句及其流程;能夠編寫和調(diào)試簡單的Visual Basic程序。

二、 活動目標:

通過Visual Basic(以下簡稱VB)程序設計匯報活動,讓學生探究VB語言的編程算法規(guī)則,體驗VB程序設計語言的設計過程。培養(yǎng)學生初步用VB語言設計短小應用程序的能力。

通過該課程的學習,使學生了解算法和程序設計在解決實際問題中的地位和作用。培養(yǎng)學生的算法思維能力,使學生能利用學過的算法和VB語言解決生活和學習中碰到的一些簡單問題。隨著學習深入,能夠設計出有一定實用價值的程序,讓計算“聽”自己的話,按自己的意圖運行。

讓學生感悟程序設計思想,體驗程序設計過程,發(fā)現(xiàn)計算機運行的原理和規(guī)律,激發(fā)學生進一步繼續(xù)學習的熱情。讓學生體驗程序中嚴謹?shù)膽B(tài)度并養(yǎng)成良好的習慣。引導學生發(fā)現(xiàn)程序設計中的美如:程序?qū)崿F(xiàn)效果的美、算法代碼規(guī)律美、數(shù)學模型的結(jié)構(gòu)美。讓學生的個性特長得到充分的展現(xiàn)和發(fā)展。

三、活動流程:

(一)導入新課

程序設計“大佬”介紹:比爾-蓋茨13歲開始學習編程,后創(chuàng)建微軟,成為世界首富。馬克-扎克伯格10歲開始學編程后來他創(chuàng)立了著名網(wǎng)站Facebook成了最年輕的億萬富翁。百度創(chuàng)始人李彥宏、騰迅創(chuàng)始人馬化騰、新浪創(chuàng)始人王志東、網(wǎng)易創(chuàng)始人丁磊、360創(chuàng)始人周鴻祎,小米創(chuàng)始人雷軍.....他們都有共同一個共同的起點—程序設計。

巨人是學習榜樣,是我們的目標,讓我們也一同走進Visual Basic程序設計。

經(jīng)過大半學期的Visual Basic(VB)程序設計學習,我們學習了:

1、 了解了程序基本知識及常用程序設計語言;

2、 VB集成開發(fā)環(huán)境和VB語言的簡單語法基礎;

3、 會使用VB的窗體、VB標簽、文本框、命令按鈕、以及單選框等控件,同時掌握了這些控件的基本屬性設置及訪問方法;

4、 學習了VB常見變量類型及定義方式、數(shù)學運算、布爾運算、賦值語句、分支語句、循環(huán)語句等基礎語句及其流程;

5、 能夠編寫和調(diào)試簡單的Visual Basic程序。

同學們在學習過程中有什么想法或困惑,我們就請一些同學來展示他們的學習的過程,編程實例及相關(guān)經(jīng)驗介紹。

(二)小組匯報

1、利用循環(huán)程序?qū)崿F(xiàn)老鼠繁殖數(shù)量模擬。

小組成員:刁俊熙(7.3)、徐伊雯(7.3)、付敏(7.6)

1)需求分析

老鼠作為“四害”之一 ,十分猖獗。其根本原因老鼠的繁殖能力十分驚人。老鼠的繁殖能力極強,如果讓雌、雄老鼠交配,母鼠21天就可以產(chǎn)下幼鼠。雄性幼鼠30天后就進入成年;雌性幼鼠40天以后就可以繁殖下一代。這些年輕的老鼠又會接連不斷地生下幼鼠,生下幼鼠后,在6-10小時內(nèi)又可進行交配,懷下另一胎。這樣父母和子女同步生產(chǎn),就像繁殖機器,使老鼠數(shù)量急劇增加。

一對成年老鼠若干月后究竟能繁殖多少后代呢?如果用實驗的方法來探究這個問題,那么,不管是時間成本、經(jīng)濟成本還是環(huán)境成本……代價都是巨大的。所以我們不可能用真實的實驗來呈現(xiàn)老鼠的繁殖的規(guī)模!計算機模擬實驗無疑是這個問題是最佳解決方案。

2)系統(tǒng)設計

    界面及接口設計:通過輸入初始老鼠數(shù)量、繁殖時間等參數(shù)后計算機自動運行模擬計算出老鼠繁殖的總量。

模型設計:為了簡化數(shù)學模型我們先做以下假設:a)、一對老鼠每月繁殖一胎、平均6只。即:初生幼鼠數(shù)量=成年鼠/2 *6,(也可以簡化為:初生幼鼠數(shù)量=成年鼠*3)。 b)、初生幼鼠經(jīng)歷三個月后長成年老鼠。c)、老鼠總量=幼鼠+成年鼠。

3)程序編碼

a)變量的使用 對于不同月齡的老鼠數(shù)量用不同的變量表示。其中,初生幼鼠數(shù)量用變量n0、一月鼠n1、……成年鼠m。其中幼鼠變量的類型都為整形:Integer,成年鼠的數(shù)量有可能會非常龐大所以采用長整型:Long。b)賦值語句 老鼠的繁殖過程可以用賦值語句Let  n0 = m / 2 * 6來實現(xiàn);而老鼠的生長過程實現(xiàn)起來則要繁瑣一些需要幾條賦值語句同時使用:

Let  m = n3 + m

Let  n3 = n2Let  n2 = n1Let  n1 = n0而且賦值順序必須嚴格按照以上語句順序進行,否則就會由于賦值混亂造成數(shù)據(jù)覆蓋的嚴重后果!c)循環(huán)結(jié)構(gòu)的使用 由于可以根據(jù)繁殖時間精確得出循環(huán)執(zhí)行的次數(shù)所以我們采用FOR循環(huán)語句來模擬實現(xiàn)老鼠的繁殖和生長情況,具體語句如下:

For i = 1 To month Step 1

    m = m + n3 

    n3 = n2

    n2 = n1

    n1 = n0

    n0 = m * 3

 Next i

最終老鼠的總量計算則由代碼LET m = m + n3 + n2 + n1 + n0實現(xiàn)。

4)程序調(diào)試

為了驗證程序的執(zhí)行效果,我們特意編排了一系列數(shù)據(jù)輸入進行測試:

a) 在程序中輸入下列數(shù)據(jù):1、5、10、 30、0、99999、-5  ……;

b)在程序中輸入下列數(shù)據(jù):a、B、Hello、“米老鼠”、“唐老鴨”……。經(jīng)測試,程序?qū)︻A期正常輸入數(shù)據(jù)能作出正確輸出,但對非法輸入會報類型錯誤;超大數(shù)據(jù)則會溢出。

針對這種情況,我們對程序進行了以下完善:a、利用Val 、IsNumeric函數(shù)確保輸入的合法性;b、利用if語句和Msgbox提示用戶輸入有效數(shù)據(jù);c、對界面進行了進一步的規(guī)范和美化。

5)匯報答辯

由學生觀眾和匯報成員互動答疑(略)

6)教師點評

老鼠繁殖數(shù)量模擬程序?qū)儆谟嬎銠C模擬實驗的范疇。所謂計算機模擬實驗是指:利用計算機模擬某種自然現(xiàn)象或?qū)嶒灛F(xiàn)象。很多實驗由于各種局限無法實施,如輻射因素、時間跨度、場地限制、危險系數(shù)……這時我們可以進行計算機模擬實驗。通過一系列觀察和推理過程建立它的數(shù)學模型;給定的模型條件下不斷調(diào)整其參數(shù)并進行模型修正。這種計算機模擬實驗也稱作“干式實驗”原子能實驗、生物遺傳實驗、經(jīng)濟調(diào)控、氣象災害預報等領域有著廣泛的運用。

2、等差數(shù)列計算程序

小組成員:吳佳軒(7.20)、劉源炳(7.20)

1)需求分析

    高斯是德國著名的大科學家,高斯最著名的故事莫過于小學時計算1+2+3+...+100的值。當時高斯上小學,老師在班上出了這樣一道題,叫大家算。那個老師以為至少要20分鐘以后才會有答案,正想休息一下,誰知剛坐下高斯就說算出來了。老師很驚訝,問他怎么算的,他就說先算1+100=101,2+99=101,。。。這樣一共有50個101,因此1+2+3+……+100=50501一直加到100其實就是一個經(jīng)典的等差數(shù)列求和的計算。回憶起小學計算等差數(shù)列的情形無疑是很多同學的夢魘……

2)系統(tǒng)設計

可以用VB程序求出任何等差數(shù)列的和,先用VB計算1到100的和 

 

 

 

 

 

3)程序編碼

Dim a, s, d, f, g As Integer Let d = Text1.Text Let f = Text2.Text Let g = Text3.Text For s = d To f Step g     a = a + s Next s Let Text4.Text = a

4)程序調(diào)試

Private Sub Command2_Click()Dim tuichu As Integertuichu = MsgBox("確定要退出嗎?", 1, "退出")If tuichu = 1 Then EndEnd Sub這樣就行了

 

 

5)匯報答辯

由學生觀眾和匯報成員互動答疑(略)

6)教師點評:在數(shù)學物理化學都有很多類似的數(shù)列的問題,雖然可以用數(shù)學的方法可以得出相應的計算方法,但是,如果要統(tǒng)計計算出相應的結(jié)果的話,則十分繁瑣。而計算機通過編程則可以高效快速的計算出結(jié)果,因此,在物理化學,軍事等高科技很多領域,采用計算機編程來計算結(jié)果已經(jīng)必不可少。

3、簡易口算訓練程序

王智翔、龍威伍、羅博文(7.10)

1)需求分析

口算訓練是大家從小學一直到中學數(shù)學學習的必修課。我們每一個人都不厭其煩地做了無數(shù)道的口算練習、數(shù)學老師也孜孜不倦的批改了更多的口算,為了提高計算能力,大家可以說在這方面不斷重復花費了太多太多的精力……能否利用計算機來輔助我們提高自己的計算能力呢?答案是肯定的。

首先,我們需要隨機生成一道口算加減法算式。用戶回答后計算機判斷正誤并作出相應提示,用戶單擊“繼續(xù)”后自動生成新的算式。

2)系統(tǒng)設計

 

 

 

 

 

 

 

 

    為了優(yōu)化系統(tǒng)界面,我們運用了Label標簽進行提示并判斷計算的正誤。同時運用了一些激勵性話語進行評價。TextBox作為口算答案的輸入框,但是TextBox的內(nèi)容為文本類型,因此在判斷答案正誤時需要結(jié)合Val函數(shù)的使用才能比較。命令按鈕CommandButton則是分別作為調(diào)用新算式生成過程以及判斷正誤過程的觸發(fā)按鈕。

3)程序編碼

a) Rnd函數(shù)和Int函數(shù)的使用。 使用Rnd函數(shù)可以產(chǎn)生0~1之間的隨機數(shù)。所以乘以100就變成了 1~100之間的隨機數(shù)。Int函數(shù)則可以把隨機數(shù)的小數(shù)位裁掉,即取整函數(shù)。

Let  a1= Int (Rnd*100)    b) 計算結(jié)果的判斷

If  k =  Val(Text1.Text)  ThenLabel5.Caption = "正確,你真行!單擊“繼續(xù)”做下一題。"ElseLabel5.Caption = "錯了,要計算仔細哦!"Text1.Text = ""

End If

c) Randomize函數(shù)的使用。同一臺計算機使用Rnd函數(shù)每次生成的隨機數(shù)是一個相同的序列。Randomize語句可以改變這一情況,使隨機函數(shù)每次生成的隨機數(shù)都不同,從而讓口算算式題目更為隨機。

d) 如何實現(xiàn)加減法的隨機出現(xiàn)。為了讓算式中加減法隨機交替出現(xiàn),我們又一次巧妙的運用了Rnd函數(shù)。具體代碼如下:

Let d = RndIf d > 0.5 Then   Label2.Caption = "+"   Let k = a + bElse   Label2.Caption = "-"   Let k = a - bEnd If  

4)程序調(diào)試

由于Val函數(shù)的使用,所以程序運行中沒有出現(xiàn)數(shù)據(jù)類型不匹配的問題。在減法算式中偶爾會出現(xiàn)結(jié)果為負數(shù)的情況,如果小學生用到這個程序就可能無法解答的問題。為了解決這個小Bug又加入了以下代碼:

If a < b Then

   Let c = b

   Let b = a

   Let a = c

 End If

這樣就再也不會出現(xiàn)結(jié)果為負數(shù)的情況了。

5)匯報答辯

由學生觀眾和匯報成員互動答疑(略)

6)教師點評:計算機輔助教學(Computer Aided Instruction 簡稱 CAI)是計算機運用中的一個重要領域。學生計算能力的培養(yǎng)是數(shù)學教學中的基石。這個口算訓練程序有著廣泛的運用前景,可以讓學生書包中的口算練習本全部“退休”!同時,也可以讓辛苦的數(shù)學老師從批改口算本的繁重工作中解放出來,是一個非常不錯的CAI程序。這個程序還可以進一步完善和優(yōu)化:可以設定難度控制標志用于改變口算的難易程度,以覆蓋更為廣泛的學生群體。同時可以進一步加入乘數(shù)法的運算,讓程序的功能更加完善。

(三)教師總結(jié)

Visual Basic面向?qū)ο蟪绦蛟O計選修課已經(jīng)成功的開設了一學期了,同學們在課堂中取得了豐碩的成果。但我們開設這門選修課的目標不是為了把大家培養(yǎng)成為一名將來的程序員。

1、 感悟程序設計思想

①抽象:從具體案例和實際問題中抽象出內(nèi)在的數(shù)學模型。如:案例中老鼠的生長過程繁殖過程抽象為循環(huán)的過程;加減運算符號的隨機轉(zhuǎn)換為隨機數(shù)大小的判斷……    ②算法:同一現(xiàn)象可能會演變?yōu)椴煌某绦蚰P停绦虻乃惴▽崿F(xiàn)也將衍生出不同的版本。我們需要對比不同算法的實現(xiàn)難度、簡繁程度、執(zhí)行效率等作出選擇。    ③角色轉(zhuǎn)變:程序設計要求我們學會從計算機的角度思考問題。例如:從一系列數(shù)據(jù)中找出最大數(shù),從人類的角度出發(fā),這個問題十分簡單。人運用了眼睛、大腦結(jié)合比較,具體思維過程一閃而過。而計算機就不同了它面對這些數(shù)據(jù)就像盲人摸象……所以這就要求程序設計者能夠從截然不同的角度分析問題解決問題。

2、 體驗程序設計過程

現(xiàn)實需求→建立模型→算法語言實現(xiàn)→調(diào)試→完善求精

這是一個完整的程序設計需要經(jīng)歷的過程,同時這也完全符合我們完成某項工作任務的具體流程。而且這個過程更為規(guī)范、嚴謹、完善。

3、 感受跨學科的學習環(huán)境

Visual Basic程序設計中全英文的編程環(huán)境、數(shù)學思維與模型的構(gòu)建、物理學科知識的支撐……為大家構(gòu)建了一個自然的跨學科學習環(huán)境。   4、態(tài)度與習慣的形成

嚴謹?shù)膽B(tài)度包括:模型建立嚴謹、算法嚴謹、語法嚴謹、……良好的習慣是程序設計的基本要求:變量聲明的習慣、賦值的習慣、調(diào)試的習慣……   5、發(fā)現(xiàn)程序設計中的美

    程序設計中的美包括:程序?qū)崿F(xiàn)效果的美、算法代碼規(guī)律美、數(shù)學模型的結(jié)構(gòu)美……