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

下載本文檔

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

文檔簡介

1、<p>  一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p>  1.設(shè)計(jì)內(nèi)容:通過本周的課程設(shè)計(jì),學(xué)生能夠鞏固所學(xué)的基礎(chǔ)知識,并能夠使學(xué)生更加熟練運(yùn)用匯編程序設(shè)計(jì)語言來掌握綜合匯編程序設(shè)計(jì)的方法和過程,以及為設(shè)計(jì)其它應(yīng)用軟件提供幫助,進(jìn)而提高學(xué)生的軟件設(shè)計(jì)能力。</p><p>  1、編制一計(jì)算比賽成績的程序,要求完成以下功能:</p><p> ?。?) 9名

2、評委,每個(gè)評委給分范圍為0~10(整數(shù));</p><p> ?。?) 9名評委給分中,去掉一個(gè)最高分和一個(gè)最低分,剩余7名評委的平均分即為參賽者的得分(精確到小數(shù)點(diǎn)二位);</p><p> ?。?) 將得分在光標(biāo)位置處顯示出來。</p><p>  2、編制一程序,要求接收從鍵盤輸入的一個(gè)班的學(xué)生成績,并存放于30字的grade數(shù)組中,各數(shù)據(jù)的格式為:</

3、p><p>  學(xué)號,成績1,成績2,…,成績5</p><p>  然后根據(jù)grade中的學(xué)生成績,把學(xué)生名次填入rank數(shù)據(jù)組中,并顯示出來,格式為:</p><p><b>  學(xué)號,名次</b></p><p>  3、利用INT 1CH(大約每秒中斷18.2次)編寫一個(gè)中斷駐留程序,要求在屏幕的右上角顯示計(jì)算機(jī)中當(dāng)

4、前系統(tǒng)時(shí)間,顯示格式為</p><p>  時(shí):分:秒:1/100秒</p><p>  4、輸入一個(gè)菱形的兩條對角線長,在屏幕上用‘*’號畫出一個(gè)彩色的菱形。</p><p>  5、設(shè)置圖形方式并顯示彩條,要求:</p><p>  選擇背景色為藍(lán)色,調(diào)色板為0,然后每行顯示一種顏色,每四行重復(fù)一次,一直到整個(gè)屏幕都顯示出彩條</p

5、><p><b>  2.設(shè)計(jì)要求:</b></p><p>  掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗(yàn)。</p><p>  設(shè)計(jì)正確,方案合理。</p><p>  界面友好,使用方便。</p><p>  程序精

6、煉,結(jié)構(gòu)清晰。</p><p>  設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說明,用戶使用說明,源程序清單及程序框圖。</p><p><b>  上機(jī)演示。</b></p><p>  按學(xué)號順序選課題號,并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的匯編源程序編寫、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤中;</p><p> 

7、 按本任務(wù)書的要求,按附錄的要求編寫《課程設(shè)計(jì)報(bào)告》(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; </p><p><b>  二、進(jìn)度安排</b></p><p><b>  第 1 周: </b></p><p>  星期1 </p><p>  星期2

8、 </p><p>  星期3 </p><p>  星期4 </p><p><b>  附:</b></p><p>  課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。 </p><p&g

9、t;  正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。</p><p>  正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨專?lt;/p><p>  正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼

10、)。</p><p><b>  目錄</b></p><p><b>  一、題目1</b></p><p>  二、程序總體設(shè)計(jì)方案、思路1</p><p>  1.1.總體設(shè)計(jì)方案1</p><p>  1.2.設(shè)計(jì)思路1</p><

11、p>  三、程序設(shè)計(jì)框圖2</p><p>  四、源程序清單3</p><p>  五、程序調(diào)試結(jié)果7</p><p><b>  六、設(shè)計(jì)總結(jié)7</b></p><p><b>  題目</b></p><p>  編制一計(jì)算比賽成績的程序,要求完成

12、以下功能:</p><p>  (1) 9名評委,每個(gè)評委給分范圍為0~10(整數(shù));</p><p> ?。?) 9名評委給分中,去掉一個(gè)最高分和一個(gè)最低分,剩余7名評委的平均分即為參賽者的得分(精確到小數(shù)點(diǎn)二位);</p><p> ?。?) 將得分在光標(biāo)位置處顯示出來。</p><p>  程序總體設(shè)計(jì)方案、思路</p>

13、<p><b>  總體設(shè)計(jì)方案</b></p><p>  通過讀取依次從鍵盤輸入的9個(gè)兩位的十進(jìn)制數(shù)得分,將得分保存在字符串中,然后用冒泡法將9個(gè)數(shù)的位置按大小重新排列并輸出,再將中間的7個(gè)數(shù)累加起來除以7,即得到去掉最高分和最低分之后的平均分,最后設(shè)置光標(biāo)位置到平均分處。</p><p><b>  設(shè)計(jì)思路</b></p&

14、gt;<p>  通過記錄鍵盤,將ASCII碼轉(zhuǎn)化為二進(jìn)制數(shù)寸入長度為9的字符串中,此部分使用用循環(huán)結(jié)構(gòu)。若輸入的兩位數(shù)的首位,即十位,非0或非1,則提示錯(cuò)誤并要求重復(fù)輸入,若輸入的個(gè)位數(shù)非0~9中的數(shù),則提示錯(cuò)誤并要求重復(fù)輸入。</p><p>  用冒泡法重排9個(gè)數(shù),使得第1和第9個(gè)數(shù)分別為最大數(shù)和最小數(shù),并在屏幕中依次顯示出來。然后用循環(huán)語句求出9個(gè)數(shù)中中間的7個(gè)數(shù)的和,即總得分,若總得分為7

15、0分,則直接輸出平均分:10.00分。若小于70分則將總得分除以7,得到的商作為平均分的個(gè)位數(shù),輸出一個(gè)小數(shù)點(diǎn),將余數(shù)乘以10再除以7,如此循環(huán)3次,后兩次不輸出小數(shù)點(diǎn),得到精確到小數(shù)點(diǎn)后兩位的平均的分?jǐn)?shù),再將平均分輸出。最后改變光標(biāo)位置為平均得分處。</p><p><b>  程序設(shè)計(jì)框圖</b></p><p><b>  YES</b>&

16、lt;/p><p><b>  NO</b></p><p><b>  源程序清單</b></p><p>  DATA SEGMENT</p><p>  BUF DB 10 DUP(0)</p><p>  STRING1 DB 'Please enter the

17、 score '</p><p>  NUMBER DB 31H,': ','$'</p><p>  STRING2 DB 0AH,'The ranged scores are:','$'</p><p>  STRING3 DB 'After removing the highest

18、 and lowest score, the average score is: ','$'</p><p>  ERROR DB 'ERROR',0AH,0DH,'$'</p><p><b>  DATA ENDS</b></p><p>  CODE SEGMENT</p>

19、;<p>  ASSUME CS:CODE,DS:DATA</p><p>  START: MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p>  XOR SI,SI;SI置0</p><p>  MOV CX,9;9個(gè)數(shù)</p><p>

20、;<b>  INPUT:</b></p><p>  LEA DX,STRING1</p><p>  MOV AH,9 </p><p><b>  INT 21H</b></p><p><b>  MOV AH,1</b></p><p&

21、gt;  INT 21H;輸入得分的十位到AL</p><p>  CMP AL,'0'</p><p>  JB ER ;AL<0小于則跳到ER</p><p>  CMP AL,'1'</p><p>  JA ER ;AL>1則跳到ER</p><p>  SU

22、B AL,30H</p><p><b>  MOV DL,10</b></p><p>  MUL DL;十位乘以10</p><p>  MOV DX,AX;DX存十位數(shù)</p><p><b>  MOV AH,1</b></p><p>  INT 21H;輸入得分的

23、個(gè)位到AL</p><p>  CMP AL,'0'</p><p>  JB ER ;AL<0小于則跳到ER</p><p>  CMP AL,'9'</p><p>  JA ER ;AL>10則跳到ER</p><p>  SUB AL,30H</p>&

24、lt;p>  ADD AL,DL;個(gè)位十位相加到AL</p><p>  MOV BUF[SI],AL</p><p><b>  INC SI</b></p><p>  INC NUMBER</p><p>  MOV DL,0AH;換行</p><p><b>  MOV A

25、H,2</b></p><p><b>  INT 21H</b></p><p>  MOV DL,0DH;回車</p><p><b>  INT 21H</b></p><p>  LOOP INPUT;循環(huán)輸入9次</p><p>  JMP RANGE_

26、0;轉(zhuǎn)入排序</p><p><b>  ER:</b></p><p>  ;輸入錯(cuò)誤后返回重新輸入</p><p>  LEA DX,ERROR</p><p><b>  MOV AH,9</b></p><p><b>  INT 21H</b>

27、</p><p><b>  JMP INPUT</b></p><p>  RANGE_0: </p><p><b>  MOV BX,1</b></p><p><b>  MOV CX,9</b></p><p><b>  XO

28、R DI,DI</b></p><p>  RANGE: MOV AL,BUF[DI]</p><p>  CMP AL,BUF[DI+1]</p><p>  JAE NEXT_1</p><p>  XCHG BUF[DI+1],AL</p><p>  MOV BUF[DI],AL</p>

29、;<p><b>  MOV BX,0</b></p><p>  NEXT_1: INC DI</p><p>  LOOP RANGE</p><p><b>  CMP BX,0</b></p><p>  JE RANGE_0</p><p><

30、;b>  ;冒泡法排列得分</b></p><p>  LEA DX,STRING2</p><p><b>  MOV AH,9</b></p><p><b>  INT 21H</b></p><p><b>  MOV CX,9</b></p&g

31、t;<p>  XOR SI,SI;SI清零</p><p><b>  MOV AH,2</b></p><p>  RANGE_OUTPUT:</p><p>  ; 輸出排序后的得分 </p><p>  MOV DL,BUF[SI]</p><p>  A

32、DD DL,30H</p><p>  CMP DL,39H;判斷是否是10分</p><p><b>  JA TENS_1</b></p><p>  JBE TENS_0</p><p><b>  TENS_1: </b></p><p>  ;十位數(shù)為1,則輸出&#

33、39;10'</p><p><b>  MOV BX,1</b></p><p>  MOV DL,'1'</p><p><b>  INT 21H</b></p><p>  MOV DL,'0'</p><p><b>

34、;  INT 21H</b></p><p><b>  INC SI</b></p><p>  MOV DL,','</p><p><b>  INT 21H</b></p><p>  JMP NEXT_2</p><p><b>

35、;  TENS_0:</b></p><p>  ;十位數(shù)為0,則按原得分輸出</p><p><b>  INT 21H</b></p><p><b>  INC SI</b></p><p>  MOV DL,','</p><p><

36、b>  INT 21H</b></p><p><b>  NEXT_2:</b></p><p>  LOOP RANGE_OUTPUT</p><p><b>  MOV AH,2</b></p><p>  MOV DL,0AH;換行</p><p>

37、<b>  INT 21H</b></p><p>  MOV DL,0AH;換行</p><p><b>  INT 21H</b></p><p>  MOV DL,0DH;回車</p><p><b>  INT 21H</b></p><p> 

38、 LEA DX,STRING3</p><p><b>  MOV AH,9H</b></p><p><b>  INT 21H</b></p><p>  MOV CX,7;累加中間7個(gè)數(shù)字</p><p><b>  XOR AX,AX</b></p>&l

39、t;p><b>  DEC SI</b></p><p><b>  SUM:</b></p><p><b>  ;求7個(gè)分?jǐn)?shù)的和</b></p><p><b>  DEC SI</b></p><p>  ADD AL,BUF[SI]</

40、p><p><b>  LOOP SUM</b></p><p>  CMP AL,46H</p><p>  JAE FULL_MARK</p><p>  JMP N_FULL_MARK</p><p>  FULL_MARK:</p><p><b>  ;滿分

41、時(shí)</b></p><p><b>  MOV AH,2H</b></p><p>  MOV DL,'1'</p><p><b>  INT 21H</b></p><p>  MOV DL,'0'</p><p><b

42、>  INT 21H</b></p><p>  MOV DL,'.'</p><p><b>  INT 21H</b></p><p>  MOV DL,'0'</p><p><b>  INT 21H</b></p><p

43、>  MOV DL,'0'</p><p><b>  INT 21H</b></p><p>  JMP ENDING</p><p>  N_FULL_MARK:</p><p><b>  ;非滿分時(shí)</b></p><p><b>  

44、MOV CX,2</b></p><p>  MOV BH,1;小數(shù)點(diǎn)只出現(xiàn)1次</p><p><b>  DIVISION:</b></p><p><b>  MOV BL,7</b></p><p>  DIV BL;除以7</p><p><b&g

45、t;  PUSH AX</b></p><p>  ADD AL,30H</p><p>  MOV DL,AL </p><p><b>  MOV AH,2</b></p><p><b>  INT 21H</b></p><p><b>  CM

46、P BH,0</b></p><p><b>  JE DOT</b></p><p>  MOV DL,'.'</p><p><b>  MOV BX,0</b></p><p>  DOT: INT 21H</p><p><b&

47、gt;  POP AX</b></p><p>  MOV AL,AH;余數(shù)存入AL</p><p><b>  MOV DL,10</b></p><p>  MUL DL;余數(shù)乘以10,結(jié)果存入AX</p><p>  LOOP DIVISION</p><p><b>

48、  ENDING:</b></p><p><b>  MOV AH,02</b></p><p><b>  MOV BH,0</b></p><p>  MOV DX,0C46H</p><p>  INT 10H;設(shè)置光標(biāo)位置</p><p><b&g

49、t;  MOV AH,1</b></p><p><b>  INT 21H</b></p><p>  CODE ENDS</p><p><b>  END START</b></p><p><b>  程序調(diào)試結(jié)果</b></p><

50、;p><b>  設(shè)計(jì)總結(jié)</b></p><p>  通過課程幾天的課程設(shè)計(jì),學(xué)到了諸多上課學(xué)不到的知識,特別是體會(huì)到了匯編語言與高級程序語言編程的不同,起初非常不適宜匯編語言的編程,高級程序語言中的基本功能,入多重循環(huán)和套嵌,在匯編語言看來缺是相當(dāng)復(fù)雜的,還有數(shù)字的輸入和輸出都要經(jīng)過ASCII碼與二進(jìn)制的轉(zhuǎn)換,數(shù)據(jù)的定義少得可憐,這些特性都讓起初的我感到寸步難行。但是進(jìn)過進(jìn)一步的上

51、機(jī)操作和學(xué)習(xí),匯編語言開始變得明朗起來。</p><p>  此次程序設(shè)計(jì)雖然收獲不小,也留有許多遺憾,如程序沒有能夠?qū)斎氲梅执笥?0分的錯(cuò)誤操作做出提示,結(jié)果的平均分的百分位在某些時(shí)候存在誤差,有可能是因?yàn)槌绦蛑袛?shù)據(jù)是以字節(jié)形式存儲(chǔ)的,字符長度太短導(dǎo)致誤差,也有可能是因?yàn)榍笮?shù)的方法導(dǎo)致的。</p><p>  總的來說這次課程設(shè)計(jì)雖然遇到了一些比較麻煩的問題,但還算比較順利,經(jīng)過一些

溫馨提示

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

評論

0/150

提交評論