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

        ?

        基于JavaScript的一種隨機抽取程序設計

        2015-09-28 05:04:27許朋許清媛
        現(xiàn)代計算機 2015年33期
        關鍵詞:隨機性數(shù)組程序設計

        許朋,許清媛

        (1.工業(yè)和信息化部電子第五研究所,廣州 510610;2.中山大學南方學院電子通信與軟件工程系,廣州 510970)

        基于JavaScript的一種隨機抽取程序設計

        許朋1,許清媛2

        (1.工業(yè)和信息化部電子第五研究所,廣州510610;2.中山大學南方學院電子通信與軟件工程系,廣州510970)

        0 引言

        為保證某項活動的公平、公正,經(jīng)常需要從一定量數(shù)據(jù)中隨機抽取一個或多個數(shù)據(jù)。例如,在項目招標評審過程中,為了保證評標的公平性,需要從專家?guī)熘须S機抽取若干個評標專家[2];在中小客車牌照搖號,隨機從眾多申請者中抽取一部分人;為避免考試試題的泄露、保證考試的公平性,需要在臨近考試前從海量試題庫中隨機抽取若干道試題形成考試試卷[3];在抽獎晚會上,從所有參與人員中隨機抽取若干個中獎人等。在這些抽取活動中,大多需要在公開場合進行隨機抽取。傳統(tǒng)上可能采用人工隨機抽取的方法,例如抓鬮等。然而,人工隨機抽取大多存在工作效率低、管理不規(guī)范、隨機性差、容易作弊、公平性低等缺點[2]。由計算機實現(xiàn)隨機抽取則可以克服這些缺點和問題。

        JavaScript語言是一種直譯式、弱類型、基于原型的腳本語言[1]。它的解釋器JavaScript引擎是瀏覽器的一部分,JavaScript腳本通過嵌入在HTML網(wǎng)頁中來實現(xiàn)自身的功能,已被廣泛用于Web應用開發(fā)中[1],為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果[1]。本文將介紹一種基于JavaScript腳本語言在客戶端實現(xiàn)隨機抽取的程序設計思路,說明其實現(xiàn)方法、證明其隨機性。

        1 隨機抽取程序設計

        隨機抽取的程序可按照圖1所示流程設計:

        (1)將待抽取的所有數(shù)據(jù)(如所有參與中小客車搖號的人)組織起來,存放在“待抽取數(shù)組”中;

        (2)點擊開始抽取后,每隔足夠短的時間隨機選擇“待抽取數(shù)組”中的一個元素在界面上顯示,形成被選中元素(數(shù)據(jù))在界面上快速刷新顯示(閃爍)的效果;

        (3)點擊停止抽取后,界面停止閃爍后顯示的數(shù)組元素作為被抽中的一個數(shù)據(jù),將該數(shù)據(jù)保存“抽取結(jié)果數(shù)組”中;

        (4)將被抽中的元素(數(shù)據(jù))從“待抽取數(shù)組”中刪除;

        (5)判斷“抽取結(jié)果數(shù)組”中抽取數(shù)據(jù)的數(shù)量是否滿足要求,若滿足要求則終止程序;若不滿足要求,則在“待抽取數(shù)組”不為空的情況下繼續(xù)下一次抽取,直到抽取數(shù)據(jù)的數(shù)量是否滿足要求為止。

        在該隨機抽取程序設計中,為滿足抽取的隨機性要求(即每個元素(數(shù)據(jù))被抽中的概率相等),需要滿足一下要求:

        (1)每次抽取“待抽取數(shù)組”中的一個元素在界面上顯示時都要隨機抽取;

        (2)要間隔足夠短的時間(小于人的反應時間)抽取下一個元素(數(shù)據(jù))并顯示在界面上,形成被抽取元素(數(shù)據(jù))在界面上快速切換的效果,避免因人為選擇某個元素(數(shù)據(jù))而影響最終抽取結(jié)果的隨機性。

        圖1 隨機抽取程序流程圖

        2 程序?qū)崿F(xiàn)分析

        (1)隨機抽取“待抽取數(shù)組”中數(shù)組元素的實現(xiàn)

        隨機抽取“待抽取數(shù)組”中的數(shù)組元素可通過隨機選取數(shù)組元素的下標來實現(xiàn)。就JavaScript語言來說,可使用 Math.random()方法和 parseInt()方法實現(xiàn)[1]。Math.random()方法可隨機產(chǎn)生大于等于0.0且小于1.0的浮點數(shù),parseInt()方法可實現(xiàn)浮點數(shù)的取下整運算。假設ArrayLength表示 “待抽取數(shù)組”的長度,則parseInt(Math.random()*(ArrayLength))可得到隨機選取的“待抽取數(shù)組”的下標。

        需要注意的是,parseInt()方法是取下整,而不是四舍五入取整,若使用四舍五入取整(如Math.round()),則每個“待抽取數(shù)組”下標被選中的概率就不相等。

        (2)“待抽取數(shù)組”的元素在界面上快速刷新顯示和停止刷新的實現(xiàn)

        “待抽取數(shù)組”的元素在界面上快速刷新顯示和停止刷新,可使用JavaScript語言的setInterval(,)方法和clearInterval()方法實現(xiàn)[1]。使用setInterval(,)方法可實現(xiàn)每隔若干毫秒執(zhí)行一次界面刷新操作,進而實現(xiàn)“待抽取數(shù)組”的元素在界面上快速刷新顯示的效果。clearInterval()方法可停止界面刷新,進而得到被隨機抽中的元素(數(shù)據(jù))。

        其中,setInterval(,)方法可實現(xiàn)每隔若干毫秒執(zhí)行一次界面刷新操作,只要界面刷新的時間間隔足夠小,則可避免人為去選擇某個元素(數(shù)據(jù)),進而可保證最終抽取結(jié)果的隨機性。

        3 程序?qū)崿F(xiàn)實例

        基于以上的隨機抽取程序設計和程序?qū)崿F(xiàn)分析,

        給出了從數(shù)據(jù)“001,002,003,004,005,006,007,008,

        009,010,011,012,013,014,015”中隨機抽取幾個數(shù)據(jù)

        (小于15個)的JavaScript程序?qū)崿F(xiàn):

        將該程序代碼放在.html中 (可放在.txt文檔中并修改后綴為.html來實現(xiàn)),使用IE瀏覽器運行該.html文件,可觀察該隨機抽取程序的實現(xiàn)效果。圖2給出了該程序的實現(xiàn)效果,點擊【開始】時,程序每次隨機選取“001,002,003,004,005,006,007,008,009,010,011,

        012,013,014,015”中的一個數(shù)據(jù)顯示并進行快速更新,點擊【停止】時,程序?qū)⒆詈箫@示的數(shù)據(jù)展現(xiàn)在界面上,實現(xiàn)了隨機抽取。

        圖2 隨機抽取程序?qū)崿F(xiàn)效果圖

        4 結(jié)語

        本文給出了一種基于JavaScript語言的隨機抽取程序設計方法,設計了程序?qū)崿F(xiàn)的流程、分析了程序?qū)崿F(xiàn)的關鍵點,并通過一個實例展現(xiàn)了隨機抽取程序?qū)崿F(xiàn)結(jié)果。

        [1]Nicholas C.Zakas.Professional JavaScript for Web Developers,Third Edition.John Wiley&Sons,Inc.2012.

        [2]陳衛(wèi)平.建設工程評標專家隨機抽取系統(tǒng).科技信息,2010(09).

        [3]劉旭旭.基于B/S模式的在線考試系統(tǒng)的設計與實現(xiàn).醫(yī)藥與保健,2010,18(3).

        Random Sampling;JavaScript;Program Design

        A Random Sampling Program Design Based on JavaScript

        XU Peng1,XU Qing-yuan2
        (1.The 5th Electronics Research Institute of MII,Guangzhou 510610;2.Department of Electronic Communication&Software Engineering,Nanfang Colloge,Sun Yat-sen University,Guangzhou 510970)

        1007-1423(2015)33-0063-04

        10.3969/j.issn.1007-1423.2015.33.017

        許朋(1985-),男,河南南陽人,碩士研究生,工程師,研究方向為應用軟件測試、嵌入式軟件測試

        2015-11-06

        2015-11-15

        日常生活中經(jīng)常需要從一定量數(shù)據(jù)中隨機抽取一個或多個數(shù)據(jù)。介紹一種基于JavaScript語言的隨機抽取程序設計方法,設計程序?qū)崿F(xiàn)的流程、分析程序?qū)崿F(xiàn)的關鍵點,并通過一個實例展現(xiàn)隨機抽取程序?qū)崿F(xiàn)效果。

        隨機抽??;JavaScript;程序設計

        許清媛(1986-),女,江西興國人,碩士研究生,講師,研究方向為電子工程、程序設計

        In daily life,one or more data is often needed to be randomly selected from a certain amount of data.Introduces a method to design a random sampling program based on JavaScript.The program flow chart is designed,analyzes the key points of programing,by an example,demonstrates the implementation effect of the random sampling program.

        猜你喜歡
        隨機性數(shù)組程序設計
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        基于Visual Studio Code的C語言程序設計實踐教學探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        JAVA玩轉(zhuǎn)數(shù)學之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        從細節(jié)入手,談PLC程序設計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        淺析電網(wǎng)規(guī)劃中的模糊可靠性評估方法
        高職高專院校C語言程序設計教學改革探索
        考慮負荷與分布式電源隨機性的配電網(wǎng)無功優(yōu)化
        適用于隨機性電源即插即用的模塊化儲能電池柜設計
        尋找勾股數(shù)組的歷程
        PLC梯形圖程序設計技巧及應用
        精品女同一区二区三区| 二区久久国产乱子伦免费精品| 国产精品亚洲综合色区丝瓜 | 国产一区二区三区av观看| 亚洲性无码av中文字幕| 伊人久久久精品区aaa片| 三级网址在线| 国产精品人人爱一区二区白浆| 男女激情视频网站免费在线| 国产v片在线播放免费无码| 亚洲精品久久无码av片软件| 亚洲乱码少妇中文字幕| 久久精品视频日本免费| 国产熟妇疯狂4p交在线播放| 日韩亚洲av无码一区二区三区 | 国产精品涩涩涩一区二区三区免费 | 制服无码在线第一页| 中文字幕人乱码中文字幕乱码在线| 久久亚洲精品国产亚洲老地址| 亚洲男人的天堂网站| 国产小屁孩cao大人| 国产午夜视频高清在线观看| 强奸乱伦影音先锋| 国内精品久久久久久中文字幕| 中文字幕无码免费久久99| av免费在线播放一区二区| 国产精品国产三级国产av剧情 | 无码人妻丰满熟妇片毛片 | 日本高清长片一区二区| 国产一区二区三区久久悠悠色av| 精品乱码久久久久久久| 欧美日韩区1区2区3区| 国产三级精品三级在专区中文 | 精品中文字幕精品中文字幕| 久久午夜福利无码1000合集| 久久精品中文字幕一区| 国产成年无码AⅤ片日日爱| 亚洲一区二区三区重口另类| 久久久久久亚洲av成人无码国产| 欧美人与动牲交片免费| 魔鬼身材极品女神在线|