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

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

2015-09-28 05:04:27許朋許清媛
現(xiàn)代計算機 2015年33期
關鍵詞:界面程序效果

許朋,許清媛

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

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

許朋1,許清媛2

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

0 引言

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

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

1 隨機抽取程序設計

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

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

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

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

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

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

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

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

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

圖1 隨機抽取程序流程圖

2 程序實現(xiàn)分析

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

隨機抽取“待抽取數(shù)組”中的數(shù)組元素可通過隨機選取數(shù)組元素的下標來實現(xiàn)。就JavaScript語言來說,可使用 Math.random()方法和 parseInt()方法實現(xiàn)[1]。Math.random()方法可隨機產生大于等于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ù)據)。

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

3 程序實現(xiàn)實例

基于以上的隨機抽取程序設計和程序實現(xiàn)分析,

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

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

(小于15個)的JavaScript程序實現(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ù)據顯示并進行快速更新,點擊【停止】時,程序將最后顯示的數(shù)據展現(xiàn)在界面上,實現(xiàn)了隨機抽取。

圖2 隨機抽取程序實現(xiàn)效果圖

4 結語

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

[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

日常生活中經常需要從一定量數(shù)據中隨機抽取一個或多個數(shù)據。介紹一種基于JavaScript語言的隨機抽取程序設計方法,設計程序實現(xiàn)的流程、分析程序實現(xiàn)的關鍵點,并通過一個實例展現(xiàn)隨機抽取程序實現(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.

猜你喜歡
界面程序效果
按摩效果確有理論依據
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
人機交互界面發(fā)展趨勢研究
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
主站蜘蛛池模板: 国产va免费精品观看| 国产视频入口| 99er精品视频| 一级看片免费视频| 72种姿势欧美久久久久大黄蕉| 四虎在线观看视频高清无码| 国产成人久视频免费| 日本在线视频免费| 97国产在线视频| 亚洲欧美自拍一区| 精品国产电影久久九九| 亚洲午夜福利精品无码| 国产91精品最新在线播放| 成人91在线| 99精品国产电影| 福利小视频在线播放| 国产精品冒白浆免费视频| 2021国产精品自产拍在线| 在线播放精品一区二区啪视频| 久草视频一区| 日韩在线欧美在线| 呦系列视频一区二区三区| 国产精品视频系列专区| 久久午夜夜伦鲁鲁片无码免费| 天天躁狠狠躁| 欧美日韩国产综合视频在线观看| 日韩少妇激情一区二区| 一级全黄毛片| 婷婷色在线视频| 亚洲第一页在线观看| 91破解版在线亚洲| 亚洲91在线精品| 国产日本欧美亚洲精品视| 欧美成人aⅴ| 欧美国产日韩一区二区三区精品影视| 乱人伦视频中文字幕在线| 欧美一区中文字幕| 国产在线视频福利资源站| 国产亚洲精品无码专| 在线观看精品国产入口| 日韩二区三区| 亚洲成a人片| 日本手机在线视频| 国产麻豆永久视频| 欧美日韩一区二区三| 伊人精品成人久久综合| 人妻丰满熟妇啪啪| 99re热精品视频中文字幕不卡| 国产精品成人不卡在线观看| 麻豆精品国产自产在线| 国产在线观看一区精品| av一区二区三区在线观看| 久久综合婷婷| 国产成人精品一区二区不卡| 亚洲精品无码AV电影在线播放| 国产精品成人久久| 久久五月天综合| 午夜毛片免费观看视频 | 视频一本大道香蕉久在线播放| 日本一区二区三区精品AⅤ| 国产欧美视频在线| 欧美三級片黃色三級片黃色1| 毛片网站观看| 欧美成人午夜视频免看| 无码av免费不卡在线观看| 美女啪啪无遮挡| 国产精品va| 国产精品露脸视频| 香蕉综合在线视频91| 国产美女一级毛片| 国产视频大全| 欧美人与性动交a欧美精品| 激情午夜婷婷| 亚洲AV无码久久天堂| 成人一级免费视频| 欧美色99| 亚洲精品黄| 亚洲人成网18禁| 久青草免费在线视频| a级毛片免费网站| 亚洲中文字幕无码爆乳| 国产手机在线观看|