国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

對(duì)分查找法動(dòng)態(tài)演示程序設(shè)計(jì)

2013-11-26 06:32:28郭亞慶
關(guān)鍵詞:窗體數(shù)組端點(diǎn)

郭亞慶

(十堰職業(yè)技術(shù)學(xué)院 電子工程系,湖北 十堰 442000)

對(duì)于抽象的,難以理解的算法單純地靠老師在講臺(tái)上講和在黑板上畫(huà)圖,很難講清楚,學(xué)生也似懂非懂。如果制成動(dòng)畫(huà),動(dòng)態(tài)的,一步一步的演示,將深?yuàn)W理論和邏輯推理的內(nèi)容,直觀、形象、清析地展現(xiàn)在學(xué)生面前,使學(xué)生在頭腦中產(chǎn)生一個(gè)深刻的印象,就會(huì)起到事半功倍的效果。使得本來(lái)索然無(wú)味的計(jì)算機(jī)編程課變得生動(dòng)有趣,高效而又充滿活力。

1 對(duì)分查找法的基本思想

對(duì)分查找法又稱折半查找,它的基本思路是:首先取有序數(shù)列的中間數(shù)據(jù),與查找值C進(jìn)行比較。如果正好是要查找的數(shù)據(jù),則查找成功,結(jié)束查找。如果中間數(shù)據(jù)大于要查找的值C,則將小于中間數(shù)據(jù)的(即左半部分)一半對(duì)分,找出其中間值再與比較;如果中間數(shù)據(jù)小于要查找的值C,則將大于中間數(shù)據(jù)的(即右半部分)一半對(duì)分,再次進(jìn)行比較。根據(jù)比較結(jié)果,再對(duì)分相應(yīng)的數(shù)據(jù)段。如此對(duì)分比較下去,直到找到要查找的數(shù)或當(dāng)左端點(diǎn)L>R(右端點(diǎn))為止。

其具體方法是:設(shè)置三個(gè)位置指針,即左端點(diǎn)指針L,中間位置指針M,右端點(diǎn)指針R。

假設(shè)有序數(shù)列為A(1TO 12)

左端點(diǎn)指針L=1:右端點(diǎn)指針R=12:中間位置指針 M=INT((L+R)/2)

(1)判斷待查數(shù)X是否等于A(M)(中間數(shù))。如果是,則已找到,查找停止,否則繼續(xù)下去。

(2)判斷待查數(shù)X是否小于A(M)(中間數(shù))。如果是,則必定落在左端點(diǎn)指針L和中間位置指針M-1的范圍之內(nèi),下一步查找只需在這個(gè)范圍內(nèi)進(jìn)行。左端點(diǎn)指針L指向不變,右端點(diǎn)指針R=M-1。

(3)如果X大于A(M)(中間數(shù)),X必定落在右端點(diǎn)指針R和中間位置指針M+1的范圍之內(nèi),下一步查找只需在這個(gè)范圍內(nèi)進(jìn)行,右端點(diǎn)指針R指向不變,左端點(diǎn)指針L=M+1[1]。

在確定了新的查找范圍之后,重復(fù)上述比較;直到找到該數(shù)或者沒(méi)有找到該數(shù),都應(yīng)退出循環(huán)。對(duì)于這樣的算法如何能生動(dòng)、直觀、形象地展現(xiàn)在學(xué)生面前,就是動(dòng)態(tài)演示程序設(shè)計(jì)的目的。

2 動(dòng)態(tài)演示程序的設(shè)計(jì)

2.1 界面的設(shè)計(jì)

依據(jù)上述算法,首先隨機(jī)產(chǎn)生一組數(shù)據(jù),我們將這批數(shù)據(jù)放入一個(gè)數(shù)組中,數(shù)組的每個(gè)元素為TEXTBOX控件,這就要求動(dòng)態(tài)產(chǎn)生控件數(shù)組。再用跳動(dòng)的箭頭來(lái)指示左端點(diǎn),中間點(diǎn),右端點(diǎn)。為此在界面上放入三個(gè)Frame1框架,框架的底部放一個(gè)標(biāo)簽框用以顯示左中右哪個(gè)端點(diǎn),中間放一個(gè)文本框用以存放指針值(即指示數(shù)組中的第幾個(gè)數(shù)據(jù)),框架的頂部是一個(gè)圖形框用以存放箭頭。這樣當(dāng)左中右三個(gè)指針移動(dòng)時(shí),我們只移動(dòng)框架。動(dòng)態(tài)產(chǎn)生N個(gè)文本框控件的主要代碼如下:

2.2 左中右三個(gè)指針移動(dòng)的計(jì)算

窗體是一個(gè)容器,所有的控件都分布窗體內(nèi)。每個(gè)容器都有一個(gè)坐標(biāo)系。構(gòu)成一個(gè)坐標(biāo)系,需要三個(gè)元素:坐標(biāo)原點(diǎn)、坐標(biāo)度量單位、坐標(biāo)軸的長(zhǎng)度與方向。在VB中,當(dāng)新建一個(gè)窗體時(shí),新窗體采用默認(rèn)坐標(biāo)系,坐標(biāo)原點(diǎn)在窗體的左上角,橫向向右為X軸的正方向,縱向向下為Y軸的正向,單位為twip。指針移動(dòng)時(shí)一般是改變控件的左上角的坐標(biāo)位置即控件的LEFT和TOP屬性或者是用控件的MOVE方法將控件移到指定的位置,這就要求我們熟悉對(duì)坐標(biāo)的計(jì)算。下面是指針移動(dòng)及改變指針值的代碼:

2.3 控件移動(dòng)及程序執(zhí)行速度的控制

為了使演示更清晰,程序的執(zhí)行及控件移動(dòng)必須有合適的速度,速度的控制通常采用如下兩種方式:

(1)在適當(dāng)?shù)奈恢貌迦胝{(diào)用API延時(shí)的函數(shù)SLEEP,格式如下:

API Private Declare Sub Sleep Lib“kernel32.dll”(ByVal yssj As Long)’先在程序的開(kāi)頭聲明API函數(shù)

Sleep N’然后在適當(dāng)位置插入調(diào)用API延時(shí)的函數(shù),延時(shí)時(shí)間的長(zhǎng)短靠參數(shù)N控制,單位為毫秒[2]。

(2)在適當(dāng)?shù)奈恢貌迦雽?duì)話框,采用人機(jī)交互方式,程序執(zhí)行到此會(huì)停下來(lái),并提示是否繼續(xù),若繼續(xù)單擊“確定”。通常采用如下兩種方式對(duì)話框。

STR1 = InputBox(“請(qǐng)繼續(xù)”,,“6”,500,7000)

MsgBox“繼續(xù),單擊確定”

3 結(jié)束語(yǔ)

方便、快捷、高效多媒體教學(xué)通過(guò)演示課件,使授課方式變得方便、快捷,節(jié)省了教師授課時(shí)的板書(shū)時(shí)間,提高了教學(xué)效率,使課堂教學(xué)活動(dòng)變得活潑、生動(dòng)有趣,富有啟發(fā)性、真實(shí)性,可以從根本上改變傳統(tǒng)上單調(diào)的教學(xué)模式,從而活躍學(xué)生的思維,激發(fā)學(xué)生的學(xué)習(xí)興趣。

附主要代碼如下:

[1]龔沛曾.VISUAL BASIC程序設(shè)計(jì)簡(jiǎn)明教程[M].北京:高等教育出版社,2006:115.

[2]劉炳文.精通 VISUAL BASIC6.0中文版[M].北京:電子工業(yè)出版社,2010:442.

猜你喜歡
窗體數(shù)組端點(diǎn)
非特征端點(diǎn)條件下PM函數(shù)的迭代根
JAVA稀疏矩陣算法
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
不等式求解過(guò)程中端點(diǎn)的確定
試談Access 2007數(shù)據(jù)庫(kù)在林業(yè)檔案管理中的應(yīng)用
檔案天地(2019年5期)2019-06-12 05:12:02
參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
基丁能雖匹配延拓法LMD端點(diǎn)效應(yīng)處理
尋找勾股數(shù)組的歷程
基于LayeredWindow的異形窗體局部刷新
中文信息(2014年2期)2014-03-06 23:49:14
巧設(shè)WPS窗體控件讓表格填寫(xiě)更規(guī)范
务川| 长子县| 丰宁| 丰顺县| 淮安市| 昆山市| 上饶市| 永春县| 循化| 清丰县| 财经| 子洲县| 沾化县| 定西市| 集安市| 保康县| 南漳县| 会昌县| 胶州市| 高淳县| 乌海市| 双牌县| 习水县| 钦州市| 台州市| 和平区| 定结县| 孝昌县| 定州市| 上林县| 西平县| 嵊泗县| 安岳县| 壶关县| 泉州市| 年辖:市辖区| 额敏县| 高州市| 岳池县| 合阳县| 筠连县|