亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        冒泡法排序的動(dòng)態(tài)演示

        2014-07-02 17:14:29郭亞慶趙源
        關(guān)鍵詞:教學(xué)效果

        郭亞慶 趙源

        摘 要: 文章就冒泡法排序的動(dòng)態(tài)演示程序?qū)崿F(xiàn)的關(guān)鍵技術(shù)做了詳細(xì)的闡述,明確地提出了算法的動(dòng)態(tài)演示在計(jì)算機(jī)語言課教學(xué)中的重要作用。

        關(guān)鍵詞: 冒泡法排序;數(shù)字移動(dòng);教學(xué)效果

        中圖分類號(hào): TP311.1 [HT5H]文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 10084738(2014)01010802

        各種排序法是計(jì)算機(jī)語言課教學(xué)的難點(diǎn)與重點(diǎn)。按照傳統(tǒng)的教學(xué)模式,單純靠老師在黑板書寫與畫圖,既費(fèi)時(shí)又費(fèi)力,而且學(xué)生聽起來感到抽象,枯燥又難懂。以人機(jī)交互方式,進(jìn)行動(dòng)態(tài)演示,使抽象、枯燥的學(xué)習(xí)內(nèi)容轉(zhuǎn)化成形象、有趣、可視、可聽的動(dòng)感內(nèi)容,就能夠有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,變苦學(xué)為樂學(xué),達(dá)到事半功倍的效果。下面我們以冒泡法排序?yàn)槔U述動(dòng)態(tài)演示程序的設(shè)計(jì)過程。

        1 冒泡法排序的基本思想

        冒泡法排序是最為常用的一種排序方法 ,它是一類具有“交換”性質(zhì)的排序方法,具體描述如下:

        將序列中的第一個(gè)元素與第二個(gè)元素比較,若前者大于后者,則第一個(gè)元素與第二個(gè)元素進(jìn)行位置交換,否則不交換。

        再將第二個(gè)元素與第三個(gè)元素比較,同樣若前者大于后者,則將第二元素與第三個(gè)元素進(jìn)行位置交換,否則不交換。

        依次類推直到將第n-1個(gè)元素與第n個(gè)元素進(jìn)行比較為止,這個(gè)過程稱為第1趟冒泡法排序,經(jīng)過第1 趟冒泡法排序,將長度為N的序列中最大的元素置于序列的尾部即第N個(gè)位置上,然后再對(duì)剩下的N-1個(gè)元素作同樣的操作,這叫作第2趟排序,將剩下的N-1個(gè)元素中最大的元素置于序列的N-1的位置上。

        如此進(jìn)行下去,當(dāng)執(zhí)行完第N-1趟冒泡法排序后就可以將序列中剩下2個(gè)元素中的最大元素置于序列的第2個(gè)位置上,第1個(gè)位置上的元素就是該序列中的最小元素[1]。

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

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

        界面最初狀態(tài)左半部分別為:初始化按鈕、排序按鈕、結(jié)束按鈕。右半部分為動(dòng)態(tài)演示區(qū),其中上部為六個(gè)標(biāo)簽框,第一個(gè)標(biāo)簽框LABEL3標(biāo)識(shí)為“排序前的數(shù)據(jù)”,其余的五個(gè)標(biāo)簽框是以LABEL2命名的標(biāo)簽框數(shù)組,用以動(dòng)態(tài)顯示第i趟排序中哪個(gè)元素與哪個(gè)元素比較,當(dāng)?shù)趇趟排序結(jié)束后,則顯示本趟排序的總共比較次數(shù)。中間部分初始為空,經(jīng)過初始化后,動(dòng)態(tài)產(chǎn)生了兩個(gè)文本框控件數(shù)組,并隨機(jī)產(chǎn)生待排序的數(shù)據(jù)。

        第一個(gè)文本框控件數(shù)組為 TXT1(1To6) 用于存放排序前的數(shù)據(jù),為了模擬逼真,待排序的數(shù)據(jù)豎著存放,以便小的數(shù)據(jù)像氣泡一樣上浮,大的數(shù)據(jù)下沉。第二個(gè)文本框控件數(shù)組為txtNew(1To6, 1To6),存放時(shí)豎為行,橫為列,初始僅第一行可見,并存放待排序數(shù)據(jù)。控件數(shù)組txtNew其余各行分別在第i趟排序中依次動(dòng)態(tài)顯示。界面右半部分的下部為五個(gè)標(biāo)簽框,用于動(dòng)態(tài)顯示第幾趟排序。初始化后的界面見圖1。

        2.2 數(shù)字的移動(dòng)

        數(shù)字的移動(dòng)與交換,是動(dòng)態(tài)演示程序?qū)崿F(xiàn)的關(guān)鍵,單純的數(shù)字是不能移動(dòng)的,為了能使數(shù)字移動(dòng),必須借助于一個(gè)載體, 在排序比較的過程中, 若發(fā)現(xiàn)前者大于后者,如何使小的數(shù)字上浮,大的數(shù)字下沉呢?這是動(dòng)態(tài)演示的關(guān)鍵。解決的辦法通常是交換數(shù)組元素中的數(shù)字,這在算法上是正確的,能得到正確的結(jié)果。但是數(shù)組元素中的數(shù)字交換是在內(nèi)存進(jìn)行的,是不可見的,達(dá)不到動(dòng)態(tài)演示的目的。如果將數(shù)組的元素(數(shù)組的元素為文本框)整體移動(dòng)互換位置,這時(shí)可以看到數(shù)字跟隨載體移動(dòng)的過程,雖然兩個(gè)元素交換了位置,但是數(shù)組元素的下標(biāo)并沒有改變,因而導(dǎo)致排序不能得到正確結(jié)果。如何既能保證排序結(jié)果的正確,又能看見小的數(shù)字上浮,大的數(shù)字下沉,在這里采取的辦法是:每當(dāng)發(fā)現(xiàn)兩個(gè)元素前者大于后者時(shí),立即調(diào)用兩個(gè)文本框即Text1和Text2作為載體,分別??吭谶@兩個(gè)元素的旁邊,然后把需要交換的兩個(gè)數(shù)字分別賦給Text1和Text2(見圖2)。

        下一步讓小的數(shù)字隨同文本框Text2上浮,大的數(shù)字隨同另一文本框Text1下沉,當(dāng)兩者達(dá)到要交換的位置時(shí),再把兩個(gè)數(shù)字傳送到相應(yīng)的位置,并使Text1和Text2變?yōu)椴豢梢?。這樣既保證了待排序數(shù)組下標(biāo)及位置不變,又能看見小的數(shù)字上浮,大的數(shù)字下沉及交換的全過程。

        2.3 移動(dòng)速度及終點(diǎn)的控制

        為了提高演示的效果,必須對(duì)數(shù)字移動(dòng)的速度進(jìn)行控制,并計(jì)算好到達(dá)的終點(diǎn)。由于待排數(shù)據(jù)是按一定規(guī)律分布的,相鄰兩個(gè)元素間的距離是一定的。每當(dāng)發(fā)現(xiàn)txtNew(I, J)和txtNew(I, J+1)兩個(gè)元素要交換時(shí),記錄下這兩個(gè)元素的頂部的坐標(biāo)值,(這個(gè)值亦是Text1和Text2要移動(dòng)的終點(diǎn)),然后利用循環(huán)逐步改變Text1和Text2的頂點(diǎn)坐標(biāo)值,每移動(dòng)一次調(diào)用API函數(shù)中的延時(shí)函數(shù)Sleep 50(延時(shí)50毫秒),直至終點(diǎn)。這樣我們就能清晰地看到小的數(shù)字上浮,大的數(shù)字下沉的過程[2]。

        代碼執(zhí)行完后界面如圖3所示,這時(shí)動(dòng)態(tài)顯示區(qū)的下部五個(gè)標(biāo)簽框分別顯示是“第幾趟”排序,上部五個(gè)標(biāo)簽框分別顯示是本趟循環(huán)內(nèi)的比較次數(shù),中間部分是顯示執(zhí)行本趟循環(huán)的結(jié)果。

        3 結(jié)語

        利用多媒體技術(shù)對(duì)常用算法進(jìn)行動(dòng)態(tài)演示,可以營造一個(gè)生動(dòng)有趣的教學(xué)情境,化無聲為有聲,化靜為動(dòng),使學(xué)生進(jìn)入一種喜聞樂見的,生動(dòng)活潑的學(xué)習(xí)氛圍,引起學(xué)生的注意力,提高學(xué)生的學(xué)習(xí)興趣。它能變靜為動(dòng),克服了傳統(tǒng)教學(xué)中學(xué)生面向靜態(tài)呆板的課文和板書的缺陷。一個(gè)成熟的算法動(dòng)態(tài)演示程序開發(fā)時(shí)雖然要費(fèi)時(shí),費(fèi)力,但由于算法的不變性,一旦開發(fā)成功,可以長期使用。并且可以應(yīng)用到所有的計(jì)機(jī)語言課教學(xué)中,從而取得良好的教學(xué)效果。

        [參考文獻(xiàn)]

        [1] 柴 欣,李惠然.VISUAL BASIC 程序設(shè)計(jì)基礎(chǔ)[M].北京:中國鐵道出版社,2003:02.

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

        摘 要: 文章就冒泡法排序的動(dòng)態(tài)演示程序?qū)崿F(xiàn)的關(guān)鍵技術(shù)做了詳細(xì)的闡述,明確地提出了算法的動(dòng)態(tài)演示在計(jì)算機(jī)語言課教學(xué)中的重要作用。

        關(guān)鍵詞: 冒泡法排序;數(shù)字移動(dòng);教學(xué)效果

        中圖分類號(hào): TP311.1 [HT5H]文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 10084738(2014)01010802

        各種排序法是計(jì)算機(jī)語言課教學(xué)的難點(diǎn)與重點(diǎn)。按照傳統(tǒng)的教學(xué)模式,單純靠老師在黑板書寫與畫圖,既費(fèi)時(shí)又費(fèi)力,而且學(xué)生聽起來感到抽象,枯燥又難懂。以人機(jī)交互方式,進(jìn)行動(dòng)態(tài)演示,使抽象、枯燥的學(xué)習(xí)內(nèi)容轉(zhuǎn)化成形象、有趣、可視、可聽的動(dòng)感內(nèi)容,就能夠有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,變苦學(xué)為樂學(xué),達(dá)到事半功倍的效果。下面我們以冒泡法排序?yàn)槔U述動(dòng)態(tài)演示程序的設(shè)計(jì)過程。

        1 冒泡法排序的基本思想

        冒泡法排序是最為常用的一種排序方法 ,它是一類具有“交換”性質(zhì)的排序方法,具體描述如下:

        將序列中的第一個(gè)元素與第二個(gè)元素比較,若前者大于后者,則第一個(gè)元素與第二個(gè)元素進(jìn)行位置交換,否則不交換。

        再將第二個(gè)元素與第三個(gè)元素比較,同樣若前者大于后者,則將第二元素與第三個(gè)元素進(jìn)行位置交換,否則不交換。

        依次類推直到將第n-1個(gè)元素與第n個(gè)元素進(jìn)行比較為止,這個(gè)過程稱為第1趟冒泡法排序,經(jīng)過第1 趟冒泡法排序,將長度為N的序列中最大的元素置于序列的尾部即第N個(gè)位置上,然后再對(duì)剩下的N-1個(gè)元素作同樣的操作,這叫作第2趟排序,將剩下的N-1個(gè)元素中最大的元素置于序列的N-1的位置上。

        如此進(jìn)行下去,當(dāng)執(zhí)行完第N-1趟冒泡法排序后就可以將序列中剩下2個(gè)元素中的最大元素置于序列的第2個(gè)位置上,第1個(gè)位置上的元素就是該序列中的最小元素[1]。

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

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

        界面最初狀態(tài)左半部分別為:初始化按鈕、排序按鈕、結(jié)束按鈕。右半部分為動(dòng)態(tài)演示區(qū),其中上部為六個(gè)標(biāo)簽框,第一個(gè)標(biāo)簽框LABEL3標(biāo)識(shí)為“排序前的數(shù)據(jù)”,其余的五個(gè)標(biāo)簽框是以LABEL2命名的標(biāo)簽框數(shù)組,用以動(dòng)態(tài)顯示第i趟排序中哪個(gè)元素與哪個(gè)元素比較,當(dāng)?shù)趇趟排序結(jié)束后,則顯示本趟排序的總共比較次數(shù)。中間部分初始為空,經(jīng)過初始化后,動(dòng)態(tài)產(chǎn)生了兩個(gè)文本框控件數(shù)組,并隨機(jī)產(chǎn)生待排序的數(shù)據(jù)。

        第一個(gè)文本框控件數(shù)組為 TXT1(1To6) 用于存放排序前的數(shù)據(jù),為了模擬逼真,待排序的數(shù)據(jù)豎著存放,以便小的數(shù)據(jù)像氣泡一樣上浮,大的數(shù)據(jù)下沉。第二個(gè)文本框控件數(shù)組為txtNew(1To6, 1To6),存放時(shí)豎為行,橫為列,初始僅第一行可見,并存放待排序數(shù)據(jù)??丶?shù)組txtNew其余各行分別在第i趟排序中依次動(dòng)態(tài)顯示。界面右半部分的下部為五個(gè)標(biāo)簽框,用于動(dòng)態(tài)顯示第幾趟排序。初始化后的界面見圖1。

        2.2 數(shù)字的移動(dòng)

        數(shù)字的移動(dòng)與交換,是動(dòng)態(tài)演示程序?qū)崿F(xiàn)的關(guān)鍵,單純的數(shù)字是不能移動(dòng)的,為了能使數(shù)字移動(dòng),必須借助于一個(gè)載體, 在排序比較的過程中, 若發(fā)現(xiàn)前者大于后者,如何使小的數(shù)字上浮,大的數(shù)字下沉呢?這是動(dòng)態(tài)演示的關(guān)鍵。解決的辦法通常是交換數(shù)組元素中的數(shù)字,這在算法上是正確的,能得到正確的結(jié)果。但是數(shù)組元素中的數(shù)字交換是在內(nèi)存進(jìn)行的,是不可見的,達(dá)不到動(dòng)態(tài)演示的目的。如果將數(shù)組的元素(數(shù)組的元素為文本框)整體移動(dòng)互換位置,這時(shí)可以看到數(shù)字跟隨載體移動(dòng)的過程,雖然兩個(gè)元素交換了位置,但是數(shù)組元素的下標(biāo)并沒有改變,因而導(dǎo)致排序不能得到正確結(jié)果。如何既能保證排序結(jié)果的正確,又能看見小的數(shù)字上浮,大的數(shù)字下沉,在這里采取的辦法是:每當(dāng)發(fā)現(xiàn)兩個(gè)元素前者大于后者時(shí),立即調(diào)用兩個(gè)文本框即Text1和Text2作為載體,分別??吭谶@兩個(gè)元素的旁邊,然后把需要交換的兩個(gè)數(shù)字分別賦給Text1和Text2(見圖2)。

        下一步讓小的數(shù)字隨同文本框Text2上浮,大的數(shù)字隨同另一文本框Text1下沉,當(dāng)兩者達(dá)到要交換的位置時(shí),再把兩個(gè)數(shù)字傳送到相應(yīng)的位置,并使Text1和Text2變?yōu)椴豢梢?。這樣既保證了待排序數(shù)組下標(biāo)及位置不變,又能看見小的數(shù)字上浮,大的數(shù)字下沉及交換的全過程。

        2.3 移動(dòng)速度及終點(diǎn)的控制

        為了提高演示的效果,必須對(duì)數(shù)字移動(dòng)的速度進(jìn)行控制,并計(jì)算好到達(dá)的終點(diǎn)。由于待排數(shù)據(jù)是按一定規(guī)律分布的,相鄰兩個(gè)元素間的距離是一定的。每當(dāng)發(fā)現(xiàn)txtNew(I, J)和txtNew(I, J+1)兩個(gè)元素要交換時(shí),記錄下這兩個(gè)元素的頂部的坐標(biāo)值,(這個(gè)值亦是Text1和Text2要移動(dòng)的終點(diǎn)),然后利用循環(huán)逐步改變Text1和Text2的頂點(diǎn)坐標(biāo)值,每移動(dòng)一次調(diào)用API函數(shù)中的延時(shí)函數(shù)Sleep 50(延時(shí)50毫秒),直至終點(diǎn)。這樣我們就能清晰地看到小的數(shù)字上浮,大的數(shù)字下沉的過程[2]。

        代碼執(zhí)行完后界面如圖3所示,這時(shí)動(dòng)態(tài)顯示區(qū)的下部五個(gè)標(biāo)簽框分別顯示是“第幾趟”排序,上部五個(gè)標(biāo)簽框分別顯示是本趟循環(huán)內(nèi)的比較次數(shù),中間部分是顯示執(zhí)行本趟循環(huán)的結(jié)果。

        3 結(jié)語

        利用多媒體技術(shù)對(duì)常用算法進(jìn)行動(dòng)態(tài)演示,可以營造一個(gè)生動(dòng)有趣的教學(xué)情境,化無聲為有聲,化靜為動(dòng),使學(xué)生進(jìn)入一種喜聞樂見的,生動(dòng)活潑的學(xué)習(xí)氛圍,引起學(xué)生的注意力,提高學(xué)生的學(xué)習(xí)興趣。它能變靜為動(dòng),克服了傳統(tǒng)教學(xué)中學(xué)生面向靜態(tài)呆板的課文和板書的缺陷。一個(gè)成熟的算法動(dòng)態(tài)演示程序開發(fā)時(shí)雖然要費(fèi)時(shí),費(fèi)力,但由于算法的不變性,一旦開發(fā)成功,可以長期使用。并且可以應(yīng)用到所有的計(jì)機(jī)語言課教學(xué)中,從而取得良好的教學(xué)效果。

        [參考文獻(xiàn)]

        [1] 柴 欣,李惠然.VISUAL BASIC 程序設(shè)計(jì)基礎(chǔ)[M].北京:中國鐵道出版社,2003:02.

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

        摘 要: 文章就冒泡法排序的動(dòng)態(tài)演示程序?qū)崿F(xiàn)的關(guān)鍵技術(shù)做了詳細(xì)的闡述,明確地提出了算法的動(dòng)態(tài)演示在計(jì)算機(jī)語言課教學(xué)中的重要作用。

        關(guān)鍵詞: 冒泡法排序;數(shù)字移動(dòng);教學(xué)效果

        中圖分類號(hào): TP311.1 [HT5H]文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 10084738(2014)01010802

        各種排序法是計(jì)算機(jī)語言課教學(xué)的難點(diǎn)與重點(diǎn)。按照傳統(tǒng)的教學(xué)模式,單純靠老師在黑板書寫與畫圖,既費(fèi)時(shí)又費(fèi)力,而且學(xué)生聽起來感到抽象,枯燥又難懂。以人機(jī)交互方式,進(jìn)行動(dòng)態(tài)演示,使抽象、枯燥的學(xué)習(xí)內(nèi)容轉(zhuǎn)化成形象、有趣、可視、可聽的動(dòng)感內(nèi)容,就能夠有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,變苦學(xué)為樂學(xué),達(dá)到事半功倍的效果。下面我們以冒泡法排序?yàn)槔U述動(dòng)態(tài)演示程序的設(shè)計(jì)過程。

        1 冒泡法排序的基本思想

        冒泡法排序是最為常用的一種排序方法 ,它是一類具有“交換”性質(zhì)的排序方法,具體描述如下:

        將序列中的第一個(gè)元素與第二個(gè)元素比較,若前者大于后者,則第一個(gè)元素與第二個(gè)元素進(jìn)行位置交換,否則不交換。

        再將第二個(gè)元素與第三個(gè)元素比較,同樣若前者大于后者,則將第二元素與第三個(gè)元素進(jìn)行位置交換,否則不交換。

        依次類推直到將第n-1個(gè)元素與第n個(gè)元素進(jìn)行比較為止,這個(gè)過程稱為第1趟冒泡法排序,經(jīng)過第1 趟冒泡法排序,將長度為N的序列中最大的元素置于序列的尾部即第N個(gè)位置上,然后再對(duì)剩下的N-1個(gè)元素作同樣的操作,這叫作第2趟排序,將剩下的N-1個(gè)元素中最大的元素置于序列的N-1的位置上。

        如此進(jìn)行下去,當(dāng)執(zhí)行完第N-1趟冒泡法排序后就可以將序列中剩下2個(gè)元素中的最大元素置于序列的第2個(gè)位置上,第1個(gè)位置上的元素就是該序列中的最小元素[1]。

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

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

        界面最初狀態(tài)左半部分別為:初始化按鈕、排序按鈕、結(jié)束按鈕。右半部分為動(dòng)態(tài)演示區(qū),其中上部為六個(gè)標(biāo)簽框,第一個(gè)標(biāo)簽框LABEL3標(biāo)識(shí)為“排序前的數(shù)據(jù)”,其余的五個(gè)標(biāo)簽框是以LABEL2命名的標(biāo)簽框數(shù)組,用以動(dòng)態(tài)顯示第i趟排序中哪個(gè)元素與哪個(gè)元素比較,當(dāng)?shù)趇趟排序結(jié)束后,則顯示本趟排序的總共比較次數(shù)。中間部分初始為空,經(jīng)過初始化后,動(dòng)態(tài)產(chǎn)生了兩個(gè)文本框控件數(shù)組,并隨機(jī)產(chǎn)生待排序的數(shù)據(jù)。

        第一個(gè)文本框控件數(shù)組為 TXT1(1To6) 用于存放排序前的數(shù)據(jù),為了模擬逼真,待排序的數(shù)據(jù)豎著存放,以便小的數(shù)據(jù)像氣泡一樣上浮,大的數(shù)據(jù)下沉。第二個(gè)文本框控件數(shù)組為txtNew(1To6, 1To6),存放時(shí)豎為行,橫為列,初始僅第一行可見,并存放待排序數(shù)據(jù)??丶?shù)組txtNew其余各行分別在第i趟排序中依次動(dòng)態(tài)顯示。界面右半部分的下部為五個(gè)標(biāo)簽框,用于動(dòng)態(tài)顯示第幾趟排序。初始化后的界面見圖1。

        2.2 數(shù)字的移動(dòng)

        數(shù)字的移動(dòng)與交換,是動(dòng)態(tài)演示程序?qū)崿F(xiàn)的關(guān)鍵,單純的數(shù)字是不能移動(dòng)的,為了能使數(shù)字移動(dòng),必須借助于一個(gè)載體, 在排序比較的過程中, 若發(fā)現(xiàn)前者大于后者,如何使小的數(shù)字上浮,大的數(shù)字下沉呢?這是動(dòng)態(tài)演示的關(guān)鍵。解決的辦法通常是交換數(shù)組元素中的數(shù)字,這在算法上是正確的,能得到正確的結(jié)果。但是數(shù)組元素中的數(shù)字交換是在內(nèi)存進(jìn)行的,是不可見的,達(dá)不到動(dòng)態(tài)演示的目的。如果將數(shù)組的元素(數(shù)組的元素為文本框)整體移動(dòng)互換位置,這時(shí)可以看到數(shù)字跟隨載體移動(dòng)的過程,雖然兩個(gè)元素交換了位置,但是數(shù)組元素的下標(biāo)并沒有改變,因而導(dǎo)致排序不能得到正確結(jié)果。如何既能保證排序結(jié)果的正確,又能看見小的數(shù)字上浮,大的數(shù)字下沉,在這里采取的辦法是:每當(dāng)發(fā)現(xiàn)兩個(gè)元素前者大于后者時(shí),立即調(diào)用兩個(gè)文本框即Text1和Text2作為載體,分別??吭谶@兩個(gè)元素的旁邊,然后把需要交換的兩個(gè)數(shù)字分別賦給Text1和Text2(見圖2)。

        下一步讓小的數(shù)字隨同文本框Text2上浮,大的數(shù)字隨同另一文本框Text1下沉,當(dāng)兩者達(dá)到要交換的位置時(shí),再把兩個(gè)數(shù)字傳送到相應(yīng)的位置,并使Text1和Text2變?yōu)椴豢梢?。這樣既保證了待排序數(shù)組下標(biāo)及位置不變,又能看見小的數(shù)字上浮,大的數(shù)字下沉及交換的全過程。

        2.3 移動(dòng)速度及終點(diǎn)的控制

        為了提高演示的效果,必須對(duì)數(shù)字移動(dòng)的速度進(jìn)行控制,并計(jì)算好到達(dá)的終點(diǎn)。由于待排數(shù)據(jù)是按一定規(guī)律分布的,相鄰兩個(gè)元素間的距離是一定的。每當(dāng)發(fā)現(xiàn)txtNew(I, J)和txtNew(I, J+1)兩個(gè)元素要交換時(shí),記錄下這兩個(gè)元素的頂部的坐標(biāo)值,(這個(gè)值亦是Text1和Text2要移動(dòng)的終點(diǎn)),然后利用循環(huán)逐步改變Text1和Text2的頂點(diǎn)坐標(biāo)值,每移動(dòng)一次調(diào)用API函數(shù)中的延時(shí)函數(shù)Sleep 50(延時(shí)50毫秒),直至終點(diǎn)。這樣我們就能清晰地看到小的數(shù)字上浮,大的數(shù)字下沉的過程[2]。

        代碼執(zhí)行完后界面如圖3所示,這時(shí)動(dòng)態(tài)顯示區(qū)的下部五個(gè)標(biāo)簽框分別顯示是“第幾趟”排序,上部五個(gè)標(biāo)簽框分別顯示是本趟循環(huán)內(nèi)的比較次數(shù),中間部分是顯示執(zhí)行本趟循環(huán)的結(jié)果。

        3 結(jié)語

        利用多媒體技術(shù)對(duì)常用算法進(jìn)行動(dòng)態(tài)演示,可以營造一個(gè)生動(dòng)有趣的教學(xué)情境,化無聲為有聲,化靜為動(dòng),使學(xué)生進(jìn)入一種喜聞樂見的,生動(dòng)活潑的學(xué)習(xí)氛圍,引起學(xué)生的注意力,提高學(xué)生的學(xué)習(xí)興趣。它能變靜為動(dòng),克服了傳統(tǒng)教學(xué)中學(xué)生面向靜態(tài)呆板的課文和板書的缺陷。一個(gè)成熟的算法動(dòng)態(tài)演示程序開發(fā)時(shí)雖然要費(fèi)時(shí),費(fèi)力,但由于算法的不變性,一旦開發(fā)成功,可以長期使用。并且可以應(yīng)用到所有的計(jì)機(jī)語言課教學(xué)中,從而取得良好的教學(xué)效果。

        [參考文獻(xiàn)]

        [1] 柴 欣,李惠然.VISUAL BASIC 程序設(shè)計(jì)基礎(chǔ)[M].北京:中國鐵道出版社,2003:02.

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

        猜你喜歡
        教學(xué)效果
        生物化學(xué)線上線下混合式教學(xué)效果分析
        云南化工(2020年11期)2021-01-14 00:51:16
        小學(xué)語文教學(xué)效果的提高策略
        甘肅教育(2020年2期)2020-09-11 08:00:28
        掌握“函數(shù)的表示”提高高中數(shù)學(xué)教學(xué)效果
        用信息技術(shù)增強(qiáng)初中籃球教學(xué)效果
        關(guān)于提高開放電大“統(tǒng)計(jì)學(xué)原理”教學(xué)效果的探討
        新課程研究(2016年1期)2016-12-01 05:52:08
        巧用電教優(yōu)勢,促進(jìn)語文教學(xué)效果
        如何提高高中聲樂教學(xué)效果
        散文百家(2014年11期)2014-08-21 07:16:52
        提高病理學(xué)教學(xué)效果的幾點(diǎn)體會(huì)
        加強(qiáng)焊接教學(xué)質(zhì)量提高焊接教學(xué)效果的探討
        河南科技(2014年24期)2014-02-27 14:20:03
        如何提高中職Flash動(dòng)畫教學(xué)效果
        河南科技(2014年23期)2014-02-27 14:19:18
        国产成人精品三级91在线影院 | 国产精品国产三级国产av18| 亚洲一区中文字幕一区| 亚洲熟妇av一区二区三区| 久久伊人精品一区二区三区| 久久亚洲av无码西西人体| 大肉大捧一进一出视频出来呀| 亚洲av无码一区二区三区网站| 国产一级大片免费看| 国产精品自产拍在线观看中文| 产精品无码久久_亚洲国产精| 久久深夜中文字幕高清中文| 久久人妻一区二区三区免费| 97午夜理论片影院在线播放| 99re在线视频播放| 久久老子午夜精品无码| 日韩精品一区二区三区四区五区六 | 男同gay毛片免费可播放| 99久久综合狠狠综合久久| 亚洲AV小说在线观看| 中文字幕人妻互换av| 久久人人爽人人爽人人片av高请| 亚洲 精品 综合 精品 自拍| 亚洲V在线激情| 亚洲无码啊啊啊免费体验| 成人大片免费在线观看视频| 黄片大全视频在线播放| 久久久噜噜噜久久| 在线亚洲欧美日韩精品专区| 国产一级特黄无码免费视频| 久久国产精品一区二区| 色婷婷色丁香久久婷婷| 精品国产青草久久久久福利| 最新亚洲人成无码网www电影| 中文字幕日本熟妇少妇 | 又湿又紧又大又爽a视频国产| 中文字幕免费不卡二区| 日韩一欧美内射在线观看| 中文字幕avdvd| 成人国产高清av一区二区三区| 亚洲综合av一区二区三区蜜桃|