2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  操作系統(tǒng)課程設(shè)計報告</p><p>  院(系): 計算機(jī)工程學(xué)院 </p><p>  專業(yè): 計算機(jī)科學(xué)與技術(shù)專業(yè) </p><p>  學(xué)生姓名: __ </p><p>  班級:__ 學(xué)號:    

2、 </p><p>  題目: 用多進(jìn)程同步方法演示“桔子-蘋果”問題____ </p><p>  起迄日期: _2012.07.02_--2012.07.13_ ____</p><p>  設(shè)計地點(diǎn): 現(xiàn)代教育中心    </p><p>  指 導(dǎo) 教 師: 熊曉蕓

3、 </p><p>  2011—2012年度 第 2 學(xué)期</p><p>  完成日期: 2012 年 7 月 13 日</p><p><b>  課程設(shè)計目的</b></p><p>  本次實(shí)驗(yàn)進(jìn)行操作系統(tǒng)課程設(shè)計的主要任務(wù)是模擬生產(chǎn)者和消費(fèi)者的一個衍生,即實(shí)現(xiàn)“橘子-蘋果問

4、題”。這個問題中有兩個生產(chǎn)者,分別生產(chǎn)蘋果核橘子,有兩個消費(fèi)者,分別消費(fèi)橘子和蘋果。同時,因?yàn)閮蓚€生產(chǎn)者和兩個消費(fèi)者對同一個緩沖區(qū)進(jìn)行操作,所以應(yīng)互斥的訪問緩沖區(qū)以保證程序的正確性。本次實(shí)驗(yàn)的目的就是加深各個進(jìn)程正確有效的對資源的訪問,即同步和互斥。同時掌握信號量在互斥訪問中的使用。掌握生產(chǎn)者和消費(fèi)者問題的流程和實(shí)現(xiàn)方法。同時提高編程的能力、對問題的解決能力及查閱文檔的能力。</p><p><b> 

5、 課程設(shè)計內(nèi)容與要求</b></p><p>  1、通過研究Linux的進(jìn)程同步機(jī)制和信號量,實(shí)現(xiàn)特殊的生產(chǎn)者與消費(fèi)者問題的并發(fā)控制。</p><p>  2、說明:有兩類生產(chǎn)者,一類負(fù)責(zé)生產(chǎn)桔子,一類負(fù)責(zé)生產(chǎn)蘋果;有兩類消費(fèi)者,一類負(fù)責(zé)消費(fèi)桔子,一類負(fù)責(zé)消費(fèi)蘋果;他們共享一個有20個存儲單元的有界緩沖區(qū),每個存儲單元只能放入一種產(chǎn)品(桔子/蘋果)。</p>&

6、lt;p><b>  3、設(shè)計要求:</b></p><p>  二類生產(chǎn)者與二類消費(fèi)者數(shù)目均為20,即20個生產(chǎn)者負(fù)責(zé)生產(chǎn)桔子,20個生產(chǎn)者負(fù)責(zé)生產(chǎn)蘋果;20個消費(fèi)者負(fù)責(zé)消費(fèi)桔子,20個消費(fèi)者負(fù)責(zé)消費(fèi)蘋果</p><p>  二類生產(chǎn)者的生產(chǎn)速度與二類消費(fèi)者的消費(fèi)速度均可獨(dú)立在程序界面調(diào)節(jié),在運(yùn)行中,該值調(diào)整后立即生效</p><p>

7、  多個生產(chǎn)者或多個消費(fèi)者之間必須有共享對緩沖區(qū)進(jìn)行操作的函數(shù)代碼,同時需要考慮算法的效率性</p><p>  每個生產(chǎn)者和消費(fèi)者對有界緩沖區(qū)進(jìn)行操作后,即時顯示有界緩沖區(qū)的全部內(nèi)容、當(dāng)前生產(chǎn)者與消費(fèi)者的指針位置,以及生產(chǎn)者和消費(fèi)者線程標(biāo)識符</p><p>  采用可視化界面,可在運(yùn)行過程中隨時暫停,查看當(dāng)前生產(chǎn)者、消費(fèi)者以及有界緩沖區(qū)的狀態(tài)</p><p>&

8、lt;b>  系統(tǒng)分析與設(shè)計</b></p><p><b>  1、系統(tǒng)分析</b></p><p>  1.此次任務(wù)是實(shí)現(xiàn)特殊生產(chǎn)者和消費(fèi)者的演示程序,所需要處理的信息是生產(chǎn)者和消費(fèi)者的個數(shù),生產(chǎn)蘋果、橘子和消費(fèi)蘋果、橘子的速度控制,緩沖區(qū)中橘子和蘋果的個數(shù)和當(dāng)前生產(chǎn)、消費(fèi)指針的位置。</p><p>  2.程序中需要處

9、理緩沖區(qū)的動態(tài)顯示、生產(chǎn)者和消費(fèi)者的速度可以調(diào)節(jié),生產(chǎn)者和消費(fèi)者個數(shù)可以改變。為了實(shí)現(xiàn)界面的友好性,應(yīng)該對用戶標(biāo)明清楚各個模塊的作用。同時實(shí)時的對程序進(jìn)行暫停和停止。演示程序中用圖形顯示的方法描述緩沖區(qū)的使用情況,即當(dāng)前緩沖區(qū)有多少個蘋果和橘子,還有生產(chǎn)和消費(fèi)者的指針。</p><p>  3.系統(tǒng)對外的界面如下:</p><p>  可以調(diào)節(jié)橘子和蘋果的生產(chǎn)速度和消費(fèi)蘋果和橘子的速度,在

10、文本框中輸入相應(yīng)的速度,再按下修改按鍵即可實(shí)現(xiàn)速度的實(shí)時調(diào)節(jié)。</p><p>  在蘋果生產(chǎn)者、橘子生產(chǎn)者、蘋果消費(fèi)者、橘子消費(fèi)者中實(shí)現(xiàn)對個數(shù)按鈕的按下即可動態(tài)實(shí)時的調(diào)節(jié)生產(chǎn)者和消費(fèi)者的個數(shù)的調(diào)節(jié)。</p><p>  在界面的最下面點(diǎn)擊開始按鈕,程序開始運(yùn)行,暫停按鈕使程序暫停掛起,再點(diǎn)擊則可以繼續(xù)運(yùn)行。停止按鈕實(shí)現(xiàn)此次程序的演示結(jié)束。</p><p>  4.

11、此次使用java平臺實(shí)現(xiàn),保證了程序在各種機(jī)器的運(yùn)行,只需要事前建立java的運(yùn)行環(huán)境即可,便于程序的移植</p><p><b>  5.系統(tǒng)界面如下:</b></p><p><b>  2、系統(tǒng)設(shè)計:</b></p><p><b>  2.1、模塊設(shè)計:</b></p><

12、p>  2.2、數(shù)據(jù)結(jié)構(gòu)說明:</p><p>  1.緩沖區(qū)的數(shù)據(jù)結(jié)構(gòu):雙端隊(duì)列</p><p>  說明:左端放置生產(chǎn)蘋果的指針,右端放置生產(chǎn)橘子的指針。</p><p>  2.緩沖區(qū)操作的類圖,實(shí)現(xiàn)對緩沖區(qū)的實(shí)際操作</p><p>  2.3、算法流程圖:</p><p><b>  1.生產(chǎn)

13、蘋果算法</b></p><p><b>  2.消費(fèi)蘋果算法</b></p><p><b>  3.繪圖算法</b></p><p>  4.生產(chǎn)蘋果者人工智能算法(生產(chǎn)橘子人工智能相似)</p><p>  5.蘋果消費(fèi)者人工智能算法(生產(chǎn)橘子算法類似)</p>&l

14、t;p>  四、系統(tǒng)測試與調(diào)試分析</p><p><b>  1、系統(tǒng)測試</b></p><p>  (1)因?yàn)楫?dāng)蘋果生產(chǎn)者在緩沖區(qū)滿了以后自動阻塞,需要蘋果消費(fèi)者喚醒,所以需要測試喚醒的實(shí)現(xiàn)是否正常。</p><p> ?。?)因?yàn)楫?dāng)蘋果生產(chǎn)者在緩沖區(qū)滿了以后自動阻塞,需要蘋果消費(fèi)者喚醒,所以需要測試</p><

15、p>  喚醒的實(shí)現(xiàn)是否正常。</p><p> ?。?)測試生產(chǎn)者和消費(fèi)者的速度是否可以調(diào)節(jié)</p><p>  (4)實(shí)現(xiàn)了人工智能操作:即系統(tǒng)自動保持生產(chǎn)者和消費(fèi)者的相對平衡,測試功能的正確實(shí)現(xiàn)</p><p><b>  2、調(diào)試分析:</b></p><p>  (1)程序編寫過程中,因?yàn)橛袃蓚€生產(chǎn)者和消費(fèi)

16、者,極易把操作寫錯。在編寫增加蘋果數(shù)量額函數(shù)中,程序中午無法增加蘋果數(shù)量。</p><p>  解決辦法:在函數(shù)中查找錯誤,對蘋果的操作寫成了對橘子的操作,導(dǎo)致程序出現(xiàn)問題。</p><p> ?。?)在對緩沖區(qū)進(jìn)行繪圖的時候,java的JComponent組件內(nèi)繪圖位置出現(xiàn)錯誤。</p><p>  解決辦法:JComponent內(nèi)繪圖時因?yàn)镴Component內(nèi)

17、使用的是相對坐標(biāo),所以不能使用面板的絕對坐標(biāo),換成相對坐標(biāo)正確繪圖。</p><p> ?。?)實(shí)現(xiàn)人工智能操作的時候,點(diǎn)擊相應(yīng)按鈕無法執(zhí)行</p><p>  解決辦法:在排查完畢后,發(fā)現(xiàn)按鍵響應(yīng)沒有對程序已經(jīng)設(shè)計的標(biāo)志值進(jìn)行修改,致使程序沒有按預(yù)期執(zhí)行,修改完標(biāo)志值即可以。</p><p><b>  五、用戶手冊</b></p>

18、;<p>  1.使用的語言和平臺</p><p>  本次實(shí)驗(yàn)使用的是java 語言的eclipse平臺</p><p>  2.對于程序運(yùn)行環(huán)境的注意事項(xiàng)</p><p>  需要安裝java運(yùn)行環(huán)境,eclipss平臺不需要安裝,只需要下載完成就可以使用。</p><p><b>  3.程序使用步驟</b

19、></p><p>  圖1:系統(tǒng)登錄界面。</p><p>  圖2:生產(chǎn)者速度調(diào)節(jié) 圖3:消費(fèi)者速度調(diào)節(jié)</p><p>  圖4:生產(chǎn)者數(shù)量調(diào)節(jié) 圖5:消費(fèi)者數(shù)量調(diào)節(jié)</p><p><b>  圖 6::控制界面</b></p&g

20、t;<p>  圖7:動態(tài)可視化緩沖區(qū)</p><p><b>  4.程序使用步驟:</b></p><p>  1)單擊開始按鈕,程序開始初始化執(zhí)行</p><p>  2)點(diǎn)擊增加按鈕分別增加生產(chǎn)者和消費(fèi)者,可以看到可視化緩沖區(qū)開始運(yùn)動</p><p>  3)在速度調(diào)節(jié)部分調(diào)節(jié)生產(chǎn)者和消費(fèi)者的速度,

21、可以看到緩沖區(qū)出現(xiàn)預(yù)期的產(chǎn)品種類和數(shù)量的變化。</p><p>  4)在程序運(yùn)行狀態(tài),可以點(diǎn)擊“人工智能”按鈕,可以實(shí)現(xiàn)人工智能自動操作緩沖區(qū),保持緩沖區(qū)的產(chǎn)品數(shù)量和種類的穩(wěn)定,不至于產(chǎn)品數(shù)量過多或過少,也不會出現(xiàn)某種產(chǎn)品數(shù)量過多或者過少。</p><p><b>  六、程序清單</b></p><p>  public void incr

22、easeapple()</p><p><b>  {</b></p><p>  empty.acquire(); //相當(dāng)于信號量的P操作,申請空緩沖區(qū)</p><p>  mutex.acquire(); //互斥信號量</p><p>  if(pointapple+1 != pointorange){&

23、lt;/p><p>  pointapple++;</p><p>  if(pointapple == 20)</p><p>  pointapple=19;</p><p>  isFull[pointapple] = true; //將生產(chǎn)了產(chǎn)品的標(biāo)志位設(shè)置為滿applenum++;</p><p>

24、  storage[pointapple] = 'A';//存儲生產(chǎn)的產(chǎn)品</p><p>  pool[pointapple] = 1;//標(biāo)志此位置生產(chǎn)的是蘋果,1表示蘋果</p><p><b>  }</b></p><p>  String str2 = Thread.currentThread().getName()

25、;</p><p>  Apple.textArea2.append("生產(chǎn)者生產(chǎn)了一個蘋果" + str2 + " 運(yùn)行\(zhòng)n");</p><p><b>  number++;</b></p><p>  Apple.textArea1.append("倉庫中的產(chǎn)品個數(shù)為" + n

26、umber + "\n");</p><p>  Apple.textArea1.append("它們是:\n");</p><p>  for (int j = 0; j < 20; j++)</p><p><b>  {</b></p><p>  if(storage

27、[j] != '0')</p><p>  Apple.textArea1.append("("+j+")"+storage[j] + " ");</p><p><b>  else </b></p><p>  Apple.textArea1.append(&quo

28、t; ");</p><p><b>  }</b></p><p>  Apple.textArea1.append("\n");</p><p>  mutex.release();//釋放互斥鎖</p><p>  full.release();//增加滿信號量的值</p>

29、<p>  apple.release();//增加蘋果信號量的值</p><p><b>  }</b></p><p>  public void increaseorange()</p><p><b>  {</b></p><p>  empty.acquire();//相當(dāng)

30、于信號量的P操作,申請空緩沖區(qū)</p><p>  mutex.acquire();//互斥進(jìn)入臨界區(qū)</p><p>  if(pointapple+1!= pointorange){</p><p>  pointorange--;</p><p>  if(pointorange < 0)</p><p>

31、  pointorange = 0;</p><p>  isFull[pointorange] = true;//將此位置設(shè)置成滿狀態(tài)</p><p>  orangenum++;</p><p>  storage[pointorange] = 'O';//存儲生產(chǎn)產(chǎn)品,O表示橘子</p><p>  pool[point

32、orange] = 2;//標(biāo)志此位置是橘子,2表示橘子</p><p><b>  }</b></p><p>  String str2 = Thread.currentThread().getName();</p><p>  Apple.textArea2.append("生產(chǎn)者生產(chǎn)了一個橘子" + str2 + &

33、quot; 運(yùn)行\(zhòng)n");</p><p><b>  number++;</b></p><p>  Apple.textArea1.append("倉庫中的數(shù)字個數(shù)為" + number + "\n");</p><p>  Apple.textArea1.append("它們是:

34、\n");</p><p>  for (int j = 0; j < 20; j++)</p><p><b>  {</b></p><p>  if(storage[j] != '0')</p><p>  Apple.textArea1.append("("+j

35、+")"+storage[j] + " ");</p><p><b>  else </b></p><p>  Apple.textArea1.append(" ");</p><p><b>  }</b></p><p>  App

36、le.textArea1.append("\n");</p><p>  mutex.release();//退出臨界區(qū)</p><p>  full.release();//增加滿信號量的值</p><p>  orange.release();//增加橘子信號量的值</p><p><b>  }</b

37、></p><p>  public void decreaseapple()</p><p><b>  {</b></p><p>  apple.acquire();//申請獲得蘋果</p><p>  full.acquire();//申請滿緩沖區(qū)</p><p>  mutex.a

38、cquire();//互斥進(jìn)入臨界區(qū)</p><p>  String str2 = Thread.currentThread().getName();</p><p>  Apple.textArea2.append("消費(fèi)者" + str2 + " 運(yùn)行\(zhòng)n");</p><p><b>  number--;&

39、lt;/b></p><p>  applenum--;</p><p>  isFull[pointapple] = false;//此位置設(shè)置為空</p><p>  pool[pointapple] = 0;//標(biāo)志此位置是空位置,0表示空</p><p>  Apple.textArea2.append("蘋果消費(fèi)一個

40、" +storage[applepool[applenum]]+ " 運(yùn)行\(zhòng)n");</p><p>  storage[pointapple] = '0';</p><p>  pointapple--; //蘋果指針減1</p><p>  Apple.textArea1.append("倉庫中的數(shù)字個

41、數(shù)為" + number + "\n");</p><p>  Apple.textArea1.append("它們是:\n");</p><p>  for (int j = 0; j < 20; j++)</p><p><b>  {</b></p><p>

42、  if(storage[j] != '0')</p><p>  Apple.textArea1.append("("+j+")"+storage[j] + " ");</p><p><b>  else </b></p><p>  Apple.textArea1

43、.append(" ");</p><p><b>  }</b></p><p>  Apple.textArea1.append("\n");</p><p>  mutex.release();//退出臨界區(qū)</p><p>  empty.release();//空緩沖區(qū)信

44、號量+1</p><p><b>  }</b></p><p>  public void decreaseorange()</p><p><b>  {</b></p><p>  orange.acquire();//申請獲得橘子</p><p>  full.acq

45、uire();//申請滿緩沖區(qū)</p><p>  mutex.acquire();//互斥進(jìn)入臨界區(qū)</p><p>  String str2 = Thread.currentThread().getName();</p><p>  Apple.textArea2.append("消費(fèi)者" + str2 + " 運(yùn)行\(zhòng)n"

46、;);</p><p><b>  number--;</b></p><p>  orangenum--; </p><p>  isFull[pointorange] = false;</p><p>  pool[pointorange] = 0;</p><p>  Apple.t

47、extArea2.append("橘子消費(fèi)一個" + storage[orangepool[orangenum]] + " 運(yùn)行\(zhòng)n");</p><p>  storage[pointorange] = '0';</p><p>  pointorange++; //橘子指針右移一位</p>

48、<p>  Apple.textArea1.append("倉庫中的數(shù)字個數(shù)為" + number + "\n");</p><p>  Apple.textArea1.append("它們是:\n");</p><p>  for (int j = 0; j < 20; j++)</p><

49、p><b>  {</b></p><p>  if(storage[j] != '0')</p><p>  Apple.textArea1.append("("+j+")"+storage[j] + " ");</p><p><b>  else

50、</b></p><p>  Apple.textArea1.append(" ");</p><p><b>  }</b></p><p>  Apple.textArea1.append("\n");</p><p>  mutex.release();//退出臨

51、界區(qū)</p><p>  empty.release();//空信號量+1</p><p><b>  }</b></p><p>  class Semaphore{</p><p>  int value;</p><p>  public Semaphore(int v){</p>

52、;<p>  this.value = v;</p><p><b>  }</b></p><p>  //定義P原語操作,原語操作就是執(zhí)行時不能中斷,所以synchronized修飾</p><p>  public synchronized void acquire(){</p><p><

53、;b>  value--;</b></p><p>  if(value<0){</p><p><b>  try {</b></p><p>  this.wait();</p><p>  } catch (InterruptedException e) {</p><p

54、>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public synchronized void release(){</

55、p><p><b>  value++;</b></p><p>  if(value<=0){</p><p>  this.notify();</p><p><b>  }</b></p><p><b>  }</b></p>&

56、lt;p><b>  }</b></p><p><b>  }</b></p><p>  public static int increaseappleProducer()//增加蘋果生產(chǎn)者線程</p><p><b>  {</b></p><p>  if(i1

57、< 20)</p><p><b>  {</b></p><p>  appleincrease[i1] = new Increaseapple(myStorage);</p><p>  appleincrease[i1].start();</p><p><b>  i1++;</b>&

58、lt;/p><p><b>  }</b></p><p>  return i1;</p><p><b>  }</b></p><p>  public static int increaseorangeProducer()//增加橘子生產(chǎn)者線程</p><p><b

59、>  {</b></p><p>  if(i2 < 20)</p><p><b>  {</b></p><p>  orangeincrease[i2] = new Increaseorange(myStorage);</p><p>  orangeincrease[i2].start()

60、;</p><p><b>  i2++;</b></p><p><b>  }</b></p><p>  return i2;</p><p><b>  }</b></p><p>  public static int decreaseappl

61、eProducer()//減少蘋果生產(chǎn)者線程</p><p><b>  {</b></p><p>  if(i1 > 0)</p><p><b>  {</b></p><p>  appleincrease[i1 - 1].out = true;</p><p>

62、;  appleincrease[i1 - 1] = null;</p><p><b>  i1--;</b></p><p><b>  }</b></p><p>  return i1;</p><p><b>  }</b></p><p> 

63、 public static int decreaseorangeProducer()//減少橘子生產(chǎn)者線程</p><p><b>  {</b></p><p>  if(i2 > 0)</p><p><b>  {</b></p><p>  orangeincrease[i2 - 1

64、].out = true;</p><p>  orangeincrease[i2 - 1] = null;</p><p><b>  i2--;</b></p><p><b>  }</b></p><p>  return i2;</p><p><b> 

65、 }</b></p><p>  public static int increaseappleConsumer()//增加蘋果消費(fèi)者線程</p><p><b>  {</b></p><p>  if(d1 < 20)</p><p><b>  {</b></p&g

66、t;<p>  appledecrease[d1] = new Decreaseapple(myStorage);</p><p>  appledecrease[d1].start();</p><p><b>  d1++;</b></p><p><b>  }</b></p><p

67、>  return d1;</p><p><b>  }</b></p><p>  public static int increaseorangeConsumer()//增加橘子消費(fèi)者線程</p><p><b>  {</b></p><p>  if(d2 < 20)</

68、p><p><b>  {</b></p><p>  orangedecrease[d2] = new Decreaseorange(myStorage);</p><p>  orangedecrease[d2].start();</p><p><b>  d2++;</b></p>

69、<p><b>  }</b></p><p>  return d2;</p><p><b>  }</b></p><p>  public static int decreaseappleConsumer()//減少蘋果消費(fèi)者線程</p><p><b>  {<

70、;/b></p><p>  if(d1 > 0)</p><p><b>  {</b></p><p>  appledecrease[d1 - 1].out = true;</p><p>  appledecrease[d1 - 1] = null;</p><p><b

71、>  d1--;</b></p><p><b>  }</b></p><p>  return d1;</p><p><b>  }</b></p><p>  public static int decreaseorangeConsumer()//減少橘子消費(fèi)者線程<

72、/p><p><b>  {</b></p><p>  if(d2 > 0)</p><p><b>  {</b></p><p>  orangedecrease[d2 - 1].out = true;</p><p>  orangedecrease[d2 - 1]

73、 = null;</p><p><b>  d2--;</b></p><p><b>  }</b></p><p>  return d2;</p><p><b>  }</b></p><p><b>  七、體會與自我評價</

74、b></p><p>  對于此次課程設(shè)計,我使用的是做圖形用戶界面比較容易的java語言,但是自己對java的掌握也不是很深入,尤其是這門不斷發(fā)展壯大的語言,里面包含了各方面的操作,所以掌握起來難度不小,此次課設(shè)基本上都是在開學(xué)后的這兩周內(nèi)完成的。</p><p>  這次實(shí)驗(yàn)中需要用到的操作種類很多很雜亂,我都是先在紙上設(shè)計完完畢,之后再一點(diǎn)點(diǎn)的將它在計算機(jī)中實(shí)現(xiàn)預(yù)期的效果,在一

75、點(diǎn)點(diǎn)的設(shè)計中,每當(dāng)攻克了一個自己認(rèn)為難的地方的時候,就會有一種喜悅感產(chǎn)生,促使我去解決更多的問題,這就是學(xué)習(xí)的樂趣吧,只是單純的將自己的任務(wù)完善,追求更高的要求。后來自己做程序做上癮了,不斷有新奇的想法蹦出來,我就開始癡迷的設(shè)計實(shí)現(xiàn),結(jié)果到現(xiàn)在程序的質(zhì)量已經(jīng)遠(yuǎn)遠(yuǎn)超過了我的預(yù)期。我自此明白了學(xué)習(xí)追求上的快樂。此次課程設(shè)計在實(shí)現(xiàn)緩沖區(qū)動態(tài)圖形顯示的時候自己遇到了困境,在查閱了多方資料后仍然沒有什么進(jìn)展,自己開始著急,擔(dān)心會做不完,不過依舊每

76、天呆在電腦前,不斷的積累經(jīng)驗(yàn),最后才找到繪圖的方法,成果的在界面中描繪出了自己想要的圖形。</p><p>  自己一直都想去追求更高的分?jǐn)?shù),做的盡善盡美,力圖超額完成老師的任務(wù),不斷的添加自己想到的新功能。但最后完成課程設(shè)計的時候,我終于明白,分?jǐn)?shù)不過是個數(shù)字,知識才是自己的。通過這次課程設(shè)計,我確實(shí)學(xué)到了很多東西,多年后我可能已經(jīng)忘記這次課設(shè)最后打了多少分,但這些學(xué)到的東西卻可以使我受益終生。除了知識技術(shù)上的

77、東西,我更鍛煉了自己的快速學(xué)習(xí)能力;我學(xué)會了如何快速有效地從圖書館、網(wǎng)絡(luò)獲取自己需要的信息;我嘗到了在周圍很多同學(xué)拷來拷去時孤軍奮戰(zhàn)的痛苦;我體會了夜以繼日完成一個項(xiàng)目時中途過程的艱辛及最終完成后巨大的成就感……我更加深了人生的信心,以后面對任何一個困難的項(xiàng)目,我想我都不會懼怕,并最終能夠成功地將其完成。</p><p>  感謝老師,感謝此次課程設(shè)計。雖然在其中吃了不少苦頭,但我毫不后悔,因?yàn)槲覞M載而歸。<

78、;/p><p><b>  八、參考文獻(xiàn)</b></p><p>  [1] 湯子瀛 編著,《計算機(jī)操作系統(tǒng)(修訂版)》,西安電子科技大學(xué)出版社,2001</p><p>  [2] 操作系統(tǒng)教程與實(shí)驗(yàn) 胡明慶,高巍,鐘梅 清華大學(xué)出版社 2007.1 </p><p>  [3] Cay S.Horstmann ,Gay

79、cornell著 ,《java核心技術(shù)》(第八版),機(jī)械工業(yè)出版社 2008</p><p>  [4] BrucEckel著, 《java編程思想》(第四版)機(jī)械工業(yè)出版社 2007</p><p>  [5] Rogers Cadenhead著,梅興文譯,Java編程入門經(jīng)典,人民郵電出版社,2007</p><p>  九、課程設(shè)計評價(由任課教師填寫)<

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論