




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信軟件基礎(chǔ)實(shí)訓(xùn)答辯 3選題:模擬加油站的工作情況小組成員:三枚銅錢94keyboard 時(shí)間:2015/5/5通模擬加油站的工作情況 加油站有 兩臺(tái)油泵; 每臺(tái)油泵為一輛汽車加油的時(shí)間為 d分鐘; 加油站的到車率為 1輛/g分鐘; 模擬時(shí)間長(zhǎng)度為 time分鐘;1分析問題2確定框架3實(shí)現(xiàn)程序1分析問題1、看是否有車來到(概率決定)2、若有車再看是否有空閑的油泵3、若有空閑油泵立即加油,否則排隊(duì)等待4、若泵工作忙(未達(dá)到加油時(shí)間),則時(shí)間遞減等待5、時(shí)間遞減后若為0,將泵置為空閑1分析問題我們要做什么1方案思路模型油泵1油泵2出口出口汽車入口排隊(duì)第一段路第二段路第三段路等待可服務(wù)1分析問題 日常
2、生活中該類模型,是隊(duì)列應(yīng)用的典型例子。以加油站為例,假設(shè)某加油站有 兩臺(tái)油泵,每臺(tái)油泵的加油時(shí)間為 d分鐘,若已知該站的到車率為 g分鐘一輛,則該加油站的工作情況可用以下列隊(duì)模型描述。 定義一個(gè)循環(huán)隊(duì)列,容量為MAX(足夠大,不發(fā)生隊(duì)列滿的問題),用于組織等待加油的汽車序列。按照先到先加油的原則進(jìn)行處理;整個(gè)模擬過程內(nèi)的時(shí)間為 time,每隔 dt分鐘監(jiān)控一次,獲取并輸出實(shí)際情況。 出事狀態(tài)設(shè)為:隊(duì)列為空(front=rear=MAX),每臺(tái)油泵為空閑(pump(1)=pump(2)=0),油泵未服務(wù)過(auto(1)=auto(2)=-1)。if(rear+1MAX) thenrear=1;
3、else rear+=1;timequeuetimequeue dt條件:s= 2m即 dt = g/2在模擬時(shí)間time內(nèi),每隔dt時(shí)間,監(jiān)控并報(bào)告一次車排隊(duì)的情況,油泵的工作狀態(tài),被服務(wù)的車。因此用一維整型數(shù)組Queue 存取 車編號(hào)num的數(shù)據(jù)。量化后數(shù)字信號(hào)模擬信號(hào)整個(gè)問題可分為三部分: 1) 汽車排隊(duì):已知一分鐘來一輛車的概率為 1/g,則每隔 dt分鐘來一輛車的概率為 dt/g。由于來車的問題是隨機(jī)的,因此,實(shí)際處理時(shí),每隔t分鐘產(chǎn)生一個(gè)隨機(jī)數(shù) rnd (0-1內(nèi)),若它小于等于 dt/g,則認(rèn)定有一輛車進(jìn)站,應(yīng)將它加入隊(duì)列中。 2) 油泵工作狀態(tài):用pump(i)表示第 i(i=
4、1,2)每臺(tái)油泵工作進(jìn)程,用 auto(i)表示第 i臺(tái)油泵的服務(wù)對(duì)象。則當(dāng)?shù)?i臺(tái)油泵開始為一輛車工作時(shí),置 pump(i)=d-dt,以后每 dt分鐘,令pump(i)=pump(i)-dt。若 pump(i)0時(shí),若pump(i)0表示油泵 i正在為 auto(i)加油;若pump(i)0表示油泵i 所余時(shí)間才能加完油;若pump(i)0表示油泵i剛為 auto(i)加完油;若pump(i)=0表示油泵i已經(jīng)為 auto(i)加完油。排隊(duì)Queue rearfront尾指針將新元素插入隊(duì)中頭指針將等待的元素 對(duì)應(yīng)服務(wù)油泵123456MAXfrontrear2確定框架第一步模擬概率第二步模
5、擬排隊(duì)第三步模擬加油第四步采樣報(bào)告2確定框架開始建立循環(huán)隊(duì)列,設(shè)置油泵從未服務(wù)過且初始狀態(tài)空閑調(diào)用函數(shù)simu_aut模擬車排隊(duì);尾指針插入新元素到隊(duì)列有車來rear+=1;t 0時(shí),若FP(i)0表示油泵 i正在為 aut(i)加油,F(xiàn)P(i)的值為 到加完油還剩的時(shí)間;/ FP(i)=0為油泵可服務(wù)若FP(i)0表示油泵 i 剛為 aut(i)加完油;若FP(i)=0表示油泵 i 已經(jīng)為 aut(i)加完油。/*-輸入操作顯示-*/printf( 請(qǐng)輸入到車率中 g(分鐘): );scanf(%lf,&g);printf( 請(qǐng)輸入每輛加油時(shí)間 d(分鐘): );scanf(%lf,&d);
6、printf( 請(qǐng)輸入總模擬時(shí)間長(zhǎng)度 Time(分鐘): );scanf(%lf,&Time);printf( 請(qǐng)輸入采樣時(shí)間 dt(分鐘): );scanf(%lf,&dt);printf(-n); 這里時(shí)間用到的都是double型,提高模擬的準(zhǔn)確度num=0; t=0; srand(unsigned)time(NULL);while (tTime)/在模擬時(shí)間未結(jié)束 /*隨機(jī)數(shù)0-1之間產(chǎn)生*/rnd=rand( )/(double)RAND_MAX+1); /*32767,范圍不會(huì)超過 -3276832767,rnd=rand()/32767.00; */simu_aut(Queue,M
7、AX,&rear,&num,dt,g,rnd); /num,front,rear所占內(nèi)存地址simu_pump(Queue,MAX,&front,rear,dt,d,FP,aut,1); /front所占內(nèi)存地址,在此函數(shù)中rear=*rear+=1;simu_pump(Queue,MAX,&front,rear,dt,d,FP,aut,2); /front所占內(nèi)存地址,在此函數(shù)中rear=*rear+=1;print_out(Queue,MAX,front,rear,FP,aut);t=t+dt;free(Queue); /釋放循環(huán)隊(duì)列空間模塊函數(shù);p 模擬汽車排隊(duì)函數(shù)p 模擬加油泵1工作函
8、數(shù)p 模擬加油泵2工作函數(shù)/*-模擬汽車排隊(duì)-*/simu_aut(Queue,MAX,rear,num,dt,g,rnd)int Queue ,MAX,*rear,*num; /指針指向num,front,rear所占內(nèi)存地址double dt,g,rnd;if(rnd=dt/g) /滿足概率則給車編號(hào)加入循環(huán)隊(duì)列*num+=1;*rear+=1;if(*rear=MAX+1)*rear=1; /如果rear從1達(dá)到max后再前進(jìn)一個(gè)位置就自動(dòng)到1; Queue*rear-1=*num; /循環(huán)隊(duì)列解決假溢出;從隊(duì)列開始位置入隊(duì)一個(gè)編號(hào);用到了參數(shù)概率 rnd (采樣時(shí)間dt 到車率g確定概
9、率范圍)循環(huán)隊(duì)列 Queue尾指針 rear 將新元素插入隊(duì)中容量 MAX給車編號(hào) nump編號(hào)入隊(duì)后一次判斷油泵是否可以服務(wù);判斷隊(duì)列中是否有車;有車就將排在隊(duì)首的元素給空閑的泵服務(wù);p判斷查詢一次都要在時(shí)間上減去dt;以FPi的大小可以參照還有多長(zhǎng)時(shí)間可以加完油;/*-模擬油泵i工作-*/simu_pump(Queue,MAX,front,rear,dt,d,FP,aut,i)int Queue ,MAX,*rear,*front,FP ,aut ,i;double dt,d;if(FPi-1=0)/加油泵可以服務(wù);(沒車來 或 剛好有車來)if(*front=rear)/rear=1和隊(duì)
10、空判斷;FPi-1=0;/沒有車即空閑狀態(tài);else *front=*front+1;if(*front=MAX+1)*front=1;/解決假溢出auti-1=Queue*front-1;/第i輛車被服務(wù)FPi-1=d-dt;else FPi-1=FPi-1-dt;p每隔dt時(shí)間報(bào)告一次p經(jīng)過前兩個(gè)函數(shù)運(yùn)行后,可以得到插入隊(duì)列的編號(hào)(即排隊(duì)的車數(shù))p被服務(wù)的車的編號(hào)p加油泵1、2的工作狀態(tài)pfront比rear小 說明rear插入的多 front服務(wù)的少 從front開始遍歷到rear找到正在排隊(duì)的編號(hào)/*-模擬結(jié)果的輸出-*/print_out(Queue,MAX,front,rear,FP,aut)int Queue ,MAX,rear,front,FP ,aut ;int k; k=front; while(k!=rear) /兩臺(tái)都在忙且rear插入的比服務(wù)front的多 k=k+1;if(k=MAX+1)k=1;printf(Queue(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 腫瘤診療中的精準(zhǔn)醫(yī)療技術(shù)2025年臨床應(yīng)用效果分析報(bào)告001
- 安全檢查試題及答案
- 農(nóng)村一二三產(chǎn)業(yè)融合對(duì)農(nóng)村生態(tài)環(huán)境保護(hù)的法律法規(guī)保障研究報(bào)告
- 醫(yī)護(hù)合理用藥培訓(xùn)課件
- 2025屆浙江省杭州市文瀾中學(xué)七年級(jí)英語第二學(xué)期期中經(jīng)典試題含答案
- 中國(guó)養(yǎng)老教學(xué)課件
- 公文培訓(xùn)課件
- 旅行社掃黑除惡培訓(xùn)課件
- 中國(guó)佛教發(fā)展史
- 個(gè)案護(hù)理查房技巧
- 貴州大方富民村鎮(zhèn)銀行股份有限公司(籌)招聘上岸提分題庫(kù)3套【500題帶答案含詳解】
- GB/T 5470-2008塑料沖擊法脆化溫度的測(cè)定
- GB/T 40998-2021變性淀粉中羥丙基含量的測(cè)定分光光度法
- GB/T 31848-2015汽車貼膜玻璃貼膜要求
- 圖書管理系統(tǒng)畢業(yè)論文參考文獻(xiàn)精選,參考文獻(xiàn)
- 中國(guó)當(dāng)代舊體詩(shī)選讀幻燈片
- 吉林省全省市縣鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心基本公共衛(wèi)生服務(wù)醫(yī)療機(jī)構(gòu)信息名單目錄995家
- 倔強(qiáng)的小紅軍-精講版課件
- 信息隱藏與數(shù)字水印課件(全)全書教學(xué)教程完整版電子教案最全幻燈片
- 公開招聘社區(qū)居委專職工作人員考試筆試、面試題集及相關(guān)知識(shí)(11套試題含答案)
- 中職數(shù)學(xué)基礎(chǔ)模塊下冊(cè)《等差數(shù)列》ppt說課稿
評(píng)論
0/150
提交評(píng)論