【NOIP初賽篇4】基礎(chǔ)知識(三)運算與邏輯運算

一宿百、程序中的運算

程序中的計算

計算機程序趁仙,其實就是計算機按照我們編寫好的代碼,一步接一步的執(zhí)行的過程垦页。在程序中雀费,會經(jīng)常遇到一些計算,這些計算和我們數(shù)學(xué)上的計算很相似痊焊,但是又有一些區(qū)別盏袄,我們需要掌握計算機程序中的運算的表達,我們此處只介紹C++的表達薄啥。

類似與數(shù)學(xué)上的加減乘除辕羽、括號,C++中也是同樣的罪佳。在C++中逛漫,加減乘除分別用:『+』、『-』赘艳、『*』酌毡、『/』來表示。與數(shù)學(xué)不同的是蕾管,在C++的除法中枷踏,分兩種情況,一種是整除之間的除法掰曾、一種小數(shù)之間的除法旭蠕。整數(shù)的除法,并不是數(shù)學(xué)上的除法旷坦,而是整除掏熬;小數(shù)間的除法,才是數(shù)學(xué)上的除法秒梅。那么既然整數(shù)之間有整除旗芬,必然會存在余數(shù)的情況,也就是求余捆蜀,求余疮丛,C++用『%』來表示。

5+3 = 8

5*2 = 10

5/2 = 2 ? ? ? ? ? // 注意這里是整除

5%2 = 1 ? ? ? ?//求余

另外辆它,C++中的括號只有小括號()誊薄,沒有中括號、大括號锰茉,遇到有多重的括號呢蔫,就“嵌套”使用小括號。所謂『嵌套』飒筑,我們暫且理解為就是自己里面包含自己咐刨。

一般冪運算昙衅,我們都是用多次相乘,開平方定鸟,我們用sqrt(x)而涉,如『根號2』 表示為sqrt(2)

數(shù)學(xué)式子的表達

二、布爾值

1联予、布爾值

眾所周知啼县,在計算機里,我們使用的是二進制沸久,即要么是0季眷,要么是1。雖然我們提倡做人不要“非黑即白”卷胯,但是計算機是“一根筋”子刮,它是“非一即零”。同樣地窑睁,要計算機判斷一個事情挺峡,在它眼里,也有簡單的對錯之分担钮,沒有中間含糊其辭的“半對”橱赠。對或錯,在計算機中我們用true 和 false 來表示箫津,我們將這種只有對錯的值稱為布爾值(bool)狭姨,這其實是一個譯音,就像我們說的“車厘子”(cherry苏遥,粵語讀法饼拍,櫻桃)。布爾值田炭,只有兩個值师抄,true 和 false。true 表示正確诫肠、條件是成立的司澎,是真的欺缘;flase 表示錯誤栋豫、條件是不成立的,是假的谚殊。

2丧鸯、布爾值的判斷

布爾值,只有兩個結(jié)果嫩絮,對或者錯丛肢,那么要如何才能判斷呢围肥?首先必須要是命題,才能判斷蜂怎,如果本身都不是命題穆刻,則無法判斷。命題即是明確描述或表達一種觀點的語句杠步。例如:今天是9月1日氢伟。這是一個命題,而且我們可以判斷它是否正確幽歼。一般來講朵锣,命題是陳述句,不能是疑問句甸私。譬如:今天是9月1日嗎诚些?這個就不是命題,我們無法判斷真假皇型。

為了更好地理解布爾值的判斷诬烹,我們用一些案例來說明:

3.4 > 5 ? ? ? ? ? ? ? ? ? ? ? ? ?

2017年9月14日是星期四

10是正整數(shù)

15 能被3整除

15 能被5整除

對于上面的例子,我們不難得出結(jié)果犀被,很顯然除了第一個案例是false椅您,其他都是true。

當(dāng)然寡键,我們在程序中掀泳,不太可能用我們的語言文字去描述,而往往使用表達式來表示西轩,那么常用的關(guān)系符號有以下這些员舵。

常用符號

a%2 == 0 ? ? ? ? ?// a能被2整除,即a對2求余藕畔,余數(shù)是0

y>=60 ? ? ? ? ? ? ?// 年齡y大于等于60歲

二马僻、與、或注服、非韭邓、異或

有時,我們的布爾的判斷溶弟,并不僅僅是一個條件女淑,可能需要同時滿足多個條件,這個時候辜御,我們就需要涉及到一些邏輯運算中的連接詞鸭你。譬如在上面的例子中,15能被3整除、15能被5整除袱巨,如果我們需要這兩個條件都要同時滿足阁谆,我們可以這樣描述:15既能被3整除且能被5整除。

1愉老、與運算

串聯(lián)電路

類似于這種需要同時滿足的條件场绿,我們稱之為“與”運算,可以類似于電學(xué)里面的串聯(lián)電路嫉入,不同的條件是串聯(lián)的幾個開關(guān)裳凸,必須全部條件都滿足,才能電路才通劝贸,也就是說必須全部條件都成立姨谷,最后結(jié)果才成立。與運算映九,在數(shù)學(xué)符號中梦湘,我們常用『∧』來表示,類似于集合中的交集件甥,在C++語言中捌议,與運算我們用“&&” 或者 “ and ” 來表示。一般兩個邏輯表達式引有,我們都用小括號括起來瓣颅,這是比較良好的代碼習(xí)慣。

x能被3整除譬正,且能被5整除 ? ? ? ? ? ? ? ? ? (x%3 == 0) && (x%5 == 0) ?

語文成績高于90宫补,數(shù)學(xué)高于95 ? ? ? ? ? ? (yw>90) && (sx>95)

運算規(guī)則:很顯然,與運算中曾我,只有所以條件都為真時粉怕,整個條件才為真,只要出現(xiàn)某個條件為假抒巢,整個條件就是假贫贝。

2、或運算

并聯(lián)電路

類似于串聯(lián)電路蛉谜,也有并聯(lián)電路稚晚,即在若干條件中,只需要滿足一個條件就成立型诚,這樣的運算我們成為“或”運算客燕。或運算,在數(shù)學(xué)符號中俺驶,我們常用『∨』來表示幸逆,類似于集合中的并集,在C++語言中暮现,或運算我們用“||” 或者 “ or ” 來表示还绘。

乘坐公車,身高低于1.2m或年齡高于60歲的免費 ? ? ? ? ? ? (h<1.2) || (y>60)

語文超過95或數(shù)學(xué)超過98的獲單科獎勵 ? ? ? ? ? ? ? ? ? ? ? ? ? (yw>95) || (sx>98)

運算規(guī)則:很顯然栖袋,或運算中拍顷,只要有一個條件為真時,整個條件就為真塘幅,只有全部條件都為假昔案,整個條件才是假。

3电媳、非運算

上面我們就提到踏揣,計算機是『非黑即白』的,非運算匾乓,就是對某種情況的對立面捞稿。就好比我們拋硬幣,在計算機眼中拼缝,只有正面和反面娱局,正面的非運算就是反面,反面的非運算就是正面咧七,不存在硬幣立起來的情況衰齐。非運算,在數(shù)學(xué)符號中继阻,我們常用『﹁』來表示耻涛,類似于集合中的補集,在C++語言中瘟檩,非運算我們用“!” ?來表示犬第。

a == 0 ? ? ? ? // ?a等于0

!(a==0) ? ? ? // 非運算,相當(dāng)于 ?(a<0) || (a>0) ?也可以寫成 ?a != 0

b > 2 ? ? ? ? ?// b大于2

!(b>2) ? ? ? ?// 非運算芒帕,相當(dāng)于 b<= 2

運算規(guī)則:很顯然歉嗓,非運算中,真條件的非運算是假背蟆,假條件的非運算是真鉴分。

4、異或運算

異或相對上面幾個带膀,使用的相對較少志珍,它是一個很奇怪的運算,它一般用在兩個條件之間垛叨,運算的規(guī)則是兩個條件相同伦糯,即同樣為真或同樣為假,那它的結(jié)果就是假;而如果兩個條件不同敛纲,即一真一假時喂击,它的結(jié)果就為真。異或比較常用在『博弈論』里面淤翔。異或運算翰绊,在數(shù)學(xué)符號中,我們常用『』來表示旁壮,在C++語言中监嗜,與運算我們用“^” 或者 “ xor ” 來表示。

5抡谐、總結(jié)

我們假定有兩個命題或條件P裁奇、Q,我們用下表來總結(jié)與麦撵、或框喳、非、異或的計算關(guān)系厦坛。

運算結(jié)果

還有需要注意的是運算的先后順序锌蓄。運算級比較:>>账嚎、異或orxor是同級的),當(dāng)然括號最優(yōu)先。

三逊笆、練習(xí)

例題1若A=True罪治,B=False图甜,C=True底靠,D=False,以下邏輯運算表達式真的有()呢蛤。

A.(A∧B)∨(C∧D∨?A) ? ? ? ? ? ? B.((?A∧B)∨C)∧?B

C.(B∨C∨D)∨D∧A ? ? ? ? ? ? ? ? ? ? ?D.A∧(D∨?C)∧B

題解:一個個算結(jié)果惶傻,比如A選項(AB)(CD?A) ,根據(jù)運算級的比較其障,我們可以定下運算的順序银室,然后按運算順序計算結(jié)果。注意励翼,這類題是有個小技巧的蜈敢。比如A選項可以先看中間的,為什么呢汽抚?因為∨的左右有一邊是真就行抓狭,可以不去看另外一邊

A選項的結(jié)果是:(A∧B)∨(C∧D∨?A)造烁,(A∧B)=假否过,(C∧D∨?A)中C∧D =假午笛,?A=假,所以(C∧D∨?A)=假苗桂。于是A選項可以簡寫為:假∨(假∨假)=假药磺。

B選項的結(jié)果是:((?A∧B)∨C)∧?B,如果?B是假那么就可以不去看前面的((?A∧B)∨C)誉察,可惜的是?B是真,那么就要看((?A∧B)∨C)惹谐,發(fā)現(xiàn)C是真持偏,所以不看(?A∧B),于是B選項可以簡寫為:(氨肌?∨真)∧真=真鸿秆。

C選項的結(jié)果是:(B∨C∨D)∨D∧A,D∧A=假怎囚,所以不得不看前面部分(B∨C∨D)卿叽,只要BCD有一個是真,那么(B∨C∨D)=真恳守,而容易發(fā)現(xiàn)C=true考婴。所以C選項可以簡寫為:真∨假=真。

D選項的結(jié)果是:A∧(D∨?C)∧B催烘,我們很容易發(fā)現(xiàn)D選項的特殊結(jié)構(gòu)為 沥阱?∧?∧伊群?考杉,三個?有一個是假舰始,那么D為假崇棠,A和B不用計算便可看出,所以先發(fā)現(xiàn)B=假丸卷,所以D=假枕稀。

歷年題目

1、【2010提高(同2010普及)】以下邏輯表達式的值恒為真的是()谜嫉。

A.P∨(┓P∧Q)∨(┓P∧┓Q)

B.Q∨(┓P∧Q)∨(P∧┓Q)

C.P∨Q∨(P∧┓Q)∨(┓P∧Q)

D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q)

2抽莱、【2008提高(多選)】若A=True,B=False骄恶,C=True食铐,D=False,以下邏輯運算表達式真的有( ? )僧鲁。

A.(A∧B)∨(C∧D∨?A) ? ? ? ? ? ? ? ? ? ? B.((?A∧B)∨C)∧?B

C.(B∨C∨D)∨D∧A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?D.A∧(D∨?C)∧B

3虐呻、【2008普及】設(shè)A=true象泵,B=false,C=true斟叼,D=false偶惠,以下邏輯運算表達式值為真的是( ?)。

A. (A∧B)∨(C∧D∨?A)? ? ? ? ? ? ? ? ? B. ((?A∧B)∨C)∧?D

C. (B∨C∨D)∧D∧A? ? ? ? ? ? ? ? ? ? ? D. A∧(D∨?C)∧B

4朗涩、【2007普及】設(shè)A=B=True忽孽,C=D=False,一下邏輯運算表達式值為假的有( )谢床。

A.(﹁A∧B)∨(C∧D∨A)

B.﹁(((A∧B)∨C)∧D)

C.A∧(B∨C∨D)∨D

D.(A∧(D∨C))∧B

5兄一、【2006提高(多選)】設(shè)A=B=D=true,C=E=false识腿,以下為真的有( )出革。

A. (A∧B)∨(C∧D)∨E ? ? ? ? ? B. (((A∧B)∨C)∧D∧E)

C. A∧(B∨C∨D∨E) ? ? ? ? ? ? D. (A∧(B∨C))∧D∧E

答案:

1~5 ?A、BC渡讼、B骂束、D、AC

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末成箫,一起剝皮案震驚了整個濱河市展箱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蹬昌,老刑警劉巖析藕,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凳厢,居然都是意外死亡账胧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門先紫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來治泥,“玉大人,你說我怎么就攤上這事遮精【蛹校” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵本冲,是天一觀的道長准脂。 經(jīng)常有香客問我,道長檬洞,這世上最難降的妖魔是什么狸膏? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮添怔,結(jié)果婚禮上湾戳,老公的妹妹穿的比我還像新娘贤旷。我一直安慰自己,他們只是感情好砾脑,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布幼驶。 她就那樣靜靜地躺著,像睡著了一般韧衣。 火紅的嫁衣襯著肌膚如雪盅藻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天畅铭,我揣著相機與錄音氏淑,去河邊找鬼。 笑死顶瞒,一個胖子當(dāng)著我的面吹牛夸政,可吹牛的內(nèi)容都是我干的元旬。 我是一名探鬼主播榴徐,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼匀归!你這毒婦竟也來了坑资?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤穆端,失蹤者是張志新(化名)和其女友劉穎袱贮,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體体啰,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡攒巍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荒勇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柒莉。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖沽翔,靈堂內(nèi)的尸體忽然破棺而出兢孝,到底是詐尸還是另有隱情,我是刑警寧澤仅偎,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布跨蟹,位于F島的核電站,受9級特大地震影響橘沥,放射性物質(zhì)發(fā)生泄漏窗轩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一座咆、第九天 我趴在偏房一處隱蔽的房頂上張望品姓。 院中可真熱鬧寝并,春花似錦、人聲如沸腹备。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽植酥。三九已至镀岛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間友驮,已是汗流浹背漂羊。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卸留,地道東北人走越。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像耻瑟,于是被迫代替她去往敵國和親旨指。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容