• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      郭亞慶

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

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

      1 對分查找法的基本思想

      對分查找法又稱折半查找,它的基本思路是:首先取有序數(shù)列的中間數(shù)據(jù),與查找值C進(jìn)行比較。如果正好是要查找的數(shù)據(jù),則查找成功,結(jié)束查找。如果中間數(shù)據(jù)大于要查找的值C,則將小于中間數(shù)據(jù)的(即左半部分)一半對分,找出其中間值再與比較;如果中間數(shù)據(jù)小于要查找的值C,則將大于中間數(shù)據(jù)的(即右半部分)一半對分,再次進(jìn)行比較。根據(jù)比較結(jié)果,再對分相應(yīng)的數(shù)據(jù)段。如此對分比較下去,直到找到要查找的數(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ù)或者沒有找到該數(shù),都應(yīng)退出循環(huán)。對于這樣的算法如何能生動、直觀、形象地展現(xiàn)在學(xué)生面前,就是動態(tài)演示程序設(shè)計(jì)的目的。

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

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

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

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

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

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

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

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

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

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

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

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

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

      3 結(jié)束語

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

      附主要代碼如下:

      [1]龔沛曾.VISUAL BASIC程序設(shè)計(jì)簡明教程[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ù)組排序
      不等式求解過程中端點(diǎn)的確定
      試談Access 2007數(shù)據(jù)庫在林業(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窗體控件讓表格填寫更規(guī)范
      株洲县| 金寨县| 本溪| 万源市| 芷江| 招远市| 太康县| 宿迁市| 宜兰市| 惠东县| 修武县| 二连浩特市| 井研县| 五莲县| 长治县| 元氏县| 和田县| 万年县| 兴国县| 中卫市| 福鼎市| 雅安市| 永丰县| 岱山县| 昭通市| 迁西县| 正安县| 高邑县| 阳江市| 杂多县| 广平县| 文昌市| 南郑县| 游戏| 绍兴市| 开阳县| 永胜县| 日土县| 盐津县| 冀州市| 长子县|