一、 VB是一種編程編程語言
Basic正是微軟公司售出的第一套軟體。Basic 發展到今天已經有很多版本,如 GW-Basic 、QuickBasic 、QBasic 、Visual Basic ,等等,其中,Visual Basic 是最容易學習與應用的程序語言之一。雖然最容易學習與使用,但它的功能卻非常強大,很多應用程序都是用它編寫出來的。
不是個個都能成為比爾蓋茨,但你想知道天天使用的Windows的諸多功能是如何實現的嗎?你想要編寫自己的應用程序嗎?通過學習VB就能寫出很多應用程序。
二、打開程序:
點擊桌面上的 Visual Basic 圖標(或從「程序」菜單中打開「Microsoft Visual Basic 6.0 中文版」),在彈出的如圖一的窗口中選擇「創建標準 EXE」按鈕。
圖一
確定後的狀態如圖二
圖二
三、 工作界面簡介:
1、 標題欄
2、 菜單欄
3、 工具欄
圖三
4、 工具箱面板
5、 程序設計區
6、 VB工程管理器:用來管理開發一個VB程序所需要的各種類型的窗體和模塊,如左圖是一個工程所包含的東西,窗體是一個程序表現在外面的界面、模塊是程序內部使用的代碼。
7、 屬性窗口
圖四
用來顯示控制項的屬性,並允許我們修改,設定這些屬性的值,我們在窗體設計區域的窗體上選中一個控制項,以按鈕為例,則在「屬性窗口」中會列出它的屬性,我們可以看到常用的「Name」、「Capition」、「Font」等等屬性,試著把「Capition」屬性改為「這是一個按鈕」,然後看看「窗體設計區域」的按鈕上顯示的文字是不是改變了。
8、 布局窗口
圖五
調整程序運行時,程序窗體在屏幕中的初始位置,把滑鼠移到左圖屏幕中的窗體上,這時滑鼠會變成移動形狀,拖動窗體,就設置好了運行時此窗體的位置。
四、 控制項的使用
1、 控制項的屬性
2、 控制項的使用
以控制項「按扭」的使用為例來說明
製作計算機器界面:
雙擊工具箱面板上的命令按鈕(Command Button)圖標,如圖六:
圖六
然後你會發現程序界面上多了一個命令按鈕,如圖七:
圖七
在控制項屬性窗口中設置:「Caption」屬性為「0」,並調好大小,選擇好字體、字型大小,如圖八所示
圖8所示
單擊這個按鈕選中它,讓它周圍出現8個小句柄.選擇「編輯」菜單中的「複製」命令,再選擇「粘貼」命令,則在設計窗體上會出現一個和原有按鈕一模一樣的按鈕。重複以上步驟,做出18個按鈕,修改這18個按鈕的「Caption」屬性。
五、生成可執行的EXE文件
第二講 Label 控制項
Label(標籤控制項)是圖形控制項,主要作用在於顯示文字信息,如大家比較熟悉的程序安裝界面:在某個軟體安裝過程中,常常會顯示一些幫助信息或與產品相關的介紹信息,而這些,大多是用標籤控制項製成的。
在 Visual Basic 工具箱中,標籤控制項的圖標如圖一所示。標籤的默認名稱(Name)和標題(Caption)為 LabelX(X為1、2、3,等等),規範的命名方式為:LblX(X為自己定義的詞,如 LblShow 、LblRed ,等等)
圖一
一、標籤控制項的主要屬性: 1、Caption(標題)屬性: 此屬性用來設置在標籤上顯示的文本信息,可以在創建界面時設置,也可以在程序中改變文本信息,如第一章的例子中,通過點擊按鈕改變標籤顯示的字樣。
如果要在程序中修改標題屬性,代碼規則如下:
標籤名稱.Caption = “欲顯示的文本”
如:LblShow.Caption = “跟我來學 VB教程”
但是請大家注意,上面的代碼應該寫入供觸發的控制項對應的程序代碼區,如第一章中,是在命令按鈕的程序代碼區輸入的代碼,而不是標籤本身的代碼區喲。
這也是初學者常常大惑不解的地方,為什麼我要讓標籤改變字樣,卻要在其他控制項中輸入代碼?這是因為,我們是通過觸發其他控制項這個事件來讓標籤改變 Caption 屬性的。
當然,你也可以讓標籤本身來觸發 Caption 屬性改變事件,如用滑鼠點擊標籤,這時你就需要在標籤對應的程序代碼區輸入代碼了,但在實際編寫中,這種情況非常罕見。畢竟,標籤控制項用於顯示信息的本意遠遠超過了響應滑鼠點擊的意圖。
2、BorderStyle(邊框)屬性: 本屬性用來設置標籤的邊框類型,有兩種值可選:0,代表標籤無邊框;1,代表標籤有邊框,並且具有三維效果,如圖二顯示的兩個標籤:
圖二
BorderStyle 屬性可以在設計界面時指定,如圖三:
圖三
也可以在程序中改變(但這種應用不多見),程序代碼規則:
標籤名.BorderStyle = 0/1(0或1,兩者取一)
3、Font(字體)屬性: 本屬性用來設置標籤顯示的字體,既可以在創建界面時設定,也可以在程序中改變。
在創建界面時設定,如圖四:
圖四
在圖四的設置界面中,除了可以選擇字體,還可以設置顯示文字是否為粗體、斜體、下劃線等。
在程序中改變 Font 屬性,程序代碼書寫規則如下:
字體改變:標籤名.FontName = “字體類型”,其中,「字體類型」可以是中文,如「宋體」、「隸書」;也可以是英文名,如「Arial」、「Times New Roman」,等等,不過,這些字體名稱必須是電腦上有的。
字體大小改變:標籤名.FontSize = X ,其中,X 是阿拉伯數字,代表字體是幾號字。如:LblShow.FontSize = 11 。
粗體(FontBold)、斜體(FontItalic)、下劃線(FontUnderline)、刪除線(FontStrikethru)屬性的設置值是代表真/假的邏輯判斷值 True/False ,如下:
LblShow.FontBold = True/False LblShow.FontItalic = True/False
改變字體顏色
LblShow. ForeColor=顏色常量
顏色常量表
| 顏色常量 | 顏色 | 顏色常量 | 顏色 |
| vbBlack | 黑色 | vbRed | 紅色 |
| vbGreen | 綠色 | vbYellow | 黃色 |
| vbBlue | 藍色 | vbMagenta | 洋紅色 |
| vbCyan | 青色 | vbWhite | 白色 |
或者
LblShow. ForeColor=RGB(R,G,B)
R、G、B分別代表紅色、綠色、藍色的值,取值範圍是0到255的整數。
4、Alignment(對齊)屬性: 此屬性用來設置標籤上顯示的文本的對齊方式,分別是:左對齊,0;右對齊,1;居中顯示,2。可以在界面設置時設定,如圖五:
圖五
也可以在程序中改變,代碼如下:
標籤名.Alignment = 0/1/2
5、Visible(可見)屬性: 本屬性在大多數控制項中都有,它能設定該控制項是否可見。當值為 True ,控制項可見;當值為 False ,控制項隱藏。
控制項的可見屬性可以在界面設置時設定,如圖六:
圖六
也可以在程序中改變,代碼如下:
標籤名.Visible = True/False
二、標籤控制項(Label)的主要事件: 所謂的事件,其實就是用戶對應用程序的操作,如第一章中用滑鼠點擊命令按鈕觸發的 Click 事件。
事件的作用在於觸發程序的執行,如第一章中的 Click 事件改變了標籤控制項的 Caption 屬性。
標籤控制項的主要作用在於顯示文本信息,但也支持一些為數不多的事件。
1、Click 事件(滑鼠單擊): 用滑鼠點擊標籤時觸發的事件,如改變標籤的字體屬性:
Private Sub LblShow_Click() LblShow.FontName = “隸書” End Sub
2、DbClick 事件(滑鼠雙擊): 滑鼠雙擊引發的事件,如改變標籤的可見性:
Private Sub LblShow_DbClick() LblShow.Visible = False End Sub
三、知識點: 1、用 VB 編寫程序猶如搭積木,把每塊「積木」(控制項或其他對象)放在合理的位置,然後以某種機制(程序)將這些「積木」們運用起來,最後就搭成了我們需要的東西。所以,掌握每一種控制項,包括它們的屬性與主要事件,是我們學習編程的基礎!
2、某些屬性是大多數控制項所共有的,如 Name 、FontBold、FontItalic、Visible ,等等;但也有些屬性是某個控制項所獨有的,如標籤控制項的 WordWrap (標籤的標題顯示方式)。本節中我們只是講述了部分標籤控制項的屬性,其他屬性可以在 VB 的幫助文件中查找到。
3、大家在學習過程中一定會疑惑,為什麼在屬性設置時,「=」 右邊有時使用 “” ,有時又不使用 “” 。不知大家注意到沒有,我們在使用 “” 時,是因為引號裡面的內容是字元串,如”隸書”、”Times New Roman”,等等。
4、字元的大小寫問題:初學者還常常疑惑,字母什麼時候應該大寫,什麼時候應該小寫?其實,大寫小寫在 VB 程序中都是一樣的,但為了讓程序編寫得更為規範,程序可讀性更高,英文單詞的第一個字母一般都要大寫,如 Visible 、Name ,等等;
控制項的命名也遵循以上原則,不同的是,命名都是由「控制項類型名+具體名字」組成的,控制項類型名的第一個字母要大寫,具體名字的第一個字母要大寫,如 LblShow 、CmdShow 、LblChange ,等等。
5、程序代碼的規範:上面有這樣的例子: Private Sub CmdShow_Click() LblShow.Caption = “跟我來學 VB 神童教程” End Sub
Private Sub CmdShow_Click()代表一個過程,共由兩部分組成,CmdShow 代表 CmdShow 這個按鈕,Click 代表這個按鈕的觸發事件。
以此類推,Private Sub LblShow_DbClick ()也代表一個過程,LblShow 是個標籤,DbClick 是雙擊事件。
另外,Private 意為「私有」,表明這個事件過程的類型;此外還有 Public 即「公有」事件。
Sub 表明這個過程是「子程序」,若干個「子程序」共同組成最終的應用程序。
()裡面是用來裝參數的,關於參數,我們以後講述,如果沒有參數,()裡面為空。
四、作業
1、開始界面
2、在「用滑鼠點我」區域內單擊出現
在「用滑鼠點我」區域內單擊出現
3、點擊「有邊框」出現
3、點擊「無邊框」出現
第三講 數據類型
一、數據類型
數據是指計算機程序中需要處理的各種信息。按數據的性質,數據可分為不同的類型。
例如:姓名、地址屬於文本類型的數據,數量、單價屬於數值類型的數據。
為了有效地進行數據處理,需要將數據劃分為不同的類型。VB提供的數據類型主要有數值型、字元串型(string)、布爾(boolean)和日期型(date)。
1、 數值型數據
(1)、位元組型(byte),佔1個位元組
(2)、整型(integer),佔2個位元組
(3)、長整型(long),佔4個位元組
(4)、單精度(sing),佔4個位元組
(5)、雙精度(double),佔8個位元組
(6)、貨幣型(currency),佔8個位元組
2、 字元串類型(string)
字元串是一個用雙引號括起來的字元序列。例如,以下字元串都是合法的字元串:
「Hello」
「12345」
「ABCD123」
「Visual Basic 6.0程序設計」
「」
3、 布爾型(boolean)
布爾型數據佔2個位元組的存儲空間,用於進行邏輯判斷,只有True和False兩個值。
例如:3>2的值為True;0>3的值為False
4、 日期型(date)
當需要表達Date類型的數據時,需要用#號將具體日期括住。
例如:日期是:2004年2月23日,則應表達為:#2004-2-23#
二、算術運算與字元串運算
進行各種運算是解決的基礎。VB支持多種運算,本節課介紹算術運算與字元串運算。
1、 算術運算:VB提供了7個算術運算符,下表以優先順序次序列出了這些運算符。
1 ^ 乘方 3^2 9
2 – 取負 -3 -3
3 * 乘法 3*5 15
3 / 浮點除法 10/3 3.33333333333333
4 \ 整數除法 10\3 3
5 Mod 取模 10 mod 3 1
6 + 加法 2+3 5
6 – 減法 2-3 -1
2、 字元串運算
字元串運算符有兩個:「&」、「+」,它們的作用都是將兩個字元串連接起來,合併成一個新的字元串。例如:
「廣州市」 & 「中山大學」 結果為」廣州市中山大學」
「168」+」號房」 結果為」168號房」
168+」號房」 數據類型不一致,錯誤
三、課堂練習:
第四講 TextBox的使用(一)
文本框控制項在工具箱中的名稱為TextBox,在VB中,可以使用文本框控制項輸入、輸出數據。
一、屬性:
(1)Text屬性:字元串類型。
返回或設置文本框中顯示的內容。
例如:Text1.text=」年年有餘」
(2)MultiLine屬性:布爾型。
當MultiLine屬性為True時,文本框可以輸入或顯示多行文本。
(3)Passwordchar屬性:字元串類型。
當MultiLine屬性值為False時,該屬性可以用於口令輸入。如果把Passwordchar屬性設置為一個字元,如星號(*),則在文本框中鍵入字元時,只顯示星號,不顯示鍵入的字元。
(4)ScrollBars屬性:數值型。
該屬性用於確定文本框是否帶滾動條。有以下4種選擇:
0-None 沒有滾動條
1-Horizontal 只有水平滾動條
2-Vertical 只有垂直滾動條
3-Both 同時具有水平和垂直滾動條
只有當MultiLine屬性值為True時,文本框才顯示滾動條。
二、事件:
文本框除了支持滑鼠的Click、DblClick事件外,還支持Change、GotFocus、LostFocus、KeyPress等事件。本節課,我們先學習Change事件。
(1)Change事件:當用戶向文本框輸入新的內容,或在程序代碼中對文本框的Text屬性進行賦值從而改變了文本框的Text屬性時,將觸發Change事件。
(2)示例:建立兩個文本框,名稱分別為:t1、t2。運行時,用戶在文本框t1中輸入內容的同時,文本框t2顯示相同的內容。
程序代碼:
Private Sub t1_Change()
t2.Text=t1.Text
End Sub
三、綜合練習(界面如下圖所示):
1、屬性設置如下:
2、程序代碼如下:
Private Sub Command1_Click()
t3.Text = t1.Text
End Sub
——————————————————————
Private Sub Command2_Click()
t1.Text = “”
t2.Text = “”
t3.Text = “”
End Sub
——————————————————————
Private Sub Command3_Click()
End
End Sub
Private Sub Command4_Click()
t3.Text = t1.Text & t2.Text
End Sub
——————————————————————
Private Sub t1_Change()
t2.Text = t1.Text
End Sub
第五講 變數
一、變數的概念
1、變數:變數是應用程序在運行的過程中用來臨時保存數據的地方,它的值隨賦值而改變。 為了使用變數,需要為變數指定一個名稱和規定該變數所保存數據的類型, 這項工作稱為聲明變數。
2、為了使編寫的程序更符合規範和更加有效,推薦實行先聲明變數然後才使用。為了強制實施該項要求,需要在每個程序模塊的開始添加如下語句: option explicit
或者,使用以下方法: (1) 執行「工具」—「選項」菜單命令, (2) 然後在「選項」對話框架的「編輯器」選項卡中使「要求變數生命」項目有效,則每當在工程中添加一個新的窗體或模塊時,系統便自動在代碼窗口中添加上述語句。
(3) 如果加入了option explicit語句,則在運行時VB對沒有聲明的變數顯示錯誤信息。如圖:
二、變數命名規則 1.以字母或漢字開頭,後可跟字母、數字或下劃線組成; 2.長度小於等於255個字元; 3.不能使用VB中的關鍵字; 4.VB中不區分變數名的大小寫. 例如,mystring、count123、A1、姓名、性別等都是合法的變數名;而2x、a+b、as、if等是不合法的變數名。
二.變數聲明 在使用變數之前,一般必須先聲明變數名和類型,以便系統為其分配存儲單元。
1.用Dim語句顯式聲明變數 (1)一般格式: Dim 變數名 [AS 類型] 例如: dim a1 as integer 『聲明整數型變數a1 dim a2 as strin 『聲明字元串變數a2 dim s as Single 『聲明單精度實數變數s dim ss as Double 『聲明雙精度實數變數s 使用聲明語句聲明變數之後,VB自動對各類型變數進行初始化,數值變數被初始化為0;字元串變數被初始化為一個零長度的符串(」」)。
三、應用舉例
1、說明下列語句的作用
y=3*x^3+5
a=a+1 ‘
說明:先計算右邊的值,然後再把計算結果賦給左邊的變數
2、例:計算圓的面積和周長
1、設計界面和運行界面,如圖所示。
2、代碼:
Option Explicit
———————————————— Private Sub Command1_Click() Dim pi As Single, r As Single, l As Single, s As Single r = Val(t1.Text) pi = 3.14 l = 2 * pi * r s = pi * r ^ 2 l1.Caption = Str(l) l2.Caption = Str(s) End Sub
****注意**** val(字元串):把字元串轉換為數值; str(數值): 把數值轉換為字元串 輸入的數據是字元型,轉換成數值型才能進行計算;標籤的Caption屬性是字元型,所以輸時又要把計算結果轉換成字元型。
第六講 VB編程入門
一、編寫程序的基本思路
1、人腦處理問題的過程
以「1+2=?」為例
第一步:收集信息
第二步:處理信息
第三步:輸出結果
2、編寫程序解決問題的思路與人腦處理問題的思路相同
第一步:數據輸入
可以通過TextBox(文本框)控制項的Text屬性或通過賦值語句輸入數據
(1) 賦值語句用於輸入已知確定的數據;
(2) 用TextBox用於輸入暫時不確定或變化的數據。
**注意**
用TextBox輸入的數句是字元型,若要進行數值計算則要先轉換成數值型(用VAL函數)
第二步:數據處理
一般用用賦值語句進行計算處理或者用以後學的知識進行處理
第三步:數據輸出
用Label控制項的Caption屬性或TextBox的Text屬性進行輸出
代碼書寫格式如下:
控制項名.Caption=」要輸出的內容」 (用Label控制項輸出)
控制項名.Text=」要輸出的內容」 (用TextBox控制項輸出)
**注意**
若輸出變數的類型是數值型時,要用STR()函數轉換成字元型。
二、VB編寫程序步驟
分析問題,確定程序要完成什麼任務,按下面的步驟創建應用程序。
(1)新建工程。創建一個應用程序首先要打開一個新的工程。
(2)創建應用程序界面。
A、版面如何布局
B、要用幾個控制項
C、各控制項的「職責」、擺放位置
(3)設置屬性值。
A、名稱屬性
B、Cation、TextBox等屬隆的初始值
C、字型大小、字體、顏色、背景色等屬性
……
(4)對象事件過程的編程。
A、代碼應寫在哪一個控制項上,即事件發生在哪一個控制項上
B、確定解決問題的思路
C、寫代碼(要注意變數的定義)
(5)保存文件。
(6)程序運行與調試。生成EXE文件。
三、練習:
求函數y=5x^6+4的值
三、作業:
1、已知邊長求正方形的面積與周長。
第七講 內部函數
數學上的函數,是指對一個或多個自變數進行特定的計算,獲得一個因變數
的值。在VB程序設計中,擴充了函數的定義,使用起來更為靈活。VB為用戶預
定義了一批內部函數,供用戶隨時調用。
函數都帶有一個或幾個自變數,稱之為「參數」。函數對這些參數運算,返
回一個結果值。函數的一般調用格式為:
<函數名>([<參數表<])
如:sqr(9) rgb(0,0,0) date()
其中,函數的參數可以是常量、變數或表達式。若有多個參數,參數之間以
逗號分隔。
這些函數按其分類主要有以下幾個類別的函數:
一、轉換函數
二、數值函數
**注意**
要產生[a,b]區間範圍內的隨機整數,可以使用公式:int((b-a+1)*rnd+a)。例
如:要產生[10,100]區間的隨機整數,可以使用公式int(91*rnd+10)獲得。
三、字元串函數
四、日期時間函數
| 編號 | 函數 | 功能 | 例子 |
| 1 | now() | 返回系統日期和時間 | |
| 2 | date() | 返回系統日期 | |
| 3 | time() | 返回系統時間 |
五、其他函數
練習:
第八講 IF語句(一)
在程序設計中經常遇到這類問題,它需要根據不同的情況採用不同的處理方
法。例如,一元二次方程的求根問題,要根據判別式小於零或大於等於零的
情況,採用不同的數學表達式進行計算。對於這類問題,如果用順序結構編
程,顯然力不從心。必須藉助分支結構。
一、If 語句
格式:
If 條件 then
語句塊1
[ Else
語句塊2]
End If
說明:
(1)「條件」一般為關係表達式或邏輯表達式。通常把關係表達式或邏輯表達式
的值為真時,稱為條件滿足;值為假時,稱為條件不滿足。反之亦然。
判斷下列條件是否成立:
1、1<0
2、1=0
3、1<=0
4、3>=3
5、3<=3
(2)語句塊1、語句塊2分別是「條件」滿足或不滿足時,處理方法的描述,可以
是若干個語句。
(3)If…Then 、Else、End If 是VB的保留字。
功能:
(1)塊If首先判斷「條件」,其值為真時,執行語句塊1;為假時執行語句塊2。
當預設[Else…]中的內容時,該分支結構只對條件滿足的情況進行處理。執行過
程如下圖所示。
二、實例:火車站行李費的收費標準是50kg以內(包括50kg)0.20/kg,超過
部分0.50/kg。編寫程序,要求根據輸入的任意重量,計算出應付的行李費。
根據題意計算公式如下:
1、界面設計:
2、屬性設置:
3、代碼:
(1) 」計算”按鈕的代碼
Private Sub Command1_Click()
Dim w as single,pay as single
w= Text1.Text
If w > 50 Then
pay =(w – 50)* 0.5 + 50 * 0.2
Else
pay = w * 0.2
End If
Text2.Text = pay
End Sub
(2) 」清空”按鈕的代碼
Private Sub Command2_Click()
Text1.Text = “”
Text2.Text = “”
End Sub
(3) 」退出”按鈕的代碼
Private Sub Command3_Click()
End
End Sub
三、(a不為0)
提示:如果則輸出「方程無實數根」,否則輸出方程兩實根。
將x1,x2的值轉換成VB表達式為
x1=(-b+sqr(b^2-4*a*c))/(2*a)
x2=(-b-sqr(b^2-4*a*c))/(2*a)
第九講 Select Case 語句
Select Case語句是多分支語句,又稱為情況語句。
格式:
Select Case 測試表達式
Case 表達式列表1
語句塊1
Case 表達式列表2
語句塊2
…
Case 表達式列表n
語句塊n
[Case Else
語句塊n+1]
End Select
功能:根據「測試表達式」的值,選擇第一個符合條件的語句塊執行。
Select Case語句的執行過程是:先求「測試表達式」的值,然後順序測試該值符合哪一個Case子句中情況,如果找到了,則執行該Case子句下面的語句塊,然後執行End Select下面的語句;如果沒找到,則執行Case Else下面的語句塊,然後執行End Select下面的語句。
說明:
· · · 「測試表達式」可以是數值表達式或字元表達式;
· · · 「表達式列表」形式有以下3種:
(1)一個表達式或用逗號隔開的若干表達式
select case val(t1.text)
case 1,3,5
L1.caption=」這是奇數」
case 2,4,6
L1.caption=」這是偶數」
end select
(2)表達式1 To 表達式2
select case t1.text
case 1 to 9
L1.caption =」此數是在1到10的範圍內」
case 「A」 to 「Z」
L1.caption =」請輸入數字」
end select
(3)Is 關係運算符 表達式
select case val(t1.text)
case is>=30
L1.caption =」此數的範圍大於30」
case is>=20
L1.caption =」此數的範圍大於20」
case is>=10
L1.caption =」此數的範圍大於10」
end select
【例】輸入一個學生的一門課分數x(百分制),當x≥90時,輸出「優秀」;當80≤x<90 時,輸出「良好」;當 70≤x<80 時,輸出「中」;當60≤x<70 時,輸出「及格」,當 x<60 時,輸出「不及格」。
(1)界面設計
(2)代碼設計
Private Sub Command1_Click()
Dim score!
score = val(Text1.Text)
Select Case score
Case Is >= 90
Text2.Text = “優秀”
Case Is >= 80
Text2.Text = “良好”
Case Is >= 70
Text2.Text = “中”
Case Is >= 60
Text2.Text = “及格”
Case Else
Text2.Text = “不及格”
End Select
End Sub
作業:求分段函數的值
第十講 For 循環語句
在程序中,凡是需要重複相同或相似的操作步驟,都可以用循環結構來實現。
例如:計算1+2+3+…+1000;計算1*2*3*….*1000等等。
一、結構:
For循環的一般格式如下:
For 循環變數=初值 To 終值 [Step 步長]
[循環體]
Next [循環變數]
二、說明:
1.格式中各項的說明
· 循環變數:亦稱為循環控制變數,必須為數值型。
· 初值、終值:都是數值型,可以是數值表達式。
· 步長:循環變數的增量,是一個數值表達式。一般來說,其值為正,初值
應小於終值;若為負,初值應大於終值。但步長不能是0。如果步長是1,
Step 1可略去不寫。
· 循環體:在For語句和Next語句之間的語句序列。
· Next後面的循環變數與For語句中的循環變數必須相同。
2.執行過程
For循環語句的執行過程如下:
(1)系統將初值賦給循環變數,並自動記下終值和步長。
(2)檢查循環變數的值是否超過終值。如果超過就結束循環,執行Next後面的語句;否則,執行一次循環體。
(3)執行Next語句,將循環變數增加一個步長值再賦給循環變數,轉到(2)繼續執行。
以上執行過程用流程圖描述,如下圖所示。
這裡所說的「超過」有兩種含義,即大於或小於。當步長為正值時,循環變數大於
終值為「超過」;當步長為負值時,循環變數小於終值為「超過」。
我們通過分析下面的程序來進一步理解For語句的執行過程。
For n=1 To 10 Step 3
Print n,
Next n
具體執行情況如下:
上面程序的執行結果為:
1 4 7 10
3.注意事項
For語句和Next語句必須成對出現,缺一不可,且For語句必須在Next語句之前。循環次數由初值、終值和步長確定,計算公式為:
循環次數=Int((終值-初值)/步長)+1
舉例分析:
For i = 1 To 10
Print i;
Next i
執行此語句將輸出:
1 2 3 4 5 6 7 8 9 10
i是循環變數,它的初值為1,執行print語句,輸出1;然後使i的值增加1,
直到i的值超過終值10,就不再執行循環,它的流程如圖所示:
三、例題與作業:
(1) 求s=1+3+5+…+101的值
(2) 求s=1*3*5*…*101的值
第十二講 循環的嵌套
通常,把循環體內不再包含其他循環的循環結構稱為單層循環。在處理某些
問題時,常常要在循環體內再進行循環操作,這種情況稱為多重循環,又稱為循
環的嵌套。如二重循環、三重循環等。
多重循環的執行過程是,外層循環每執行一次,內層循環就要從頭開始執行
一輪,如:
for i=1 to 9
for j=1 to 9
print i*j
next j
next i
在以上的雙重循環中,外層循環變數I取1時,內層循環就要執行9次;接
著,外層循環變數I取2,內層循環同樣要重新執行9次……所以,循環共執行了
9×9次,即81次。
【例1】單擊 「正方形」 按鈕時,在窗體上顯示相應的圖形。
【效果圖】
【代碼分析】
For i = 1 To 5 //外層循環
For j = 1 To 5 //內層循環,連續列印5個”*”號
Print “*”;
Next j
Print //換行
Next i
【例2】單擊 「平行四邊形」 按鈕時,在窗體上顯示相應的圖形。
【效果圖】
【代碼分析】
For i = 1 To 5 //外層循環
Print Spc(5 – i); //每行的開頭需留有空格
For j = 1 To 5 //內層循環,連續列印5個”*”號
Print “*”;
Next j
Print //換行
Next i
【例3】單擊 「直角三角形1」 按鈕時,在窗體上顯示相應的圖形。
【效果圖】
【代碼分析】
For i = 1 To 5 //外層循環
For j = 1 To i //內層循環,連續列印i個”*”號
Print “*”;
Next j
Print //換行
Next i
【練習】請完成以下圖案。
【效果圖】
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/281385.html
微信掃一掃
支付寶掃一掃