Presentation is loading. Please wait.

Presentation is loading. Please wait.

課程名稱:計算機概論 授課老師:李春雄 博士

Similar presentations


Presentation on theme: "課程名稱:計算機概論 授課老師:李春雄 博士"— Presentation transcript:

1 課程名稱:計算機概論 授課老師:李春雄 博士
第二章 數字系統與資料表示法 課程名稱:計算機概論 授課老師:李春雄 博士

2 本章學習目標 讓讀者了解基本單位、數字系統及各種數字 系統的轉換方法。 2.讓讀者了解補數系統、資料表示法及資料檢查 方法。

3 本章內容 2-1 電腦的基本單位 2-2 常見的數字系統 2-3 數字系統的轉換方法 2-4 數字系統的四則運算 2-5 補數系統
2-6 資料表示法 2-7 數值資料表示法 2-8 文數資料 2-9 中文碼 2-10 資料檢查方法 2-11 誤差與錯誤的種類

4 2-1 電腦的基本單位 在電腦硬體中,任一條電路只要能導電就利用1來表示,而不能導電則利用0來表示。因此,0與1就構成電腦的基本單位,我們稱它為位元(bit)。所以,在電腦系統中,只有0與1兩種不同的狀態,因此,我們就稱為「二進位」數字系統。 【圖解】十進位數字37,則二進位則是:100101

5 【電腦如何表示資料】 一、對電腦系統而言,所有資料利用「數字」表示。 1.數字資料:直接利用「數字」表示。
2.文字資料:利用「數字」來表示。 3.聲音和圖片資料:利用「數字」來表示。 4.程式之指令資料:利用「數字」來表示。 二、對電腦系統而言,這些「數字」都是由0與1所組合。

6 【電腦的基本單位】 位元(bit, 以小寫b表示) 位元組(byte, 以大寫B表示)
它是利用二進位的0或1來表示電腦的資料。並且是電腦的最小儲存單位。 位元組(byte, 以大寫B表示) 它是將8個位元(bit),組合成一個位元組(byte)。通常用來表示字母、 0~9的數字或符號。如下圖所示:

7 【記憶體的容量】 【註】若為小寫的b則是bit的意思,而Byte的縮寫為大寫的B。 英文單位 中文名稱 容量(大小) bit 位元
0或1(最小單位) Byte 位元組 1Byte=8bits KB(Kilo Byte) 千個位元組 1KB=1024Bytes MB(Mega Byte) 百萬個位元組 1MB=1024KBytes GB(Giga Byte) 十億個位元組 1GB=1024MBytes TB(Tera Byte) 一兆個位元組 1TB=1024GBytes 【註】若為小寫的b則是bit的意思,而Byte的縮寫為大寫的B。

8 2-2 常見的數字系統 【引言】 基本上,在我們日常生活當中,每一個人都是習慣使用十進位為數字系統,但是,也可能會遇到「非十進位制」的數字系統。例如:一英呎12英吋,一年12個月屬於十二進位制。一斤等於16兩、一英鎊等於16盎司都屬於十六進位制,一分60秒,一小時60分屬於六十進位制。 【圖示】 月曆 時鍾

9 本章節學習的課題 在電腦系統中,卻只能以「二進位制」的數字系統作為運算單位。因此,我們想利用電腦來處理「非二進位制」時,就無法直接進行轉換。所以,在本章節中,如何將「非二進位制」數字系統轉換成電腦可以處理數字系統,將是我們所要學習的重要課題。

10 【二進位制的問題】 雖然電腦是以「二進位制」的數字系統來表示資料,但是,如果以二進位表示「較大的數字」時,不但佔用空間,而且在閱讀上與書寫上都不方便,因此,也常採用八進位及十六進位來表示。 【圖示】旗標開發的Rocar創意教學機器人之「控制器」

11 【實例】 01001001 0100100101001001 【情況一】機器人的「控制器」只有 8 個開關
【情況二】機器人的「控制器」有16個開關 從以上兩種情況,我們就可以清楚得知,二進位的表示方式,並不是很適合人類閱讀。 【解決方法】轉換成「非二進位制」。例如:8,10及16進制。 【示意圖】

12 【作法】 每一個數字系統都有其「基數」,像十進位數的「基底10」,亦即「逢10就進1」的意思。除此之外,當要計算「R進位數」時,則利用0, 1, …, R-1,共R個符號表示所有的數,並且「每逢R就進一位」。 二進位數字系統 八進位數字系統 1. 由0,1二個符號代表所有的數 2. 每逢二就進一位 1. 由0,1,2,3,4,5,6,7八個符號代表所有的數 2. 每逢八就進一位 十進位數字系統 十六進位數字系統 由0,1,2,3,4,5,6,7,8,9十個符號 代表所有的數 2. 每逢十就進一位 由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六個符號 每逢十六就進一位

13 【表示法】 【註】 在十六進制中: A代表10 B代表11 C代表12 D代表13 E代表14 F代表15

14 【各種進位基本轉換對照表】

15 【隨堂抽問1】 請問各位同學,如果使用二進位來記錄學生的成績(0~100)分時,則至少要使用多少位元來表示呢? 【解答】
由於26=64分(代表6個位元最多可以表示到64分) 27=128分(代表7個位元最多可以表示到128分) 因此,至少要7個位元才能記錄學生的成績(0~100)分

16 【隨堂抽問2】 請問各位同學,2斤15兩,要怎麼算出共有幾兩呢? 【解答】 它的計算方法如下: 2斤15兩=2×161+15×160
=32+15 =47

17 2-3 數字系統的轉換方法 【引言】 「人類」所使用的數字系統是以「十進制」為主,而「電腦」在處理資料時是以「二進制」(0或1兩種情況)。因此,我們如何把人類所使用的數字系統轉換成電腦所能接受的數字系統,或是把電腦所使用的二進制轉換成人類所習慣的用法,那就必須要學會各種轉換的方法。 【轉換規則示意圖】 【註】R進制是指非10進制的數目系統(2,8,16進制)

18 【作法】 一、R進制 轉換成10進制 必須展開(亦即乘以基底 (R)的次方)。
(一)當遇到「整數」時,則次方為正數(0 , 1 , ) 所以,整數部份,R0、R1、R2、R3…依此類推  (二)當遇到「小數」時,則次方為負數(-1 , ) 所以,小數部份,1/ R、1/ R2、1/ R3…依此類推 二、10進制轉換成R進制 (一)整數連除R後,再向上取「餘數」。 (二)小數連乘R後,再向下取「整數」。

19 R進制轉換成10進制 【引言】 基本上,「不是10進制」的數字系統,我們就稱為「R進制」。而在R進制的數字系統中有(2,8,16進制)。因此,如何將R進制轉換成人類可以看得懂的10進制呢?那就必須要學會「展開」的技巧,亦即乘以基底 (R)的次方。 【轉換規則示意圖】

20 【證明】 10進制自我展開等於本身

21 【範例一】二進制轉換成10進制

22 【隨堂練習】

23 【範例二】八進制轉換成10進制

24 【隨堂練習】

25 【範例三】十六進制轉換成10進制

26 【隨堂練習】

27 2-3.2 10進制轉換成R進制 【引言】 【轉換規則示意圖】

28 【範例一】 10進制轉換成2進制(整數連除R) 22 (10) = 10110 (2) 【作法】
10進制轉換成2進制時,則必須「連除」2,直到商數為0,最後, 再向上取「餘數」,即為所得。 【演算過程】

29 【範例二】 10進制轉換成2進制(小數連乘R) 0.8125 (10) =0. 1101 (2) 【作法】
10進制轉換成2進制時,則必須「連乘」2,直到正整數(亦即沒有小數)為止,最後,再由上往下取「整數」,即為所得。 【演算過程】

30 【範例三】 10進制轉換成2進制(循環小數) 【演算過程】

31 【延伸學習】 在上題中,雖然十進位0.2無法精準的轉換成二進位, 但是,在電腦中,我們可以利用「循環小數」來表示
,因為此種誤差是可以受容許的。除了此題之外, 十進位0.1也是無法精準的轉換成二進位,但是 十進位0.5則可以。

32 【範例四】 10進制轉換成8進制 35.53125 (10) = 43.42 (8) 【作法】 10進制35.53125想轉換成8進制時,則
整數部份必須「連除」8, 小數部份必須「連乘」8。 【演算過程】

33 【範例五】 10進制轉換成16進制 3934 (10) =F5E (16) 【作法】
10進制3934想轉換成16進制時,則必須「連除」16,直到商數為0,最後,再向上取「餘數」,即為所得。 【演算過程】

34 進制的冪次方的轉換 【引言】 當我們將十進位轉換成二進位表示時,可能會產生一大連串的數字,此時,在表達上某一資料時較不容易。因此,我們透過2進制的冪次方轉換方法,來直接將二進位轉換成八進位及十六進位。 【使用時機】 欲轉換的「等號兩邊的基底」皆為「2的冪次方」時,則可以直接的轉換。

35 【範例一】 2進制轉換成8進制(整數) 110101 (2) =________(8) 【解析】
判斷8是2的幾次方,也就是寫成8=23,故可以得知8進制是3個為一組的2進制組合而成的。 【演算過程】

36 【範例二】 2進制轉換成8進制(含有小數) 10 110 111 . 101 100 (2) = ____________ (8)
【演算過程】 【注意】 整數部份:由「小數點左邊第一位」開始計算,每3個一組,如果「不足3個」 時,則「整數」前面補0 小數部份:由「小數點右邊第一位」開始計算,每3個一組,如果「不足3個」 時,則「小數」後面補0

37 【範例三】 2進制轉換成16進制(整數) 110101 (2)=_________ (16) 【解析】
判斷16是2的幾次方,也就是寫成16=24,故可以得知16進制是4個為 一組的2進制組合而成的。 【演算過程】 【注意】如果「不足4個」時,則「整數」前面補0。

38 【範例四】 2進制轉換成16進制(含有小數) 1011.0111 (2) =___________ (16) 【演算過程】 【說明】
「整數」部份:由「小數點左邊第一位」開始計算: 數字1011其權位值之和為11轉換成16進制時,就是B。 「小數」部份:由「小數點右邊第一位」開始計算: 數字0111其權位值之和為7轉換成16進制時,也是7。

39 【隨堂練習】 (2) =B.E (16) 【演算過程】

40 【範例五】 8進制轉換成2進制 65 (8) =________ (2) 【解析】
判斷8是2的幾次方,也就是寫成8=23,故可以得知8進制是3個為一組的2進制組合而成的。因此,一個「8進制」化為三個「2進制」 【演算過程】

41 【隨堂練習】 (8) =________ (2) 【演算過程】

42 【範例六】 16進制轉換成2進制 35 (16) =_________ (2) 【解析】
判斷16是2的幾次方,也就是寫成8=24,故可以得知16進制是4個為一組的2進制組合而成的。因此,一個「16進制」化為四個「2進制」 【演算過程】

43 【範例七】 非2進制的冪次方的轉換 在等號的左邊其基底為非2進制的冪次方時,則必須要先轉換成10進制,後再轉換成右邊的進制。
45(5)= ___221___(3) 【解析】先將「5進制」進轉換成「10進制」,再轉換成「3進制」 【演算過程】

44 2-4 數字系統的四則運算 【引言】 在我們學會「數字系統」的各種轉換之後,接下來,我們就可以再學習「數字系統」的四則運算,分別是加、減、乘、除等運算。 一、加法運算 二、減法運算 三、乘法運算 四、除法運算

45 一、加法運算 【規則】 當「加數」與「被加數」的基底皆相同時,才能直接進行相加,否則必須先經過基底的轉換。當在相加後的「結果」大於或等於R進制時,則必須進位。 (一)第一類:基底皆相同 (二)第二類:基底不相同

46 (一)第一類:基底皆相同

47

48

49 (二)第二類:基底不相同

50

51 二、減法運算 【規則】 1.當「減數」與「被減數」的基底皆相同時,才能直接進行相減,否則 必須先經過基底的轉換。
2.當兩數相減,如果不夠減時,則必須向下一級借位,其借來的值為R, 而下一級被借位的數須減1。 (一)第一類:基底皆相同 (二)第二類:基底不相同

52 (一)第一類:基底皆相同

53

54

55 (二)第二類:基底不相同

56

57 三、乘法運算 【規則】 1.當「乘數」與「被乘數」的基底皆相同時,才能直接進行相乘,否則 必須先經過基底的轉換。
2. 運算過程與10進制相同。

58 四、除法運算 【規則】 1.當「除數」與「被除數」的基底皆相同時,才能直接進行相除,否則 必須先經過進制的轉換。
2. 運算過程與10進制相同,並且注意借位問題。

59 2-5 正負數表示法 【引言】 基本上,在前面所介紹的二進制表示法,只能表達正整數,但是,對於負整數而言,卻無法表達。因此,為了讓電腦順利表達負數,數學家提出了許多數值表示法,最常見的正負數表示法有以下三種: 一、帶符號大小 二、1's補數 三、2's補數

60 【範例】 假設n=4(位數),則「帶符號大小」、「1's補數」及「2's補數」的表示如下:

61 2-5.1 帶符號大小(Signed-magnitude)
【定義】 是指利用某一「符號位元」用來表示該「數值資料」為正數或是負數。 【格式】 【說明】

62 【範例】 假設使用6個位元來表達正負12整數時,則「數值資料」的表達範圍只剩5個位元可以使用。

63 補數表示法 【定義】 在電腦運算中,遇到「減法運算」時,我們可以利用「加法器」與「補數運算」來取代。遇到「負數」時,也可以利用「補數表示法」。所以,就可以簡化線路的設計。 【補數表示法】 對於基底為R的數字系統而言,只有兩種型式之補數表示法: 1. R-1的補數 2. R的補數 【作法】 R-1的補數:利用一組(R-1)的數值來與題目的數值相減,其所得到 的值就是(R-1)’S補數 R的補數:(R-1)’S補數值在尾端再加上1

64 【四種常見的進制之補數】  2進制只有2的補數與1的補數  4進制只有4的補數與3的補數  8進制只有8的補數與7的補數
 2進制只有2的補數與1的補數  4進制只有4的補數與3的補數  8進制只有8的補數與7的補數  10進制只有10的補數與9的補數

65 【範例】 求 (2) 之1’s補數與2’s補數 【解析】此題R為2進制

66 【範例】 求 (8) 之8’s補數與7’s補數 【解析】此題R為8進制

67 【2進制求補數的快速方法】 1的補數:所有的0變為1,1變為0 2的補數:由右至左找到第一個1保留,其餘0變為1,1變為0

68

69 4.最後的結果即為(11000)2 。亦即代表-12

70 亦即代表+12。

71 【2補數與1補數的比較表】

72 2-6 資料表示法 基本上,資料儲存於電腦之中,依其可否做運算的性質,可分成兩種:
2-6 資料表示法 基本上,資料儲存於電腦之中,依其可否做運算的性質,可分成兩種: 1.數值資料:以數字組成,只能表示數值資料,並且可用來做算術運算。 2.文數資料:以文字或數字資料組成。 【分類圖】

73 2-7 數值資料 【定義】以數字組成,只能表示數值資料,並且可用來做算術運算。 【分類】 1.定點數值表示法 2.浮點數表示法

74 一、定點數值表示法 【定義】是指只有整數部份,而沒有小數部份的數值資料。 【分類】 (1)帶符號數值表示法 (2)整數表示範圍

75 1. 帶符號數值表示法 【定義】是指在「數值資料」中,最左邊位元來表示「符號位元」。 【格式】

76 【範例】 假設使用6個位元來表達負12(-12)整數時,則「數值資料」的表達範圍 只剩5個位元可以使用。

77 2.整數表示範圍 【定義】是以n bit來表示整數資料的範圍。 【表示範圍】-2n-1 ~+(2n-1-1)

78 二、浮點數表示法 【定義】 是指在電腦系統中,如果某一數值資料含有小數(如 )時,則需要使用一種特別的表示方法, 稱之為浮點數表示法。 【表示法】可用來表示同時具有「整數」及「小數」之實數資料。 【格式】

79

80 【浮點數表示法的求解步驟】 1.將「浮點數」題目轉換成R進制(2,4,8,16)
2.利用正規化「求指數」,亦即讓小數點左邊的第一位整數必須要為0 3.依題目要求的方法來計算「指數部份」 (1) 偏移法:指數部份=指數+偏移值(偏移值=2指數部份位數-1) (2) 2’s補數法:指數若為負數則須取2’s補數 4.判斷「符號位元」,亦即「正數」填入0,若為「負數」填入1 5.計算「小數部份」,亦即將R進制轉換成2進制 6.將「符號位元、指數部份、小數部份」以2進位填入「格式」中,若不滿 格式部份,則以填入0來補滿。 7.將格式依題目要求,再轉換成2,4,8或16進位表示。

81 【範例】

82 2-8 文數資料 【定義】以文字或數字資料組成。 【範圍】 1. 英文字母:大寫A-Z及小寫a-z,共52個字元
2-8 文數資料 【定義】以文字或數字資料組成。 【範圍】 1. 英文字母:大寫A-Z及小寫a-z,共52個字元 2. 數字:0~9,共10個字元 3. # % & *…等),共30多個字元 所以,總共超過90多個字元了。 【問題】無法只利用電腦的基本單位是位元(Bit)來表示全部字元。 【解決方法】 利用6個bit,7個bit或8個bit的組合,用以代表每一個符號的編碼。

83 【分類】 1.ASCII碼 2.BCD碼 3.EBCDIC碼 4.中文碼

84 ASCII碼 【定義】 ASCII(American Standard Code For Information Interchange), 唸成As-Key是美國政府採用標準,稱為美國標準資訊交換碼。 【格式】 【說明】 利用前7個「數字位元」來代表一個字元。而第八個位元則是用來錯誤檢查的「核對位元」。 因此,在實際上僅能用到其他的7個位元。換言之,ASCII碼最多可以表示27=128個不同的字元。

85 數字<大寫字母<小寫字母 【表示內容】 英文大、小寫字母、阿拉伯數字、控制字元以及各種特殊符號等。 【適用時機】 一般小型及微電腦。
【ASCII碼大小順序】 數字<大寫字母<小寫字母

86 【模擬電腦讀取鍵盤轉換成ASCII碼的過程】
當使用者從「鍵盤」按下大寫字母「A」時,其實「電腦」會自動轉換成ASCII碼( )資料傳送到「主記憶體」中,最後,再將ASCII碼轉換成字元「A」顯示螢幕上。 【說明】在「鍵盤」上每個英文字母、數字或特殊符號都有不同的代碼,因此,電腦才能加以識別。

87 【隨堂抽問】 如果使用者從「鍵盤」按下大寫字母「D」時,請問它所傳達的訊息是多少呢? 【解答】

88 2-8.2 BCD碼 【定義】 BCD(Binary Coded Decimal)碼,它是專門用來表示數字資料0~9的編碼系統。
【表示方法】以4個位元為一組,表示1個十進位的值。 【範例】當數字為2位數時,則需要2個4Bit來表示。

89 EBCDIC碼 【定義】 EBCDIC碼(Extend BCD Code),由IBM公司創立,它用八個位元來代表一個字元,因此,EBCDIC碼最多可表示28=256個不同字元。 例如:英文字A的編碼為 。 【格式】8個位元合成一個位元組,每個位元組儲存一個字元

90

91 【範例】 請計算出字元A, p, 1, 5的EBCDIC碼 【註】 英文A是A~I的第1個,數字位元是0001
英文p是j~r的第7個,數字位元是0111 數字1是0~9的第2個,數字碼是0010 數字5是0~9的第6個,數字碼是0110

92 2-9 中文碼 【引言】 基本上,在電腦系統中,我們可以利用 8 個位元(亦即28 = 256)就可以表示所有的英文字母、數字及特殊符號;但是,8個位元卻無法表示所有的中文字。因此,每一個中文字就必須要利用16個位元(2個位元組)來編碼。 【定義】是指中文字儲存在電腦內部時,則稱此編碼為中文內碼。 【常使用的編碼系統】 一、Big-5碼 二、Unicode碼(全球統一的編碼系統)

93 一、Big-5碼 【定義】它由「資策會」聯合 13 家業者在1984年所共同制定的編碼系統。 【目的】電腦內部所能辨識和處理的代碼。
【長度】每字佔2byte(=16bits)。所以,共有216=65536 個字型 【表示範圍】大約可以表示13461字元 1. 常用字:5401個 2. 次常用字:7652 個 3. 符號字:408 個(包含標點符號、注音符號、單位符號……)。 【Big5 碼的表示範圍有限】 當我們上網瀏覽網頁時,有時候會發現某些人名的某些字是「???、缺字或特別奇怪」,例如:游錫 的 字,它是無法顯示,必須要自行利用造字系統來「造字」,其主要原因就是 Big5 碼沒有這個字所致。

94 二、Unicode碼(全球統一的編碼系統)
【引言】 由於全世界各國都有各自的語言,甚至有些國家的語言還會有多種不同的編碼系統 (例如繁體中文就有 BIG5 與UTF-8碼),因此,全世界就會有相當多種不同的編碼系統。 【衍生問題】 不同編碼的語言在電腦系統進行交換資料時,由於沒有「共用的編碼系統」,導致無法解析彼此之間的文字內容。

95 【範例】 當我們在瀏覽網頁或收信時,有時就會發現網頁或信件內容全部是「???、缺字或亂碼」,此時,您可能會被嚇到。其主要的原因就是:沒有使用「共用的編碼系統」(Unicode碼)。 【解決方法】共用的編碼系統(全球統一的編碼系統)

96 Unicode碼 【定義】 它是由萬國碼技術委員會(Unicode Consortium)所制定的國際性文字碼,具有向下相容ASCII碼的特性。 【目的】將全球語言編在一起, 而達成統一編碼的目的。 【表示】使用16位元(2個bytes)編碼 【圖解】

97 2-10 資料檢查方法 【引言】 雖然電腦「可靠度」很高,但是,並非完全不會產生錯誤。例如,當英文字母『A』的EBCDIC編碼為『 』,但是,在傳輸過程中受到電路干擾到第二位元從0變為1,CPU此時所接受到的訊息就是『 』而非原來的資料,如果沒有設計一套偵錯措施,就會發生錯誤而將訊息誤解為字母『C』。 【解決方法】增加一個檢查位元(或稱同位位元(Parity bit)) 【目的】用來避免傳輸上發生錯誤。 【分類】 1.奇數同位 (Odd Parity) 2.偶數同位 (Even Parity)

98 2-10.1 奇數同位 (Odd Parity) 【定義】是指『1』的個數加起來須為奇數個。
【作法】在每一筆資料後面附加一同位位元『0』或『1』,使得整個 資料有奇數個『1』。 【例如】 :原先有5(奇數)個1,須加一同位位元『0』, 變成奇數個『1』。 【示意圖】

99 2-10.2 偶數同位 (Even Parity) 【定義】是指『1』的個數加起來須為偶數個。
【作法】在每一筆資料後面附加一個同位位元『0』或『1』,使得 整個資料有偶數個『1』。 【例如】 :原先有5(奇數)個1,須加一同位位元『1』, 變成偶數個『1』。 【示意圖】

100 2-11 誤差與錯誤 【引言】 人非聖賢,熟能無過。每一個人在寫程式時都有可能產生錯誤,有可能是在撰寫時寫錯,也有可能程式在執行時才出現錯誤,甚至是在使用者操作不當,所導致的錯誤。因此,我們撰寫程式時,可能會出現一些不可預期的錯誤。 【誤差種類】資料在表示時,常見的誤差有以下三種: 1. 固有誤差(Inherent error) 2. 捨位誤差(Round-off error) 3. 截斷誤差(Trunction error) 【錯誤種類】撰寫程式時,常見的錯誤有以下三種: 1. 語法錯誤(Syntax error) 2. 邏輯錯誤(Logical error) 3. 執行階段錯誤(Runtime error)

101 一、固有誤差(Inherent error)
【定義】由於測試儀器不精確或人為的疏忽所引起的誤差。 【改善方法】買速度較快的新電腦。 【示意圖】

102 二、捨位誤差(Round-off error)
【定義】 因每一種資料型態的長度有限,無法將整個實數存入,因為刪除尾數項所產生的誤差。 【改善方法】增加尾數長度(採用倍精度實數) 【範例】圓周率(例:PI= …) 【示意圖】

103 三、截斷誤差(Trunction error)
【定義】 當作無窮級數計算時,無法將所有的項都計算,所以捨棄高次項所產生的誤差。 【改善方法】重新寫程式。 【範例】循環小數(例:1/3=0.3333…) 【示意圖】

104 四、語法錯誤(Syntax error) 【定義】 是指在程式中違反語法規則的結果。語法錯誤是最常見的錯誤類型。
【解決方法】在編寫程式時,我們必須嚴格遵守程式語言的語法規則。 【例如】 1. 拼字錯誤 2. 在物件中引言錯誤的屬性、方法及事件 3. 使用了尚未定義的副程式或函數等等。 【圖示】此種錯誤可利用Compiler檢查出來。

105 五、邏輯錯誤(Logical error)
【定義】 邏輯錯誤又稱為「語意錯誤」,此種錯誤Compiler檢查不出來,必須經由程式設計師自行檢查或應用Dubug協助除錯。 【解決方法】 只能由程式設計師自行偵錯。因此,運用不同的測試數據,對程序進行測試,並將程序輸出與預期的結果進行比較。 【實例】無窮迴圈的例子。 【圖示】

106 六、執行階段錯誤(Runtime error)
【定義】指程式在運行時發生錯誤,使程序在運行期間終止。 【例如1】將數值除以零。 【解決方法】在編寫程序時我們必須確保「除數不為零」。 【例如2】資料型態錯誤,亦即產生的數值超出表示的範圍, 如變數的溢位現象。 【解決方法】在編寫程序時我們必須確保「資料型態的表示範圍」。 【圖示】


Download ppt "課程名稱:計算機概論 授課老師:李春雄 博士"

Similar presentations


Ads by Google