計(jì)算機(jī)軟件技術(shù)基礎(chǔ)_第1頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)_第2頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)_第3頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)_第4頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、計(jì)算機(jī)軟件技術(shù)基礎(chǔ)計(jì)算機(jī)軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)實(shí)驗(yàn)1 1 加油站模型加油站模型物理電子學(xué)院物理電子學(xué)院2.2.3 2.2.3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用(3)汽車加油站的工作模擬 汽車加油站有兩臺油泵,每臺油泵為一輛汽車加油的時間為d分鐘。該加油站的到車率為1輛/g分鐘分析:A. 首先,用一個容量為m的循環(huán)隊(duì)列來組織等待加油的汽車,并對到達(dá)加油站的汽車按先后順序用自然數(shù)給予編號。假設(shè)循環(huán)隊(duì)列的存儲空間用一維數(shù)組cq(1:m)模擬,初始狀態(tài)為rear=front=m,并假定該循環(huán)隊(duì)列不會發(fā)生隊(duì)列滿的情況。新浪、騰訊課程微博:UESTC算法課程2/502.2.3 2.2.3 隊(duì)列

2、及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用B. 其次,假設(shè)模擬的時間長度為time分鐘,并用時間步長法進(jìn)行模擬,取采樣時間間隔為dt,即每隔dt分鐘對汽車加油站的工作情況測試一次,同時輸出汽車排隊(duì)的情況及每臺油泵的工作情況。根據(jù)問題,可以分為汽車排隊(duì)、油泵工作、結(jié)果輸出需要三個子模塊;新浪、騰訊課程微博:UESTC算法課程3/502.2.3 2.2.3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用(1)模擬汽車排隊(duì)l一分鐘來一輛車的概率為1/g。在采樣時間間隔dt分鐘內(nèi)來一輛車的概率為dt/g。要求采樣的時間間隔dtg。l在實(shí)際模擬時,每隔dt分鐘(即每次采樣測試時)產(chǎn)生一個0到1之

3、間均勻分布的隨機(jī)數(shù)rnd。若rnddt/g,則認(rèn)為有一輛車到達(dá),并將它編號,加入到循環(huán)隊(duì)列中。新浪、騰訊課程微博:UESTC算法課程4/502.2.3 2.2.3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用模擬汽車排隊(duì)模塊templatevoid simuauto(sq_Quene &cq,int &num,double dt, double g,double rnd) /滿足概率條件時,來一輛汽車滿足概率條件時,來一輛汽車 if (rad=dt/g) +num; cq.ins_sq_Quene(num); 新浪、騰訊課程微博:UESTC算法課程5/502.2.3 2.

4、2.3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用(2)模擬油泵工作l用標(biāo)志flag(i)表示第i(i=1,2)臺油泵的工作進(jìn)程,aut(i)表示第i臺油泵服務(wù)的對象(即汽車的編號)。l當(dāng)?shù)趇臺油泵開始為一輛車加油服務(wù)時,置工作進(jìn)程標(biāo)志為flag(i)=ddt;以后每經(jīng)過dt分鐘,令flag(i)=flag(i)dt。l當(dāng)flag(i)0時,說明第i臺油泵剛完成對一輛汽車的加油服務(wù),有可以從循環(huán)隊(duì)列的排頭取出一輛汽車進(jìn)行服務(wù)。若此時隊(duì)列為空,則置油泵為空閑狀態(tài),即置flag(i)=0新浪、騰訊課程微博:UESTC算法課程6/502.2.3 2.2.3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列

5、應(yīng)用循環(huán)隊(duì)列應(yīng)用templatevoid simupump(sq_Quene &cq,double dt, double d, double flag, int aut,int i) int n; /剛完成一輛汽車加油服務(wù)剛完成一輛汽車加油服務(wù) if (flagi-1=0) n=cq.del_sq_Quene(); if(n=0) flagi-1=0; /沒有排隊(duì)的汽車了,已經(jīng)完成服務(wù)沒有排隊(duì)的汽車了,已經(jīng)完成服務(wù) else auti-1=n; /取出正在排隊(duì)的第取出正在排隊(duì)的第n輛汽車輛汽車 flagi-1=d-dt; /開始加油工作開始加油工作 /還在服務(wù)還在服務(wù),減去取樣時間減去

6、取樣時間 else flagi-1-=dt 新浪、騰訊課程微博:UESTC算法課程7/502.2.3 2.2.3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用(3)輸出結(jié)果 每隔dt分鐘將汽車隊(duì)列的情況以及每臺油泵的工作情況的模擬結(jié)果打印輸出。在輸出結(jié)果中,分以下兩種情況:當(dāng)aut(i)0時: 若flag(i)0,則aut(i)值為油泵i正在服務(wù)的對象; 若flag(i)0,則aut(i)值為油泵i剛服務(wù)完的對象; 若flag(i)=0, 則aut(i)值為油泵i已服務(wù)完的對象。當(dāng)aut(i)=1時,表示油泵i還未服務(wù)過。新浪、騰訊課程微博:UESTC算法課程8/502.2.3 2.2.

7、3 隊(duì)列及應(yīng)用隊(duì)列及應(yīng)用- -循環(huán)隊(duì)列應(yīng)用循環(huán)隊(duì)列應(yīng)用輸出模塊templatevoid out(sq_Quene &cq,double flag, int aut) /輸出隊(duì)列信息輸出隊(duì)列信息 cq.prt_sq_Quene(); /輸出油泵和汽車信息輸出油泵和汽車信息 coutflag(1)=flag0,aut(1)=aut0endl; coutflag(2)=flag1,aut(2)=aut1endl;新浪、騰訊課程微博:UESTC算法課程9/50問題描述: 汽車加油站有M臺油泵,每臺油泵為一輛汽車加油概率d升,加油量與時間成正比,加油時間為td,該加油站每天24小時的到車率為1/gi 分鐘(i=023),每兩臺加油泵需要一個工作人員,模擬加油站一天加油工作模型(加油汽車數(shù)量、加油量、工作人員安排)。要求: 1、采用模塊化編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論