日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC文案資料 >> PLC試題庫 >> 西門子S7-200 PLC由“冒泡法”排序算法的逆向思考
西門子S7-200 PLC由“冒泡法”排序算法的逆向思考

         在一些C語言資料上看到,“冒泡法”排序一般是從最后一個(gè)數(shù)據(jù)開始,向地址小的方向相鄰兩個(gè)數(shù)據(jù)比較,并按照從小到大或者從大到小排序的一種算法。在數(shù)據(jù)比較、移動(dòng)的過程中,數(shù)據(jù)的運(yùn)動(dòng),看起來好像水中的氣泡向上運(yùn)動(dòng)。故而稱之為“冒泡法”排序。
       “冒泡法”排序,在知道數(shù)據(jù)的起始地址、數(shù)據(jù)個(gè)數(shù)、數(shù)據(jù)類型后,需要算出最后一個(gè)數(shù)據(jù)的地址,并從最后的一個(gè)地址開始運(yùn)算排序。我在想,為什么不能從數(shù)據(jù)的起始地址開始排序呢,如果采用這種“下沉法”排序,還能省去計(jì)算數(shù)據(jù)的結(jié)束地址,程序應(yīng)該會(huì)更簡潔。于是自己就試著寫了一下“下沉法”排序的PLC程序代碼,并測試通過。
 排序環(huán)境:224CPU,從VB1000開始連續(xù)20個(gè)整數(shù),從小到大排序?!跋鲁练ā迸判蛩惴▍⒖即a如下:
 
 //******************給外循環(huán)體、內(nèi)循環(huán)體的循環(huán)次數(shù)賦初值***********************
 LD     SM0.0                              //開始執(zhí)行從小到大的排序程序
 MOVW   19, LW2                     //給外循環(huán)次數(shù)(數(shù)據(jù)個(gè)數(shù)-1)賦初值
 MOVW   19, LW6                     //給內(nèi)循環(huán)次數(shù)(數(shù)據(jù)個(gè)數(shù)-1)賦初值
 
//*******************建立外循環(huán)體并定義排序的其實(shí)地址*****************************
 FOR    LW0, +1, LW2                //FOR外循環(huán)體循執(zhí)行LW2次
 MOVD   &VB1000, AC1            //將V區(qū)的起始地址賦給AC1,定義排序的起始地址

 //**************建立內(nèi)循環(huán)體并開始進(jìn)行相鄰的兩個(gè)數(shù)據(jù)比較、移動(dòng)****************
 FOR    LW4, +1, LW6              //FOR內(nèi)循環(huán)體循執(zhí)行LW6次
 MOVD   AC1, AC2                    //把當(dāng)前AC1里面的地址存儲(chǔ)到AC2里面
 +D     +2, AC2                           //AC2當(dāng)前地址+2,存入AC2
 LDW<   *AC2, *AC1                //如果AC2指向的地址里面的內(nèi)容小于AC1指向的地址里面的內(nèi)容
 MOVW   *AC1, LW8                //那么將當(dāng)前兩個(gè)地址里面的內(nèi)容互換
 MOVW   *AC2, LW10              //如果AC2指向的地址里面的內(nèi)容不小于AC1指向的地址里面的內(nèi)容
 MOVW   LW8, *AC2                //那么當(dāng)前兩個(gè)地址里面的內(nèi)容保持不變
 MOVW   LW10, *AC1             //如果把小于比較指令改成大于比較指令,那么數(shù)據(jù)就是從大到小排序
 LD     SM0.0
 +D     +2, AC1                          //AC1當(dāng)前地址+2,存入AC1
 NEXT                                        //跳轉(zhuǎn)到FOR內(nèi)循環(huán),如果內(nèi)循環(huán)執(zhí)行結(jié)束,程序往下執(zhí)行

 //*******************內(nèi)循環(huán)執(zhí)行結(jié)束,進(jìn)入外循環(huán)執(zhí)行*****************************
 DECW   LW6                          //內(nèi)循環(huán)體執(zhí)行結(jié)束,將內(nèi)循環(huán)體的循環(huán)次數(shù)減1
 NEXT                                       //跳轉(zhuǎn)到FOR外循環(huán),如果外循環(huán)執(zhí)行結(jié)束,程序往下執(zhí)行
 上面代碼基本采用臨時(shí)變量作運(yùn)算的,其實(shí)還可以將其封裝成一個(gè)子程序,實(shí)現(xiàn)多次調(diào)用。
作者:未知 點(diǎn)擊:774次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:西門子S7-200 PLC由“冒泡法”排序算法的逆向思考
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《西門子S7-200 PLC由“冒泡法”排序算法的逆向思考》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購

盧經(jīng)理 【求購】  合金管  2026-1-7
張建昌 【求購】  次氯酸鈉  2026-1-7
楊野 【求購】  防爆燈  2026-1-6
 【求購】  干式變壓器  2026-1-6
劉金龍 【求購】  淋雨房  2026-1-5
陳耀 【求購】  可燃?xì)怏w探...  2026-1-5
 【求購】  鋁溶膠  2026-1-4
孫晉文 【求購】  排氣閥  2025-12-30
VIP公司推薦