《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第7章_第1頁
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第7章_第2頁
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第7章_第3頁
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第7章_第4頁
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第7章_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

任務(wù)7.1使用數(shù)組任務(wù)7.2對(duì)象數(shù)組

任務(wù)導(dǎo)入

學(xué)習(xí)目標(biāo)

任務(wù)實(shí)施

1.數(shù)組和數(shù)組元素

數(shù)組是用一個(gè)統(tǒng)一的名稱表示的、順序排列的一組變量。數(shù)組中的變量稱為數(shù)組元素,用數(shù)字(下標(biāo))來標(biāo)識(shí)它們,因此數(shù)組元素又稱為下標(biāo)變量。任務(wù)7.1使用數(shù)組

2.數(shù)組的維數(shù)

如果一個(gè)數(shù)組的元素只有一個(gè)下標(biāo),則稱這個(gè)數(shù)組為一維數(shù)組。例如,數(shù)組a有10個(gè)元素:a(1)、a(2)、a(3)、…、a(10),依次保存10個(gè)學(xué)生的一門功課的成績(jī),則a為一維數(shù)組。一維數(shù)組中的各個(gè)元素又稱為單下標(biāo)變量。

如果有10個(gè)學(xué)生,每個(gè)學(xué)生有5門功課的成績(jī),見表7-1。表7-1學(xué)?生?成?績(jī)?表

3.聲明數(shù)組

數(shù)組在使用前必須先聲明。聲明數(shù)組的語法格式為:

{DIMENSION|DECLEAR}〈數(shù)組名〉(〈行數(shù)〉[,〈列數(shù)〉])

4.數(shù)組的賦值

數(shù)組在聲明之后,每個(gè)元素被默認(rèn)地賦予.F.值。

【例7-1】

隨機(jī)產(chǎn)生5個(gè)兩位整數(shù),編制程序輸出其最大數(shù)、最小數(shù)和這5個(gè)數(shù)的平均值。

(1)建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。

進(jìn)入表單設(shè)計(jì)器,首先增加5個(gè)標(biāo)簽Label1~Label5和3個(gè)命令按鈕Command1~Command3,并修改各個(gè)控件的屬性,參見圖7-1所示。圖7-1建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性

(2)編寫代碼。

運(yùn)行程序,結(jié)果如圖7-2所示。圖7-2求隨機(jī)整數(shù)中的最大數(shù)、最小數(shù)和平均值

【例7-2】

修改例7-1使其產(chǎn)生的隨機(jī)整數(shù)互不相同。

運(yùn)行程序,結(jié)果與圖7-2相同。

【例7-3】

編寫程序,建立并輸出一個(gè)10×10的矩陣,該矩陣兩條對(duì)角線元素為1,其余元素均為0。

(1)建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。

在表單中使用編輯框控件Edit1,參見圖7-3所示。當(dāng)然,也可以用列表框控件來顯示矩陣的元素。

(2)編寫代碼。

運(yùn)行程序,結(jié)果如圖7-4所示。圖7-3建立用戶界面圖7-4程序運(yùn)行結(jié)果

5.重新定義數(shù)組的維數(shù)

重新執(zhí)行DIMENSION命令可以改變數(shù)組的維數(shù)和大小,也就是說,數(shù)組的大小可以增加或減少,一維數(shù)組可以轉(zhuǎn)換為二維數(shù)組,二維數(shù)組可以轉(zhuǎn)換為一維數(shù)組。

6.釋放數(shù)組變量

【例7-4】

求斐波那契(Fibonacci)數(shù)列。Fibonacci數(shù)列為1,1,2,3,5,8,…。

(1)建立應(yīng)用程序用戶界面。

進(jìn)入表單設(shè)計(jì)器,增加一個(gè)標(biāo)簽控件Label1、一個(gè)文本框控件Text1、一個(gè)列表框List1、兩個(gè)命令按鈕Command1~Command2,如圖7-5所示。

(2)設(shè)置各對(duì)象的屬性,見表7-2。其他屬性參見圖7-5所示。圖7-5建立用戶界面與設(shè)置對(duì)象屬性表7-2屬性設(shè)置

(3)編寫代碼。

程序運(yùn)行結(jié)果如圖7-6所示。圖7-6求斐波那契(Fibonacci)數(shù)列

7.二維數(shù)組表示為一維數(shù)組

假如,已經(jīng)建立了一個(gè)二維數(shù)組,對(duì)二維數(shù)組,也可以使用一維數(shù)組表示法來表示其下標(biāo)。

【例7-5】

矩陣的加法運(yùn)算。兩個(gè)相同階數(shù)的矩陣A和B相加(矩陣A和B中各元素的值由計(jì)算機(jī)隨機(jī)產(chǎn)生),是將相應(yīng)位置上的元素相加后放到同階矩陣C的相應(yīng)位置。進(jìn)入表單設(shè)計(jì)器,在表單中增加3個(gè)編輯框Edit1~Edit3、2個(gè)標(biāo)簽Label1~Label2和一個(gè)命令按鈕組CommandGroup1。

設(shè)置Edit1~Edit3的ScrollBars屬性為0—無,其他對(duì)象的屬性如圖7-7所示。圖7-7建立用戶界面和設(shè)置對(duì)象屬性

(2)編寫代碼。

運(yùn)行程序,結(jié)果如圖7-8所示。圖7-8矩陣加法運(yùn)算

8.處理數(shù)組元素的函數(shù)

數(shù)組提供了一種快速排序數(shù)據(jù)的方法。如果數(shù)據(jù)保存在數(shù)組中,就可以很方便地對(duì)其進(jìn)行檢索、排序或其他各種操作。

9.數(shù)組元素的排序

【例7-6】

產(chǎn)生5個(gè)隨機(jī)數(shù),然后將這些數(shù)從小到大順序輸出。

在表單上增加4個(gè)標(biāo)簽控件Label1~Label4和3個(gè)命令按鈕Command1~Command3,各控件屬性的設(shè)置參見圖7-9所示。圖7-9建立“排序”問題的程序界面并設(shè)置對(duì)象屬性

(2)編寫代碼。

運(yùn)行程序,結(jié)果如圖7-10所示。圖7-10對(duì)隨機(jī)整數(shù)從小到大排序

10.數(shù)組元素的搜索

【例7-7】

如圖7-11所示,使用數(shù)組作為組合框的數(shù)據(jù)源。

進(jìn)入表單設(shè)計(jì)器,增加一個(gè)組合框Combo1、一個(gè)文本框Text1、一個(gè)復(fù)選框Check、一個(gè)標(biāo)簽Label1和一個(gè)命令按鈕Command1,如圖7-12所示。圖7-11在組合框中使用數(shù)組圖7-12建立應(yīng)用程序用戶界面

(2)設(shè)置對(duì)象屬性。

設(shè)置對(duì)象屬性,見表7-3。其他控件的屬性設(shè)置參見圖7-12所示。

(3)編寫事件代碼。

運(yùn)行程序,結(jié)果如圖7-11所示。表7-3屬性設(shè)置任務(wù)導(dǎo)入

學(xué)習(xí)目標(biāo)

任務(wù)實(shí)施

1.對(duì)象的引用與釋放

創(chuàng)建對(duì)象的引用不等于復(fù)制對(duì)象,引用比添加對(duì)象占用更少的內(nèi)存,編寫的代碼相對(duì)較短,而且可以很容易地在過程之間進(jìn)行數(shù)據(jù)傳遞。任務(wù)7.2對(duì)象數(shù)組

【例7-8】

引用對(duì)象和釋放對(duì)象的引用示例。

2.運(yùn)行時(shí)創(chuàng)建對(duì)象

3.?WITH…ENDWITH命令

對(duì)于同類的多個(gè)對(duì)象,使用數(shù)組來引用多個(gè)對(duì)象,可以使代碼更加清晰。

4.對(duì)象數(shù)組應(yīng)用示例

下面的例子中,在程序運(yùn)行時(shí)創(chuàng)建一組對(duì)象,通過調(diào)用數(shù)組來引用對(duì)象。

【例7-9】

用“篩去法”找出1~50之間的全部素?cái)?shù)。

分析:“篩去法”求素?cái)?shù)表是由希臘著名數(shù)學(xué)家Eratosthenes提出來的,其方法是:在紙上寫出1~n的全部整數(shù),如圖7-13所示。圖7-13寫出1~50之間的全部素?cái)?shù)

(1)先將1篩掉;

(2)用2去除它后面的每個(gè)數(shù),把能被2整除的數(shù)篩掉,即把2的倍數(shù)篩掉,如圖7-14所示;

(3)用3去除它后面的每個(gè)數(shù),把3的倍數(shù)篩掉;

(4)分別用4、5、…各數(shù)作為除數(shù)去除這些數(shù)后面的各數(shù)(4已被篩掉,不必再用4當(dāng)除數(shù),只需用未被篩掉的數(shù)作除數(shù)即可)。這個(gè)過程一直進(jìn)行到除數(shù)為為止(如果不是整數(shù)就取其整數(shù)部分)。篩掉后的結(jié)果如圖7-15所示。圖7-14開始用2作除數(shù),將2的倍數(shù)篩掉圖7-15剩下的全是素?cái)?shù)

(1)建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。

進(jìn)入表單設(shè)計(jì)器,增加一個(gè)標(biāo)簽控件Label1、一個(gè)容器控件Container1和兩個(gè)命令按鈕Command1~Command2。設(shè)置各控件的屬性,參見圖7-16所示。圖7-16建立用戶界面

(2)編寫程序代碼。

運(yùn)行程序,結(jié)果如圖7-13~圖7-15所示。技能訓(xùn)練

1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論