課程設(shè)計(jì)---電梯調(diào)度算法設(shè)計(jì)報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  電梯調(diào)度算法</b></p><p>  學(xué) 院 醫(yī)藥信息工程學(xué)院 </p><p>  專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)(醫(yī)藥物流信息方向)

2、 </p><p>  電梯調(diào)度算法設(shè)計(jì)報(bào)告</p><p>  一.LOOK(查找)調(diào)度(電梯)電梯算法,操作系統(tǒng)學(xué)術(shù)名為SCAN算法。磁臂僅移動(dòng)到請(qǐng)求的最外道就回轉(zhuǎn)。反方向查找服務(wù)。</p><p><b>  問題描述:</b></p><p>  說明:電梯調(diào)度

3、算法的基本原則就是如果在電梯運(yùn)行方向上有人要使用電梯則繼續(xù)往那個(gè)方向運(yùn)動(dòng),如果電梯中的人還沒有到達(dá)目的地則繼續(xù)向原方向運(yùn)動(dòng)。具體而言,如果電梯現(xiàn)在朝上運(yùn)動(dòng),</p><p>  * 如果當(dāng)前樓層的上方和下方都有請(qǐng)求,則先響應(yīng)所有上方的請(qǐng)求,然后才向下響應(yīng)下方的請(qǐng)求;如果電梯向下運(yùn)動(dòng),則剛好相反。</p><p>  * 設(shè)計(jì)要求:模擬多人在不同樓層同時(shí)要求到各自目的地時(shí)電梯的響應(yīng)順序,要

4、求使用C語(yǔ)言編程,定義合適的數(shù)據(jù)結(jié)構(gòu)。最后,需要說明設(shè)計(jì)思想,同時(shí)給出能夠運(yùn)行的源程序,并給出對(duì)應(yīng)的程序流程圖。</p><p>  * 設(shè)計(jì)提示:可以用一個(gè)結(jié)構(gòu)體表示乘電梯的人,其中內(nèi)容包括人的姓名、起始樓層、目的樓層;建立一個(gè)結(jié)構(gòu)體的數(shù)組模擬當(dāng)前所有需要乘電梯的人。把這個(gè)結(jié)構(gòu)體數(shù)組作為程序的輸入, * 通過對(duì)數(shù)組中每個(gè)人的起始樓層和目的樓層進(jìn)行分析,確定每個(gè)人進(jìn)出電梯的順序,并打印輸出。 </p>

5、;<p><b>  算法設(shè)計(jì):</b></p><p>  本程序用java語(yǔ)言、eclipse平臺(tái)編寫。</p><p>  (1)算法思想:本算法只設(shè)計(jì)了一輛電梯,通過往返尋找方法,即先查詢電梯運(yùn)行方向的樓層是否存在有其他鍵被按下,有就繼續(xù)往該方向運(yùn)行,如果沒有就查詢電梯運(yùn)行反方向的樓層是否有按鍵被按下,如果有電梯就改變方向,反方向運(yùn)行。如果沒有電

6、梯就停止在該樓層,30秒后如果沒有任何鍵被按下,電梯就自動(dòng)返回1樓駐停。同時(shí),電梯乘客所去的樓層方向與電梯當(dāng)前方向一致的話,則電梯優(yōu)先搭載該乘客。隨后再搭載去反方向的乘客。實(shí)現(xiàn)電梯的升降操作。</p><p>  二.1.總程序流程圖如下</p><p><b>  2.代碼如下:</b></p><p>  package Test1;<

7、;/p><p>  import java.awt.Color;</p><p>  import java.awt.Container;</p><p>  import java.awt.Font;</p><p>  import java.awt.GridLayout;</p><p>  import java.

8、awt.TextField;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.ItemEvent;</p><p>  import java

9、.awt.event.ItemListener;</p><p>  import java.util.*;</p><p>  import javax.swing.JButton;</p><p>  import javax.swing.JFrame;</p><p>  import javax.swing.JPanel;</p

10、><p>  import javax.swing.Timer;</p><p>  public class Lifta{</p><p><b>  /**</b></p><p>  * @param args</p><p><b>  */</b></p>

11、<p>  public static void main(String[] args){</p><p>  // TODO Auto-generated method stub</p><p>  Brick brick=new Brick();</p><p><b>  }</b></p><p>

12、<b>  }</b></p><p>  class Brick{ //方塊類</p><p>  public int octime=0; //計(jì)算開關(guān)門事件。</p><p>  public int j=0;</p><p>  public String closedoor=&qu

13、ot;關(guān)門";</p><p>  public String close="關(guān)";</p><p>  public String open="開";</p><p>  JFrame frame=new JFrame("電梯調(diào)度算法");</p><p>  JPane

14、l pan=new JPanel();</p><p>  JButton but=null;</p><p>  JButton sign=new JButton(+j+"樓");</p><p>  JButton openclose=new JButton(closedoor+"");</p><p

15、>  JButton openkey=new JButton(open+"");</p><p>  JButton closekey=new JButton(close+"");</p><p>  public ArrayList blackBrick;; //brick用來依次存放button,程序用button顯示藍(lán)色表示有電梯的當(dāng)前

16、位置。</p><p>  public ArrayList controlBrick; //controlBrick用來依次存放button,表示每層樓電梯口的是上鍵和下鍵,程序用button顯示綠色表示對(duì)應(yīng)鍵被按下。</p><p>  public int[][] controlTable; //用二維數(shù)組controlTable與電梯口的上下鍵對(duì)應(yīng),其中如果值1表示button

17、應(yīng)顯示綠色,值0表示button應(yīng)顯示灰色。</p><p>  public ArrayList numberBrick; //numberBrick用來依次存放button,程序用button顯示桔黃色表示電梯內(nèi)的數(shù)字鍵被按下。</p><p>  public int[]table; //用二維數(shù)組table與電梯內(nèi)的數(shù)字鍵對(duì)應(yīng),其中如果值1表示b

18、utton應(yīng)顯示桔黃色,值0表示button應(yīng)顯示灰色。</p><p>  public int[] upSignalTable; //紀(jì)錄向上任務(wù)的任務(wù)數(shù)組,值為1表示相應(yīng)位的上鍵被按下。</p><p>  public int[] downSignalTable; //紀(jì)錄向下任務(wù)的任務(wù)數(shù)組,值為1表示相應(yīng)位的下鍵被按下。</p><p> 

19、 public Timer timer; //計(jì)時(shí)器。</p><p>  public LiftThread lift; //控制每個(gè)電梯的線程數(shù)組。</p><p>  //================================================構(gòu)造方法(下)初始化===========================

20、================================//</p><p>  public Brick(){</p><p>  sign.setBounds(0, 0, 80, 40); //起始位置</p><p><b>  //開關(guān)門部分</b></p><p&

21、gt;  openclose.setBounds(80, 0, 80, 40); </p><p>  openclose.setBackground(Color.yellow);</p><p>  openkey.setBounds(160, 0, 80, 40); </p><p>  openkey.addActionListener(new Opencol

22、seListener()); //開門按鈕添加事件</p><p>  closekey.setBounds(240, 0, 80, 40);</p><p>  closekey.addActionListener(new OpencolseListener()); //關(guān)門按鈕添加事件</p><

23、p>  pan.setLayout(null); //畫布絕對(duì)定位 </p><p>  Font fnt=new Font("Serief",Font.ITALIC,15); //設(shè)置字體樣式 </p><p&

24、gt;<b>  //實(shí)例化數(shù)組</b></p><p>  numberBrick=new ArrayList(10);</p><p>  blackBrick=new ArrayList(10);</p><p>  controlBrick = new ArrayList(10);</p><p>  cont

25、rolTable = new int[10][2];</p><p>  for (int i = 0; i < 10; i++)</p><p>  for (int j = 0; j < 2; j++)</p><p>  controlTable[i][j] = 0;</p><p>  table = new int[10

26、];</p><p>  for (int i = 0; i < 10; i++)</p><p>  table[i] = 0;</p><p>  upSignalTable = new int[10];</p><p>  downSignalTable = new int[10];</p><p>  f

27、or (int i = 0; i < 10; i++) {</p><p>  upSignalTable[i] = 0;</p><p>  downSignalTable[i] = 0;</p><p><b>  }</b></p><p>  //********************畫圖********

28、****************</p><p>  for(int i=10;i>0;i--){</p><p><b>  //最左邊黑色列</b></p><p>  but=new JButton();</p><p>  but.setFont(fnt);</p><p>

29、  but.setBounds(0, (11-i)*40, 80, 40);</p><p>  but.setBackground(Color.BLACK);</p><p>  blackBrick.add(but);</p><p>  pan.add(but); </p><p><b>  //顯示樓層&

30、lt;/b></p><p>  but=new JButton(+i+"樓");</p><p>  but.setFont(fnt);</p><p>  but.setBounds(80, (11-i)*40, 80, 40);</p><p>  but.addActionListener(new

31、NumberListener(i));</p><p>  but.setBackground(Color.gray);</p><p>  numberBrick.add(but);</p><p>  pan.add(but); </p><p><b>  //向上鍵</b></p>

32、<p>  but=new JButton("上");</p><p>  but.setFont(fnt);</p><p>  but.setBounds(160, (11-i)*40, 80, 40);</p><p><b>  if(i!=10)</b></p><p>

33、;  but.addActionListener(new UpListener(i));</p><p>  but.setBackground(Color.gray);</p><p>  controlBrick.add(but);</p><p>  pan.add(but);</p><p><b>  //向下鍵&

34、lt;/b></p><p>  but=new JButton("下");</p><p>  but.setFont(fnt);</p><p>  but.setBounds(240, (11-i)*40, 80, 40);</p><p><b>  if(i!=1)</b></p

35、><p>  but.addActionListener(new DownListener(i));</p><p>  but.setBackground(Color.gray);</p><p>  controlBrick.add(but);</p><p>  pan.add(but);</p><p><b

36、>  } </b></p><p>  //*******************運(yùn)行部分******************</p><p>  pan.add(sign);</p><p>  pan.add(openclose);</p><p>  pan.add(openkey);</p>&l

37、t;p>  pan.add(closekey);</p><p>  frame.add(pan);</p><p>  frame.setSize(329, 479);</p><p>  lift = new LiftThread();</p><p>  frame.setVisible(true);</p>&l

38、t;p>  frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);</p><p>  }

39、 </p><p>  //====================================================構(gòu)造方法(上)=======================================================//</p><p>  //*************************************************填充

40、方塊和設(shè)置方法*******************************************************</p><p>  public void DrawBrick() { //重新刷新整個(gè)table,使每個(gè)button顯示應(yīng)該的顏色。</p><p>  for (int i = 1; i &

41、lt;=10; i++){</p><p>  for(int j=0;j<10;j++)</p><p>  ((JButton) blackBrick.get(j)).setBackground(Color.black);</p><p>  ((JButton) blackBrick.get(10-lift.number)).setBackground(

42、Color.blue);</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void DrawControlBrick() { //將所電梯口的上下鍵全部重新按當(dāng)前狀態(tài)顯示顏色。</p>

43、<p>  for (int i = 0; i < 10; i++)</p><p>  for(int j=0;j<2;j++)</p><p>  if (controlTable[i][j] == 1){</p><p>  ((JButton) controlBrick.get(i * 2 + j)).setBackground(Col

44、or.green);</p><p>  }else{ </p><p>  ((JButton) controlBrick.get(i * 2 + j )).setBackground(Color.gray);</p><p><b>  }</b></p><p><b>  }<

45、/b></p><p>  public void DrawNumberBrick() { //將所有電梯內(nèi)的數(shù)字鍵重新按當(dāng)前狀態(tài)顯示顏色。</p><p>  for (int i = 0; i < 10; i++)</p><p>  if (table[i] == 1)</p&

46、gt;<p>  ((JButton) numberBrick.get(i )).setBackground(Color.orange);</p><p><b>  else</b></p><p>  ((JButton) numberBrick.get(i )).setBackground(Color.gray);</p><p

47、><b>  }</b></p><p>  public boolean WorkState() { //判斷當(dāng)前電梯內(nèi)的數(shù)字鍵是否被按下,如有鍵被按下,則值為1,如果沒有任何鍵被按下,則值為0。</p><p>  for (int i = 0; i < 10; i++) {<

48、/p><p>  if (table[i] == 1)</p><p>  return true;</p><p><b>  }</b></p><p>  return false;</p><p><b>  }</b></p><p>  pub

49、lic void setState(int number){ //如果電梯原來停,則改變電梯狀態(tài)</p><p>  lift.destination = number;</p><p>  int x = lift.number;</p><p>  if (lift.state == 0) {<

50、;/p><p>  if (number > x)</p><p>  lift.state = 1;</p><p>  if (number < x)</p><p>  lift.state = 2;</p><p><b>  } </b></p><p

51、><b>  }</b></p><p>  //*****************************************事件處理部分****************************************</p><p>  public class UpListener implements ActionListener{

52、 //相應(yīng)上鍵被按下的動(dòng)作。</p><p>  int L = 1; //當(dāng)前樓層。</p><p>  UpListener(int n) {</p><p><b>  L = n;</b></p>&l

53、t;p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e){ //重新顯示上下鍵的顏色并將向上任務(wù)加入向上任務(wù)數(shù)組。</p><p>  controlTable[10 - L][0] = 1;</p><p>  s

54、etState(L);</p><p>  DrawControlBrick();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public class DownListener implements ActionListener{

55、 //相應(yīng)下鍵被按下的動(dòng)作。</p><p><b>  int L=0;</b></p><p>  public DownListener(int n){</p><p><b>  L=n;</b></p><p><b>  }</b></p>

56、<p>  public void actionPerformed(ActionEvent e) {</p><p>  controlTable[10-L][1]=1;</p><p>  setState(L);</p><p>  DrawControlBrick() ;</p><p><b>  }<

57、/b></p><p><b>  }</b></p><p>  public class NumberListener implements ActionListener { //相應(yīng)數(shù)字鍵被按下的動(dòng)作。</p><p>  int number = 0;

58、 //相應(yīng)的數(shù)字鍵樓層。</p><p>  NumberListener(int n) {</p><p>  number = n;</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e

59、) {</p><p>  table[10 - number] = 1;</p><p>  setState(number);</p><p>  DrawNumberBrick();</p><p><b>  }</b></p><p><b>  }</b><

60、/p><p>  public class OpencolseListener implements ActionListener { //開門關(guān)門按鈕</p><p>  //int number = 0; </p><p>  Opencolse

61、Listener() {</p><p>  //number = n;</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  octime=500;</p><p>  Syste

62、m.out.println("事件"+octime);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //***************************************主要監(jiān)聽器****************************

63、****************</p><p>  public class TimeListener implements ActionListener { //電梯線程的監(jiān)聽器。************************************</p><p>  TimeListener() {}</p>&

64、lt;p>  public void actionDown(){ //檢查向下運(yùn)行的電梯是否還需向下,即檢查在此層下還有沒有數(shù)字鍵被按下,如果沒有,則置電梯狀態(tài)為停止,并使該電梯內(nèi)所有數(shù)字鍵還原。</p><p>  if (lift.state == 2) {</p><p>  int count = 0;</p><p>  for

65、 (int i = lift.number; i > 0; i--)</p><p>  if (table[10 - i] == 1||controlTable[10-i][1]==1||controlTable[10-i][0]==1)</p><p><b>  count++;</b></p><p>  if (count ==

66、 0&& lift.number <= lift.destination) {</p><p><b>  count=0;</b></p><p>  for(int j=lift.number;j<10;j++){</p><p>  if(table[10-j]==1||controlTable[10-j][1

67、]==1||controlTable[10-j][0]==1){</p><p><b>  count++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(count>0){</p>&l

68、t;p>  lift.state=1;</p><p>  //System.out.println("改變方向:向上");</p><p><b>  }else{</b></p><p>  lift.state = 0;</p><p><b>  }</b><

69、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public void actionUp(){ //檢查向上運(yùn)行的電梯是否還需向上,即檢查在此層上還有沒有數(shù)字鍵被按下,

70、如果沒有,則置電梯狀態(tài)為停止,并使該電梯內(nèi)所有數(shù)字鍵還原。</p><p>  if (lift.state == 1) {</p><p>  int count = 0;</p><p>  for (int i = lift.number; i < 10; i++)</p><p>  if (table[10 - i] == 1

71、||controlTable[10-i][0]==1||controlTable[10-i][1]==1)</p><p>  count++;</p><p>  if (count == 0&& lift.number >=lift.destination) {</p><p><b>  count=0;</b&g

72、t;</p><p>  for(int j=lift.number;j>0;j--){</p><p>  if(table[10-j]==1||controlTable[10-j][1]==1||controlTable[10-j][0]==1){</p><p><b>  count++;</b></p><p

73、><b>  }</b></p><p><b>  }</b></p><p>  if(count>0){</p><p>  lift.state=2;</p><p>  //System.out.println("改變方向:向下");</p>

74、<p><b>  }else{</b></p><p>  lift.state = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p

75、><b>  }</b></p><p>  public void actionPerformed(ActionEvent event) {</p><p>  int state = lift.state;//紀(jì)錄電梯當(dāng)前狀態(tài)。</p><p>  if (lift.state!=0&&table[10 - li

76、ft.number] == 1) { //如果電梯經(jīng)過電梯內(nèi)數(shù)字鍵顯示的要到達(dá)的樓層,則該數(shù)字鍵狀態(tài)恢復(fù)未按,并重新顯示數(shù)字鍵顏色。</p><p>  table[10 - lift.number] = 0;</p><p>  DrawNumberBrick();</p><p>  new openclosT

77、hread();</p><p><b>  }</b></p><p>  if (state != 0&& lift.number == lift.destination) { //如果電梯屬于逆向到達(dá),則此任務(wù)完成,從任務(wù)數(shù)組中刪除并重新顯示上下鍵的顏色。</p><p>  if (state == 2&

78、;& controlTable[10 - lift.number][state - 1]== 0) {</p><p>  controlTable[10 - lift.number][2 - state] = 0;</p><p>  DrawControlBrick();</p><p>  new openclosThread();</p>

79、<p><b>  }</b></p><p>  if (state == 1&& controlTable[10 - lift.number][state - 1]== 0) {</p><p>  controlTable[10 - lift.number][2 - state] = 0;</p><p> 

80、 new openclosThread();</p><p>  DrawControlBrick();</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (state == 1) {

81、 //向上電梯經(jīng)過的向上任務(wù)完成,從任務(wù)數(shù)組中刪除并重新顯示上下鍵的顏色。</p><p>  if (controlTable[10 - lift.number][0] == 1) {</p><p>  controlTable[10 - lift.number][0] = 0;</p><p>  new openclosThread

82、();</p><p>  DrawControlBrick();</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (state == 2) { //向下電梯經(jīng)過的向下

83、任務(wù)完成,從任務(wù)數(shù)組中刪除并重新顯示上下鍵的顏色。</p><p>  if (controlTable[10 - lift.number][1] == 1) {</p><p>  controlTable[10 - lift.number][1] = 0;</p><p>  new openclosThread();</p><p> 

84、 DrawControlBrick();</p><p><b>  }</b></p><p><b>  }</b></p><p>  actionUp(); //判斷是否繼續(xù)向上</p><p>  actionDown(); //判斷是否繼

85、續(xù)向下</p><p>  state = lift.state; //如果電梯狀態(tài)不為停止,則按照運(yùn)行方向運(yùn)行。</p><p>  if (state == 1){</p><p>  lift.number++;</p><p>  //System.out.println("向上"+lift.number

86、);</p><p><b>  }</b></p><p>  if (state == 2){</p><p>  lift.number--;</p><p>  //System.out.println("向下"+lift.number);</p><p><b&

87、gt;  }</b></p><p>  //設(shè)置相應(yīng)電梯的顯示器</p><p>  sign.setText("" + lift.number);</p><p>  DrawBrick();</p><p>  new Returnfirstfloor(state);//10秒沒人按下任何鍵,則返回第一層

88、</p><p><b>  }</b></p><p><b>  }</b></p><p>  //***************************************************電梯線程時(shí)間控制。*************************************************

89、***************************************</p><p>  public class openclosThread extends Thread { </p><p>  public openclosThread() {</p><p><b>  start();</b></p><

90、;p><b>  }</b></p><p>  public void run() {</p><p>  openclose.setText("開門");</p><p><b>  try {</b></p><p>  sleep(1000);</p>

91、;<p>  } catch (InterruptedException e) {</p><p><b>  }</b></p><p>  openclose.setText("關(guān)門");</p><p><b>  }</b></p><p><b>

92、;  }</b></p><p>  public class Returnfirstfloor extends Thread { //如果在30秒內(nèi)沒有人按下任何鍵,電梯則自動(dòng)返回第一次;省電(*^__^*) 嘻嘻……</p><p>  int stater;</p><p>  int count;</p><p>  pu

93、blic Returnfirstfloor(int state) {</p><p><b>  count=0;</b></p><p>  this.stater=state;</p><p><b>  start();</b></p><p><b>  }</b>&l

94、t;/p><p>  public void run() {</p><p>  if(stater==0&&lift.number!=1){</p><p><b>  try {</b></p><p>  sleep(10000);</p><p&

95、gt;  }catch (InterruptedException e) {</p><p><b>  }</b></p><p>  for (int i = 1; i<=10; i++){</p><p>  if (table[10 - i] == 1||controlTable[10-i][1]==1||contr

96、olTable[10-i][0]==1){</p><p><b>  count++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(count==0){//如果10秒后沒人按,就設(shè)第一層為1,電梯方向?yàn)橄蛳?/p>

97、。</p><p>  table[9] = 1;</p><p>  lift.state=2;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

98、gt;<b>  }</b></p><p>  public class LiftThread extends Thread { </p><p>  public int number = 1; //電梯當(dāng)前樓層。</p><p>  public int state = 0; //電梯當(dāng)前狀態(tài),0為停止,1為

99、上升,2為下降。</p><p>  int destination; //電梯的目的樓層。</p><p><b>  int i=0;</b></p><p>  public LiftThread() {</p><p><b>  start();</b></

100、p><p><b>  i=octime;</b></p><p>  System.out.println(""+i);</p><p><b>  }</b></p><p>  public void run() {</p><p>  ActionLi

101、stener timelistener = new TimeListener();</p><p>  timer = new Timer((1500+i), timelistener);</p><p>  timer.start();</p><p><b>  }</b></p><p><b>  }&

102、lt;/b></p><p><b>  }</b></p><p><b>  課程總結(jié)</b></p><p>  一開始做電梯調(diào)度算法比較困難:因?yàn)橛性S多因素要考慮,而且需要到的許多java界面方面的知識(shí)、事件控件方面的知識(shí)和時(shí)間方面的控制知識(shí)都比較薄弱,但經(jīng)過了一段時(shí)間的學(xué)習(xí),逐步攻破各方面的弱點(diǎn)。又從書本上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論