第一篇:vb語言編程教案
課
題:vb語言編程概述 課 時:2課時 授課時間:2011.09.05 課堂類型:講授
教學目的:1.熟悉VB界面和VB集成開發(fā)環(huán)境;
2.在實際操作中學會編簡單的VB應(yīng)用程序;
教學要求:1.掌握VB基礎(chǔ)知識。
2.會編簡單的VB應(yīng)用程序。
教學重點:1.熟悉VB集成開發(fā)環(huán)境
2.編寫簡單VB應(yīng)用程序。
教學難點:在熟悉VB界面的同時學習編寫簡單VB應(yīng)用程序 教學方法:講授 教學過程:
一、VB簡介
BASIC是英文Beginner’s All-purpose Symbolic Instruction Code(初學者通用符號指令代碼)的縮寫,它是專門為初學者設(shè)計的高級語言。Visual Basic是Microsoft公司于1991年推出的基于窗口的可視化程序設(shè)計語言。
a.“Visual”是“可視化的”、“形象化的”的意思。b.因此Visual Basic也具有易學易用的特點
c.目前Visual Basic的最新版本是Visual Basic 6.0(簡稱VB 6.0)
二、啟動VB
1、首先顯示“新建工程”對話框
直接單擊“打開”按鈕,創(chuàng)建“標準EXE”類型應(yīng)用程序,進入集成開發(fā)環(huán)境主界面。
2、集成開發(fā)環(huán)境中的各元素 1)標題欄:用來顯示窗口的標題。2)菜單欄 3)工具欄 4)工具箱 5)窗體窗口 6)工程窗口 7)屬性窗口 8)窗體布局窗口
三、通過一個簡單的應(yīng)用程序快速入門
【例1.1(實訓1,p16)】制作一個的一個簡單的應(yīng)用程序的運行界面。它由一個窗體、一個文本框、一個標簽和一個命令按鈕組成。當用戶單擊命令按鈕“顯示”時,文本框中出現(xiàn)“教你學VB”。1.新建工程 2.添加文本框Text1 3.添加命令按鈕Command1 4.添加標簽Label1 5.設(shè)置屬性 6.編寫事件過程代碼
前面的工作把應(yīng)用程序的界面設(shè)計好了,屬性也設(shè)置完畢。但現(xiàn)在應(yīng)用程序并不能實現(xiàn)實際的功能。為了使它具有一定的功能,還必須為對象編寫實現(xiàn)某一功能的事件過程代碼。1)雙擊窗體上的“顯示”按鈕,屏幕上出現(xiàn)代碼窗口,程序代碼就在這里編寫。編寫如下事件過程:
Private Sub Command1_Click()Text1.Text = “歡迎使用VB” End Sub 2)運行應(yīng)用程序 3)保存應(yīng)用程序
VB應(yīng)用程序至少有兩種文件需要保存: · 窗體文件(.frm)· 工程文件(.vbp)4)生成EXE文件
四、總結(jié)步驟
設(shè)計VB應(yīng)用程序主要有以下4個步驟:(1)設(shè)計用戶界面。(2)設(shè)置屬性。(3)編寫代碼。(4)保存和運行調(diào)試程序,生成EXE文件。
五、知識延伸
1、只有一個文本框的實例 編寫如下事件過程:
Private Sub Command1_Click()Text1.Text = “教你學VB“ End Sub
2、多個文本框時 編寫如下事件過程:
Private Sub Command1_Click()Text1.Text = ”教你學VB“ Text2.Text = “歡迎使用VB“ End Sub
3、按照系統(tǒng)的元件特性分類(分別舉例說明)課后實訓1 第二個命令按鈕:清除 第三個命令按鈕:退出 步驟:
1.添加2個命令按鈕 2.雙擊按鈕,進入編程狀態(tài) 3.和顯示按鈕命令編程相似 編寫如下事件過程: Private Sub Command2_Click()Text1.Text = ” “ End Sub Private Sub Command3_Click()End End Sub
4、圖片的加載方法
Private Sub Form_Load()Image1.Picture = LoadPicture(App.Path + “1.BMP”)End Sub
六、小結(jié) 1.熟悉界面。
2.掌握完整編程過程以及運行及調(diào)試程序的過程。
第二篇:《VB編程實現(xiàn)文字閃爍》教案
《VB編程實現(xiàn)文字閃爍》教案
授課課題:VB編程實現(xiàn)文字閃爍 授課時間: 授課地點: 授課班級: 授 課 人: 教學目的:
一、認知目標
1、理解文字閃爍程序的設(shè)計思想和設(shè)計方法
2、理解Select case語句構(gòu)造多分支程序的方法和實現(xiàn)的技巧
3、理解RGB()函數(shù)和RND()函數(shù)配合,動態(tài)隨機生成顏色的方法
二、技能目標
1、熟練使用VB中的Label控件構(gòu)造程序界面
2、熟練使用格式工具對控件進行排列設(shè)置
3、熟練使用編程工具對程序代碼進行編寫和簡單的調(diào)試
三、情感目標
1、培養(yǎng)學生的自學能力、自主創(chuàng)意、分析解決問題的能力
2、培養(yǎng)學生的團隊合作精神,互相協(xié)作完成任務(wù)的能力
教學重點:
1、熟練使用VB中的Label控件構(gòu)造程序界面
2、理解文字閃爍程序的設(shè)計思想和設(shè)計方法
3、理解Select case語句構(gòu)造多分支程序的方法和實現(xiàn)的技巧
教學難點:
1、理解文字閃爍程序的設(shè)計思想和設(shè)計方法
2、理解Select case語句構(gòu)造多分支程序的方法和實現(xiàn)的技巧
教學方法:直觀演示法、案例教學法、分層教學法和興趣激勵法 教學用具:VB開發(fā)工具、VB程序案例、多媒體演示系統(tǒng)
學情分析:高二的學生上課紀律較好,比較能夠配合教師進行教學;通過大半學期的VB學習,對項目教學法也已經(jīng)比較熟悉;但大部分學生由于基礎(chǔ)知識和學習方法的限制,學習還比較死板,學習方法還只停留在教師教學生學的層面上;學生也不太主動通過摸索、調(diào)試自己解決問題。所以本課準備先講后練,步步引導,并協(xié)調(diào)好學生自主學習和教師輔助學習的關(guān)系,提高學生的主觀能動性。
教學過程:
【引入】演示原來講解過的文字變色的例子和今天要講解的文字閃爍的例子;提問學生:這兩個案例有什么不同。可以調(diào)節(jié)閃爍的時間,讓學生仔細觀察。
【預測】學生通過觀察大部分都能過發(fā)現(xiàn)兩個實例的區(qū)別。(5分鐘)【演示】開始新課,教師先演示Label控件排列文字的方法。
【預測】學生可能有疑問,為什么8個漢字要用8個Label控件呢,這個問題教師主動提出來,學生可以思考以后馬上解答,也可以設(shè)計完程序以后解答?!局v解】教師講解核心代碼和代碼設(shè)計思想。該過程是學習程序構(gòu)造算法的關(guān)鍵,教師有目的地進行引導講解。該過程以教師講為主,根據(jù)學情進行難度適中的提問,力求讓大部分學生理解程序的基本設(shè)計思路。(10分鐘)
【預測】大部分學生應(yīng)該能初步理解程序的設(shè)計思路。在學生自己練習時讓學生自己再去體會。
【摸索】學生開始進行設(shè)計,也可以在設(shè)計過程中進行簡單的學生之間的交流和討論。
【巡視】教師巡視,視學生的設(shè)計情況決定是否終止摸索而再次進行教師統(tǒng)一講解教學。
【預測】由于學生有實習計劃和程序代碼,大部分學生都應(yīng)該能夠進行設(shè)計,但學..生對程序的理解可能要困難的多。提高程序設(shè)計的方法只有兩條:多閱讀別..............人的優(yōu)秀程序;自己大膽嘗試程序設(shè)計。
【建議】成績比較優(yōu)秀的學生應(yīng)該能夠完成任務(wù),有部分學生在設(shè)計時回出現(xiàn)教學前教師不可預見的錯誤,如果大部分學生完成任務(wù)順利而教學時間充足,應(yīng)該把學生中常見的錯誤和完成好的實例進行展示講解。教師應(yīng)該走到學生中去輔助教學。
【練習】盡量能讓學生在教師小節(jié)前做完設(shè)計。
【建議】該過程是學生提升技能,形成能力的關(guān)鍵,應(yīng)要求學生人人動手,努力設(shè)計。(25分鐘)
教學評價:
【小節(jié)】學生應(yīng)上傳作品和上繳實訓報告,教師應(yīng)結(jié)合學生作品對本節(jié)內(nèi)容進行總結(jié)。
【預測】有部分學生在設(shè)計時會出現(xiàn)教學前教師不可預見的錯誤,如果大部分學生完成任務(wù)順利而教學時間充足,應(yīng)該把學生中常見的錯誤和完成好的實例進行展示講解。教師應(yīng)該走到學生中去輔助教學。
【作業(yè)】文字閃爍程序的修改版——跳躍文字閃爍(5分鐘)
第三篇:VB編程題及答案
1定義一個下標上界為10整型數(shù)組,并用隨機函數(shù)為其賦值(值處于[0,100]之間),計算數(shù)組中所有偶數(shù)的和。Private Sub Command1_Click()Randomize Dim a%(10)Dim i%, s% For i = 0 To 10 a(i)= 101 * Rnd()Next For i = 0 To 10 If a(i)Mod 2 = 0 Then s = s + a(i)End If Next Print “所有偶數(shù)的和為”, s 2 設(shè) S=35,C=0.3,編寫程序,計算并輸出下面級數(shù)的部分和。結(jié)果取小數(shù)點后面7位。C/1!-C^3/3!+C^5/5!-? +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ ?
參考答案如下:
Private Sub Command1_Click()
Dim n As Integer
Dim x As Double
x = 0.3
Dim item As Double
Dim sum As Double
Dim fac As Double
For n = 1 To 35
fac = 1
Dim i As Integer
For i = 1 To 2 * n1)* x ^(2 * n1
If n Mod i = 0 Then
isprime = False
Exit Function
End If
Next
isprime = True End Function Private Sub Command1_Click()
Dim i As Integer
Dim sum As Long
For i = 1000 To 2000
If isprime(i)= True Then
sum = sum + i
End If
Next
Text1.Text = “sum=” & sum End Sub 'sum= 419684 13.編寫一個函數(shù),求某個數(shù)的階乘。
調(diào)用該函數(shù)計算22!。
Public Function fact(ByVal n As Integer)As
Long
Dim i As Integer, f As Long
f = 1
For i = 1 To n
f = f * i
Next i
fact = f End Function Private Sub Command1_Click()
Dim m As Integer, i As Integer, s As Long
m = InputBox(“輸入一個正整數(shù):
”)
s = fact(m)
MsgBox(s)End Sub ‘479001600 14.編寫子過程,計算并輸出3000-4000之間的素數(shù)之和C與其中最小的素數(shù)MIN。
Private Sub Command1_Click()
Dim sum, i, min As Integer
min=0
For i = 3000 To 4000
Dim isprime As Boolean = True
Dim j As Integer
For j = 2 To i1)* n *(n + 1)
sum = sum + item
n = n + 2
Loop While Abs(sum)<= 100
MsgBox(sum)End Sub 'sum=-68 編寫一個函數(shù),其功能為求兩個數(shù)的最大公約數(shù)。
Public Function
gcd(ByVal m As Integer, ByVal n As Integer)As Integer
Dim i As Integer If m > n Then Dim t As Integer t = m: m = n: n = t End If For i = m To 1 Step-1 If m Mod i = 0 And n Mod i = 0 Then gcd = i Exit Function
End If
Next End Function
20.用InputBox輸入一個年份,判斷該年份是否是平年,若是則輸出“Yes”,否則輸出“No”。
Dim year As Integer year = Val(InputBox(“"))If(year Mod 400 = 0)Or(year Mod 4 = 0 And year Mod 100<>0)
Then MsgBox(”No“)Else
MsgBox(”Yes“)
End If 輸入兩個整數(shù)m、n,編寫程序使得
m>=n,并輸出m、n的值。
Dim m, n As Integer
m = Val(InputBox(”“))n = Val(InputBox(”“))
If m < n Then Dim t As Integer t = m : m = n : n = t End If
MsgBox(”m=“ & m & ”;“ & ”n=“ & n)
22求下面級數(shù)前n項的和S,在求和
過程中,當某項(注意,該項參與求和)的絕對值小于0.0001 時求和終止。結(jié)果取 5 位小數(shù)。
1-1/3+1/5-1/7+1/9-1/11+ ? +(-1)^(n-1)*1/(2n-1)+ ?
Private Sub Command1_Click()
Dim n As Integer
Dim item As Double
Dim sum As Double
i = Do While True
item =(-1)^(i1)
整數(shù):”)sum = sum + item If Abs(item)< 0.0001 Then Exit Do Else i = i + 1 End If Loop
MsgBox(Format(sum, “0.0000”))
End Sub '
sum=0.78545 編寫一個函數(shù),其功能為判斷一個3位正整數(shù)是否是“水仙花數(shù)”。(“水仙花數(shù)”是指各位數(shù)字的立方和與該數(shù)相等,如153=1^3+5^3+3^3,153就是水仙花數(shù)。)
Public Function Panduan(ByVal x As Integer)As Boolean
Dim a As Integer, b As Integer, c As Integer
a = x 100
b =(x Mod 100)10
c = x Mod 10
If x = a ^ 3 + b ^ 3 + c ^ 3 Then
Panduan = True
Else
Panduan = False
End If
End Function Private Sub Command1_Click()
Dim i As Integer
i = InputBox(“輸入一個3位正
MsgBox(Panduan(i))End Sub 定義一個下標上界為10整型數(shù)組,并為其賦值(值處于[0,100]之間),計算數(shù)組中所有不小于60的數(shù)據(jù)的和。
Dim a(10), i, sum As Integer
For i = 0 To 10
a(i)= Int(Rnd()* 101)
Next
For i = 0 To 10
If a(i)〉=60 Then
sum = sum + a(i)
End If
Next
print sum
25.編寫程序,求下面級數(shù)前n項的和s=1/1!-1/2!+1/3!-1/4!+....+(-1)^(n-1)*1/n!+.....。
'求和過程當某一項的絕對值小于0.0001時結(jié)束(注意,該項參與求和),計算并輸出所求的s,要求結(jié)果保留6位小數(shù)。Private Sub Command1_Click()
Dim m As Double, n As Long, s As Double, f As Integer
s = 0: n =-1: m = 1: f = 1 Do While 1 / m >= 0.0001 m = m * f f = f + 1 n =-n
s = s + n / m Loop
s = Format(s, ”0.000000“)Print s End Sub
26輸入一個四位數(shù),分別輸出它的個位數(shù)字,是十位數(shù)字,百位數(shù)字,千位數(shù)字。Private Sub Command1_Click()Dim a%, j%, k%, i%, m% a = InputBox(”請輸入一個四位整數(shù)“)j = a 1000 k = a 100 Mod 10 i = a 10 Mod 10 m = a Mod 10 Print ”個位數(shù)字;“;m Print ”十位數(shù)字;“;i Print ”百位數(shù)字;“;k Print ”千位數(shù)字;“;j End Sub 6.計算sum=2!+4!+6!+...+10!Private Sub Command1_Click()Dim a%, i% Sum = 0 i = 1: a = 1 Do a = 2 * i If i Mod 2 = 0 Then Sum = Sum + a End If i = i + 1 Loop While i <= 10 Print Sum End Sub
27編寫程序,計算并輸出下面級數(shù)前n項(n=20)中奇數(shù)項的和。1*2*3-2*3*4+3*4*5-4*5*6+....+(-1)^(n-1)*n*(n+1)*(n+2)+...Private Sub Command1_Click()Dim s!, i% For i = 1 To 20 Step 2 s = s + i *(i + 1)*(i + 2)Next MsgBox(s)End Sub
28隨機輸出一個小寫字母。Private Sub Command1_Click()Dim a As String Randomize
a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、29編寫程序,計算并輸出下面級數(shù)前n項(n=50)中偶數(shù)項的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%
For i = 2 To 50 Step 2 s = s + i *(i + 1)Next
MsgBox(s)End Sub
30斐波那契數(shù)列是由計算某類動物繁殖增長量而提出的。數(shù)列的前兩項是1、1,以后的每一項都是其相鄰前兩項的和。編寫程序求:數(shù)列前30項和。
Private Sub Command1_Click()Dim a&, b&, c&, i%
a = 1: b = 1: c = 2: Sum = 0 For i = 1 To 28 c = a + b a = b b = c
Sum = Sum + c Next
MsgBox(Sum)End Sub
31輸入三個數(shù)a、b、c,編寫程序使得a<=b<=c,并輸出a、b、c的值。Private Sub Command1_Click()Dim a%, b%, c%, t%
a = Val(InputBox(”請輸入a的值!“))b = Val(InputBox(”請輸入b的值!“))c = Val(InputBox(”請輸入c的值!“))If a > b Then t = b b = a a = t End If
If a > c Then t = a a = c c = t End If If b > c Then t = b b = c c = t End If
Print a, b, c End Sub 32編寫程序,設(shè)n=20,x=3.4,計算并輸出S(n)的值,要求結(jié)果保留5位小數(shù)。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i% Dim S(20)As Double n = 20 x = 3.4 For i = 1 To 20 S(20)= S(20)+ Log(i * x)/(x ^ i)Next Print Format(S(20), ”0.00000“)End Sub
33輸入任意三個數(shù) 找出其中最大的數(shù) Private Sub Command1_Click()Dim a!, b!, c!, Max!a = Text1.Text b = Text2.Text c = Text3.Text Max = a If b > Max Then Max = b If c > Max Then Max = c Text4.Text = Max End Sub
輸出1到100之間的素數(shù) Print 1;2;a = 3 While a <= 100 i = 2
While i < a
If a Mod i = 0 Then
i = a
End If
i = i + 1
Wend
If i = a Then
Print a;
End If a = a + 1 Wend、34打印斐波那契數(shù)列20項 Private sub form_click()A=0 B=1
Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)For i=1 to 9 A=A+B B=A+B
Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)Next i
35判定素數(shù)
A=val(inputbox(“input a”))For i=2 to a
If(a mod i=0)then Exit for End if Next i
If i 36求sum 1+(1+2)+(1+2+3)………….n = Val(Text1.Text)sum = 0 For i = 1 To n sum1 = 0 For j = 1 To i sum1 = sum1 + j Next j sum = sum + sum1 Next i Text2.Text = sum 37求50名學生的平均成績并統(tǒng)計高于平均分的人 Dim c(1 to 50)as integer Dim p!,n%,i% P=0 For i=1 to 50 C(i)=inputbox(“請輸入第”&i&”位學生的成績” P=p+c(i)Next i P=p/50 N=0 For i= 1 to 50 If c(i)>p then n=n+1 Next i Print “平均分=”;”高于平均分的人數(shù)=”;n 設(shè)C=0.3,編寫程序,計算并輸出下面級數(shù)的部分和。結(jié)果取小數(shù)點后面7位。C/1!-C^3/3!+C^5/5!-? +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ ? Dim n as integer Dim x as integer X=0.3 Dim item as double Dim sum as double Dim fact as double For n=1 to 35 Fact=1 Dim I as integer For I =1 to 2*n-1 Fact=fact*i Next Item =(-1)^(n-1)*x^(2*n-1)/fact Sum=sum+item Next Sum=int(sum*10000000+0,.5)/100000000 Magbox 39已知A、B為整數(shù)A和B的立方和為1000求所有的A、B。 Dim x ,y as integer For x=0 to10 For y=0 to10 If x^3+y^3=1000 then Msgbox(x=;y=) 定義一個下標上界為30的單精度數(shù)組,設(shè)置好其初值(值處于[20,90]),計算數(shù)組中所有元素的均值。Dim array(30)as single For i=0 Array(i)=20+int(rnd()*71)Next i Dim sum% For i=0 to 30 Sum=sum+array(i)Next i Print sum 31 End sum 41求下面級數(shù)前S項中奇數(shù)項的和sum。在求和過程中,以第一個奇數(shù)項的數(shù)值大于 10000 的項為末項。1!-2!+3!-4!+ ? +(-1)^(S-1)*S!+ ? Dim n as integer Dim item double Dim I as integer Dim sum as double Dim abs as double Do while true Item =1 For I =1 to n Item = item*1 Next i Sum=sum +item N=n+2 If abs(item)>10000 then Exit do Else N=n+2 End if Loop Msgbox(sum) 42計算sum=1/1!+1/2!+1/3!+....+1/10!Private Sub Command1_Click()Dim m As Integer, n As Long, s As Double n = 1 s = 0 For m = 1 To 10 n = n * m s = s + 1 / n Next Print s 42求從[j,s]區(qū)間內(nèi)的素數(shù)及素數(shù)和(這里需要用到三個文本框和2個按鈕)'Private Sub Command1_Click()Dim n%, i%, j%, s% Sum = 0 j = Val(Text1.Text())s = Val(Text2.Text())For n = j To s For i = 2 To n1 Then Sum = Sum + n: Print n Next n Text3.Text = Sum End Sub Private Sub Command2_Click()Cls Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text1.SetFocus End Sub 43某分段函數(shù)描述如下:(1)當x為偶數(shù)時,y的值為x的二分之一。(2)當x為奇數(shù)時,y的值為x的二倍。Private Sub Command1_Click()Dim x!, y!x = Val(InputBox(”請輸入X的值!“)) If x Mod 2 = 0 Then y = x / 2 Else y = 2 * x MsgBox(y)End If End Sub 44隨機輸出一個小寫字母。Private Sub Command1_Click()Dim a As String Randomize a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、45編寫程序,計算并輸出下面級數(shù)前n項(n=50)中偶數(shù)項的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i% For i = 2 To 50 Step 2 s = s + i *(i + 1)Next MsgBox(s)End Sub 46編寫程序,設(shè)n=20,x=3.4,計算并輸出S(n)的值,要求結(jié)果保留5位小數(shù)。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i% Dim S(20)As Double n = 20 x = 3.4 For i = 1 To 20 S(20)= S(20)+ Log(i * x)/(x ^ i)Next Print Format(S(20), ”0.00000“)End Sub 47設(shè) S=35,C=0.3,編寫程序,計算并輸出下面級數(shù)的部分和。結(jié)果取小數(shù)點后面7位。C/1!-C^3/3!+C^5/5!-? +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ ? 參考答案如下: Private Sub Command1_Click() Dim n As Integer Dim x As Double x = 0.3 Dim item As Double Dim sum As Double Dim fac As Double For n = 1 To 35 fac = 1 Dim i As Integer For i = 1 To 2 * n1)* x ^(2 * n1 fac = fac * i Next item =(-1)^(n1)/ fac sum = sum + item Next sum = Int(sum * 10000000 + 0.5)/ 10000000 MsgBox(sum)End Sub ' sum = 0.479426 49編寫子過程,計算并輸出3000-4000之間的素數(shù)之和C與其中最小的素數(shù)MIN。 Private Sub Command1_Click() Dim sum, i, min As Integer min=0 For i = 3000 To 4000 Dim isprime As Boolean = True Dim j As Integer For j = 2 To ia(1))*(pa(3)))MsgBox(s)Else MsgBox(”不能構(gòu)成三角形")End If End Sub 《體驗VB編程》教學設(shè)計 一、教學內(nèi)容分析 1.課程標準內(nèi)容《信息的編程加工》教學設(shè)計 初步掌握用計算機編程加工信息的工作過程和基本特征; 2.教材作用與地位 教科版《信息技術(shù)基礎(chǔ)》第三章第二節(jié)“信息的編程加工”,對這部分內(nèi)容分兩堂課完成。第一節(jié)課通過操作和剖析已經(jīng)編好的計算機程序,在解決實際問題中分析并了解其工作過程,這種通過問題分析形成算法、再利用計算機程序解決問題的思路和做法,對學生幫助很大。 第二節(jié)課主要是通過制作“QQ登陸”這個小程序,體驗 VB編程的過程。讓學生了解一些簡單的編程知識。我們認識問題的過程一般都是像課本那樣:從概念到案例。即從事物的原理出發(fā),以實例來驗證原理。這樣的方法雖然對闡述問題的整體性是有益的,但是卻并不容易突破難題,給人以就事論事的感覺,沒有鮮活的體現(xiàn)。 所以本節(jié)采用的策略是:從案例到概念。即從事物的表象出發(fā),根據(jù)現(xiàn)象去探索原理。這樣的方法更符合青少年的求知心理,也更容易在用技術(shù)實現(xiàn)軟件模型過程中體驗到程序的本質(zhì)意義和巨大價值。而且要通過例子來讓學生明白計算機語言只是工具,算法才是程序設(shè)計的靈魂,從而理解計算機工作的內(nèi)部機制,也就理解了為什么說自動化信息加工和人性化加工是智能化加工的一個基礎(chǔ)。 二、學生分析 因為大多數(shù)學生在初中都沒有接觸到利用計算機來進行編程方面的內(nèi)容,因此在利用 VB來進行編程方面的基礎(chǔ)可以說是零,老師就要從最簡單、最基礎(chǔ)的方面來引導這些零起點的學生。在學生已有的計算機基礎(chǔ)上給他們講解一下程序設(shè)計中的算法以及一些簡單的VB編程。 三、教學目標: 1.知識與技能目標 引導學生了解有關(guān)程序設(shè)計的基本知識;讓學生了解計算機加工信息的內(nèi)在機制以及算法的含義。 2.過程和方法目標 讓學生了解計算機解決問題的一般過程,了解用高級語言編程工具解決問題的基本方法,感悟計算機程序設(shè)計的思想,了解計算機程序設(shè)計的基本流程。 3.情感與價值觀目標 激發(fā)學生對信息技術(shù)的求知欲,提高其學習興趣,形成積極主動學習信息技術(shù)的態(tài)度。 四、教學重點 1.了解VB程序設(shè)計的界面組成。 2.了解怎樣用VB編寫簡單的小程序,并且運行小程序。 五、教學難點 學生對于算法和 VB編程的理解程度。 六、教學過程 1.第一環(huán)節(jié):觀看程序,查看代碼,了解設(shè)計程序的一般過程 通過演示“QQ登陸框“小程序激發(fā)同學們的興趣。 學生觀察其界面。分析其程序。 教師:上節(jié)課大家通過修改程序體驗了一下編程的神奇力量,今天這堂課大家就變身真正的程序員,自己設(shè)計程序,編寫代碼,大顯身手了!首先,我們來設(shè)計它的外觀吧! 第二環(huán)節(jié) 上手模擬軟件外觀。 認識算法:制作軟件需要編寫程序,編寫程序要有一定的工具,事先還要有一定的規(guī)劃和設(shè)計,即算法。以蓋房子為例講解算法:預計有多少房間,規(guī)劃每個房間的功能是什么,建筑的過程是怎樣的,最后的裝修使用等。 操作演示:從制作軟件者的視角,了解 VB的結(jié)構(gòu)特點。(1)控件。 VB就像蓋房,有各種材料、器件——控件,以圖像控件為例,演示給學生插入一個控件。(2)控件的屬性。 每個控件都有一定的屬性,就像壁畫有名稱、大小、內(nèi)容、位置等。為圖像控件的 Picture屬性引入一個圖片。 (3)事件響應(yīng)代碼。 有的控件要能響應(yīng)一定的功能要求——事件。就像門鈴按動時有聲音,按門鈴就是事件,聲音就是響應(yīng)。 教師演示如何設(shè)計程序界面?。ㄑ菔疽粋€控件即可!更改其屬性,并引導學生觀察每個對象的屬性說明,選擇相應(yīng)的屬性進行修改。) 學生:設(shè)計程序界面。 教師要引導學生觀察每個對象的名稱。第三環(huán)節(jié) 探索軟件智慧的來源。 教師:設(shè)計好了程序界面,我們運行程序,是否會相應(yīng)我們的操作!我們輸入了正確的賬號和密碼,就會顯示登錄成功的界面嗎? 學生:不會!要給它編寫代碼! 教師:是呀!我們剛才只是給它一個軀體,并沒有賦予它靈魂!只有編寫了正確的代碼,它才會按照我們的指令去操作! 那我們來分析一下這個程序!什么時候我們才能登陸成功? 學生:輸入正確的賬號和密碼!教師:什么時候出現(xiàn)錯誤的提示: 學生:賬號錯誤或密碼錯誤或者賬號密碼都錯誤! 教師:分析得非常好!明確了解決問題的過程,我們就開始動手編寫代碼吧?。ǜ咭坏臄?shù)學已經(jīng)了解程序設(shè)計的相關(guān)知識,學生讀懂程序沒有什么障礙!老師稍加點撥即可?。?/p> 問題是我們現(xiàn)在對那個對象編寫代碼?這是我們要解決的問題! 學生通過討論和思考:單擊“登陸”按鈕才引發(fā)的事件,應(yīng)當對“登陸”按鈕編寫代碼!代碼如下: Private Sub Command1_Click()mm = “gl123” hm = “2423366923” sr = Text2.Text If sr = mm And Text1.Text = hm Then Form2.Show Else MsgBox(“密碼輸入錯誤!”)End End If End Sub 教師和學生共同理解程序。 教師:在編寫程序過程中,難免會出現(xiàn)錯誤,就需要進行運行和調(diào)試!解決編程中出現(xiàn)的問題!有學生提出疑問:老師,我輸入的密碼為什么不能以“*”顯示? 教師:在文本框有一個passwordchar屬性,大家更改一下看看如何? 還可以對程序進行哪些修改呢?我們有時遇到網(wǎng)絡(luò)很差,想取消登陸怎么辦?引導學生對程序進行進一步的修改和完善! 第四環(huán)節(jié) 總結(jié)程序的作用及程序的結(jié)構(gòu)特點。教學反思: 1.教學設(shè)計 本節(jié)課在教學過程中,緊扣課標,從學生的認識特點和實際能力出發(fā),沒有用教材提供的例子,而用教師自己設(shè)計的例子——設(shè)計QQ登陸程序,引發(fā)學生的學習興趣。數(shù)學中已經(jīng)初步了解了程序設(shè)計語言,了解了程序涉及的三種結(jié)構(gòu),從學生熟知的例子入手,這樣引入課題自然、清楚,更重要的是簡化了“算法”和簡化了程序,課堂效果較好,達到了課標的要求。本節(jié)課的教學我感到最為成功的地方是,以學生為本,緊扣課標,教材處理恰當。通過分析通過剖析程序讓學生了解編程解決問題的方法和步驟;通過學生上機實踐,親身感受計算機編程解決問題的過程;通過學生感悟編程的過程,感受到編程就像跟計算機對話一樣; 2.分層教學的實施 教學中采用了分層教學,對不同的學生有不同的要求,“零起點”學生親身感受計算機程序解決問題的過程,懂得計算機程序設(shè)計的基本流程,“非零起點”的學生在“零起點”的基礎(chǔ)上,能夠根據(jù)自己的需要對程序進行進一步的完善。這樣所有的學生都能達到課標的要求,每個學生在自己的基礎(chǔ)上都有所提高。 3.感悟和提升 在教學中教師讓學生感悟程序設(shè)計的過程像什么活動一樣,好多學生都能感悟出像對話一樣,這正是程序設(shè)計的“精髓”。教師告訴學生編程不但能解決畫函數(shù)圖像這樣的小問題,還能解決更大更復雜的問題,你們現(xiàn)在所用的 Office就是用VB開發(fā)出來的,你們以前所學內(nèi)容主要是在應(yīng)用別人開發(fā)的程序,如果有一天你能開發(fā)出程序讓別人使用,那么你的計算機水平將上一個臺階,你自己也很有成就感。 4.不足 前面在程序設(shè)計界面上,學生花費了較多的時間,在完善程序,如密碼框改變其屬性passwordchar,設(shè)計取消登陸框的“取消”按鈕,沒有完成。 程序語言學習的總結(jié) 通過兩年的學習,我們基本上掌握了C語言,C++和C#三個編程課程。對于程序設(shè)計語言的學習,分為學習語法規(guī)定、掌握程序設(shè)計方法、提高程序開發(fā)能力,這些都必須通過充分的實際上機操作才能完成。課程上的安排除了課堂講授以外,學院設(shè)有專門課堂到實驗室進行上機操作實驗。 要利用c語言學到的知識編寫c語言程序,即把c語言作為工具,通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。通過上機實驗來驗證自己編制的程序是否正確。在這種思想支配下,可能你會想辦法去“掩蓋”程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機調(diào)試運行時,可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。 在原有的C語言的基礎(chǔ)知識之上,初步接觸C++時感到比較簡單易懂。但隨著之后的步步深入學習,C++的不同之處以及其優(yōu)勢逐。從第二章引入了C++簡單程序的設(shè)計。包括一些C++語言的概述,基本數(shù)據(jù)類型和表達式,數(shù)據(jù)的輸入與輸出,算法的基本東芝結(jié)構(gòu),以及自定義類型數(shù)據(jù)等知識。此部分多與C語言相似。之后又學習了函數(shù)的相關(guān)內(nèi)容,這里學到了新的知識要點----函數(shù)重載。該內(nèi)容尤其在現(xiàn)在做課程設(shè)計的時候尤為重要。類是C++語言的精華之所在,在學習中,我感覺到類和C語言中的結(jié)構(gòu)體有很大的相似之處,但在類中的構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)以及類的組合,經(jīng)常弄混淆一些概念。在這之后又學習了類的繼承與派生。這使得類與類之間形成了樹狀圖的模型,各子類可以訪問到父類的一些數(shù)據(jù)成員,同樣也實現(xiàn)了數(shù)據(jù)的之間的“共享”。我個人在編寫派生類的構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)時,感覺很不熟練,后面章節(jié)的多態(tài)性主要學習了運算符的重載,其本質(zhì)就是函數(shù)的重載。 在學習C#中,類是具有相同特性和行為的對象的抽象。它使用關(guān)鍵字class聲明的。在c#中僅允許單個繼承,類只能從一個基類繼承實現(xiàn)。但是一個類可以實現(xiàn)一個以上的接口。對象是人們要進行研究的任何事物,從最簡單的整數(shù)到復雜的飛機等局可以看對象,它不僅表示具體的事物,還能表示抽象的規(guī)則、計劃或者事件。接口只是包含方法、委托或事件的簽名。方法的實現(xiàn)是在實現(xiàn)接口的類中完成的。接口可以是命名空間或類的成員,并可以包含下列成員:每個C#可執(zhí)行文件都有一個入口—Main方法:static void Main()修飾符public表示可以在任何地方訪問該方法。所以可以在類的外部調(diào)用它。修飾符static表示方法不能在類的實例上執(zhí)行,因此不必先實例化類在調(diào)用。在變量聲明時:變量是類或者結(jié)構(gòu)中的字段,如果沒有顯示初始化,創(chuàng)建這些變量時,其值就是默認的0。變量是方法的局部變量就必須在代碼中顯示初始化,之后才能在語句中使用它們的值。 課堂上要講授許多關(guān)于語法規(guī)則,要使用這些工具解決問題,通過多次上機練習,對于語法知識有了更深刻的認識,在理解的基礎(chǔ)上就會自然而然地掌握。一個程序從編輯、編譯、連接到運行,都要在一定的外部操作環(huán)境下才能進行。通過上機實驗,熟練地掌握開發(fā)環(huán)境,為以后真正編寫計算機程序解決實際問題打下基礎(chǔ)。第四篇:體驗VB編程教學設(shè)計
第五篇:編程語言學習心得