您的位置:網(wǎng)站首頁(yè) > 優(yōu)秀論文 > 正文
計(jì)算機(jī)輔助卡諾圖的快速化簡(jiǎn)
作者:郭亞慶、趙源來(lái)源:原創(chuàng)日期:2013-12-25人氣:4940
引言
利用計(jì)算機(jī)輔助卡諾圖化簡(jiǎn),使授課方式變得方便、快捷,節(jié)省了教師授課時(shí)的板書(shū)時(shí)間,提高了教學(xué)效率,使課堂教學(xué)活動(dòng)變得活潑,生動(dòng)有趣,富有啟發(fā)性、真實(shí)性,可以從根本上改變傳統(tǒng)上單調(diào)的教學(xué)模式,從而活躍學(xué)生的思維,激發(fā)學(xué)生的學(xué)習(xí)興趣。
1 卡諾圖化簡(jiǎn)邏輯簡(jiǎn)介
1.1 卡諾圖的構(gòu)成 卡諾圖是一種平面方格圖,每個(gè)小方格代表一個(gè)最小項(xiàng),故又稱為最小項(xiàng)方格圖。結(jié)構(gòu)特點(diǎn):n個(gè)變量的卡諾圖由2n個(gè)小方格組成,每個(gè)小方格代表一個(gè)最小項(xiàng);卡諾圖上處在相鄰、相對(duì)、相重位置的小方格所代表的最小項(xiàng)為相鄰最小項(xiàng)。(圖1)
1.2 卡諾圖的性質(zhì) 卡諾圖的構(gòu)造特點(diǎn)使卡諾圖具有一個(gè)重要性質(zhì):可以從圖形上直觀地找出相鄰最小項(xiàng)合并。合并的理論依據(jù)是并項(xiàng)定理AB+AB’=A。例如,兩個(gè)相鄰最小項(xiàng)可以合并為一個(gè)“與”項(xiàng)并消去一個(gè)變量。用卡諾圖化簡(jiǎn)邏輯函數(shù)的基本原理就是把上述邏輯依據(jù)和圖形特征結(jié)合起來(lái),通過(guò)把卡諾圖上表征相鄰最小項(xiàng)的相鄰小方格“圈”在一起進(jìn)行合并,達(dá)到用一個(gè)簡(jiǎn)單“與”項(xiàng)代替若干最小項(xiàng)的目的。通常把用來(lái)包圍那些能由一個(gè)簡(jiǎn)單“與”項(xiàng)代替的若干最小項(xiàng)的“圈”稱為卡諾圈。
1.3 邏輯函數(shù)在卡諾圖上的表示 當(dāng)邏輯函數(shù)為標(biāo)準(zhǔn)“與-或”表達(dá)式時(shí),只需在卡諾圖上找出和表達(dá)式中最小項(xiàng)對(duì)應(yīng)的小方格填上1,其余小方格填上0,即可得到該函數(shù)的卡諾圖。[1]
如函數(shù)Y=AB+CD+ACD的卡諾圖如圖2所示。
手工填寫(xiě)卡諾圖既費(fèi)時(shí)又易出錯(cuò),如果在輸入邏輯表達(dá)式后,由計(jì)算機(jī)自動(dòng)進(jìn)行邏輯運(yùn)算,自動(dòng)填寫(xiě)卡諾圖既方便又快捷。
2 利用計(jì)算機(jī)的圖形處理系統(tǒng)繪制卡諾圖
2.1 繪圖前的各種屬性的設(shè)置 計(jì)算機(jī)的圖形操作,都要使用繪圖區(qū)或容器的坐標(biāo)系統(tǒng),窗體是一個(gè)容器,所有的控件都分布窗體內(nèi),每個(gè)容器都有一個(gè)坐標(biāo)系,構(gòu)成一個(gè)坐標(biāo)系,需要三個(gè)元素:坐標(biāo)原點(diǎn)、坐標(biāo)度量單位、坐標(biāo)軸的長(zhǎng)度與方向。在VB中,當(dāng)新建一個(gè)窗體時(shí),新窗體采用默認(rèn)坐標(biāo)系,坐標(biāo)原點(diǎn)在窗體的左上角,橫向向右為X軸的正方向,縱向向下為Y軸的正向,單位為twip。為了符合日常的繪圖習(xí)慣,我們可以使用屏幕的SCALE方法將坐標(biāo)的原點(diǎn)設(shè)置在屏幕的左下角,橫向向右為X軸的正方向,縱向向上為Y軸的正方向。并利用窗體的SCALEMODE屬性將坐標(biāo)單位改為毫米。設(shè)置好畫(huà)圖的線條粗細(xì)和顏色。[2]
2.2 繪圖 繪圖時(shí)輸入變量的個(gè)數(shù)及卡諾圖的大小。計(jì)算機(jī)便依據(jù)變量個(gè)數(shù)分別動(dòng)態(tài)繪出三變量、四變量,或五變量卡諾圖。精確繪圖必須熟悉對(duì)坐標(biāo)的計(jì)算。
3 邏輯表達(dá)式的輸入,譯碼及運(yùn)算
當(dāng)輸入邏輯表達(dá)式時(shí),原變量照寫(xiě),反變量在字母后加單引號(hào),如Y=AB’+BC’+B’C+A’B,或者是輸入函數(shù)包含最小項(xiàng)的形式,如Y=∑(3,2,4,5,7,6,12,13,8,9,10,11)。用一個(gè)文本框接收邏輯表達(dá)式AB’+BC’+B’C+A’B后,以“+”為界將其分解為若干個(gè)“與”項(xiàng)。再將每個(gè)“與”項(xiàng)中的反變量先進(jìn)行非運(yùn)算(NOT),然后進(jìn)行“與”(AND)運(yùn)算,最后將四個(gè)“與”項(xiàng)運(yùn)算的結(jié)果進(jìn)行“或”(OR)運(yùn)算。在運(yùn)算前按照變量在卡諾圖上的分布分別給變量賦值:讓A=&H00FF,B=&H0FF0,C=&H3333,D=&H6666(按十六進(jìn)制書(shū)寫(xiě))。因?yàn)樽兞緼在四變量卡諾圖最上面兩行為(0000,00000),最下面兩行為(1111,1111),故賦值A(chǔ)=&H00FF。
4 卡諾圖的填寫(xiě)
上述邏輯運(yùn)算的結(jié)果為十進(jìn)制數(shù),將其轉(zhuǎn)化為二進(jìn)制數(shù)后,依次賦給動(dòng)態(tài)產(chǎn)生的十六個(gè)文本框。然后將十六個(gè)文本框依次移動(dòng)到卡諾圖對(duì)應(yīng)的位置上,并在卡諾圖上每個(gè)方格的右下角標(biāo)上最小項(xiàng)的編號(hào)。如圖2所示。
5 畫(huà)卡諾圈,合并最小項(xiàng),生成最簡(jiǎn)“與-或”表達(dá)式[3]
卡諾圖具有循環(huán)鄰接的特性,即相鄰的兩個(gè)最小項(xiàng)只有一個(gè)變量不同。若圖中兩個(gè)相鄰的小方格均為1,則這兩個(gè)相鄰的最小項(xiàng)的和將消去一個(gè)變量;若卡諾圖中四個(gè)相鄰的方格為1,則這四個(gè)相鄰的最小項(xiàng)的和將消去二個(gè)變量;八個(gè)相鄰的最小項(xiàng)合并時(shí)可消去三個(gè)變量;利用卡諾圖化簡(jiǎn)邏輯函數(shù)常用的方法是“圈1法”。用“圈1法”畫(huà)包圍圈的原則如下:①圈的個(gè)數(shù)應(yīng)最少,圈內(nèi)的小方格個(gè)數(shù)應(yīng)盡可能的多。②將值為“1”的相鄰方格圈成矩形或方形。③所圈取值為1的相鄰小方格的個(gè)數(shù)應(yīng)為1,2,4,8,其它形式是非法形式。④畫(huà)包圍圈時(shí),每個(gè)取值為1的方格可以被重復(fù)包圍,但每個(gè)包圍圈都要有新的方格,同時(shí)不能漏去任何一項(xiàng)。
當(dāng)輸入一個(gè)卡諾圈所包含的最小項(xiàng),如(3,2,7,6)時(shí),由計(jì)算機(jī)自動(dòng)生成最簡(jiǎn)與或表達(dá)式的算法如下:
①將上述包含的最小項(xiàng)輸入給一個(gè)文本框,利用Q=SPLIT(TEXT1,”,”)語(yǔ)句將各個(gè)最小項(xiàng)分別賦值給一個(gè)動(dòng)態(tài)數(shù)組Q,并按升序排列,這里Q(0)=2為四個(gè)最小項(xiàng)的最小值。然后根據(jù)Q(0)的值寫(xiě)出代表的最小項(xiàng),如:Q(0)=0,則STR1=“A’B’C’D’”,Q(0)=1、則STR1=“A’B’C’D”,這里的Q(0)=2所以STR1=“A’B’CD’”。
②依次求Q(1),Q(2),Q(3)與Q(0)的差值,凡是差值為2N(即1,2,4,8)時(shí),執(zhí)行3,否則執(zhí)行4。
③依據(jù)差值消去相應(yīng)的變量:當(dāng)差值為8時(shí)、則消去STR1中的變量A,當(dāng)差值為4時(shí)、消去STR1中的變量B, 當(dāng)差值為2時(shí)消去STR1中的變量C,當(dāng)差值為1時(shí)、消去STR1中的變量D,例Q(1)-Q(0)=3-2=1,則消去STR1中的變量D,這里的Q(2)-Q(0)=6-2=4,則消去STR1中的變量B,所以最初STR1=“A’BCD”,則變?yōu)镾TR1=“A’C”。即A’C含概了最小項(xiàng)(3,2,7,6)。
④將上述生成的最簡(jiǎn)與項(xiàng)用加號(hào)“+”連接起來(lái),就是最簡(jiǎn)“與-或”表達(dá)式。圖3為輸入函數(shù)Y=AB’+BC’+B’C+A’B后的運(yùn)行結(jié)果。
結(jié)論:應(yīng)用VB編程,由計(jì)算機(jī)繪制卡諾圖,對(duì)邏輯表達(dá)式的自動(dòng)譯碼、運(yùn)算、卡諾圖的自動(dòng)填寫(xiě)、最后生成最簡(jiǎn)“與-或”表達(dá)式。實(shí)現(xiàn)了邏輯函數(shù)化簡(jiǎn)的高效性。
利用計(jì)算機(jī)輔助卡諾圖化簡(jiǎn),使授課方式變得方便、快捷,節(jié)省了教師授課時(shí)的板書(shū)時(shí)間,提高了教學(xué)效率,使課堂教學(xué)活動(dòng)變得活潑,生動(dòng)有趣,富有啟發(fā)性、真實(shí)性,可以從根本上改變傳統(tǒng)上單調(diào)的教學(xué)模式,從而活躍學(xué)生的思維,激發(fā)學(xué)生的學(xué)習(xí)興趣。
1 卡諾圖化簡(jiǎn)邏輯簡(jiǎn)介
1.1 卡諾圖的構(gòu)成 卡諾圖是一種平面方格圖,每個(gè)小方格代表一個(gè)最小項(xiàng),故又稱為最小項(xiàng)方格圖。結(jié)構(gòu)特點(diǎn):n個(gè)變量的卡諾圖由2n個(gè)小方格組成,每個(gè)小方格代表一個(gè)最小項(xiàng);卡諾圖上處在相鄰、相對(duì)、相重位置的小方格所代表的最小項(xiàng)為相鄰最小項(xiàng)。(圖1)
1.2 卡諾圖的性質(zhì) 卡諾圖的構(gòu)造特點(diǎn)使卡諾圖具有一個(gè)重要性質(zhì):可以從圖形上直觀地找出相鄰最小項(xiàng)合并。合并的理論依據(jù)是并項(xiàng)定理AB+AB’=A。例如,兩個(gè)相鄰最小項(xiàng)可以合并為一個(gè)“與”項(xiàng)并消去一個(gè)變量。用卡諾圖化簡(jiǎn)邏輯函數(shù)的基本原理就是把上述邏輯依據(jù)和圖形特征結(jié)合起來(lái),通過(guò)把卡諾圖上表征相鄰最小項(xiàng)的相鄰小方格“圈”在一起進(jìn)行合并,達(dá)到用一個(gè)簡(jiǎn)單“與”項(xiàng)代替若干最小項(xiàng)的目的。通常把用來(lái)包圍那些能由一個(gè)簡(jiǎn)單“與”項(xiàng)代替的若干最小項(xiàng)的“圈”稱為卡諾圈。
1.3 邏輯函數(shù)在卡諾圖上的表示 當(dāng)邏輯函數(shù)為標(biāo)準(zhǔn)“與-或”表達(dá)式時(shí),只需在卡諾圖上找出和表達(dá)式中最小項(xiàng)對(duì)應(yīng)的小方格填上1,其余小方格填上0,即可得到該函數(shù)的卡諾圖。[1]
如函數(shù)Y=AB+CD+ACD的卡諾圖如圖2所示。
手工填寫(xiě)卡諾圖既費(fèi)時(shí)又易出錯(cuò),如果在輸入邏輯表達(dá)式后,由計(jì)算機(jī)自動(dòng)進(jìn)行邏輯運(yùn)算,自動(dòng)填寫(xiě)卡諾圖既方便又快捷。
2 利用計(jì)算機(jī)的圖形處理系統(tǒng)繪制卡諾圖
2.1 繪圖前的各種屬性的設(shè)置 計(jì)算機(jī)的圖形操作,都要使用繪圖區(qū)或容器的坐標(biāo)系統(tǒng),窗體是一個(gè)容器,所有的控件都分布窗體內(nèi),每個(gè)容器都有一個(gè)坐標(biāo)系,構(gòu)成一個(gè)坐標(biāo)系,需要三個(gè)元素:坐標(biāo)原點(diǎn)、坐標(biāo)度量單位、坐標(biāo)軸的長(zhǎng)度與方向。在VB中,當(dāng)新建一個(gè)窗體時(shí),新窗體采用默認(rèn)坐標(biāo)系,坐標(biāo)原點(diǎn)在窗體的左上角,橫向向右為X軸的正方向,縱向向下為Y軸的正向,單位為twip。為了符合日常的繪圖習(xí)慣,我們可以使用屏幕的SCALE方法將坐標(biāo)的原點(diǎn)設(shè)置在屏幕的左下角,橫向向右為X軸的正方向,縱向向上為Y軸的正方向。并利用窗體的SCALEMODE屬性將坐標(biāo)單位改為毫米。設(shè)置好畫(huà)圖的線條粗細(xì)和顏色。[2]
2.2 繪圖 繪圖時(shí)輸入變量的個(gè)數(shù)及卡諾圖的大小。計(jì)算機(jī)便依據(jù)變量個(gè)數(shù)分別動(dòng)態(tài)繪出三變量、四變量,或五變量卡諾圖。精確繪圖必須熟悉對(duì)坐標(biāo)的計(jì)算。
3 邏輯表達(dá)式的輸入,譯碼及運(yùn)算
當(dāng)輸入邏輯表達(dá)式時(shí),原變量照寫(xiě),反變量在字母后加單引號(hào),如Y=AB’+BC’+B’C+A’B,或者是輸入函數(shù)包含最小項(xiàng)的形式,如Y=∑(3,2,4,5,7,6,12,13,8,9,10,11)。用一個(gè)文本框接收邏輯表達(dá)式AB’+BC’+B’C+A’B后,以“+”為界將其分解為若干個(gè)“與”項(xiàng)。再將每個(gè)“與”項(xiàng)中的反變量先進(jìn)行非運(yùn)算(NOT),然后進(jìn)行“與”(AND)運(yùn)算,最后將四個(gè)“與”項(xiàng)運(yùn)算的結(jié)果進(jìn)行“或”(OR)運(yùn)算。在運(yùn)算前按照變量在卡諾圖上的分布分別給變量賦值:讓A=&H00FF,B=&H0FF0,C=&H3333,D=&H6666(按十六進(jìn)制書(shū)寫(xiě))。因?yàn)樽兞緼在四變量卡諾圖最上面兩行為(0000,00000),最下面兩行為(1111,1111),故賦值A(chǔ)=&H00FF。
4 卡諾圖的填寫(xiě)
上述邏輯運(yùn)算的結(jié)果為十進(jìn)制數(shù),將其轉(zhuǎn)化為二進(jìn)制數(shù)后,依次賦給動(dòng)態(tài)產(chǎn)生的十六個(gè)文本框。然后將十六個(gè)文本框依次移動(dòng)到卡諾圖對(duì)應(yīng)的位置上,并在卡諾圖上每個(gè)方格的右下角標(biāo)上最小項(xiàng)的編號(hào)。如圖2所示。
5 畫(huà)卡諾圈,合并最小項(xiàng),生成最簡(jiǎn)“與-或”表達(dá)式[3]
卡諾圖具有循環(huán)鄰接的特性,即相鄰的兩個(gè)最小項(xiàng)只有一個(gè)變量不同。若圖中兩個(gè)相鄰的小方格均為1,則這兩個(gè)相鄰的最小項(xiàng)的和將消去一個(gè)變量;若卡諾圖中四個(gè)相鄰的方格為1,則這四個(gè)相鄰的最小項(xiàng)的和將消去二個(gè)變量;八個(gè)相鄰的最小項(xiàng)合并時(shí)可消去三個(gè)變量;利用卡諾圖化簡(jiǎn)邏輯函數(shù)常用的方法是“圈1法”。用“圈1法”畫(huà)包圍圈的原則如下:①圈的個(gè)數(shù)應(yīng)最少,圈內(nèi)的小方格個(gè)數(shù)應(yīng)盡可能的多。②將值為“1”的相鄰方格圈成矩形或方形。③所圈取值為1的相鄰小方格的個(gè)數(shù)應(yīng)為1,2,4,8,其它形式是非法形式。④畫(huà)包圍圈時(shí),每個(gè)取值為1的方格可以被重復(fù)包圍,但每個(gè)包圍圈都要有新的方格,同時(shí)不能漏去任何一項(xiàng)。
當(dāng)輸入一個(gè)卡諾圈所包含的最小項(xiàng),如(3,2,7,6)時(shí),由計(jì)算機(jī)自動(dòng)生成最簡(jiǎn)與或表達(dá)式的算法如下:
①將上述包含的最小項(xiàng)輸入給一個(gè)文本框,利用Q=SPLIT(TEXT1,”,”)語(yǔ)句將各個(gè)最小項(xiàng)分別賦值給一個(gè)動(dòng)態(tài)數(shù)組Q,并按升序排列,這里Q(0)=2為四個(gè)最小項(xiàng)的最小值。然后根據(jù)Q(0)的值寫(xiě)出代表的最小項(xiàng),如:Q(0)=0,則STR1=“A’B’C’D’”,Q(0)=1、則STR1=“A’B’C’D”,這里的Q(0)=2所以STR1=“A’B’CD’”。
②依次求Q(1),Q(2),Q(3)與Q(0)的差值,凡是差值為2N(即1,2,4,8)時(shí),執(zhí)行3,否則執(zhí)行4。
③依據(jù)差值消去相應(yīng)的變量:當(dāng)差值為8時(shí)、則消去STR1中的變量A,當(dāng)差值為4時(shí)、消去STR1中的變量B, 當(dāng)差值為2時(shí)消去STR1中的變量C,當(dāng)差值為1時(shí)、消去STR1中的變量D,例Q(1)-Q(0)=3-2=1,則消去STR1中的變量D,這里的Q(2)-Q(0)=6-2=4,則消去STR1中的變量B,所以最初STR1=“A’BCD”,則變?yōu)镾TR1=“A’C”。即A’C含概了最小項(xiàng)(3,2,7,6)。
④將上述生成的最簡(jiǎn)與項(xiàng)用加號(hào)“+”連接起來(lái),就是最簡(jiǎn)“與-或”表達(dá)式。圖3為輸入函數(shù)Y=AB’+BC’+B’C+A’B后的運(yùn)行結(jié)果。
結(jié)論:應(yīng)用VB編程,由計(jì)算機(jī)繪制卡諾圖,對(duì)邏輯表達(dá)式的自動(dòng)譯碼、運(yùn)算、卡諾圖的自動(dòng)填寫(xiě)、最后生成最簡(jiǎn)“與-或”表達(dá)式。實(shí)現(xiàn)了邏輯函數(shù)化簡(jiǎn)的高效性。
欄目分類
熱門(mén)排行
推薦信息
- 堅(jiān)決扛牢保障國(guó)家糧食安全重任
- 食品包裝設(shè)計(jì)中傳統(tǒng)美術(shù)紋樣的現(xiàn)代轉(zhuǎn)譯研究
- 中國(guó)共產(chǎn)黨人精神譜系融入民族地區(qū)高校思想政治教育的路徑研究
- 播撒生態(tài)文明種子 建設(shè)和諧文明校園
- 文明校園內(nèi)部治理中的學(xué)生參與機(jī)制及實(shí)踐
- 幼兒園舞蹈教學(xué)活動(dòng)中培養(yǎng)幼兒禮儀素養(yǎng)策略研究
- 接觸即興訓(xùn)練的“重力”感知與“編創(chuàng)”思考探究
- 舞蹈創(chuàng)編中群舞舞臺(tái)調(diào)度和舞蹈基礎(chǔ)隊(duì)形的應(yīng)用
- 賽教融合下高校舞蹈教學(xué)實(shí)踐探析
- 淺談如何在舞蹈教學(xué)中融入思政元素——以課程《舞出紅梅品質(zhì)》為例
期刊知識(shí)
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 2023JCR影響因子正式公布!
- 國(guó)內(nèi)核心期刊分級(jí)情況概覽及說(shuō)明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學(xué)者
- 我用了一個(gè)很復(fù)雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問(wèn)題”。
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應(yīng)該熟知的10個(gè)知識(shí)點(diǎn)。
- 注意,最新期刊論文格式標(biāo)準(zhǔn)已發(fā)布,論文寫(xiě)作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學(xué)術(shù)論文編寫(xiě)規(guī)則
- 盤(pán)點(diǎn)那些評(píng)職稱超管用的資源,1,3和5已經(jīng)“絕種”了
- 職稱話題| 為什么黨校更認(rèn)可省市級(jí)黨報(bào)?是否有什么說(shuō)據(jù)?還有哪些機(jī)構(gòu)認(rèn)可黨報(bào)?
- 《農(nóng)業(yè)經(jīng)濟(jì)》論文投稿解析,難度指數(shù)四顆星,附好發(fā)選題!