• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      不同計算機語言融合教學方法的探索與體會

      2016-06-29 09:21:52成婭輝
      考試周刊 2016年47期
      關鍵詞:匯編語言融合教學案例教學

      成婭輝

      摘 要: 計算機語言是計算機科學與技術專業(yè)學生必須掌握的一項基本技能。文章結合作者在長期語言教學實踐中的經(jīng)驗,把C語言與匯編語言有意識地融合起來,對如何搞好計算機語言教學做了相應的探索,取得了較好的教學效果。

      關鍵詞: C語言 匯編語言 案例教學 融合教學

      “計算機科學與技術”專業(yè)學生在專業(yè)學習不同階段都會學習不同的程序設計語言,為什么要學習這么多種語言?每種語言有什么特點?這是學生常感到困惑的問題。

      筆者在長期教學過程中把C語言和匯編語言、機器語言有意識地結合起來講解,使學生更好地掌握不同計算機語言特點,理解不同計算機語言的不同應用領域,取得一定的經(jīng)驗,同時在教學活動中取得不錯的效果,受到學生的歡迎。

      一、C語言和匯編語言、機器語言的關系

      C語言稱之為“高級語言”或“中級語言”,匯編語言、機器語言稱之為“低級語言”。初學計算機的學生很難理解為什么這么命名。理解好這些概念,對今后進一步學習其他專業(yè)課程十分重要。

      在教學過程中,講解匯編語言時,首先將匯編語言和機器語言的關系告訴學生:計算機其實不認識匯編語言,也不認識C語言,計算機唯一能執(zhí)行的只是機器語言。

      機器語言是用“0”、“1”寫成的語言,每條機器語言指令都對應一串“0”和“1”的代碼,如果用這種代碼編程很不方便,既不方便記憶,又不方便理解和調試。因此采用一系列符號代替這種“0”和“1”寫成的機器語言指令,例如:8086CPU中的機器指令1011000000000110,我們就用MOV AL,06H 這種符號代替,后者只是幫助記憶和理解的“助記符”。

      我們把用這種助記符寫成的指令稱之為“匯編語言指令”。匯編語言指令和機器語言指令是一一對應的關系。用“匯編語言指令”寫成的程序稱為匯編語言源程序,必須“翻譯”成“機器語言”才能執(zhí)行。由于匯編語言指令和機器語言指令是一一對應的關系,因此“翻譯”起來比較簡單,我們把這個“翻譯”的過程稱為“匯編”(Assembly)。

      使用匯編語言和機器語言的編程必須了解計算機的CPU內部結構,以及硬件接口電路,它和計算機底層密切相關,因此稱之為“低級語言”。

      同樣,計算機也不認識C語言,C語言是用C語言語句編寫程序。用“C語言”寫成的程序稱為C語言源程序,這種用C語言語句編寫的源程序必須“翻譯”成機器語言才能執(zhí)行,只是這個“翻譯”過程更復雜,翻譯出來的機器語言代碼更大,我們把這個過程稱為“編譯”(Compile)。

      由于C語言是按照自然語言的特點,同時結合數(shù)學表達式編程?;静挥昧私獾讓佑布慕Y構,可讀性強,學習重點在數(shù)據(jù)結構和算法,所以稱之為“高級語言”。

      使用其他“高級語言”編程的過程也都一樣,都必須把用這種語言編寫的計算機“源程序”通過“編譯”變成“機器語言”、“目標程序”,才能被計算機認識并執(zhí)行。

      通過這樣講解,學生理解了C語言等“高級語言”和機器語言“低級語言”之間的關系。

      二、學習多種計算機語言的原因

      我們在教學過程中發(fā)現(xiàn)學生學習計算機語言的重點放在學習語言的數(shù)據(jù)類型、程序結構、語法規(guī)則等局部細節(jié)上,忽視從總體上把握和理解計算機語言。在實際教學中,我通過講解匯編語言和C語言的特點,告訴學生不同計算機語言的不同應用場合。

      首先,匯編語言是針對CPU的,不同CPU的匯編語言又是不同的。學習起來困難一些,但生成的代碼短、程序執(zhí)行效率高,更適合實時控制、硬件編程。

      高級語言如C語言,由于是按照自然語言方式編程,因此程序本身容易讀懂。由于不需要了解硬件底層,因此我們更多的是學習如何用計算機實現(xiàn)一些數(shù)學算法。

      教學過程中為了讓學生理解這些概念,我特意采用C語言和匯編語言分別編寫一個程序實例,實現(xiàn)顯示“I WISH YOU SUCCESS!”(取文件名A)。

      兩個程序輸出結果一樣,但用不同語言編寫,通過實例對比說明C語言和匯編語言的特點。

      C語言源程序:

      #include

      main()

      {printf(“I WISH YOU SUCCESS!”);

      }

      匯編語言源程序:

      DATA SEGMENT

      BUF DB 0AH,0DH,I WISH YOU SUCCESS!$

      DATA ENDS

      CODE SEGMENT

      ASSUME CS:CODE,DS:DATA

      START:MOV AX,DATA

      MOV DS,AX

      MOV DX,OFFSET BUF

      MOV AH,09H

      INT 21H

      MOV AH,4CH

      INT 21H

      CODE ENDS

      END START

      這兩個程序都實現(xiàn)顯示器輸出“I WISH YOU SUCCESS!”。

      可以看到C語言程序的源程序文件A.C為63個字節(jié),通過編譯,可執(zhí)行文件A.EXE為9489個字節(jié)。匯編語言的源程序文件A.ASM為263個字節(jié)。通過匯編,可執(zhí)行文件A.EXE為560個字節(jié)。

      從這個程序設計實例我們知道,相比較C語言和匯編語言,C語言的源文件小(71個字節(jié)),但是可執(zhí)行文件很大(9515個字節(jié)),匯編語言的源文件大(352個字節(jié)),但是可執(zhí)行文件很小(554個字節(jié))。

      通過這兩個程序設計實例,學生清楚地感受C語言(高級語言)源程序可讀性好,容易理解,匯編語言源程序可讀性差,難看懂。但從效率來說,同一個程序,匯編語言的目標代碼效率遠高于C語言。

      其實,不同計算機語言有各自特點,也有不同的應用領域。如在實時控制、內存容量很小的情況下編程就應該使用匯編語言,如果算法復雜,要求有較好的用戶界面,就要采用C語言或者其他計算機語言。同時計算機語言是發(fā)展的,不斷會有新語言出現(xiàn),也不斷有語言被淘汰。學生可以根據(jù)自己的應用需要,選擇學習不同的計算機語言。

      認真學好幾門計算機語言,對今后實際工作幫助很大,同時再學習新語言會舉一反三,學習起來會輕松很多。

      三、計算機程序與語言

      計算機專業(yè)學生最喜歡的是學習各種計算機語言,許多人認為掌握的計算機語言越多,水平越高,不懂得計算機程序和計算機語言的關系。其實計算機領域里有一個最著名的公式:計算機程序=數(shù)據(jù)結構+算法,這個著名公式里根本沒有提到計算機語言。

      為了更好地說明計算機程序和語言的關系,我以學生學習程序設計過程中最常見的習題1+2+……+100為實例,使用C語言和匯編語言分別編寫一個程序,同時告訴學生:在用計算機解決實際問題的過程中,最重要的是找到用計算機解決這個問題的算法,至于用哪種語言編寫是其次的。

      C語言源程序:

      #include

      main()

      {int sum=0,i=;

      For(i=1;i<=100;i++)

      Sum=sum+i;

      printf(“%d”,sum);}、

      匯編語言源程序:

      DATA SEGMENT

      RESU DW

      DATA ENDS

      CODE SEGMENT

      ASSUME CS:CODE,DS:DATA

      START: MOV AX,DATA

      MOV DS,AX

      MOV AX,0

      MOV BX,0

      NEXT: ADD AX,BX

      INC BX

      CMP BX,101

      JC NEXT

      MOV RESU,AX

      MOV AH,4CH

      INT 21H

      CODE ENDS

      END START

      在1+2+……+100這個例子中,關鍵是知道:sum=sum+i,然后通過改變i的步長,實現(xiàn)編程。至于用匯編語言還是用C語言或者其他語言都可以,不同語言只是使用的語句或者指令不同而已。

      通過在課堂上生動地比喻和列舉教學實例,學生漸漸理解算法的重要性,知道如果要熟練掌握編程,包括兩方面學習,既要學好各種語言的語法規(guī)則、數(shù)據(jù)類型,又要學會根據(jù)問題設計出最優(yōu)秀的算法。

      四、結語

      搞好計算機程序設計語言教學需要不斷根據(jù)學生學習中的疑惑探索和實踐不同教學方法。在C語言和匯編語言教學過程中,可以融合教學的地方很多,如C語言中的“指針”和匯編語言的“尋址方式”; C語言中的“函數(shù)”和匯編語言的“子程序”;C語言中的“移位運算”和匯編語言的“移位指令”區(qū)別等。C語言和匯編語言的融合教學可以提高學生的學習興趣,促使學生積極思考,調動學生的學習積極性和主動性。

      參考文獻:

      [1]潘瑜.論計算機科學與技術專業(yè)學生的教育[J].淮南工業(yè)學院學,2000(3):133-135.

      [2]趙輝,馮東棟.C語言指針教學方法研究[J].福建電腦,2011(4):187-188.

      [3]傅籬.計算機結構化程序設計教學探索與實踐[J].計算機教育,2009(5):78-80.

      猜你喜歡
      匯編語言融合教學案例教學
      高等學校計算機專業(yè)課程教學改革實踐——以匯編語言與接口技術課程為例
      計算機教育(2020年5期)2020-07-24 08:52:50
      匯編語言與C語言的混合程序設計技術研究
      電子制作(2019年10期)2019-06-17 11:45:16
      提高《匯編語言程序設計》教學效率的思考與實踐
      試論如何實現(xiàn)高中歷史教學與現(xiàn)實生活的融合
      案例教學在機械創(chuàng)新設計課程中的應用
      考試周刊(2016年77期)2016-10-09 12:16:11
      馬克思主義基本原理概論課案例教學的幾點思考
      大學教育(2016年9期)2016-10-09 08:13:04
      EXCEL在《投入產(chǎn)出法》案例教學中的應用
      科技視界(2016年20期)2016-09-29 12:10:02
      《運籌學》教學模式探討
      科技視界(2016年20期)2016-09-29 11:38:37
      淺談體育教學中如何實施素質教育
      初中歷史課堂教學與課外實踐的融合研究
      考試周刊(2016年9期)2016-03-12 07:26:37
      锦州市| 太保市| 正宁县| 乐陵市| 绥宁县| 宁强县| 缙云县| 慈溪市| 长汀县| 武城县| 启东市| 兴化市| 诏安县| 崇仁县| 桐柏县| 鲁山县| 衡阳县| 鱼台县| 来宾市| 威远县| 大厂| 扶风县| 汉中市| 尼木县| 固始县| 元朗区| 甘泉县| 北票市| 凤山市| 五河县| 澜沧| 广东省| 孙吴县| 毕节市| 宜丰县| 共和县| 上高县| 桐柏县| 神农架林区| 桦甸市| 武汉市|