版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
邏輯代數(shù)又稱為布爾代數(shù),是設計開關電路與邏輯電路的重要理論依據(jù),是學習計算機相關知識的重要基礎.應用邏輯代數(shù)的方法可以使電路設計和程序開發(fā)簡便化,從而解決許多實際問題.本章主要研究二進制、邏輯變量、真值表、邏輯運算及邏輯式的化簡、邏輯圖等概念,并通過實例介紹它們的應用.4.1二進制在生活中,我們經常與數(shù)字打交道,且數(shù)字有著不同的計數(shù)方法.人們平時用的是十進制計數(shù)方法,那么什么是進制?生活中除了十進制,還有其他進制嗎?4.1.1二進制與十進制及其轉換1.二進制與十進制人們最常用、最熟悉的進位制是十進制.十進制是用“0,1,2,3,4,5,6,7,8,9”十個數(shù)碼符號(或稱為數(shù)碼)放到相應的位置來表示數(shù),如2015.數(shù)碼符號在數(shù)中的位置叫做數(shù)位.計數(shù)制中,每個數(shù)位上可以使用的數(shù)碼符號個數(shù)叫做這個計數(shù)制的基數(shù).十進制的每個數(shù)位都可以使用十個數(shù)碼符號,因此,十進制的基數(shù)為10.每個數(shù)位所代表的數(shù)叫做位權數(shù).十進制數(shù)的進位規(guī)則是“逢10進位1”.十進制的位權數(shù)如表4-1所示.位置整數(shù)部分小數(shù)點…第3位第2位第1位起點位權數(shù)…102101100表4-1十進制數(shù)的意義是各個數(shù)位的數(shù)碼和與其位權數(shù)乘積之和.例如,.在電路中,電子元件與電路都具有兩種對立的狀態(tài),如電燈的“亮”與“不亮”、電路的“通”與“斷”、信號的“有”與“無”.采用數(shù)碼0和1來表示相互對立的兩種狀態(tài)十分便捷,因此,在數(shù)字電路中普遍應用二進制.二進制的基數(shù)為2,每個數(shù)位只有兩個不同的數(shù)碼符號0和1,進位規(guī)則是“逢2進位1”.二進制的位權數(shù)如表4-2所示.位置整數(shù)部分小數(shù)點…第3位第2位第1位起點位權數(shù)…222120表4-2二進制數(shù)1010的意義是.為了區(qū)別不同進制的數(shù),通常用下標指明基數(shù),如(1010)2
表示二進制中的數(shù),(2015)10表示十進制中的數(shù).2.二進制與十進制的轉換若要將二進制數(shù)轉換為十進制數(shù),只需將二進制數(shù)按權展開后,將各乘積項的積算出來,再將各項積相加即可.例如,,即.將十進制數(shù)換算為二進制數(shù),其實質就是把十進制數(shù)化成2的各次冪之和的形式,并且各次冪的系數(shù)只能取0和1,通常采用的是“除2取余法”(余數(shù)只有0和1).具體方法是:第一次除以2所得余數(shù)是轉換后所得二進制數(shù)的最低位,第二次除以2所得余數(shù)是轉換后所得二進制數(shù)的倒數(shù)第二位,……,依次類推,最后一次除以2且商為0時,所得余數(shù)是二進制數(shù)的最高位.例如,將十進制數(shù)23轉換為二進制數(shù).
讀取順序按照從下往上讀的讀取方向,可得.例1將下列自然數(shù)表示成它各個數(shù)位的數(shù)碼與其乘積之和的形式.(1); (2).解(1).(2).例2將二進制數(shù)轉化成十進制數(shù).解例3將十進制數(shù)轉化成二進制數(shù).解
讀取順序按照從下往上讀的讀取方向,可得4.1.2二進制的加法與乘法我們對十進制數(shù)的算術運算非常熟悉,例如,,.那么二進制的算術運算是怎樣的呢?實際上,二進制數(shù)的算術運算也非常簡單,它與十進制數(shù)的算術運算十分相似,它的基本運算是加法運算和乘法運算.二進制數(shù)的基數(shù)為2,進位規(guī)則是“逢2進位1”,故二進制數(shù)的加法運算法則為(1);(2),;(3)(逢2進位1,向高位進位1).二進制的乘法運算法則為(1);(2),;(3).例4
計算:.解根據(jù)二進制數(shù)的加法運算法則得即例5計算:.解根據(jù)二進制數(shù)的乘法運算法則得即4.2.1邏輯變量與基本運算1.邏輯與觀察兩個開關相互串聯(lián)的電路,如圖4-1所示.由串聯(lián)電路的性質可知,只有當開關A,B同時閉合時,電燈S才會亮;只要有其中一個開關沒有閉合(開關A沒有閉合或開關B沒有閉合)或者兩個開關都沒有閉合,電燈S就不會亮.圖4-1將開關A,B與電燈S的狀態(tài)列表,如表4-3所示.可以看到,電燈S是否亮,取決于開關A,B的狀態(tài),它們之間具有因果邏輯關系.邏輯是指事物的因果關系,即事件的發(fā)生和決定該事件發(fā)生的條件之間的因果關系.開關A的狀態(tài)開關B的狀態(tài)電燈S的狀態(tài)閉合閉合亮閉合斷開不亮斷開閉合不亮斷開斷開不亮表4-3開關A,B與電燈S的狀態(tài)都是只取兩種狀態(tài)的變量,這樣的變量叫做邏輯變量,用大寫字母A,B,S,……表示.邏輯變量只有兩種取值“0”和“1”.這里的“0”和“1”叫做邏輯常量,僅代表兩種對立的邏輯狀態(tài),無數(shù)量上的大小關系.例如,燈的“亮”與“滅”、電路的“通”與“斷”.規(guī)定:開關“閉合”取值為“1”,“斷開”為“0”;“燈亮”為“1”,“燈不亮”為“0”,則表4-3可表示為表4-4.開關A的狀態(tài)開關B的狀態(tài)電燈S的狀態(tài)111100010000表4-4AB11100100當決定事件發(fā)生的條件全部具備時,這件事才會發(fā)生,這樣的邏輯關系叫做與邏輯關系.在兩個開關相互串聯(lián)的電路中,如圖4-1所示,只有當開關A,B同時閉合時,電燈S才會亮,這種邏輯關系叫做邏輯變量A與邏輯變量B的邏輯乘法運算(“與”運算).其中,S叫做A,B的邏輯積,記作
(或),簡記為AB=S,讀作“A乘B”或“A與B”.“與”運算的運算法則如表4-5所示.
表4-5開關A的狀態(tài)開關B的狀態(tài)電燈S的狀態(tài)1111010110002.邏輯或觀察兩個開關相互并聯(lián)的電路,如圖4-2所示.規(guī)定:開關“閉合”取值為“1”,“斷開”為“0”;“燈亮”為“1”,“燈不亮”為“0”.將開關A,B與電燈S的狀態(tài)列表,如表4-6所示.圖4-2表4-6AB11100100當決定事件發(fā)生的條件有一個具備時,這件事就會發(fā)生,這樣的邏輯關系叫做或邏輯關系.在兩個開關相互并聯(lián)的電路中,如圖4-2所示,當開關A和開關B至少有一個閉合時,電燈S就會亮,這種邏輯關系叫做邏輯變量A與邏輯變量B的邏輯加法運算(“或”運算).其中,S叫做A,B的邏輯和,記作A+B=S(或),讀作“A加B”或“A或B”.“或”運算的運算法則如表4-7所示.表4-7開關A的狀態(tài)電燈S的狀態(tài)10013.邏輯非觀察電燈與開關相并聯(lián)的電路,如圖4-3所示.規(guī)定:開關“閉合”取值為“1”,“斷開”為“0”;“燈亮”為“1”,“燈不亮”為“0”.將開關A與電燈S的狀態(tài)列表,如表4-8所示.圖4-3表4-8A10我們將事件的發(fā)生和條件的具備總是相反的邏輯關系叫做非邏輯關系,即條件具備時,事件不發(fā)生;條件不具備時,事件發(fā)生.在電燈與開關相并聯(lián)的電路中,如圖4-3所示,當開關A“合上”時,電燈S就不亮;當開關A“斷開”時,電燈S就會亮,這種邏輯關系叫做邏輯變量A的邏輯“非”運算.其中,S叫做A的邏輯非,記作,讀作“A的非”.表4-9中和代表的含義是什么?“非”運算的運算法則如表4-9所示.表4-9例1填補表4-10的空白.解根據(jù)“與”運算、“或”運算、“非”運算的運算法則,將計算結果填進表4-10中,如表4-11所示.AB11100100AB110011100110011010001100表4-10表4-11邏輯代數(shù)式和普通代數(shù)式有什么異同?由常量1,0以及邏輯變量經邏輯運算構成的式子叫做邏輯代數(shù)式,簡稱邏輯式.例如,等都是邏輯式.這里,表示常量的1和0及單個變量都可看作是邏輯式.實數(shù)運算的先后順序是“先乘除,后加減”,邏輯運算也有它的優(yōu)先次序.邏輯運算的優(yōu)先次序依次為“非運算”“與運算”“或運算”,對于有括號的邏輯式,要先算括號內的邏輯式.例如,的運算順序應為:先計算,再計算,,然后計算,最后計算.4.2.2邏輯式與真值表將各邏輯變量的取值代入邏輯式,經過運算,可以得到邏輯式的一個值(0或1).例如,,當時,有;當時,有.AB111100010001列出A,B的一切可能取值與相應邏輯式的值的表,叫做邏輯式的真值表.例如,表4-12為邏輯式的真值表.如果對于變量A,B,C的任何一組取值,兩個邏輯式的值都相同,則這樣的兩個邏輯式叫做等值邏輯式.等值邏輯式可用等號“=”聯(lián)結,并稱為等式,如.需要注意的是,這種相等是狀態(tài)的相同.
表4-12ABA+B1110000101001001101000001111例2用真值表驗證邏輯式與是否相等.解列出真值表,如表4-13所示.可用看出,對于邏輯變量A,B的任何一組取值,與的值都相等,所以表4-13例3如圖4-4所示電路中,燈S的狀態(tài)能否用開關A,B,C的邏輯運算來表示?試給出結果.分析由圖4-4可知,這個電路是開關A,B,C相并聯(lián)的電路,三個開關中至少有一個“合上”時,電燈S才會亮,故使用邏輯加法運算.解由題意可知,圖4-44.3.1邏輯函數(shù)與邏輯圖反映邏輯變量之間關系的函數(shù)叫做邏輯函數(shù).邏輯函數(shù)的自變量是邏輯變量,稱為輸入邏輯變量;邏輯函數(shù)的因變量也是邏輯變量,稱為輸出邏輯變量,它們的取值范圍均為0和1.與普通代數(shù)相類似,邏輯函數(shù)可以寫作.
其中,邏輯變量A,B,C是邏輯函數(shù)的自變量,邏輯變量Y是邏輯函數(shù)的因變量,f是邏輯函數(shù)的對應法則.邏輯函數(shù)一般用邏輯式來表示,如.能夠實現(xiàn)邏輯運算的電路叫做邏輯門電路.我們把能實現(xiàn)邏輯乘運算的門電路叫做“與”門;能實現(xiàn)邏輯加運算的門電路叫做“或”門;能實現(xiàn)邏輯非運算的門電路叫做“非”門.“與”門電路、“或”門電路、“非”門電路是三種基本邏輯門,它們的圖示如圖4-6所示.圖中A,B為輸入邏輯變量,Y為輸出邏輯變量.
(a)“與”門
(b)“或”門
(c)“非”門用門電路連接邏輯線路的圖叫做邏輯圖.邏輯函數(shù)可以用邏輯圖來表示,畫邏輯圖的方法為按照邏輯運算的優(yōu)先次序,順次連結各門電路.圖4-6例1畫出邏輯函數(shù)的邏輯圖.分析按照邏輯運算的優(yōu)先次序,順次聯(lián)結各門電路圖示.解邏輯函數(shù)的邏輯圖如圖4-7所示.圖4-7普通代數(shù)有加、減、乘、除、乘方、開方等多種運算,但是邏輯運算只有“與”“或”“非”三種基本運算.與普通代數(shù)相類似,邏輯代數(shù)也有許多運算律.邏輯代數(shù)常用的運算律如下.(1)基本的“與”運算、“或”運算、“非”運算的運算律如表4-15所示.4.3.2邏輯代數(shù)的運算律名稱運算律0-1律自等律重疊率互補律還原律表4-152)其他運算律如表4-16所示.上述運算律都可以通過真值表進行驗證.任何數(shù)學邏輯門電路都可以用邏輯函數(shù)來表示.邏輯函數(shù)越簡單,實現(xiàn)起來越節(jié)省器材,且可靠性也高,所以大多數(shù)時候要對邏輯函數(shù)進行化簡.利用表4-15和表4-16中的運算律,可以化簡函數(shù).化簡邏輯函數(shù)的一般步驟如下.(1)去括號:將被加項中的括號去掉;(2)減項數(shù):使被加項的項數(shù)最少;(3)減次數(shù):基本邏輯變量出現(xiàn)的次數(shù)最少.名稱運算律交換律結合律分配率吸收率反演律
表4-16例2化簡下列邏輯式.(1);(2);(3).解(1)(反演律)(結合律)(重疊律)(2)(吸收律)(3)(交換律)(重疊律)(交換律)(分配律)(互補律)對于一個給定的邏輯函數(shù),它的表達式的形式多種多樣,那是否存在一種表達形式用起來最方便?4.4.1邏輯函數(shù)的最小項表達式由三個邏輯變量可以構成許多乘積項,如等,其中有一類乘積項具有如下特征:(1)每一項只有3個因子,而且包含了全部的三個變量;(2)每個變量作為因子在各項中只出現(xiàn)一次.具備這兩個特征的項叫做這三個邏輯變量的邏輯函數(shù)的最小項.一般地,n個邏輯變量一共有個最小項,如邏輯變量A,B,C的最小項有個.為了書寫方便,給最小項進行編號,一般用表示第i個最小項.在輸入變量順序確定后,將某一最小項中的原變量記為1,反變量記為0,由此形成一個二進制數(shù),此二進制數(shù)對應的十進制數(shù)即為i.最小項最小項編號二進制賦值m0000m1001m2010m3011m4100m5101m6110m7111三個邏輯變量A,B,C的個最小項對應的編號及對應的二進制數(shù)如表4-17所示.表4-17利用真值表可以驗證,最小項具有以下性質(以三個邏輯變量為例).(1)對于任意一個最小項,只有一組變量取值使它的值為1,而其余各種變量取值均使它的值為0.(2)所有最小項的和為1,即(3)任意兩個最小項的積為0.例如,(4)只有一個因子不同的兩個最小項,叫做邏輯相鄰的最小項.它們的和可以消去一個因子,合并成一項.例如,任意一個邏輯函數(shù)都可以表示成唯一的一組最小項之和的形式,叫做最小項表達式(“與—或”表達式).例如,為了獲得邏輯函數(shù)的最小項表達式,應首先將給定的邏輯函數(shù)轉化為若干乘積項之和的形式,然后再利用基本公式
將每個乘積項中缺少的因子補全即可.例1將邏輯函數(shù)表示為最小項表達式.解最小項表達式為4.4.2卡諾圖及邏輯函數(shù)的卡諾圖表示利用邏輯代數(shù)的運算律化簡邏輯函數(shù)表達式,需要一系列的推導過程,一般是比較復雜的,但如果利用“卡諾圖”來完成,就比較簡單了.卡諾圖是一張表,除了直接相鄰的兩個格稱為相鄰外,表中最左邊一列的小方格與最右邊一列的對應方格也稱為相鄰;最上面一行的小方格與最下面一行的對應方格也稱為相鄰,就像是把畫有表格的紙(見圖4-9(a))卷成筒(見圖4-9(b),(c))一樣.(a)(b)(c)圖4-9將邏輯函數(shù)的每一個最小項用1個小方塊表示,再將這些小方塊進行排序,使得相鄰的2個小方塊中的最小項是邏輯相鄰的最小項,這樣的圖形叫做卡諾圖.如圖4-10所示是2個邏輯變量的卡諾圖.圖4-10為了清楚地看出卡諾圖與邏輯函數(shù)表達式之間的關系,我們將2個邏輯變量的卡諾圖畫成如圖4-11所示的形式.圖4-11例如,如圖4-12所示是3個邏輯變量的卡諾圖.因為卡諾圖的每1個小方格都唯一地對應1個最小項,所以用卡諾圖表示邏輯函數(shù)的步驟為:(1)將邏輯函數(shù)寫成最小項表達式;(2)在表達式含有的最小項所對應的卡諾圖小方格填入“1”,其余位置填入“0”.圖4-12例2作出邏輯函數(shù)的邏輯圖.分析首先將邏輯函數(shù)用最小項表達式表示,然后畫出卡諾圖.解在3個邏輯變量的卡諾圖中,將對應的小方格中填入“1”,其余位置填入“0”,就得到邏輯函數(shù)的卡諾圖,如圖4-13所示.圖4-13例3根據(jù)如圖4-14所示的卡諾圖,寫出對應邏輯函數(shù)的最小項表達式.解對應邏輯函數(shù)的最小項表達式為圖4-144.4.3利用卡諾圖化簡邏輯函數(shù)由于卡諾圖中兩個相鄰最小項中,只有一個變量取值不同,而其余取值都相同,所以可以合并相鄰最小項.2個相鄰的最小項結合(用一個包圍圈表示),可以消去1個取值不同的變量而合并為l項.如圖4-15所示,將卡諾圖中相鄰的兩個“1”圈起來,圈中的最小項為和,其中變量A不同,將其合并為1項,得.圖4-15圖4-164個相鄰的最小項結合(用一個包圍圈表示),可以消去2個取值不同的變量而合并為l項.如圖4-16所示,將卡諾圖中相鄰的4個“1”圈起來,圈中的最小項為,,,,其中變量A,B不同,將其合并為1項,得C.8個相鄰的最小項結合(用一個包圍圈表示),可以消去3個取值不同的變量而合并為l項.如圖4-17所示,將卡諾圖中相鄰的8個“1”圈起來,圈中的最小項為,,,,,,
,,其中變量A,B,C不同,將其合并為1項,得C.圖4-17總之,個相鄰的最小項結合,可以消去n個取值不同的變量而合并為l項.由此可見,用卡諾圖化簡邏輯函數(shù),就是在卡諾圖中找出相鄰的最小項,即畫圈,然后將圈中的最小項合并消去多余因子,從而得到邏輯函數(shù)的最簡形式.為了保證將邏輯函數(shù)化到最簡,畫圈時必須遵循以下原則:(1)圈要盡可能大.這樣消去的變量就多,但每個圈內只能含有()個相鄰項.(2)圈要盡可能少.因為圈越少,合并后的項越少.(3)有些方格可能多次被圈,但是每個圈內的方格,至少有一個不是其他圈所圈過的.例4如圖4-18所示為邏輯函數(shù)的卡諾圖,試寫出化簡后的邏輯函數(shù)表達式.解在卡諾圖中用圈將相鄰的1圈起來.觀察左邊的圈,圈中的最小項為和,其中變量A不同,將其合并為1項,得;觀察右邊的圈,圈中的最小項為和,其中變量C不同,將其合并為1項,得.因此,化簡后的邏輯表達式為.圖4-18例5化簡邏輯函數(shù).解對應的卡諾圖如圖4-19所示.觀察上面的圈,圈中的最小項為,,,,其中變量B,C不同,將其合并為1項,得;觀察下面的圈,圈中的最小項為,,,,其中變量A,B不同,將其合并為1項,得C.因此,化簡后的邏輯表達式圖4-19利用卡諾圖化簡邏輯函數(shù)的基本步驟是:(1)將邏輯函數(shù)寫成最小項表達式;(2)畫出函數(shù)的卡諾圖;(3)在卡諾圖中“圈1”;(4)消去各圈中以相反狀態(tài)出現(xiàn)的變量;(5)寫出化簡后的邏輯函數(shù)表達式.邏輯代數(shù)是分析和設計數(shù)字電路的基本數(shù)學工具,下面就來看看邏輯代數(shù)在實際生活中的一些應用.4.5應用舉例ABCS11111101101110000111001001000000例1設計一個電路,由三個開關A,B,C(閉合為1,斷開為0)控制一盞電燈S(燈亮為1,不亮為0),當至少兩個開關閉合時,燈S才能亮.(1)寫出這個電路的邏輯關系式;(2)化簡邏輯關系式,并畫出邏輯圖.解(1)列出開關A,B,C及燈S的真值表,如表4-18所示.表4-18觀察真值表4-18發(fā)現(xiàn),只有在4種情況下燈S才亮,即(1)開關A閉合(),開關B閉合(),開關C閉合();(2)開關A閉合(),開關B閉合(),開關C斷開();(3)開關A閉合(),開關B斷開(),開關C閉合();(4)開關A斷開(),開關B閉合(),開關C閉合().由此可知,在以下4種情況下,成立:(1)成立;(2)成立;(3)成立;(4)成立.因此,這個電路的邏輯表達式為(2)畫出對應的卡諾圖,如圖4-20所示.在卡諾圖中用圈將相鄰的1圈起來.觀察左邊的圈,圈中的最小項為和,其中變量B不同,將其合并為1項,得;觀察中間的圈,圈中的最小項為和,其中變量A不同,將其合并為1項,得;觀察右邊的圈,圈中的最小項為和,其中變量C不同,將其合并為1項,得.因此,化簡后的邏輯表達式為.畫出對應的邏輯圖,如圖4-21所示.圖4-20圖4-21例2寫出邏輯圖4-22的邏輯關系式,并將其化簡,針對化簡后的邏輯關系式,畫出邏輯圖.解由圖4-22可知,邏輯關系式為將邏輯關系式寫成最小項表達式為圖4-22畫出對應的卡諾圖,如圖4-23所示.在卡諾圖中用圈將相鄰的1圈起來.觀察上面的圈,圈中的最小項為和,其中變量B不同,將其合并為1項,得;觀察下面的圈,圈中的最小項為和,其中變量C不同,將其合并為1項,得.因此,化簡后的邏輯表達式為畫出對應的邏輯圖,如圖4-24所示.
圖4-23圖4-24例3一個公司通過表決來確定一個新的企劃案是否可行.若董事會高層領導甲、乙、丙三人中至少要有兩個人同意,則新的企劃案通過表決;但甲擁有否決權,只要甲不同意,則不通過.寫出邏輯關系式,并畫出邏輯圖.解設A,B,C為邏輯變量(同意為1,不同意為0)分別表示甲、乙、丙三人,Y表示企劃案(通過為1,不同意為0).根據(jù)設計要求可知,邏輯關系式為畫出對應的卡諾圖,如圖4-25所示.圖4-25在卡諾圖中用圈將相鄰的1圈起來.觀察左邊的圈,圈中的最小項為和,其中變量B不同,將其合并為1項,得;觀察右邊的圈,圈中的最小項為和,其中變量C不同,將其合并為1項,得.因此,化簡后的邏輯表達式為畫出對應的邏輯圖,如圖4-26所示.圖4-26算法不僅是數(shù)學及其應用的重要組成部分,也是計算機科學的重要基礎.在現(xiàn)代社會里,計算機已經成為人們日常生活和工作不可缺少的工具.聽音樂、看電影、玩游戲、打字、畫卡通畫、處理數(shù)據(jù),計算機幾乎滲透到了人們生活的所有領域.那么,計算機是怎樣工作的呢?要想弄清楚這個問題,算法的學習是一個開始.從數(shù)學發(fā)展的歷史來看,算法并不是一個全新的概念.比如,在西方數(shù)學中很早就有了歐幾里得算法,而中國古代數(shù)學中蘊含著更為豐富的算法內容和思想.在這一章里,我們將主要研究算法的概念、算法的幾種基本邏輯結構和程序框圖.本章知識是學習相關專業(yè)課程的基礎.5.1.1算法的概念實際上,算法對我們來說并不陌生.回顧一元一次方程的求解過程,我們可以歸納出以下基本步驟.第一步:移項.將數(shù)字6從方程左邊移到右邊,得第二步:合并同類項,得第三步:系數(shù)化為1.方程兩邊同時除以3,得通過移項、合并同類項、系數(shù)化為1這三個步驟,可以解任意形如的一元一次方程.這些步驟也就構成了解一元一次方程的算法.算法(algorithm)這個詞出現(xiàn)于12世紀,指的是用阿拉伯數(shù)字進行算術運算的過程.在數(shù)學中,現(xiàn)代意義上的“算法”通常是指可以用計算機來解決某一類問題的程序或步驟,這些程序或步驟必須是明確的、有效的,而且能夠在有限步之內完成.不難看出,算法具有以下特點:(1)確定性.算法中每一步操作內容的含義是確切的,能有效地執(zhí)行,并且能得到確定的結果,而不能模棱兩可,含混不清.(2)有限性.算法中執(zhí)行的步驟應是有限的,不能無休止地執(zhí)行下去.算法中可以有零個、一個或多個輸入.(3)有序性.算法初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的后繼步驟,只能執(zhí)行完前一步才能進行下一步.(4)不唯一性.求解某個問題的解法不一定是唯一的,因此對于一個問題可能有不同的算法.(5)有一個或多個輸出.一個算法必須有一個或多個輸出.因為算法的目的是用來解決一個給定的問題,所以沒有結果輸出的算法是無效的,無意義的.按照這樣的理解,我們可以設計出很多具體數(shù)學問題的算法.例1設計一個算法,求的值.分析實數(shù)的乘法滿足結合律,可以將數(shù)字從左至右依次相乘.解算法如下.第一步:計算得到2.第二步:將第一步中的運算結果2與3相乘得到6.第三步:將第二步中的運算結果6與4相乘得到24.第四步:將第三步中的運算結果24與5相乘得到120.第五步:將第四步中的運算結果120與6相乘得到720.因此,5.1.2命題邏輯與條件判斷在設計算法解決實際問題時,經常需要對表示步驟或程序的語句進行判斷.例如,(1)3大于5.(2)如果對頂角相等,那么兩直線平行.(3)是有理數(shù).以上陳述句中,(2)陳述語句敘述的事情是真的;(1)(3)陳述語句敘述的事情是假的.一個能判斷真假的陳述語句叫做命題.一個命題敘述的事情如果是真的,稱其為真命題;如果是假的,稱其為假命題.只用一句簡單的陳述句表達的命題叫做簡單命題.例如,命題(1)是簡單命題,且是假命題.用“如果……,那么……”將兩個簡單命題聯(lián)結起來所組成的新命題叫做復合命題,其中前半部分是命題的條件,后半部分是命題的結論.例如,命題(2)是復合命題,命題的條件是“對頂角相等”,命題的結論是“兩直線平行”.由條件的正確可以推出結論的正確,所以這個復合命題是真命題.試舉出生活中要先進行條件判斷才能解決的問題.在研究實際問題時,經常會遇到由不同條件得到不同結論的問題.例如,兒童乘坐火車,若身高不超過,兒童可以免費乘車,無需購票;若身高高于,但不超過,兒童應該購買半價票乘車;若身高超過,兒童應該購買全價票乘車.上述問題的特點是:滿足不同的條件,所得結論就不同,因此需要進行條件判斷.其算法如下.第一步:測量兒童身高,得到數(shù)據(jù)h.第二步:條件判斷.如果,那么兒童可以免費乘車;如果
,那么兒童應該購買半價票乘車;如果,那么兒童應該購買全價票乘車.第三步:給出問題的答案.且是真命題.(4)此句是一個陳述句,但敘述的事情是假的,所以是命題,而且是假命題.(5)對于該語句,若其敘述的事情為“真”,即“我正在說假話”為真,則這句話也應是假話,所以應為假命題,與假設矛盾;反之,若其敘述的事情為“假”,即“我正在說假話”為假,也就是“我正在說真話”,則這句話也應是真話,所以應為真命題,與假設矛盾.于是,這句話的真假無法確定,所以不是命題.例2判斷下列語句是否是命題,為什么?若是命題,請說明是真命題還是假命題.(1).(2)不準亂扔垃圾.(3)是的真子集.(4)4是質數(shù).(5)我正在說假話.解(1)x的取值不確定,是一個不能確定真假的陳述句,所以不是命題.(2)此句是一個祈使句,不是陳述句,所以不是命題.(3)此句是一個陳述句,并且敘述的事情是真的,所以是命題,而例3寫出形如的不等式解集的一個算法.解第一步:計算.第二步:條件判斷.如果,表示方程
存在兩根(設),那么不等式的解集為;如果,表示方程有兩個相等的根,那么不等式的的解集為
;如果,表示方程沒有實根,那么不等式的解集為R.第三步:給出問題的答案.5.1.3算法的基本邏輯結構1.順序結構由若干個依次執(zhí)行的處理步驟組成的結構稱為順序結構.在算法的邏輯結構中,順序結構是最簡單的邏輯結構,也是任何一個算法都離不開的基本結構.例4已知直角坐標系中的兩點和,寫出求直線AB的方程與坐標軸圍成面積的一個算法.解算法如下.第一步:取,,,.第二步:計算.第三步:在第二步結果中,令,得到y(tǒng)的值m,從而得到直線與y軸的交點.第四步:在第二步結果中,令,得到x的值n,從而得到直線與x軸的交點.第五步:計算.第六步:輸出結果.2.條件結構如果在一個算法中需要進行條件判斷,根據(jù)條件是否成立會有不同的處理步驟,那么,這種算法結構稱為條件結構.例如,節(jié)中兒童乘坐火車購買車票的算法結構就是條件結構.例5寫出對任意3個整數(shù)a,b,c求最大值的算法.解算法如下.第一步:令.第二步:判斷是否成立,若成立,則令;否則值不變.第三步:判斷是否成立,若成立,則令;否則值不變.第四步:輸出.3.循環(huán)結構反復循環(huán)執(zhí)行同一步驟的算法稱為循環(huán)結構.例6設計一個算法,求100以內能被5整除的最小正整數(shù).解設100以內的正整數(shù)按照由小到大的順序組成一列數(shù):算法如下.第一步:輸入數(shù)據(jù)1.第二步:如果1能被5整除,則輸出1;如果1不能被5整除,則返回第一步,輸入下一個數(shù)2,直至輸入的數(shù)能被5整除為止.第三步:輸出結果.例7設計一個算法,求的值.分析通常我們按照逐一求和的方法來計算的值,然而,這個過程中包含重復操作的步驟,故可以用循環(huán)結構來表示.分析逐一求和的計算過程,可以發(fā)現(xiàn)每一步都可以表示為:第
步的結果第i步的結果.為了方便、有效地表示,我們用一個累加變量S來表示第一步的計算結果,把的結果仍記為S,從而第i步的結果表示為,其中S的初始值為0,i依次?。馑惴ㄒ坏谝徊剑毫睿诙剑喝舫闪?,則執(zhí)行第三步;否則,輸出S,結束算法.第三步:
.第四步:,返回第二步.算法二第一步:令.第二步:.第三步:.第四步:若成立,則執(zhí)行第二步;否則,輸出S,結束算法.上一節(jié)我們學習了用自然語言描述算法的方法,這種方法符合人們的認知習慣,便于閱讀,易于理解,但描述得不太簡練,不夠直觀.這節(jié)課我們將要學習算法的圖形語言——程序框圖.5.2.1程序框圖1.程序框圖的基本圖例我們把算法中每一步操作的內容寫在框(即程序框)內,步驟之間的順序關系用帶箭頭的線(指向線或流程線)連接成一個整體.這種用規(guī)定的圖形、指向線及文字說明來準確、直觀地表示算法的圖形,叫做算法的程序框圖(又叫做流程圖),如圖5-1所示.它是算法說明的一種圖形語言.圖5-1使用程序框圖的規(guī)則如下:(1)使用規(guī)定的圖形符號.(2)框圖一般按照從上到下、從左到右的方向畫.(3)開始框有一個出口;結束框有一個進口;判斷框一般有一個進口,兩個出口;其他框有一個進口,一個出口.(4)框圖中的語句要簡練、清楚.2.程序框圖的基本結構根據(jù)算法的三種基本邏輯結構,相應的算法程序框圖也有三種基本的邏輯結構:順序結構、條件結構和循環(huán)結構.順序結構:是最簡單的算法結構.語句與語句之間,框與框之間是按照從上到下的順序進行的,它是由若干個依次執(zhí)行的處理步驟組成的,它是任何一個算法都離不開的基本結構,其一般形式如圖5-2所示,先執(zhí)行語句1,再執(zhí)行語句2.圖5-2條件結構:是指在算法中通過條件的判斷,根據(jù)條件是否成立而選擇不同流向的算法結構.它的一般形式如圖5-3或圖5-4所示,其中P代表一個條件,當P成立(記作“Y”)時執(zhí)行語句1;當P不成立(記作“N”)時執(zhí)行語句2.圖5-3圖5-4循環(huán)結構:是指在算法中需要反復執(zhí)行某項任務直到條件得到滿足為止.它的一般形式如圖5-5所示,其中當條件P成立時,進行循環(huán)體;當條件P不成立時,退出循環(huán)體.圖5-5例1如圖5-6所示是一個算法的程序框圖.已知
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 17001.5-2024防偽油墨第5部分:壓敏防偽油墨
- 磁帶錄音機項目運營指導方案
- 真空吸塵器產品供應鏈分析
- 沼氣出料機產品供應鏈分析
- 安裝照明設備行業(yè)市場調研分析報告
- 測繪儀器產品供應鏈分析
- 電子鎖細分市場深度研究報告
- 垃圾處理行業(yè)營銷策略方案
- 工業(yè)用和商用貨盤的出租行業(yè)營銷策略方案
- 西洋參市場分析及投資價值研究報告
- 處方書寫規(guī)范-完美版課件
- 金屬切削機床導ppt課件(完整版)
- GB∕T 38075-2019 硬質道路石油瀝青
- 學生兒童新生入學自我介紹簡歷
- 大學團支書競選ppt
- DB22∕T 5016-2019 市政工程資料管理標準
- 叉車日常維護保養(yǎng)檢查記錄表
- 神經電生理檢查ppt
- 2017年普通高中物理課程標準解讀
- 堡壘機WEB方式運維
- PTN測試操作指引
評論
0/150
提交評論