第-章阵列与清单控制项学生成绩讲解优秀文档_第1页
第-章阵列与清单控制项学生成绩讲解优秀文档_第2页
第-章阵列与清单控制项学生成绩讲解优秀文档_第3页
第-章阵列与清单控制项学生成绩讲解优秀文档_第4页
第-章阵列与清单控制项学生成绩讲解优秀文档_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章陣列與清單控制項

[學生成績管理]10-1陣列的基礎10-2一維陣列的處理10-3建立多維陣列10-4動態陣列10-5清單控制項10-1陣列的基礎-說明「陣列」(Arrays)是一種程式語言的基本資料結構,屬於一種循序性的資料結構。日常生活最常見的範例是一排信箱,如下圖所示:10-1陣列的基礎-VB陣列VisualBasic語言的陣列屬於參考資料型態,它可以將相同資料型態的變數集合起來,使用一個名稱代表,以索引值存取元素,每一個元素相當於是一個變數,如下圖所示:10-2一維陣列的處理10-2-1建立一維陣列ViLLE–5.1陣列的宣告與初值10-2-2ForEach迴圈走訪陣列元素ViLLE–5.2使用For/Next迴圈走訪陣列10-2-1建立一維陣列-說明「一維陣列」(One-dimensionalArrays)是最基本的陣列結構,擁有一個索引,可以直接使用索引值來存取陣列元素。陣列是一組變數,如果在程式中需要使用很多相同資料型態的變數時,我們可以直接宣告陣列,而不用宣告一堆變數。陣列是使用索引值來存取陣列的元素值。10-2-1建立一維陣列-宣告語法在VisualBasic語言的陣列也是使用【Dim】關鍵字來宣告,我們可以在宣告同時指定陣列尺寸。一維陣列的宣告語法,如下所示:Dim陣列名稱(最大索引)As資料型態或Dim陣列名稱(0To最大索引)As資料型態上述語法宣告一個名為「陣列名稱」的陣列,其元素個數為括號的最大索引數加一,也可以使用To關鍵字指出其範圍,「資料型態」可以是VisualBasic基本資料型態、String資料型態、結構和類別物件等。10-2-1建立一維陣列-宣告範例例如:宣告一維陣列來儲存學生姓名和期中考成績,如下所示:DimNames(4)AsStringDimMidTerm(0To4)AsInteger10-2-1建立一維陣列-指定初值在宣告陣列時,我們也可以不指定陣列最大索引值,而直接指定陣列元素的初值,如下所示:DimFinal()AsInteger={60,89,75,68,90}上述程式碼宣告的一維陣列Final並沒有指定大小,其大小是初值的個數,陣列索引的最大值是初值個數減一。10-2-1建立一維陣列-存取元素如果宣告的一維陣列沒有指定初值,我們可以使用指定敘述來指定陣列值,如下所示:MidTerm(0)=70MidTerm(1)=79MidTerm(2)=65MidTerm(3)=98MidTerm(4)=60同樣方式,可以使用索引值來取出陣列元素值,如下所示:Dimscore1,score2AsIntegerscore1=MidTerm(3)score2=Final(3)10-2-1建立一維陣列-VisualBasic專案VisualBasic專案:Ch10-2-1\學生成績管理在Windows應用程式建立學生姓名的字串陣列、期中和期末考成績的整數陣列,學號是陣列索引值,只需在TextBox控制項輸入學號的索引值,就可以取得陣列元素值,即查詢學生姓名和成績資料。其執行結果如下圖所示:ViLLE–5.1陣列的宣告與初值請啟動ViLLE,在【五.陣列】目錄下,選【1.陣列的宣告與初值】,按【Run】鈕模擬執行此範例程式,如下圖所示:10-2-2ForEach迴圈走訪陣列元素-語法繼續上一節的範例專案,如果需要計算所有學生的總分和平均,我們需要從陣列的第1個元素走訪到最後1個元素。VisualBasic語言的ForEach迴圈可以輕鬆走訪整個一維陣列,其語法如下所示:ForEach變數In陣列程式區塊Next上述「變數」可以取得陣列的一個元素,變數需要和陣列屬於相同資料型態,迴圈自動從索引0開始,每執行一次迴圈取得一個元素值並且自動移至下一個元素,直到沒有元素為止。10-2-2ForEach迴圈走訪陣列元素-範例例如:計算上一節MidTerm陣列元素值的總和,如下所示:ForEachelementInMidTermtotal+=elementNext上述程式碼的變數element是陣列元素,每執行一次,就將陣列元素值加到total,最後變數total是陣列元素的總和。10-2-2ForEach迴圈走訪陣列元素-VisualBasic專案VisualBasic專案:Ch10-2-2\學生成績管理這個Windows應用程式是修改與擴充第10-2-1節的【學生成績管理】,新增2個按鈕控制項來計算期中和期末考的總分與平均,程式是使用MsgBox()函數來顯示計算結果。其執行結果如下圖所示:ViLLE–5.2使用For/Next迴圈走訪陣列請啟動ViLLE,在【五.陣列】目錄下,選【2.使用For/Next迴圈走訪陣列】,按【Run】鈕模擬執行此範例程式,如下圖所示:對於是二維以上的多維陣列,我們可以變更指定維度的尺寸,如果使用Preserve關鍵字,就只能變更最後1個維度的尺寸,如下所示:核取清單方塊是一種清單方塊的擴充,其差異只在項目顯示方式的不同。10-5-2下拉式清單方塊控制項-VisualBasic專案上述程式碼可以宣告2x5的二維陣列,其元素數就是2個尺寸5的一維陣列。10-5-1清單控制項的基礎-說明上述語法宣告一個名為「陣列名稱」的陣列,其元素個數為括號的最大索引數加一,也可以使用To關鍵字指出其範圍,「資料型態」可以是VisualBasic基本資料型態、String資料型態、結構和類別物件等。對於是二維以上的多維陣列,我們可以變更指定維度的尺寸,如果使用Preserve關鍵字,就只能變更最後1個維度的尺寸,如下所示:MidTerm(0)=7010-2-2ForEach迴圈走訪陣列元素10-2-2ForEach迴圈走訪陣列元素-VisualBasic專案10-5-3清單與核取清單方塊控制項-CheckedListBox控制項的常用屬性「二維陣列」(Two-dimensionalArray)或多維陣列都是一維陣列的擴充。「陣列」(Arrays)是一種程式語言的基本資料結構,屬於一種循序性的資料結構。MidTerm(4)=6010-3建立多維陣列-說明這個Windows應用程式是修改與擴充第10-2-1節的【學生成績管理】,提供基本管理功能,可以新增和更新學生的成績資料。MidTerm(3)=9810-3建立多維陣列-說明「二維陣列」(Two-dimensionalArray)或多維陣列都是一維陣列的擴充。如果將一維陣列想像成一度空間的線,二維陣列就是二度空間的平面;三維陣列即空間。在日常生活中的二維陣列應用非常廣泛,只要是平面的表格,都可以轉換成二維陣列來表示。例如:月曆、功課表和成績單等。ViLLE–5.4二維陣列10-3建立多維陣列-宣告二維陣列在VisualBasic語言宣告二維與多維陣列和一維陣列相似,只是每多一個維度,就需新增1個索引,所以,二維陣列在宣告時需要指定2個維度的陣列尺寸,例如:將第10-2-1節2個一維陣列的考試成績改為1個二維陣列,如下所示:如下所示:DimScores(1,4)AsInteger上述程式碼可以宣告2x5的二維陣列,其元素數就是2個尺寸5的一維陣列。10-3建立多維陣列-指定元素初值二維陣列也可以不指定陣列最大索引值,直接指定陣列元素的初值,如下所示:DimScores(,)AsInteger={{70,79,65,98,60},_{60,89,75,68,90}}上述程式碼宣告二維陣列Scores,並且指定元素值,在第一維有2個元素,每一個元素是一次考試的全班學生成績,這是一維陣列{70,79,65,98,60}和{60,89,75,68,90},各擁有5個元素,二維陣列有2x5共10個元素。DimScores(,)AsInteger={{70,79,65,98,60},_10-2-1建立一維陣列-宣告範例ForEach變數In陣列例如:月曆、功課表和成績單等。Sums(i)+=Scores(i,j)DimarrTable(10,20)VisualBasic專案:Ch10-5-3\學生成績管理10-2-1建立一維陣列-宣告語法上述語法宣告一個名為「陣列名稱」的陣列,其元素個數為括號的最大索引數加一,也可以使用To關鍵字指出其範圍,「資料型態」可以是VisualBasic基本資料型態、String資料型態、結構和類別物件等。MidTerm(4)=60DimFinal()AsInteger={60,89,75,68,90}上述語法宣告一個名為「陣列名稱」的陣列,其元素個數為括號的最大索引數加一,也可以使用To關鍵字指出其範圍,「資料型態」可以是VisualBasic基本資料型態、String資料型態、結構和類別物件等。Items(index)Scores(1,3)=6810-5-3清單與核取清單方塊控制項上述程式碼的變數element是陣列元素,每執行一次,就將陣列元素值加到total,最後變數total是陣列元素的總和。10-3建立多維陣列-圖例二維陣列擁有2個索引,左索引(LeftIndex)指出元素位在哪一列,右索引(RightIndex)指出位在哪一欄,使用2個索引值就可以存取指定的二維陣列元素,如下圖所示:10-3建立多維陣列-存取陣列元素在宣告二維陣列後,我們可以使用指定敘述來指定二維陣列的元素值,如下所示:Scores(0,0)=70Scores(0,1)=79Scores(0,2)=65Scores(0,3)=98Scores(0,4)=60Scores(1,0)=60Scores(1,1)=89Scores(1,2)=75Scores(1,3)=68Scores(1,4)=9010-3建立多維陣列-走訪陣列元素我們可以使用二層巢狀迴圈來走訪二維陣列,如下所示:Fori=0To1Forj=0To4Sums(i)+=Scores(i,j)NextjNexti上述程式碼的第一層迴圈取得第一維陣列,第二層迴圈是第二維陣列。10-3建立多維陣列-VisualBasic專案VisualBasic專案:Ch10-3\學生成績管理這個Windows應用程式是修改與擴充第10-2-2節的【學生成績管理】,改為使用二維陣列儲存成績資料,可以計算期中和期末考的總分與平均,程式是在唯讀TextBox多行文字方塊顯示計算結果。其執行結果如下圖所示:ViLLE–5.4

二維陣列請啟動ViLLE,在【五.陣列】目錄下,選【4.二維陣列】,按【Run】鈕模擬執行此範例程式,如下圖所示:10-4動態陣列-說明在VisualBasic語言的陣列可以動態調整尺寸,換句話說,如果當初宣告的陣列不夠使用時,我們可以擴充陣列尺寸;如果太大時,可以縮小尺寸,以便有效的進行記憶體管理。VisualBasic語言是使用【ReDim】關鍵字在程式執行時,重新調整其尺寸,如下所示:DimNames(4)AsInteger………ReDimNames(5)10-4動態陣列-保留原陣列內容因為VisualBasic語言的陣列在變更陣列尺寸後可能遺失陣列資料,如果陣列已經擁有內容,請使用Preserve關鍵字來保留原陣列的內容,如下所示:ReDimPreserveNames(5)上述程式碼可以放大陣列尺寸,當然放大陣列尺寸並不會有問題,如果縮小陣列的話,陣列裁剪部分的資料還是會遺失。10-4動態陣列-說明VisualBasic語言的ForEach迴圈可以輕鬆走訪整個一維陣列,其語法如下所示:Sums(i)+=Scores(i,j)上述程式碼可以取得使用者選取項目的索引值。以ComboBox控制項cboName為例的相關方法說明,如下表所示:10-3建立多維陣列-指定元素初值在宣告二維陣列後,我們可以使用指定敘述來指定二維陣列的元素值,如下所示:10-2-2ForEach迴圈走訪陣列元素score2=Final(3)Scores(1,3)=68上述語法宣告一個名為「陣列名稱」的陣列,其元素個數為括號的最大索引數加一,也可以使用To關鍵字指出其範圍,「資料型態」可以是VisualBasic基本資料型態、String資料型態、結構和類別物件等。DimScores(1,4)AsInteger10-5-2下拉式清單方塊控制項-取得選取的項目10-4動態陣列-二維陣列對於是二維以上的多維陣列,我們可以變更指定維度的尺寸,如果使用Preserve關鍵字,就只能變更最後1個維度的尺寸,如下所示:DimarrTable(10,20)……….ReDimPreservearrTable(10,30)10-4動態陣列-VisualBasic專案VisualBasic專案:Ch10-4\學生成績管理這個Windows應用程式是修改與擴充第10-2-1節的【學生成績管理】,提供基本管理功能,可以新增和更新學生的成績資料。其執行結果如下圖所示:10-5清單控制項10-5-1清單控制項的基礎10-5-2下拉式清單方塊控制項10-5-3清單與核取清單方塊控制項10-5-1清單控制項的基礎-說明清單控制項也是一種選擇功能的控制項,支援單選和複選,其項目是一個「集合物件」(Collections),如同其名就是一組物件的集合,即多個項目控制項物件的集合,可以使用Items屬性來存取此集合物件(進一步說明請參閱附錄B)。10-5-1清單控制項的基礎-種類清單方塊(ListBox):顯示項目清單,使用者可以選取1到多個選項,如右圖所示:

下拉式清單方塊(ComboBox):使用下拉式選單來顯示項目清單,擁有多種顯示方式,如下圖所示:

核取清單方塊(CheckedListBox):它是ListBox控制項的擴充,其中每一個項目都是一個核取方塊,如下圖所示:10-5-2下拉式清單方塊控制項-說明下拉式清單方塊ComboBox擁有多種顯示樣式來選擇項目,並且提供文字方塊來輸入與新增項目資料。ComboBox控制項的常用屬性說明,如下表所示:10-5-2下拉式清單方塊控制項-取得選取的項目當使用者在ComboBox控制項cboName選取項目後,我們可以使用SelectedIndex屬性來取得索引值,如下所示:上述程式碼可以取得使用者選取項目的索引值。10-5-2下拉式清單方塊控制項-編輯項目清單的方法以ComboBox控制項cboName為例的相關方法說明,如下表所示:10-5-2下拉式清單方塊控制項-VisualBasic專案VisualBasic專案:Ch10-5-2\學生成績管理這個Windows應用程式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论