999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無序事物有序化思想在計算機程序設計中的應用

2018-05-09 01:30:10李曉宇秦文杰
科學與財富 2018年8期

李曉宇 秦文杰

摘 要:闡述了無序事物有序化思想與計算機程序設計之間的聯系,介紹了無序事物有序化思想在計算機設計中的相關案例,對比了計算機程序設計中是否應用無序事物有序化思想的優勢與不足,分析了無序事物有序化思想對計算機程序設計的意義和應用價值。觀察分析無序的事物,從中尋找共同點、規律,以達到有序地解決問題,便于修改或復用設計。

關鍵詞:無序事物有序化,計算機程序設計,循環,復用

1 引言 無序事物有序化思想,顧名思義,就是通過一定量的觀察分析問題,從大量的經驗中抽象總結出某些潛在規律,做到有序地解決事務。計算機程序設計包含順序、分支、循環三種思想結構。有效地使用循環可以減少大量無用的工作,而且可以使他人更加容易地理解自己的思路想法,甚至是源代碼。還便于修改邏輯設計,做到復用移植。

2 無序事物有序化思想與計算機程序設計的聯系

計算機程序設計順序結構,一個一個地解決問題,就亂序地處理事物。沒有能充分利用循環結構的簡潔。循環結構,代碼量短小,不那么容易使人煩躁、令人心生畏懼。如何使無序事物有序化,就需要分析事物問題,找出共同點。而如何找到,就要靠設計人員的經驗和思維抽象高度了。

3 相關應用案例

案例1 數組列表實現無序事物有序化

《32匯編語言程序設計》3習題8-14,利用CMOS RAM的系統時間,將年月日時分秒星期等時間完成的顯示出來。

解釋:CMOS RAM有64個字節容量,以8位I/O接口形式與處理器連接,通過兩個I/O地址訪問。要訪問CMOS RAM的內容,需要首先向I/O地址70H輸出要訪問的存儲單元編號,然后用I/O地址71H讀寫該單元的一個字節數據。

由上表可知,待求的年月日時分秒星期信息分別存放在CMOS RAM的9,8,7,4,2,0,6號單元。

若順序地依次輸出年月日時分秒星期信息,需要把讀取CMOS信息的語句寫7遍,代碼立刻顯得冗余,且若要修改年月日等信息的順序,需要讀取分析整個代碼清單的好幾處,不容易查找待修改的地方。

但若加以分析,讀取何種時間信息,都要訪問CMOS,只是提前告知CMOS要訪問的單元號不同。

把這些無序的單元號寫到一個連續的存儲空間中(cell byte 9, 8, 7, 4, 2, 0, 6; MASM匯編語言定義字節數組的語句),順序訪問這些數據,執行相同的代碼段,根據提供的單元號不同,獲得相應的信息。這就可以寫成一個循環體了。如果改變時間年月日十分秒星期顯示順序,只需要修改cell byte ... 字節數組就可以了。

源代碼請訪問:代碼托管平臺5

案例2 映射實現無序事物的有序化

題目描述讀入兩個小于100的正整數A和B,計算A+B。 需要注意的是:A和B的每一位數字由對應的英文單詞給出。[6]

這道考研機試題,就是一個典型的把無序的英文單詞,映射為機器可以直接進行數學計算的數字。需要用到映射。one -> 1 , two -> 2, three -> 3, four-> 4... 這里用一個紅黑樹實現的映射容器map。

map[“one”] = 1, map[“two”] = 2, map [“three”] = 3, map[“four”] = 4...

遇到一個英文單詞就轉換成數字。one, two, three, four,... 就變成了1, 2, 3, 4.

案例 3

加密解密中的應用

在簡單的加密算法字符替換中,把某個字符替換成另一個字符,而不是簡單地將所有字符后移幾位(例如 a->d, b->e, c->f 后移3位)。替換并無規律可尋,秘鑰字符串key可能是個一個隨機生成的字符串,例如秘鑰key = “jdekalgoba3fdlh4cijm3ip1uo”只要26個不同的字符就可以了。這個秘鑰對應的字符依次對應a b c d...

對于轉換成的密文,如何根據這個秘鑰串key還原得到原文呢?這就需要無序化為有序的思想了。根據秘鑰key,給數組array賦值。array[‘j] = a, array[‘d] = b, array[‘e] = c... 利用這個數組array就可以把密文還原為明文了。

4 是否應用無序事物有序化思想到計算機程序設計中的優勢與不足

由上面案例可以看到,

無序事物有序化可以使最終的解決方案更簡潔;

有利于后來的變動修改;

抽象度更高,需要一定的經驗和代碼實踐基礎,不容易想到。

有序到無序可以用于混淆事物,做到加密報文。然后再無序到有序還原報文。

不使用無序到有序的思想,在起初設計編碼時可能是簡單。不用多動腦筋思考。可是,一旦程序出現問題,再修改維護時,很可能要同時修改幾個地方,易疏忽。

給別人閱讀理解代碼帶來麻煩。

過分的考慮分析無序事物中的規律,可能是徒勞的。

5 無序事物有序化思想對計算機程序設計的意義和應用價值

大量實踐證明,維護軟件需要大量的財力物力,甚至是開發軟件的N多倍。無序事物有序化可以提高設計的抽象高度,便于處理后來可能存在的維護問題,減少花費。

該思想可以提高設計人員的思考能力(抽象思維得到提高),開發人員的代碼能力(需要縝密的編寫)。提高軟件生產質量。

結束語

無序事物有序化思想應用在計算機程序設計中,可以抽象設計,使編碼量更少。無序事物有序化可以用于批量處理一些問題,效率更高。這是計算機程序設計中的一個小思想,可能只是用在一個較大設計中的一小部分,也不可丟棄。積少成多,計算機程序設計中有很多技巧,需要開發人員等在生產實踐中取總結,分享。

2018年3月6日

于鄭州大學

注解

[1] 李曉宇:指導老師,鄭州大學信息工程學院的老師

[2] 秦文杰:鄭州大學信息工程學院軟件工程系2015級學生,學號20152480225

[3] 《32位匯編語言程序設計》:鄭州大學錢曉捷教授編著的匯編語言學習教科書

[4]CMOSRAM實時時鐘信息:本圖片源自網絡,若有侵權,請告知

[5] 源代碼鏈接 https://github.com/zzuwenjie/coding18/blob/master/MASM/8_14.asm

[6] 題目摘自浙江大學2005年考研機試題

主站蜘蛛池模板: 99久久免费精品特色大片| 亚洲精品第五页| 91精品国产91欠久久久久| 久久精品无码中文字幕| 久久综合伊人77777| 999国内精品视频免费| 国产精品综合久久久| 91成人在线免费视频| 美女国产在线| aa级毛片毛片免费观看久| 亚洲午夜片| 亚洲精品无码久久久久苍井空| 国产欧美性爱网| 91探花在线观看国产最新| a天堂视频| 亚洲成a∧人片在线观看无码| 欧美区一区二区三| 精品自窥自偷在线看| 色男人的天堂久久综合| 国产欧美一区二区三区视频在线观看| 亚洲第一黄片大全| 久久精品丝袜| 久久国产精品国产自线拍| 国产三级毛片| 亚洲第一成人在线| 日韩在线欧美在线| 一级毛片免费观看不卡视频| 亚洲男人在线天堂| 国产一区二区三区在线观看视频| 综合天天色| 欧美中文一区| 久久一日本道色综合久久| 香蕉eeww99国产在线观看| 99成人在线观看| 婷婷六月综合| 国产亚洲视频播放9000| 久久精品aⅴ无码中文字幕| 欧美97欧美综合色伦图| 91福利一区二区三区| 巨熟乳波霸若妻中文观看免费| 精品国产自在在线在线观看| 一级毛片免费高清视频| 亚洲三级成人| 亚洲看片网| 国产午夜福利亚洲第一| 婷婷成人综合| 日韩AV无码一区| 亚卅精品无码久久毛片乌克兰| 中国国产高清免费AV片| 精品久久久久久久久久久| 欧美区国产区| 久久亚洲综合伊人| 2020国产在线视精品在| 国产乱人伦精品一区二区| 97在线免费| 亚洲精品免费网站| 午夜精品一区二区蜜桃| 伊人成人在线视频| 国产高清无码麻豆精品| 久久a级片| 992tv国产人成在线观看| 国产一级裸网站| 国产综合精品一区二区| 国产免费高清无需播放器| 欧美综合成人| 四虎成人精品| 欧美日韩国产系列在线观看| 男女男免费视频网站国产| 国内自拍久第一页| 欧美成人在线免费| 国产高清不卡| 亚洲不卡网| 999精品视频在线| 最新加勒比隔壁人妻| 国产成人在线无码免费视频| 国产精品无码影视久久久久久久| 国产精品任我爽爆在线播放6080 | 免费无码又爽又刺激高| 欧美人与性动交a欧美精品| 青青操国产视频| 免费毛片a| 亚洲福利一区二区三区|