整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          數學奇特之美”,走進布爾代數

          數學奇特之美”,走進布爾代數

          的思維過程能用數學表示嗎?19世紀早期,英國數學家喬治·布爾(George Boole,1815-1864)突發奇想這個問題?此前,數學只用于計算,沒有人意識到,數學還能表達人的邏輯思維。

          布爾首先對這個問題作了大膽的嘗試。他應用代數方法研究了邏輯,把一些簡單的邏輯思維數學化,建立了邏輯代數。他當然料想不到,在一個多世紀以后,這種十分簡單的代數,競對計算機技術有著巨大的實用價值。人們懷念他,就把邏輯代數叫做布爾代數。

          兩千年來,哲學書都是用文字寫的。比如,最著名的三段論:

          所有人都是要死的, 蘇格拉底是人, 所以,蘇格拉底是要死的。

          喬治·布爾認為,這種推理可以用數學表達,也就是說,哲學書完全可以用數學寫。這就是數理邏輯的起源。

          在布爾代數里只有兩個數: 1和0;只有三種運算方法:邏輯加、邏輯乘和邏輯非。兩個數表示兩種狀態。世界上有很多事物,是只具備兩種狀態的。比如一根電線,它或者帶電,或者不帶電。所以,我們不妨把帶電時叫做1,不帶電時叫做0.

          注意。這組的1和0,表示有矛盾關系的雙方,和我們熟悉的數量概念中的1和0,含義是不同的。比如一把鎖,它或者開著,或者鎖著,這兩種狀 不能同時存在,可是一種狀態可以轉變成另一種狀態。所以,我們可以把打開時叫做1,鎖著時叫做0。一扇門,只有開著和關著兩種狀態,地可以用1和萊示。

          一句話,對了或者錯;也可以用1或0來裝示。哥哥和弟弟住在一間房里,各人有一把鎖和一把鑰匙。為了方便和安全;祂們出門時就把兩把鎖互相鉤住,串聯在門扣上。這樣一來,無論是哥哥單獨打開鎖,或者弟弟單獨打開鎖,或者兩個同時打開,都能達到開門的目的。不這樣,門一定不開。這種關系叫做邏輯加的關系,又叫做"或"的關系,用符號+"或者"V"表示。于是,我們可以用下面四個等式來表示四種情況:

          哥哥鎖開(1)

          →門開(1),1+0=1;

          弟弟鎖不開(0)哥哥鎖不開(0),

          →門開(1),0+1=1;

          弟弟鎖開(1)哥哥鎖開(1);

          →門開(1),1+1=1;

          弟弟鎖開(1)哥哥鎖不開(0):

          .→門不開(0),0+0=0。

          弟弟鎖不開(0).

          這四種情況,可以用代數式表示。令哥哥的鎖的狀態為A,弟弟的鎖的狀態為B,門的狀態為Y。A、B、Y都可以分別取1或者0兩種狀態。這里,A、B是自變量,Y是A、B的函數,函數關系是:

          A+B=Y.

          再看一個例子。哥哥和弟弟共同用一個柜子,他們商量決定,無論哪一個,都不得單獨開柜子。:為了保證做到這點,他們兩個,把各自的鎖并掛套進門扣后鎖上,開柜時,必須兩把鎖都打開后才能開門。這種門與鎖的關系,叫做邏輯乘的關系,又叫做"與"的關系,用

          符號"×"或者"·"、"八"表示。這里的四種情況,也可以用四個等式表示:

          哥哥鎖開→門不開,1×0=0;

          弟弟鎖不開,哥哥鎖不開→門不開,0×1=0;

          弟弟鎖開,哥哥鎖開—→門開,1×1=1;:

          弟弟鎖開,哥哥鎖不開→門不開,0×0=0。

          弟弟鎖不開,寫成代數式是:A×B=Y,或者AB=Y。

          還有一個運算符號,叫做邏輯非,簡稱"非"。邏輯非就是否定的意思,邏輯非運算也叫做反向運算,表達式是:

          布爾代數一共只有以上三種運算,沒有減法和除法運算,也沒有乘方、開方等運算。

          布爾代數的運算規則多數與傳統代數相同。不同的有以下幾條:

          1,表示全部集合;

          0,表示空集;

          1 – A, 表示排除了A以后的集合,即非A集合;

          1 + A=1, 全部集合與A集合的并集還是全部集合;

          A x (1 – A)=0,這是矛盾律,即A集合與非A集合的交集是空集,它表明一個事物不能同時是它自己和它自己的反面;

          A x A=A, A集合與A集合的交集仍然是A集合;

          A + A=A, A集合與A集合的并集仍然是A集合;

          布爾代數只有兩個數,分別是:true(真)和false(假)。

          喬治·布爾發明的工具,叫做"集合論"(Set theory)。他認為,邏輯思維的基礎是一個個集合(Set),每一個命題表達的都是集合之間的關系。比如,所有人類組成一個集合R,所有會死的東西組成一個集合D。所有人都是要死的

          集合論的寫法就是:R X D=R。

          集合之間最基本的關系是并集和交集。乘號(X)表示交集,加號(+)表示并集。上面這個式子的意思是,R與D的交集就是R。

          同樣的,蘇格拉底也是一個集合S,這個集合里面只有蘇格拉底一個成員。

          蘇格拉底是人 // 等同于 S X R=S。

          上面式子的意思是,蘇格拉底與人類的交集,就是蘇格拉底。

          將第一個式子代入第二個式子,就得到了結論。

          S X (R X D)=(S X R) X D=S X D=S

          這個式子的意思是,蘇格拉底與會死的東西的交集,就是蘇格拉底,即蘇格拉底也屬于會死的東西。

          邏輯代數在邏輯電路的設計和簡化中,有著廣泛的應用。執行"與"、"或"、"非"功能的電子元件,叫做"與門"、"或門"、"非門",是構成邏輯線路的基本元件。

          布爾代數是計算機的基礎。沒有它,就不會有計算機。布爾代數發展到今天,已經非常抽象,但是它的核心思想很簡單,它促成了計算機的誕生。

          雖然布爾代數可以判斷命題真偽,但是無法取代人類的理性思維。原因是它有一個局限。它必須依據一個或幾個已經明確知道真偽的命題,才能做出判斷。比如,只有知道"所有人都會死"這個命題是真的,才能得出結論"蘇格拉底會死"。

          布爾代數只能保證推理過程正確,無法保證推理所依據的前提是否正確。如果前提是錯的,正確的推理也會得到錯誤的結果。而前提的真偽要由科學實驗和觀察來決定,布爾代數無能為力。

          布爾代數發明后很久都不受重視,數學家們曾輕蔑地說它:沒有數學意義,在哲學上也屬于稀奇古怪的東西。直到20世紀初,羅素在《數學原理》中提到:"純數學是布爾在一部他稱之為《思想規律》的著作中發現的",人們這才關注到布爾代數。但還是認為它是毫無實際用途的"純數學"。

          直到1938年,一位年僅22歲的美國年輕人在《繼電器與開關電路的符號分析》中,將布爾代數與開關電路聯系起來了。這篇文章是他在麻省理工學院(MIT)獲得電氣工程碩士學位的畢業論文。上世紀八十年代,被譽為"多元智能理論"之父的哈佛大學教授霍華德.加德納(Howard Gardner)曾經評論這篇文章:"它可能是本世紀最重要、最著名的一篇碩士論文"。這位年輕人就是克勞德.艾爾伍德.香農。

          離散數學是計算機科學的重要分支之一。其中格論又是重要的組成部分。德國數學家戴德金在1900年研究對偶集時發現了格。后來經過皮爾士以及施羅德等人的工作,格的研究向前推進一大步。美國數學家伯克霍夫于1940年出版的《格論》一書,是個劃時代的工作。在格論的研究中,數學家們發現,布爾代數經過特殊化處理后也是一種格,叫做布爾格,或有補分配格。

          嘍,大家好,我是秒可職場的小可~


          今天我們來學習下PPT中一個神奇的功能,它就是布爾運算。


          布爾運算跟數學運算有點像~指的就是PPT中的合并形狀工具:結合,組合,拆分,相交,剪除。


          這五種功能統稱在一起就是布爾運算。



          (PS:在office2010版本及以上,才支持布爾運算功能。還在使用07版office的小伙伴們,是時候下載更高版本的軟件了。)


          下面我們就來詳細講講這5種功能的用法。


          1、聯合運算(結合)


          聯合就是把兩個獨立的元素及以多個元素,合并成一個形狀。


          如下GIF,我們把圓形和云形結合:



          2、組合運算


          組合運算,也是將兩個以上的元素,合并成一個形狀,它和聯合運算的區別在于,元素之間重合的部分給除掉了。


          如下GIF,我們同樣把圓形和云形組合,中間重合的部分,就被裁掉了:



          3、拆分運算


          拆分運算,是把兩個獨立的元素的各個區域拆散,變成單獨的元素。


          如下GIF,同樣把圓形與云形進行拆分,就會形成 三種形狀:



          4、相交運算


          相交運算,類似于數學中的交集,兩個元素進行相交,只保留重合的區域。

          如下GIF,繼續拿圓形與云形進行相交,可得到一個新的形狀:



          5、剪除運算


          剪除運算,類似于數學中的減法,我們先選中一個形狀A,再選中另外一個形狀B,通過剪除運算得到的新圖像就是A-B。


          你可以簡單地理解為是 A形狀減去B形狀。


          如下GIF,我們用云形剪除圓形,那么:



          好了,了解了它們是什么之后,那么在PPT設計中,它都能干什么用呢?


          如下GIF,可以制作圖片型文字,利用相交的功能,將文字與圖片相交,可以使文字填充上圖片的內容。


          選中圖片與文字(先選中圖片,再選文字),再進行相交操作。



          也可以利用組合功能制作鏤空字:


          #Excel培訓,#PPT培訓,#秒可職場,#職業培訓,#在線教育平臺

          這樣的做法,在PPT設計中,可以讓文字更具可視化效果。


          還能制作個性化形狀樣式


          PPT軟件中,僅提供了一些比較基礎的形狀,像三角形,矩形等,那如果想要個性化圖形,就需要親自動手來做。


          比如剪除得到這樣的封面圖形:



          把圓形和圓角組合,可以得到這樣的圖形:



          當我們在制作PPT中,使用了某些特殊字體,但又不能嵌入,為了防止字體丟失,我們可以將文字矢量化。


          比如像下面這個頁面,使用了書法字體:



          這都是布爾運算能夠夠完成的一些不為人知的效果,怎么樣?是不是非常簡單?


          好啦,以上就是今天的干貨!理解并不難,重在操作!如果對大家有幫助的,建議支持三連~

          手初學javascript怎么學?最近開始學習JavaScript,西安鷗鵬教育整理了一些相關的基礎知識,希望對大家有所幫助。

          JS注釋方式:

          // 單行注釋(Ctrl+/ )

          /*

          段落注釋(Ctrl+shift+/ )

          */



          【JavaScript基礎】

          JavaScript:

          基于瀏覽器 、基于(面向)對象、事件驅動、腳本語言

          JavaScript的作用:

          表單驗證,減輕服務的壓力,添加頁面動畫效果,動態更改頁面內容,Ajax網絡請求(Ajax:可以實現頁面局部刷新)

          JavaScript組成部分;ECMAScript(5.1/6)、DOM、BOM

          ECMAScript腳本程序語言:

          語法標準:語法;變量和數據類型;運算符;邏輯控制語句;關鍵字、保留字;對象

          DOM文檔對象模型

          BOM瀏覽器對象模型

          JavaScript的基本結構:

          <script type="text/javascript">

          JS語句;

          </script>

          變量的聲明和變量:

          先聲明變量再賦值:

          var width; width=5;

          var——用于聲明變量的關鍵字;width——變量名

          ...

          同時聲明變量和賦值

          不聲明直接賦值

          【使用JS的三種方式】

          1、HTML標簽中內嵌JS;

          <button onclick="alert('小樣你真點啊!')">有本事點我呀!!!</button>

          2、HTML頁面中直接使用JS:

          <script type="text/javascript">

          JS語句;

          </script>

          3、引用外部JS文件:

          <script language="JScript" src="JS文件路徑"></script>

          【注意事項】

          1)頁面中JS代碼與引用JS代碼,可以嵌入到HTML頁面的任意位置。但是,位置不同會影響到JS代碼的執行順序;

          例如:<script>在body前面,會在頁面加載之前執行JS代碼;

          2)頁面中JS代碼,使用type="text/javascript"

          引用外部的JS文件,使用language="JScript"

          3)引用外部JS文件的<script></script>標簽,必須成對出現,且標簽內部不能有任何代碼!

          【JS中的變量】

          1、JS中變量聲明的寫法:

          var width=10;//使用var聲明的變量,只在當前函數作用域有效

          width1=11;//不適用var,直接賦值生成的變量,默認為全局變量,整個JS文件有效

          var a,b,c=1;//同一聲明語句同時聲明多個變量,變量之間用英文逗號分隔,但是,賦值需要單獨賦值,例如上式中,只有c賦值為1,a b為undefined(未定義)。

          【聲明變量注意事項】

          1)JS中所有變量類型聲明,均使用var關鍵字。變量的具體數據類型,取決于給變量賦值的執行。2)同一變量可在多次不同賦值時,修改變量的數據類型

          var width=10;//width 為整型變量

          width="hahaha";//width 被改為字符串類型

          3)變量可以使用var聲明,也可以省略var,[區別]不使用var,默認為全局變量

          4)同一變量名,可以多次用var聲明,但是并沒有任何含義,也不會報錯,第二次之后的聲明,只會被理解為賦值。

          2、變量的命名規范

          1)變量名,只能有字母,數字,下劃線,$組成

          2)開頭不能是數字

          3)變量區分大小寫,大寫字母與小寫字母為不同變量

          3、變量命名名要符合駝峰法則:

          變量開頭為小寫,之后每個單詞首字母大寫;

          XiaoXiZhenMeng √

          xiao_xi_zhen_meng √

          xiaoxizhenmeng ×

          4、JS中的變量的數據類型

          Undefined:未定義,用var聲明的變量,沒有進行初始化賦值。var a;

          Null:表示為空的引用。var a=null;(其中一種情況)eg:空對象,空數組。。。

          boolean:真假,可選值true/false

          Number:數值類型。可以是小數,也可以是正數。

          String:字符串類型。用""和''包裹的內容,稱為字符串。

          Object(復雜數據類型):后續講解,函數、數組等。。。

          5、常用的數值函數:

          1)isNaN:用于判斷一個變量或常量是否為NaN(非數值)

          使用isNaN判斷時,會嘗試使用Number()函數進行轉換,如果能轉換為數字,則不是非數值,結果為false

          "111" 純數字字符串,false "" 空字符串,false "la" 包含其他字符,true

          true/false 布爾類型,false

          2)Number():將其他類型轉換為數值類型

          [字符串類型轉數值]

          >>字符串為純數值字符串,會轉為對應的數字"111"->111

          >>字符串為空字符串時,會轉換為0 ""->0

          >>字符串包含其他非數字字符時,不能轉換 "111a"->NaN

          [布爾Boolean類型轉數值]

          true->1 false->0

          [null/Undefined轉數值]

          null->0 Undefined->NaN

          [Object類型轉數值]

          (以后再了解哦~)先調用ValueOf方法,確定函數是否有返回值,再根據上述各種情況判斷。

          3)parseInt:將字符串轉成數值

          >>>空字符串,不能轉。結果為NaN

          >>>純數值字符串,能轉。"123"->"123" "123.5"->123(小數轉化時,會直接抹去小數點,不進行四舍五入)

          >>>包含其他字符的字符串,會截取第一個非數值字符串前的數值部分。"123a456"->123 "a123b345"->NaN

          >>>parseInt只能轉String類型,Boolean/null/Undefined 均為NaN

          4)parseFloat:將字符串轉為數值

          >>>使用方式同parseInt,但是,當轉化小數字符串時,保留小數點;轉化整數字符串時,保留整數;

          "123.5"->123.5 "123.0"->123

          5)typeOf:用來檢測變量類型

          未定義—>Undefined 字符串->string true/false->boolean 數值->Number

          對象/null->Object 函數->function

          【JS中的輸出語句】

          document.write();

          輸出語句,將write的()中的內容打印在瀏覽器屏幕上

          使用時注意:除變量/常量以外的任何內容,打印時必須放在""中,變量/常量必須放到""外

          打印的內容同時有多部分組成,之間用“+”鏈接

          例如:document.write("輸出互換前手中的紙牌:"+left+"<br />");

          alert();彈窗警告

          1、【算術運算】

          + 加、- 減、* 乘、 / 除、 % 取余、++ 自增、-- 自減

          +:有兩種作用,鏈接字符串/加法運算;當+兩邊均為數字時,進行加法運算;

          當加號兩邊有任意一邊為字符串時,進行字符串鏈接,鏈接之后的結果認為字符串

          ++:自增運算符,將變量在原來基礎上+1;

          --:自減運算符,將變量在原來基礎上-1;

          【n++ 與 ++n 的異同】

          n++:先使用n的值進行計算,然后再把n+1;

          ++n: 先使用n的值+1,然后再用n+1以后的值,去運算;

          相同點:不論是n++還是++n,在執行完代碼以后,均會把n+1;

          eg: var a=3;

          var b,c;

          b=a++ +2; //a=3 b=5 c=4

          c=++a +2; //a=4 b=5 c=7

          document.write("a:"+a);

          document.write("b:"+b);

          document.write("c:"+c);

          2、賦值運算

          =賦值、 +=-=*=/=%=

          +=:a +=5;相當于a=a + 5;但是,前者的執行效率要比后者快,

          3、關系運算

          ==等于、===嚴格等于、 !=不等于 、>、<、>=、<=

          ===:嚴格等于;類型不同,返回false;類型相同,再進行下一步判斷

          ==:等于;類型相同,同===;類型不同,嘗試將等式兩邊轉為數字,再判斷;

          特例:null==Undefined √ ; null===Undefined ×

          4、條件運算符(多目運算)

          a>b?true:false

          有兩個關鍵符號:?和:

          當?前面的部分運算結果為true時,執行:前面的代碼;

          當?前面的部分運算結果為false時,執行:后面的代碼;

          >>>多目運算符可以多層嵌套:

          例如:var jieguo=

          5、邏輯運算符

          && 與、|| 或、! 非

          6、運算符的優先級

          ()

          ! ++ --

          % / *

          + -

          > < >=<=

          ==!=

          &&

          ||

          各種賦值==+ *=/=%=

          【if-else結構】

          1、結構寫法:

          if(判斷條件){

          //條件為ture時執行

          }else{

          //條件為false時執行

          }

          2、if()中的表達式,運算之后的結果應該為:

          1)Boolean:true 真 ; false 假

          2)string:非空字符串為真 ;空字符串為假

          3)Number:0為假 ;一切非0均為真

          4)Null/NaN/Undefined:全為假

          5)Object:全為真

          3、else{}結構,可以根據具體情況省略;

          【多重if、階梯if】

          1、結構寫法:

          if(條件一){

          //條件一成立

          }else if(條件二){

          //條件一不成立&&條件二成立

          //else if 部分,可以有多個

          }else{

          //條件一不成立&&條件二不成立

          }

          2、多重if結構中,各個判斷條件是互斥的,只能選擇其中一個

          3.if/else的大括號可以省略,但不提倡,如果省略,

          則if/else包含的代碼只包括其后最近的一行(分號結束);

          else結構永遠屬于其前方最近的一個if結構。

          【嵌套if結構】

          1、結構寫法:

          if(條件一){

          //條件一成立

          if(條件二){

          //條件二成立

          }else{

          //條件為false時執行

          }

          }else{

          //條件為false時執行

          }

          2、if結構可以多重嵌套,但是原則上不超過三層

          【Switch-Case結構】

          1、結構寫法:

          switch(表達式){

          case 常量表達式1:

          語句一;

          break;

          case 敞亮表達式2:

          語句二;

          break;

          。。。

          default:

          語句N

          }

          2、注意事項:

          1)switch()中的表達式,以及每個case后面的表達式,可以為任何JS支持的 數據類型;(對象和數組不同);

          2)case后面的所有常量表達式,必須各不相同,否則只會執行第一個;

          3)case后的常量可以是任何數據類型;同一個switch結構的不同case,可以是多種不同的數據類型;

          4)switch在進行判斷時,采用的是全等判斷===

          5)break的作用:執行完case代碼后,跳出當前switch結構;

          缺少break的后果:從正確的case項開始,依次執行所有的case和defalse

          6)switch結構在判斷時,只會判斷一次正確答案,當遇到正確的case項后,將會不再判斷后續項目,依次往下執行;

          7)switch結構的執行速率要快于多重if結構。在多路分支時,優先考慮switch結構。

          【循環結構的步驟】

          1)聲明循環變量

          2)判斷循環條件

          3)執行循環體(while的{}中所有代碼)操作

          4)更新循環變量

          然后,循環執行2)3)4)

          【JS中循環條件支持的數據類型】

          1)Boolean:true 真 ; false 假

          2)string:非空字符串為真 ;空字符串為假

          3)Number:0為假 ;一切非0均為真

          4)Null/NaN/Undefined:全為假

          5)Object:全為真

          while循環特點:先判斷,在執行

          do-while循環特點:先執行,在判斷;即使初始條件不成立,do-while循環也至少執行一次

          【For循環】

          1、for循環有三個表達式,分別為:①定義循環變量 ② 判斷循環條件 ③更新循環變量(三個表達式之間,用;分隔。)

          for循環三個表達式可以省略,兩個;缺一不可

          2、for循環特點:先判斷,再執行;

          3、for循環三個表達式,均可以有多部分組成,之間用逗號分隔,但是第二部分判斷條件

          需要用&&鏈接,最終結果需要為真/假

          【循環控制語句】

          1、break:終止本層循環,繼續執行循環后面的語句;

          當循環有多層時,break只會跳過一層循環;

          2、continue:跳過本次循環,繼續執行下一次循環;

          對于for,continue執行后,繼續執行循環變量更新語句n++

          對于while,do-while,continue執行后,繼續執行循環條件,

          判斷;所以使用這兩個循環時必須注意continue一定要在n++之后,否則會造成死循環。


          主站蜘蛛池模板: 亚洲老妈激情一区二区三区| 国产一区二区视频免费| 91午夜精品亚洲一区二区三区| 国产精品免费一区二区三区四区 | 麻豆国产在线不卡一区二区| 蜜桃AV抽搐高潮一区二区| 秋霞电影网一区二区三区| 国产美女口爆吞精一区二区| 日韩精品无码一区二区三区| 国产情侣一区二区| AV天堂午夜精品一区| 亚欧免费视频一区二区三区| 国产一区在线视频观看| 无码人妻视频一区二区三区| 天天视频一区二区三区| 国产一区二区内射最近更新| 国内自拍视频一区二区三区| 无码毛片一区二区三区视频免费播放 | 日本韩国黄色一区二区三区| 日本一区二区三区在线观看| 亚洲高清一区二区三区| 国产成人片视频一区二区| 亚洲一区中文字幕| 一区二区在线视频观看| 国产福利91精品一区二区三区| 无码AV一区二区三区无码| 在线日产精品一区| 国产综合无码一区二区辣椒| 亚洲AV无码国产精品永久一区| 中文字幕精品一区| 国产在线步兵一区二区三区| 久久高清一区二区三区| 精品一区二区三区免费毛片| 精品三级AV无码一区| 亚洲国产精品一区二区三区久久| 精品无码成人片一区二区98| 91久久精一区二区三区大全| 午夜视频一区二区| 在线观看亚洲一区二区| 日韩AV无码一区二区三区不卡毛片| 亚洲欧美国产国产一区二区三区|